:root{--bg:#fff9fc;--surface:#fff;--ink:#121012;--muted:#756d73;--line:#eadfe5;--pink:#ff2f8f;--pink2:#ff72b6;--dark:#111;--soft:#ffe5f1;--shadow:0 18px 55px rgba(35,10,22,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Noto Sans Thai","Segoe UI",Arial,sans-serif;line-height:1.45}
button,input,select{font:inherit}.topbar{height:34px;display:flex;align-items:center;justify-content:center;gap:14px;background:#111;color:#fff;font-size:11px;letter-spacing:.18em;font-weight:800}.topbar span{color:#ff9ac8;letter-spacing:.02em;font-weight:600}
.site-header{position:sticky;top:0;z-index:30;height:74px;padding:0 max(22px,calc((100vw - 1440px)/2));display:grid;grid-template-columns:180px minmax(240px,680px) 1fr;gap:22px;align-items:center;background:rgba(255,249,252,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,229,.9)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}.brand b{font-size:34px;line-height:1;letter-spacing:-.08em}.brand span{font-size:9px;font-weight:900;letter-spacing:.18em;line-height:1.15;max-width:74px}
.header-search{height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;display:flex;align-items:center;padding:0 16px;box-shadow:0 7px 22px rgba(30,10,20,.04)}.header-search svg{width:18px;height:18px;fill:none;stroke:#555;stroke-width:1.8}.header-search input{flex:1;border:0;outline:0;background:transparent;padding:0 10px;color:var(--ink);min-width:0}.header-link{justify-self:end;color:var(--ink);text-decoration:none;font-size:13px;font-weight:800}
main{overflow:hidden}.hero{min-height:620px;position:relative;display:flex;align-items:flex-end;border-bottom:1px solid var(--line);background:#111}.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;filter:saturate(.6) contrast(1.03)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.55) 42%,rgba(255,47,143,.07) 75%),linear-gradient(0deg,rgba(0,0,0,.52),transparent 55%)}
.hero-copy{position:relative;z-index:2;width:min(760px,92vw);margin:0 max(28px,calc((100vw - 1440px)/2));padding:80px 0 64px;color:#fff}.eyebrow{margin:0 0 10px;color:var(--pink);font-size:11px;letter-spacing:.2em;font-weight:900}.hero .eyebrow{color:#ff8fc4}
.hero h1{font-size:clamp(56px,8vw,112px);line-height:.88;letter-spacing:-.06em;margin:0;max-width:800px}.hero h1 em{color:var(--pink2);font-family:Georgia,serif;font-weight:400}.hero-copy>p:not(.eyebrow){max-width:520px;color:#eee;font-size:17px;margin:28px 0}.hero-stats{display:flex;gap:40px;margin:30px 0}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:25px}.hero-stats span{font-size:11px;color:#bbb}.cta{display:inline-flex;align-items:center;gap:28px;background:var(--pink);color:#fff;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:900;font-size:13px}
.category-section,.catalog{width:min(1440px,calc(100% - 44px));margin:auto;padding:76px 0}.section-title,.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-title h2,.catalog-head h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.045em;margin:0}.section-title>p{max-width:360px;color:var(--muted)}
.category-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.category-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;text-align:left;cursor:pointer;min-height:145px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.category-card:hover{border-color:var(--pink);transform:translateY(-3px);box-shadow:var(--shadow)}.category-card .cat-icon{font-size:26px}.category-card strong{font-size:17px}.category-card span{font-size:12px;color:var(--muted)}.category-card.active{background:#111;color:#fff;border-color:#111}.category-card.active span{color:#c9c1c5}
.catalog{padding-top:32px}.catalog-head h2 span{font-size:.36em;color:var(--pink);vertical-align:middle;margin-left:8px}.filter-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:800}.filter-toggle span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:20px;background:var(--pink);color:#fff;font-size:11px}
.catalog-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px}.filters{position:sticky;top:94px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.filter-head button{border:0;background:none;color:var(--pink);font-size:12px;cursor:pointer}
.filters label,.filter-group{display:block;font-size:12px;font-weight:800;margin:14px 0}.filters select,.filters input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;margin-top:7px;outline:none}.filters select:focus,.filters input:focus{border-color:var(--pink)}.price-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.price-range input{min-width:0}.check{display:flex!important;align-items:center;gap:9px;font-weight:700!important}.check input{width:17px;height:17px;margin:0;accent-color:var(--pink)}.apply{width:100%;border:0;background:#111;color:#fff;border-radius:12px;height:44px;font-weight:900;cursor:pointer}.apply:hover{background:var(--pink)}
.sortbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.sortbar label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.sortbar select{border:1px solid var(--line);background:#fff;border-radius:10px;height:38px;padding:0 10px}.active-chips{display:flex;gap:7px;overflow:auto}.chip{border:1px solid #f1bfd6;background:#fff1f7;color:#ad195c;border-radius:999px;padding:7px 10px;font-size:11px;white-space:nowrap}
.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;display:flex;flex-direction:column;transition:.2s;cursor:pointer}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#efbfd4}
.product-image{aspect-ratio:1/1;position:relative;background:#f6f1f4;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.product-card:hover .product-image img{transform:scale(1.035)}.badges{position:absolute;top:9px;left:9px;display:flex;gap:5px;flex-wrap:wrap}.badge{background:#111;color:#fff;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.badge.pink{background:var(--pink)}.badge.white{background:rgba(255,255,255,.92);color:#111}
.product-copy{padding:13px;display:flex;flex-direction:column;flex:1}.product-cat{font-size:10px;color:var(--pink);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-title{font-size:13px;line-height:1.45;font-weight:700;margin:5px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.product-brand{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price{display:flex;align-items:baseline;gap:7px;margin-top:auto;padding-top:10px}.price strong{font-size:20px;letter-spacing:-.03em}.price del{font-size:10px;color:#9b9298}.meta{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;color:var(--muted)}.store{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.empty{text-align:center;padding:80px 20px;color:var(--muted)}.empty strong{color:var(--ink);font-size:20px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:36px 0 0}.pagination button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;cursor:pointer;font-weight:800}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination div{text-align:center}.pagination span{display:block;font-weight:900}.pagination small{color:var(--muted)}
footer{margin-top:60px;background:#111;color:#fff;padding:42px max(22px,calc((100vw - 1440px)/2));display:grid;grid-template-columns:200px 1fr auto;gap:36px;align-items:end}.footer-brand{color:#fff}footer p{margin:0;max-width:700px;color:#aaa;font-size:11px}footer>span{font-size:10px;color:#777}
dialog{border:0;padding:0;background:transparent;width:min(1180px,94vw);max-width:none}dialog::backdrop{background:rgba(5,2,4,.72);backdrop-filter:blur(6px)}.dialog-shell{background:#fff;border-radius:24px;position:relative;max-height:92vh;overflow:auto}.dialog-close{position:sticky;float:right;top:12px;right:12px;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:#111;color:#fff;font-size:24px;cursor:pointer;margin:12px}.product-detail{clear:both;padding:0 26px 32px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:36px}.gallery-main{aspect-ratio:1/1;background:#f7f2f5;border-radius:18px;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:contain}.thumbs{display:flex;gap:8px;overflow:auto;margin-top:9px}.thumbs button{width:64px;height:64px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;overflow:hidden;flex:0 0 auto}.thumbs img{width:100%;height:100%;object-fit:cover}.detail-info{padding:6px 0}.detail-info h2{font-size:clamp(26px,3vw,40px);line-height:1.15;letter-spacing:-.035em;margin:10px 0}.detail-tags{display:flex;gap:6px;flex-wrap:wrap}.detail-price{font-size:36px;font-weight:900;margin:16px 0 4px}.detail-old{color:var(--muted);font-size:12px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.detail-stats div{background:#faf5f8;border-radius:12px;padding:11px}.detail-stats strong{display:block}.detail-stats span{font-size:10px;color:var(--muted)}.buy{display:flex;justify-content:center;align-items:center;background:var(--pink);color:#fff;text-decoration:none;border-radius:14px;padding:15px;font-weight:900;margin:18px 0}.buy:hover{background:#e31673}.detail-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.detail-section h3{margin:0 0 10px}.description{white-space:pre-wrap;font-size:13px;color:#4c4549;max-height:320px;overflow:auto}.variants{display:grid;gap:6px;max-height:240px;overflow:auto}.variant{display:flex;justify-content:space-between;gap:14px;background:#faf6f8;padding:9px 10px;border-radius:9px;font-size:11px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fact{border:1px solid var(--line);border-radius:10px;padding:9px}.fact span{display:block;font-size:9px;color:var(--muted)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,20px);background:#111;color:#fff;padding:10px 15px;border-radius:999px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:80}.toast.show{opacity:1;transform:translate(-50%,0)}
.loading-card{height:360px;border-radius:18px;background:linear-gradient(90deg,#f5edf1 25%,#fff 40%,#f5edf1 55%);background-size:300% 100%;animation:shine 1.2s infinite}.skeleton-row{min-height:145px;background:linear-gradient(90deg,#f5edf1 25%,#fff 40%,#f5edf1 55%);background-size:300% 100%;animation:shine 1.2s infinite;border-radius:20px}@keyframes shine{to{background-position:-300% 0}}
@media(max-width:1100px){.products{grid-template-columns:repeat(3,1fr)}.category-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topbar{height:29px;font-size:9px}.topbar span{display:none}.site-header{height:auto;min-height:66px;padding:10px 14px;grid-template-columns:100px 1fr}.brand b{font-size:28px}.brand span{display:none}.header-search{height:40px}.header-link{display:none}.hero{min-height:560px}.hero-copy{margin:0 20px;padding:70px 0 42px}.hero h1{font-size:58px}.hero-copy>p:not(.eyebrow){font-size:14px;margin:18px 0}.hero-stats{gap:20px}.hero-stats strong{font-size:20px}.category-section,.catalog{width:calc(100% - 28px);padding:46px 0}.section-title{align-items:start;flex-direction:column}.section-title>p{display:none}.category-cards{display:flex;overflow:auto;margin-right:-14px;padding-right:14px}.category-card{min-width:154px;min-height:130px}.catalog-head{margin-bottom:14px}.catalog-head h2{font-size:36px}.filter-toggle{display:block}.catalog-layout{display:block}.filters{display:none;position:fixed;z-index:50;inset:auto 0 0 0;top:14vh;border-radius:24px 24px 0 0;overflow:auto;padding:20px 18px 34px;box-shadow:0 -20px 70px rgba(0,0,0,.24)}.filters.open{display:block}.filter-head{position:sticky;top:-20px;background:#fff;padding:10px 0;z-index:2}.sortbar{align-items:start;flex-direction:column}.sortbar label{align-self:flex-end}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-copy{padding:10px}.product-title{font-size:12px}.price strong{font-size:17px}.meta{font-size:9px}.pagination{gap:10px}footer{grid-template-columns:1fr;padding:32px 18px;gap:20px}.detail-grid{grid-template-columns:1fr;gap:18px}.product-detail{padding:0 14px 22px}.dialog-shell{border-radius:18px}.detail-info h2{font-size:25px}.detail-price{font-size:30px}.facts{grid-template-columns:1fr 1fr}}

/* Auth and in-card Shopee affiliate actions */
.icon-search{position:absolute;left:13px;top:11px;width:15px;height:15px;border:1.7px solid currentColor;border-radius:50%;color:#73666d}
.icon-search:after{content:"";position:absolute;width:7px;height:1.7px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);border-radius:2px}
.header-search{position:relative}.header-search input{padding-left:42px}
.auth-button{justify-self:end;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 16px;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.auth-button:hover,.auth-switch:hover{border-color:var(--pink);color:var(--pink)}
.card-buy{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:12px;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-size:13px;font-weight:800;transition:background .2s,transform .2s}
.card-buy:hover{background:var(--pink);transform:translateY(-1px)}
.card-buy:after{content:"";width:7px;height:7px;margin-left:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.auth-dialog{border:0;padding:0;width:min(440px,92vw);max-width:none;background:transparent;overflow:visible}
.auth-dialog::backdrop{background:rgba(10,7,9,.62);backdrop-filter:blur(5px)}
.auth-panel{position:relative;padding:34px;background:#fff;border:1px solid #eee;border-radius:24px;box-shadow:0 24px 90px #0003}
.auth-panel .dialog-close{position:absolute;top:10px;right:10px;float:none;margin:0;background:#f5f2f3;color:#171316}
.auth-panel h2{margin:4px 0;font-family:Georgia,serif;font-size:32px;font-weight:500}
.auth-intro{margin:0 0 22px;color:#716970;font-size:13px}
.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#463f44}
.auth-form input{width:100%;box-sizing:border-box;border:1px solid #ddd5da;border-radius:10px;padding:12px 13px;background:#fff;font:inherit;font-size:14px;outline:none}
.auth-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff2f8f20}
.auth-submit{width:100%;border:0;cursor:pointer}.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-switch{display:block;margin:18px auto 0;padding:8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#4e444b;font:inherit;font-size:13px;cursor:pointer}
.auth-error{margin:0;padding:10px 12px;border-radius:9px;background:#fff0f2;color:#a40034;font-size:13px}
@media(max-width:760px){.site-header{grid-template-columns:74px minmax(100px,1fr) auto;gap:9px}.auth-button{padding:9px 11px;font-size:11px}.auth-button[data-user="true"]{max-width:96px;overflow:hidden;text-overflow:ellipsis}.auth-panel{padding:30px 22px}.card-buy{min-height:38px;font-size:12px}}
