:root{
  --cream:#EEF4FA; --cream-2:#DCE9F5;
  --sun:#F4B860; --coral:#E86A5C;
  --sky:#7FB3D5; --ink:#1F2A44; --ink-soft:#4A5572;
  --line:rgba(31,42,68,.10);
  --shadow:0 12px 36px rgba(31,42,68,.10);
  --shadow-lg:0 24px 60px rgba(31,42,68,.18);
  --r:18px; --r-lg:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--coral);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-0.01em;color:var(--ink)}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(12px);background:rgba(238,244,250,.9);border-bottom:1px solid var(--line)}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo img{height:46px}
.back{color:var(--ink-soft);font-weight:600;font-size:.92rem}
.back:hover{color:var(--coral);text-decoration:none}
.product-page{padding:50px 0 80px}
.product-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}
@media(max-width:900px){.product-grid{grid-template-columns:1fr;gap:30px}}
.gallery .main-img{aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-lg);margin-bottom:14px}
.gallery .main-img img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.thumb{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--cream-2);border:2px solid transparent;transition:border .15s ease}
.thumb.active{border-color:var(--coral)}
.thumb img{width:100%;height:100%;object-fit:cover}
.tag{display:inline-block;background:var(--coral);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:6px 12px;border-radius:999px;margin-bottom:14px;text-transform:uppercase}
.tag.blue{background:var(--sky)}
.tag.purple{background:#7B5BA8}
h1.title{font-size:clamp(2rem,4.4vw,3.2rem);margin:0 0 14px}
.price{font-family:'DM Serif Display',serif;font-size:2.4rem;color:var(--ink);margin:8px 0 22px}
.lede{color:var(--ink-soft);font-size:1.1rem;margin-bottom:24px;line-height:1.6}
.buy-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 30px;border-radius:999px;font-weight:700;font-size:1.05rem;cursor:pointer;border:0;font-family:inherit}
.btn-buy{background:var(--coral);color:#fff;box-shadow:0 10px 24px rgba(232,106,92,.35);flex:1;min-width:200px}
.btn-buy:hover{transform:translateY(-2px);text-decoration:none;color:#fff;box-shadow:0 14px 28px rgba(232,106,92,.45)}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{background:var(--ink);color:#fff;text-decoration:none}
.qty{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.qty button{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:50%;cursor:pointer;font-size:1.1rem;color:var(--ink)}
.qty input{width:50px;text-align:center;border:1px solid var(--line);border-radius:8px;padding:8px;font-family:inherit;font-size:1rem}
.details{background:#fff;border-radius:var(--r);padding:24px;margin-top:20px;border:1px solid var(--line)}
.details h3{font-size:1.2rem;margin:0 0 12px}
.details ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:.95rem}
.details li{margin-bottom:6px}
.story-block{margin-top:60px;background:#fff;border-radius:var(--r-lg);padding:40px;border-left:5px solid var(--sun);box-shadow:var(--shadow)}
.story-block h2{font-size:1.8rem;margin:0 0 14px}
.story-block p{color:var(--ink-soft);font-size:1.05rem;line-height:1.7;margin:0 0 1em}
.story-block .verse{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--coral);line-height:1.4;border-left:3px solid var(--coral);padding-left:18px;margin:20px 0}
footer{background:var(--ink);color:rgba(255,255,255,.7);padding:40px 0;text-align:center;font-size:.9rem;margin-top:60px}
footer a{color:var(--sun)}
