:root{
  --pink:#F48FB6; --pink-strong:#EC6B9C; --pink-deep:#D8558A;
  --blush:#FFF6FA; --blush-2:#FFE3EF; --ink:#3d2230; --white:#fff; --wa:#25D366;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--ink);background:var(--blush);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit;border:none;cursor:pointer;background:none}

/* header */
header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 5vw;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--blush-2);flex-wrap:wrap}
.logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;white-space:nowrap}
.logo span{color:var(--pink-strong)}
.search{flex:1;max-width:340px;display:flex;margin:0 12px}
.search input{flex:1;min-width:0;border:2px solid var(--blush-2);border-right:none;border-radius:999px 0 0 999px;padding:9px 16px;font-family:inherit;font-size:.85rem;outline:none;background:#fff}
.search input:focus{border-color:var(--pink)}
.search button{background:var(--pink-strong);color:#fff;border-radius:0 999px 999px 0;padding:0 16px;font-weight:700}
.hd-wa{display:flex;align-items:center;gap:8px;background:var(--wa);color:#fff;padding:9px 16px;border-radius:999px;font-weight:700;font-size:.83rem;box-shadow:0 6px 16px rgba(37,211,102,.35);transition:transform .25s;white-space:nowrap}
.hd-wa:hover{transform:translateY(-2px)}
@media(max-width:860px){
  .search{order:3;flex-basis:100%;max-width:none;margin:6px 0 0}
  .hd-wa{margin-left:auto}
}
@media(max-width:400px){.hd-wa{font-size:.78rem;padding:8px 14px}}

.fade{animation:fadeIn .45s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* home */
.home-hero{text-align:center;padding:52px 5vw 26px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--pink-strong)}
.home-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.6vw,3.4rem);margin:12px 0 10px}
.home-hero h1 em{font-style:italic;color:var(--pink-strong)}
.home-hero p{color:#8a6579;max-width:460px;margin:0 auto}
.seasons{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:32px 5vw 64px;max-width:1100px;margin:0 auto}
.season-card{position:relative;height:360px;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;color:#fff;transition:transform .45s cubic-bezier(.2,.8,.3,1),box-shadow .45s;box-shadow:0 18px 44px rgba(216,85,138,.18)}
.season-card:hover{transform:translateY(-10px) rotateX(4deg) rotateY(-3deg) scale(1.015);box-shadow:0 30px 60px rgba(216,85,138,.3)}
.sc-yay{background:linear-gradient(200deg,#FFCFE1,#F48FB6 55%,#E86FA0)}
.sc-qis{background:linear-gradient(200deg,#E4D6F5,#B58CD9 55%,#8E63B8)}
.season-card .ic{font-size:3.2rem;position:absolute;top:24px;right:26px;animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.season-card h2{font-family:'Playfair Display',serif;font-size:2.1rem;margin-bottom:6px}
.season-card p{font-size:.9rem;opacity:.92;margin-bottom:16px}
.season-card .go{display:inline-flex;gap:8px;background:rgba(255,255,255,.25);backdrop-filter:blur(6px);padding:10px 22px;border-radius:999px;font-weight:700;font-size:.85rem;width:max-content;transition:background .3s}
.season-card:hover .go{background:#fff;color:var(--pink-deep)}
@media(max-width:760px){.seasons{grid-template-columns:1fr}.season-card{height:240px}}

/* about */
.about{background:#fff;padding:64px 5vw;text-align:center}
.about h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.4rem);margin:10px 0 18px}
.about p{max-width:620px;margin:0 auto 12px;line-height:1.8;color:#8a6579}
.stats{display:flex;gap:48px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.stat b{font-family:'Playfair Display',serif;font-size:2rem;color:var(--pink-strong);display:block}
.stat s{text-decoration:none;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#a88497}

/* footer */
footer{background:var(--ink);color:#fff;padding:56px 5vw 24px}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;margin:0 auto 40px;max-width:1100px}
.f-logo{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;margin-bottom:12px}
.f-logo span{color:var(--pink)}
footer p,footer a{color:#d9b7c8;font-size:.9rem;line-height:2}
footer h4{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;color:#fff}
footer a:hover{color:var(--pink)}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;text-align:center;font-size:.76rem;color:#a884a0}
@media(max-width:760px){.f-grid{grid-template-columns:1fr}}

/* inner */
.inner{max-width:1100px;margin:0 auto;padding:28px 5vw 80px}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;color:var(--pink-deep);background:#fff;padding:10px 20px;border-radius:999px;box-shadow:0 6px 16px rgba(216,85,138,.14);transition:transform .25s;margin-bottom:24px}
.back:hover{transform:translateX(-4px)}
.crumb{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink-strong);font-weight:700;margin-bottom:8px}
.inner h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:28px}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cat{position:relative;height:280px;border-radius:24px;overflow:hidden;display:flex;align-items:flex-end;padding:24px;color:#fff;transition:transform .35s,box-shadow .35s;box-shadow:0 14px 34px rgba(216,85,138,.15)}
.cat:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(216,85,138,.28)}
.cat h3{font-family:'Playfair Display',serif;font-size:1.5rem}
.cat small{display:block;font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:500;opacity:.9;margin-top:4px}
.c1{background:linear-gradient(200deg,#FFD4E4,#EC6B9C)}
.c2{background:linear-gradient(200deg,#FFC4DA,#D8558A)}
.c3{background:linear-gradient(200deg,#FFE0EC,#F0709F)}
@media(max-width:760px){.cats{grid-template-columns:1fr}.cat{height:160px}}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(216,85,138,.1);transition:transform .3s,box-shadow .3s;display:block}
.product:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(216,85,138,.22)}
.ph{height:280px;background:linear-gradient(160deg,#FFD6E7,#EC6B9C);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;letter-spacing:.12em;font-size:.78rem;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.p-body{padding:16px}
.p-code{font-size:.7rem;font-weight:700;letter-spacing:.16em;color:#b78ba1;text-transform:uppercase}
.p-name{font-family:'Playfair Display',serif;font-size:1.08rem;margin:5px 0 8px}
.p-price{font-weight:800;font-size:1.15rem;color:var(--pink-deep)}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
.empty{background:#fff;border-radius:20px;padding:50px;text-align:center;color:#a88497}

/* pagination */
.pager{display:flex;gap:8px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.pager a,.pager span{min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;font-weight:700;font-size:.9rem;box-shadow:0 4px 12px rgba(216,85,138,.1)}
.pager .cur{background:var(--pink-strong);color:#fff}
.pager a:hover{color:var(--pink-deep)}

/* product page */
.pp{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start}
.pp-photo{height:520px;border-radius:26px;overflow:hidden;background:linear-gradient(160deg,#FFD6E7,#EC6B9C);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;box-shadow:0 20px 50px rgba(216,85,138,.2)}
.pp-photo img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}
.thumb{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;border:3px solid transparent;transition:border-color .2s}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.sel{border-color:var(--pink-deep)}
.pp h1{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.3rem);margin:4px 0 6px}
.pp-price{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--pink-deep);font-weight:700;margin:12px 0 22px}
.opt-label{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a67c92;margin-bottom:12px}
.sizes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.size{padding:10px 18px;border-radius:12px;border:2px solid var(--blush-2);background:#fff;font-weight:700;font-size:.9rem;transition:all .2s}
.size.sel{background:var(--pink-strong);border-color:var(--pink-strong);color:#fff;box-shadow:0 6px 16px rgba(236,107,156,.4)}
.colors{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-bottom:10px;max-width:440px}
.color{aspect-ratio:1;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;transition:transform .2s}
.color:hover{transform:scale(1.15)}
.color.sel{outline:3px solid var(--pink-deep);outline-offset:2px;transform:scale(1.12)}
.color-name{font-size:.88rem;font-weight:600;color:#8a6579;margin-bottom:26px;min-height:1.4em}
.color-name b{color:var(--pink-deep)}
.btn-order{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:440px;background:var(--wa);color:#fff;padding:18px;border-radius:999px;font-weight:800;font-size:1rem;box-shadow:0 12px 30px rgba(37,211,102,.4);transition:transform .25s}
.btn-order:hover{transform:translateY(-3px)}
.order-hint{font-size:.78rem;color:#a884a0;margin-top:12px}
@media(max-width:860px){.pp{grid-template-columns:1fr}.pp-photo{height:380px}.colors{grid-template-columns:repeat(7,1fr)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
