/* FASHION TREND PH - V3 Luxury Visual Upgrade (visual only; class names unchanged for app.js) */
:root{
 --ink:#2b1d12;--espresso:#3b2a1e;--soft:#6e5f4e;
 --gold:#b9945a;--gold2:#7b5a2e;--champ:#d9bf8c;--champ2:#c4a064;
 --cream:#faf6ee;--ivory:#f4ecdc;--beige:#e9dcc3;--line:#e6dcc8;--r:16px;
 --serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;
 --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
 --satin:radial-gradient(120% 90% at 8% 0%,rgba(255,255,255,.95),transparent 55%),radial-gradient(90% 70% at 100% 100%,rgba(217,191,140,.38),transparent 60%),linear-gradient(115deg,#f8f0e1 0%,#efe3cc 42%,#f9f2e5 68%,#ead9b8 100%);
 --shadow:0 1px 2px rgba(59,42,30,.06),0 10px 28px rgba(59,42,30,.08);
 --shadow-h:0 2px 4px rgba(59,42,30,.08),0 18px 40px rgba(59,42,30,.16);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}[hidden]{display:none!important}
body{margin:0;color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;
 background:linear-gradient(160deg,#fbf7ef 0%,#f6eedf 38%,#fbf7ef 62%,#f3e9d6 100%)}
h1,h2,h3,.brand{font-family:var(--serif);font-weight:500;color:var(--espresso)}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 20px}

/* announcement + header */
.bar{background:var(--espresso);color:#ecdcb8;text-align:center;font-size:13px;letter-spacing:.4px;padding:9px 12px}
header{position:sticky;top:0;z-index:30;background:rgba(251,247,239,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(185,148,90,.18)}
header .wrap{display:flex;align-items:center;gap:16px;height:72px}
.logo{display:flex;align-items:center;gap:13px;text-decoration:none}
.ft{width:46px;height:46px;flex:none;display:block}
.brand{letter-spacing:3.5px;font-size:18px;line-height:1.1;font-weight:500}
.tag{font-size:9px;letter-spacing:4px;color:var(--gold2);margin-top:5px;text-transform:uppercase;font-family:var(--sans)}
nav{margin-left:auto;display:flex;gap:26px;align-items:center}
nav a{position:relative;text-decoration:none;font-size:13.5px;letter-spacing:.8px;color:var(--soft);padding:6px 0;transition:color .25s}
nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav a:not(.btn):hover{color:var(--espresso)}nav a:not(.btn):hover::after{transform:scaleX(1)}
nav a.btn{padding:8px 18px;letter-spacing:.8px;border:1px solid var(--gold);background:transparent;color:var(--gold2)}
nav a.btn:hover{background:var(--espresso);border-color:var(--espresso);color:#f3e4c2;opacity:1}
#burger{display:none;margin-left:auto}

/* buttons */
button,.btn{border:0;border-radius:999px;padding:12px 22px;background:var(--espresso);color:#f6ead0;cursor:pointer;font:600 13.5px/1.2 var(--sans);letter-spacing:.6px;text-decoration:none;display:inline-block;text-align:center;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
button:hover,.btn:hover{background:#4d3828;transform:translateY(-1px);box-shadow:0 8px 18px rgba(59,42,30,.18)}
button:active,.btn:active{transform:none}button:disabled{opacity:.5;transform:none;box-shadow:none}
.alt{background:var(--beige);color:var(--espresso)}.alt:hover{background:#dfcfaf}
.gold{background:linear-gradient(135deg,#e2cb9b 0%,var(--champ2) 55%,#b48d52 100%);color:#2b1d12;box-shadow:0 6px 16px rgba(185,148,90,.35)}
.gold:hover{background:linear-gradient(135deg,#ead7ab 0%,#cfaa6c 55%,#bf9859 100%)}
.dng{background:#f6e3e0;color:#a52d25}.dng:hover{background:#f0d2ce}
.sm{padding:8px 15px;font-size:12.5px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}

/* hero */
.hero{position:relative;overflow:hidden;margin:22px 0 54px;padding:104px 24px;border-radius:26px;text-align:center;background:var(--satin);border:1px solid rgba(185,148,90,.28);box-shadow:var(--shadow)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;border:1.5px solid transparent;border-top-color:var(--champ2);border-left-color:var(--champ2);pointer-events:none;opacity:.55}
.hero::before{width:360px;height:360px;left:-110px;top:-130px;transform:rotate(-12deg)}
.hero::after{width:260px;height:260px;right:-80px;bottom:-110px;transform:rotate(168deg);opacity:.4}
.hero>*{position:relative;z-index:1}
.eyebrow{font-size:11px;letter-spacing:5px;color:var(--gold2);text-transform:uppercase}
.eyebrow::before,.eyebrow::after{content:"";display:inline-block;width:34px;height:1px;background:var(--champ2);vertical-align:middle;margin:0 14px}
h1{font-size:clamp(36px,6.2vw,66px);line-height:1.08;margin:18px auto;max-width:15ch;font-weight:500;letter-spacing:.3px}
.hero p{max-width:540px;margin:0 auto 30px;color:var(--soft);font-size:18px}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cta .btn{padding:14px 30px}
.hero{animation:rise .9s ease both}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* sections */
section{margin:0 0 60px}
h2{font-size:32px;margin:0 0 6px;letter-spacing:.3px}
h2::after{content:"";display:block;width:44px;height:2px;margin-top:12px;background:linear-gradient(90deg,var(--champ2),transparent)}
.sub{color:var(--soft);margin:12px 0 22px}

/* category cards (restyled chips) */
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:18px}
.chip{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:9px;min-height:96px;padding:16px 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--satin);color:var(--espresso);text-align:left;font:italic 500 21px/1.15 var(--serif);letter-spacing:.2px;box-shadow:0 1px 2px rgba(59,42,30,.05)}
.chip::after{content:"";width:30px;height:1px;background:var(--gold);transition:width .3s}
.chip:hover{background:var(--satin);color:var(--espresso);border-color:var(--champ2);box-shadow:var(--shadow)}.chip:hover::after{width:56px}
.chip:nth-child(3n+2){background:radial-gradient(100% 90% at 90% 0%,rgba(255,255,255,.9),transparent 55%),linear-gradient(120deg,#f2e6d0,#ead9b8)}
.chip:nth-child(3n){background:radial-gradient(100% 90% at 0% 100%,rgba(255,255,255,.85),transparent 55%),linear-gradient(120deg,#f7efe0,#e9dcc3)}
.chip.on,.chip.on:hover{background:var(--espresso);color:#f3e4c2;border-color:var(--espresso)}.chip.on::after{background:var(--champ);width:56px}

/* search + sort */
.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.tools input{flex:1;min-width:200px}
input,select,textarea{padding:12px 15px;border:1px solid #d9cdb5;border-radius:12px;background:#fffdf9;font:inherit;max-width:100%;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,148,90,.2)}

/* products */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:26px}
.card{background:#fffdf9;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:box-shadow .3s,transform .3s,border-color .3s}
.card:hover{box-shadow:var(--shadow-h);transform:translateY(-4px);border-color:var(--champ)}
.im{position:relative;aspect-ratio:4/5;background:var(--satin);display:grid;place-items:center;color:var(--gold);letter-spacing:4px;font:500 18px var(--serif);cursor:pointer;overflow:hidden}
.im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover .im img{transform:scale(1.045)}
.bd{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:1}
.b{background:linear-gradient(135deg,#e2cb9b,var(--champ2));color:#2b1d12;font-size:10px;letter-spacing:1.4px;padding:4px 10px;border-radius:99px;text-transform:uppercase;font-weight:700}.b.n{background:var(--espresso);color:#f3e4c2}
.bdy{padding:18px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.cat{font-size:11px;letter-spacing:2.5px;color:var(--gold2);text-transform:uppercase;font-weight:700}
.bdy h3{margin:0;font-size:18px;line-height:1.3;font-weight:500}
.price{font:500 21px var(--serif);color:var(--gold2)}.av{font-size:12px;color:var(--soft)}
.links{display:grid;gap:8px;margin-top:auto;padding-top:12px}.links .btn,.links button{font-size:13px;padding:11px}
.shopee{background:#ee4d2d;color:#fff}.shopee:hover{background:#d9431f}
.tiktok{background:#171412;color:#fff}.tiktok:hover{background:#2d2824}
.lazada{background:#5b2fb2;color:#fff}.lazada:hover{background:#4d279a}
.muted{color:var(--soft);font-size:14px}.err{color:#a52d25}.ok{color:#2d6a2d}

/* detail dialog */
dialog{border:0;border-radius:22px;padding:0;max-width:880px;width:calc(100% - 28px);max-height:92vh;overflow:auto;background:#fffdf9;box-shadow:0 30px 80px rgba(30,20,8,.4)}
dialog::backdrop{background:rgba(36,24,12,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog[open]{animation:pop .3s ease}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.dt{display:grid;grid-template-columns:1fr 1fr}.dt img{width:100%;height:100%;object-fit:cover;min-height:300px}
.dtx{padding:34px 30px;display:flex;flex-direction:column;gap:11px}.dtx h2::after{display:none}.x{position:absolute;right:12px;top:12px;z-index:2}

/* socials */
.soc{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.sc{background:var(--satin);border:1px solid var(--line);border-radius:var(--r);padding:28px 20px;text-decoration:none;text-align:center;transition:border-color .3s,transform .3s,box-shadow .3s}
.sc:hover{border-color:var(--champ2);transform:translateY(-4px);box-shadow:var(--shadow-h)}
.sc svg{width:34px;height:34px;color:var(--gold2)}.sc b{display:block;font:500 18px var(--serif);margin:10px 0 3px;color:var(--espresso)}.sc span{font-size:13px;color:var(--soft)}

/* loading skeleton */
.sk{height:380px;border-radius:var(--r);background:linear-gradient(90deg,#f1e8d8,#faf6ee,#f1e8d8);background-size:200% 100%;animation:sh 1.3s infinite}@keyframes sh{to{background-position:-200% 0}}

/* footer + note */
footer{background:var(--espresso);border-top:2px solid var(--champ2);padding:40px 0;text-align:center;font-size:13px;letter-spacing:1.5px;color:#d9c9a6}
footer .soci{display:flex;gap:18px;justify-content:center;margin-bottom:14px}footer .soci a{color:var(--champ);transition:color .2s,transform .2s}footer .soci a:hover{color:#fff;transform:translateY(-2px)}footer svg{width:22px;height:22px}
.note{padding:15px 18px;border:1px solid #dccaa0;background:#fff9ea;border-radius:12px;font-size:13px;color:var(--soft);margin-bottom:28px}

/* admin (layout kept, palette refined) */
.panel{background:#fffdf9;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:20px 0;box-shadow:var(--shadow)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tabs button{background:var(--beige);color:var(--espresso)}.tabs button.on{background:var(--espresso);color:#f3e4c2}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fg label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}.fg input,.fg select,.fg textarea{width:100%;font-weight:400}.w{grid-column:1/-1}.ck{flex-direction:row!important;align-items:center;gap:8px!important}.ck input{width:auto!important}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--satin);border:1px solid var(--line);border-radius:12px;padding:16px}.stat b{font:500 32px var(--serif);display:block;color:var(--espresso)}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.row .i{flex:1;min-width:180px}.row img,.th{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--ivory)}
.acts{display:flex;gap:6px;flex-wrap:wrap}.pv{max-width:140px;border-radius:8px;margin-top:6px}

/* mobile */
@media(max-width:760px){
 header .wrap{height:64px}
 nav{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(251,247,239,.98);flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(59,42,30,.1);align-items:flex-start}
 nav.open{display:flex}#burger{display:block}
 .ft{width:40px;height:40px}.brand{font-size:15px;letter-spacing:2.5px}.tag{font-size:8px;letter-spacing:3px}
 .dt{grid-template-columns:1fr}.dtx{padding:24px 20px}.fg{grid-template-columns:1fr}
 .hero{padding:64px 18px;margin:14px 0 40px;border-radius:20px}.hero p{font-size:16px}.eyebrow::before,.eyebrow::after{width:18px;margin:0 8px}
 h2{font-size:26px}section{margin-bottom:44px}
 .chips{grid-template-columns:repeat(2,1fr);gap:10px}.chip{min-height:80px;padding:13px 14px;font-size:18px}
 .grid{grid-template-columns:repeat(2,1fr);gap:12px}.bdy{padding:12px}.bdy h3{font-size:14.5px}.price{font-size:17px}
 .links .btn,.links button{font-size:12px;padding:9px 6px}
}
@media(max-width:380px){.grid{grid-template-columns:1fr}.brand{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* reviews */
.rvhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}.rvhead h2{margin:0}
.rvlabel{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:#2b1d12;background:linear-gradient(135deg,#e2cb9b,var(--champ2));padding:5px 12px;border-radius:99px}
#reviews h2::after{display:none}
#reviews .sub{margin-top:8px}
.rvgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px 24px;border-radius:var(--r);border:1px solid var(--line);border-top:2px solid var(--champ2);background:var(--satin);box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:opacity .7s ease var(--d,0ms),transform .7s ease var(--d,0ms),box-shadow .3s,border-color .3s}
.rv.in{opacity:1;transform:none}
.rv:hover{box-shadow:var(--shadow-h);border-color:var(--champ)}
.rv::before{content:"\201C";position:absolute;right:20px;top:2px;font:400 64px/1 var(--serif);color:rgba(185,148,90,.35)}
.stars{color:#9a7336;font-size:17px;letter-spacing:3px}
.rtx{margin:0;font:italic 400 17px/1.65 var(--serif);color:var(--espresso);flex:1}
.rwho{display:flex;flex-direction:column;gap:1px;padding-top:12px;border-top:1px solid var(--line)}
.rwho b{font:600 14px var(--sans);color:var(--espresso)}.rwho span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2)}
.rvnote{margin:20px 0 0;text-align:center;font-size:13px;color:var(--soft)}
@media(max-width:900px){.rvgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.rvgrid{grid-template-columns:1fr;gap:14px}.rv{padding:26px 20px 20px}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* collection banner cards (images contain their own title and Shop Now artwork) */
.chip.img{padding:0;min-height:0;aspect-ratio:1670/942;font-size:0;color:transparent;border:1px solid var(--line);background-color:var(--ivory);background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;box-shadow:var(--shadow)}
.chip.img::after{display:none}
.chip.img:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);border-color:var(--champ2)}
.chip.img.on,.chip.img.on:hover{border-color:var(--gold2);box-shadow:0 0 0 3px var(--champ2),var(--shadow-h)}
.chip.img.c-dresses,.chip.img.c-dresses:hover,.chip.img.c-dresses.on{background-image:url(assets/cat-dresses.webp);background-color:var(--ivory)}
.chip.img.c-tops,.chip.img.c-tops:hover,.chip.img.c-tops.on{background-image:url(assets/cat-tops.webp);background-color:var(--ivory)}
.chip.img.c-shoes,.chip.img.c-shoes:hover,.chip.img.c-shoes.on{background-image:url(assets/cat-shoes-sandals.webp);background-color:var(--ivory)}
.chip.img.c-jackets,.chip.img.c-jackets:hover,.chip.img.c-jackets.on{background-image:url(assets/cat-jackets-hoodies.webp);background-color:var(--ivory)}
.chip.img.c-tshirts,.chip.img.c-tshirts:hover,.chip.img.c-tshirts.on{background-image:url(assets/cat-tshirts.webp);background-color:var(--ivory)}
.chip.img.c-accessories,.chip.img.c-accessories:hover,.chip.img.c-accessories.on{background-image:url(assets/cat-accessories.webp);background-color:var(--ivory)}
@media(min-width:621px){.chips{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.chip:not(.img){align-self:stretch}}
@media(max-width:620px){.chip.img{grid-column:1/-1}}
