/* ============================================================
   DXMN Clothing — CSS
   Clean Minimal White / Monochrome / Shopify-style
   ============================================================ */

:root {
    --black: #0a0a0a;
    --white: #ffffff;
    --bg: #fafafa;
    --surface: #f2f2f2;
    --border: #e5e5e5;
    --border-d: #d0d0d0;
    --text: #1a1a1a;
    --text-2: #6b6b6b;
    --text-m: #767676; /* WCAG AA: 4.54:1 บนพื้นขาว (เดิม #999 = 2.85:1 ตกเกณฑ์) */
    --font-d: 'Bebas Neue', sans-serif;
    --font-b: 'DM Sans', 'Prompt', sans-serif;
    --font-th: 'Prompt', sans-serif;
    --ease: cubic-bezier(.25,.46,.45,.94);
    --ease-out: cubic-bezier(.16,1,.3,1);
    --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
    --shadow: 0 4px 16px rgba(0,0,0,.08);
    --shadow-lg: 0 12px 40px rgba(0,0,0,.12);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--white); color:var(--text); font-family:var(--font-b); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button { cursor:pointer; font-family:inherit; border:none; background:none; }
input, select, textarea { font-family:inherit; }

/* === THAI UI FONT === */
.thai-ui, .thai-heading { font-family: var(--font-th) !important; letter-spacing: 0 !important; }
.thai-heading { font-weight: 700; }

/* === SCROLLBAR === */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--border-d); border-radius:2px; }

/* === UTILITIES === */
.container { max-width:1320px; margin:0 auto; padding:0 48px; }
.text-center { text-align:center; }
.mt-1 { margin-top:8px; } .mt-2 { margin-top:16px; } .mt-3 { margin-top:24px; } .mt-4 { margin-top:32px; } .mt-5 { margin-top:48px; }

/* === ANNOUNCEMENT BAR === */
.announce { background:var(--black); color:var(--white); overflow:hidden; height:38px; display:flex; align-items:center; }
.announce-track { display:flex; gap:80px; animation:marquee 35s linear infinite; width:max-content; }
.announce-track span { white-space:nowrap; font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.announce-track span::before { content:'◆'; font-size:5px; opacity:.4; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* === NAVBAR === */
.nav { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.97); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--border); height:72px; display:flex; align-items:center; padding:0 48px; justify-content:space-between; }
.nav-left { display:flex; align-items:center; gap:48px; }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { font-size:13px; font-weight:500; letter-spacing:.5px; color:var(--text-2); transition:color .25s; position:relative; }
.nav-links a:hover { color:var(--black); }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--black); transition:width .3s var(--ease); }
.nav-links a:hover::after { width:100%; }
.nav-links a.active { color:var(--black); font-weight:600; }
.nav-logo { font-family:var(--font-d); font-size:36px; letter-spacing:6px; color:var(--black); line-height:1; display:inline-flex; align-items:center; justify-content:center; min-height:40px; }
.nav-center { position:absolute; left:50%; transform:translateX(-50%); }
.nav-right { display:flex; align-items:center; gap:6px; }
.nav-btn { width:42px; height:42px; display:flex; align-items:center; justify-content:center; color:var(--text); font-size:20px; border-radius:50%; transition:background .2s; position:relative; }
.nav-btn:hover { background:var(--surface); }
.nav-badge { position:absolute; top:4px; right:4px; width:16px; height:16px; background:var(--black); color:var(--white); font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; border-radius:50%; }
.nav-menu-btn { display:none; font-size:24px; color:var(--text); }
.site-logo-image { display:block; width:auto; max-width:100%; object-fit:contain; }
.site-logo-header { max-height:38px; }
.site-logo-footer { max-height:34px; }

/* === BUTTONS === */
.btn-dark { display:inline-flex; align-items:center; gap:6px; padding:16px 40px; background:var(--black); color:var(--white); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:all .3s var(--ease); }
.btn-dark:hover { background:#333; transform:translateY(-1px); }
.btn-ghost { display:inline-flex; align-items:center; gap:6px; padding:16px 40px; background:transparent; color:var(--text); border:1px solid var(--border-d); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:all .3s var(--ease); }
.btn-ghost:hover { border-color:var(--black); transform:translateY(-1px); }
.btn-white { display:inline-flex; align-items:center; gap:10px; padding:16px 40px; background:var(--white); color:var(--black); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:all .3s var(--ease); }
.btn-white:hover { background:var(--surface); transform:translateY(-1px); }
.btn-sm { padding:10px 24px; font-size:11px; }
.btn-block { display:flex; width:100%; justify-content:center; }

/* Accessibility: focus ที่มองเห็นได้สำหรับผู้ใช้คีย์บอร์ด (WCAG 2.4.7) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline:2px solid var(--black); outline-offset:2px; border-radius:2px;
}

/* Accessibility: skip-to-content link (WCAG 2.4.1) */
.skip-link { position:absolute; left:-9999px; top:0; z-index:100000; background:var(--black); color:var(--white); padding:12px 20px; font-size:13px; font-weight:600; letter-spacing:.5px; }
.skip-link:focus { left:8px; top:8px; }

/* Accessibility: เคารพผู้ใช้ที่ตั้งค่าลดการเคลื่อนไหว (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
        scroll-behavior:auto !important;
    }
    html { scroll-behavior:auto; }
}

/* Accessibility: aria-live toast region สำหรับ screen reader */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Shop pagination */
.shop-pagination { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:40px; flex-wrap:wrap; }
.shop-pagination .pg-ellipsis { opacity:.5; }

/* === HERO === */
.hero { background:#151515; color:var(--white); position:relative; min-height:clamp(620px,calc(100svh - 110px),880px); overflow:hidden; isolation:isolate; }
.hero-slides,.hero-slide,.hero-shade { position:absolute; inset:0; }
.hero-slides { z-index:-3; }
.hero-slide { opacity:0; visibility:hidden; transition:opacity .9s var(--ease),visibility .9s; }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-slide img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; transform:scale(1.04); transition:transform 7s cubic-bezier(.2,.6,.2,1); }
.hero-slide.is-active img { transform:scale(1); }
.hero-slide-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(circle at 75% 25%,#444 0,transparent 32%),linear-gradient(135deg,#202020,#080808); }
.hero-slide-placeholder span { font-family:var(--font-d); font-size:clamp(180px,35vw,560px); line-height:1; letter-spacing:.08em; color:rgba(255,255,255,.035); transform:translateX(.04em); }
.hero-shade { z-index:-2; background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 35%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.22) 100%),linear-gradient(0deg,rgba(0,0,0,.62) 0%,transparent 38%); pointer-events:none; }
.hero--content-off .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.42) 0%,transparent 35%); }
.hero-inner { width:min(100%,1440px); min-height:inherit; margin:0 auto; padding:clamp(72px,9vh,120px) clamp(28px,5vw,76px) 150px; display:flex; align-items:center; }
.hero-content { width:min(690px,72%); display:flex; flex-direction:column; justify-content:center; }
.hero-tag { display:flex; align-items:center; gap:14px; font-size:11px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.78); margin-bottom:24px; animation:fadeUp .8s var(--ease-out) both; }
.hero-tag::before { content:''; width:36px; height:1px; background:currentColor; }
.hero h1 { font-family:var(--font-d); font-size:clamp(76px,9vw,142px); line-height:.86; letter-spacing:4px; color:var(--white); margin-bottom:28px; text-wrap:balance; text-shadow:0 3px 30px rgba(0,0,0,.16); animation:fadeUp .8s .1s var(--ease-out) both; }
.hero-desc { font-size:15px; color:rgba(255,255,255,.76); max-width:520px; line-height:1.8; margin-bottom:38px; animation:fadeUp .8s .2s var(--ease-out) both; }
.hero-actions { display:flex; gap:12px; animation:fadeUp .8s .3s var(--ease-out) both; }
.hero .hero-actions .btn-dark { background:var(--white); color:var(--black); }
.hero .hero-actions .btn-dark:hover { background:#e8e8e8; }
.hero .hero-actions .btn-ghost { color:var(--white); border-color:rgba(255,255,255,.55); background:rgba(0,0,0,.08); backdrop-filter:blur(8px); }
.hero .hero-actions .btn-ghost:hover { border-color:var(--white); background:rgba(255,255,255,.1); }
.hero-controls { position:absolute; z-index:3; left:50%; bottom:34px; transform:translateX(-50%); width:min(calc(100% - clamp(56px,10vw,152px)),1288px); display:flex; align-items:center; justify-content:space-between; color:var(--white); }
.hero-pagination { display:flex; align-items:center; gap:8px; }
.hero-dot { width:48px; height:24px; padding:11px 0; opacity:.48; transition:opacity .25s,width .35s var(--ease); }
.hero-dot span { display:block; width:100%; height:2px; background:rgba(255,255,255,.76); }
.hero-dot.is-active { width:82px; opacity:1; }
.hero-control-right { display:flex; align-items:center; gap:28px; }
.hero-counter { display:flex; align-items:baseline; gap:7px; font-size:11px; letter-spacing:2px; color:rgba(255,255,255,.55); }
.hero-counter strong { font-family:var(--font-d); font-size:28px; font-weight:400; letter-spacing:2px; color:var(--white); }
.hero-arrows { display:flex; gap:8px; }
.hero-arrows button { width:48px; height:48px; border:1px solid rgba(255,255,255,.4); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:22px; transition:background .25s,border-color .25s; }
.hero-arrows button:hover { background:var(--white); border-color:var(--white); color:var(--black); }
.hero a:focus-visible,.hero button:focus-visible { outline-color:var(--white); }
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

/* === TRUST BAR === */
.trust-bar { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--border); }
.trust-item { padding:28px 20px; text-align:center; border-right:1px solid var(--border); display:flex; align-items:center; justify-content:center; gap:12px; }
.trust-item:last-child { border-right:none; }
.trust-item i { font-size:20px; color:var(--text); }
.trust-item span { font-size:12px; font-weight:500; color:var(--text-2); }

/* === MARQUEE BANDS === */
.band { background:var(--black); padding:16px 0; overflow:hidden; }
.band-track { display:flex; gap:60px; animation:marquee 25s linear infinite; width:max-content; }
.band-track span { font-family:var(--font-d); font-size:16px; letter-spacing:6px; color:var(--white); white-space:nowrap; display:flex; align-items:center; gap:20px; }
.band-track span::after { content:'★'; font-size:8px; opacity:.3; }
.band-white { background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:14px 0; overflow:hidden; }
.band-white .band-track span { color:var(--text-m); font-size:13px; letter-spacing:4px; }

/* === SECTIONS === */
.section { padding:90px 48px; }
.section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:48px; }
.section-header .overline { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:8px; }
.section-header h2 { font-family:var(--font-d); font-size:48px; letter-spacing:3px; color:var(--black); line-height:1; }
.link-arrow { font-size:13px; font-weight:500; color:var(--text-2); display:flex; align-items:center; gap:6px; transition:color .2s; }
.link-arrow:hover { color:var(--black); }
.link-arrow i { font-size:18px; transition:transform .2s; }
.link-arrow:hover i { transform:translateX(3px); }

/* === CATEGORIES GRID === */
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cat-card { position:relative; overflow:hidden; cursor:pointer; background:var(--surface); aspect-ratio:4/5; }
.cat-card-inner { width:100%; height:100%; display:flex; align-items:center; justify-content:center; transition:transform .6s var(--ease); }
.cat-card:hover .cat-card-inner { transform:scale(1.03); }
.cat-card-inner i { font-size:56px; color:var(--border-d); }
.cat-card-inner img { width:100%; height:100%; object-fit:cover; }
.cat-label { position:absolute; bottom:0; left:0; right:0; padding:28px; background:linear-gradient(to top,rgba(0,0,0,.7),transparent); }
.cat-label h3 { font-family:var(--font-d); font-size:28px; letter-spacing:3px; color:var(--white); }
.cat-label span { font-size:12px; color:rgba(255,255,255,.6); }

/* === PRODUCT GRID === */
.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.product-card { cursor:pointer; position:relative; }
.product-card:hover .p-img { background:var(--border); }
.product-card:hover .p-overlay { opacity:1; }
.p-img { aspect-ratio:3/4; background:var(--surface); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; transition:background .3s; margin-bottom:16px; }
.p-img i { font-size:44px; color:var(--border-d); transition:transform .5s var(--ease); }
.p-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.product-card:hover .p-img i, .product-card:hover .p-img img { transform:scale(1.05); }
.p-overlay { position:absolute; bottom:16px; left:16px; right:16px; opacity:0; transition:opacity .3s; }
.p-overlay button, .p-overlay a { display:block; width:100%; padding:14px; background:var(--black); color:var(--white); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; text-align:center; transition:background .2s; border:none; cursor:pointer; font-family:var(--font-b); }
.p-overlay button:hover, .p-overlay a:hover { background:#333; }
.p-tag { position:absolute; top:14px; left:14px; padding:4px 12px; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.tag-new { background:var(--black); color:var(--white); }
.tag-sale { background:var(--black); color:var(--white); }
.tag-sold { background:var(--border-d); color:var(--white); }
.tag-hot { background:var(--black); color:var(--white); }
.p-wish { position:absolute; top:14px; right:14px; width:36px; height:36px; background:var(--white); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--text); opacity:0; transition:all .2s; box-shadow:var(--shadow-sm); cursor:pointer; border:none; }
.product-card:hover .p-wish { opacity:1; }
.p-wish:hover { transform:scale(1.1); }
.p-wish.is-active { opacity:1; color:#e11d48; }
/* มือถือไม่มี hover — แสดงปุ่ม wishlist + overlay ตลอดเพื่อให้กดได้ */
@media (hover: none), (max-width: 767px) {
    .p-wish { opacity:1; }
    .p-overlay { opacity:1; }
}
.p-wish.is-active i { animation:dxmnHeartPop .35s ease; }
.p-wish:disabled { cursor:wait; opacity:.6; }
.pd-wish:hover { border-color:var(--black) !important; transform:translateY(-1px); }
.pd-wish.is-active { color:#e11d48 !important; border-color:#e11d48 !important; }
@keyframes dxmnHeartPop { 0%{transform:scale(1)} 35%{transform:scale(1.35)} 100%{transform:scale(1)} }
.p-name { font-size:14px; font-weight:600; color:var(--text); margin-bottom:4px; }
.p-name a { transition:color .2s; }
.p-name a:hover { color:var(--text-2); }
.p-type { font-size:12px; color:var(--text-m); margin-bottom:8px; }
.p-price { font-size:15px; font-weight:700; color:var(--black); }
.p-price .was { font-weight:400; color:var(--text-m); text-decoration:line-through; margin-left:6px; font-size:13px; }
.p-sizes { display:flex; gap:4px; margin-top:8px; }
.p-sizes span { width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:500; color:var(--text-m); border:1px solid var(--border); transition:all .15s; }
.p-sizes span:hover { border-color:var(--black); color:var(--black); }

/* === EDITORIAL BANNER === */
.editorial { padding:0 48px; }
.editorial-inner { display:grid; grid-template-columns:1fr 1fr; background:var(--surface); overflow:hidden; }
.editorial-img { min-height:550px; background:var(--border); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.editorial-img i { font-size:80px; color:var(--border-d); }
.editorial-img img { width:100%; height:100%; object-fit:cover; }
.editorial-content { padding:80px 70px; display:flex; flex-direction:column; justify-content:center; }
.editorial-content .overline { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:20px; }
.editorial-content h2 { font-family:var(--font-d); font-size:56px; letter-spacing:3px; color:var(--black); line-height:.95; margin-bottom:20px; }
.editorial-content p { font-size:14px; color:var(--text-2); line-height:1.9; max-width:380px; margin-bottom:36px; }

/* === ABOUT STRIP (DARK) === */
.about-strip { background:var(--black); padding:100px 48px; text-align:center; position:relative; overflow:hidden; }
.about-strip::before { content:'DXMN'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:var(--font-d); font-size:280px; color:rgba(255,255,255,.03); letter-spacing:30px; pointer-events:none; }
.about-strip .overline { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:24px; position:relative; }
.about-strip h2 { font-family:var(--font-d); font-size:52px; letter-spacing:4px; color:var(--white); max-width:700px; margin:0 auto 20px; line-height:1; position:relative; }
.about-strip p { font-size:14px; color:rgba(255,255,255,.5); max-width:500px; margin:0 auto 36px; line-height:1.9; position:relative; }

/* === NEWSLETTER === */
.newsletter-section { padding:80px 48px; text-align:center; border-top:1px solid var(--border); }
.newsletter-section h3 { font-family:var(--font-d); font-size:36px; letter-spacing:3px; color:var(--black); margin-bottom:10px; }
.newsletter-section p { font-size:13px; color:var(--text-m); margin-bottom:30px; }
.nl-form { display:flex; max-width:460px; margin:0 auto; }
.nl-form input { flex:1; padding:16px 20px; border:1px solid var(--border); border-right:none; font-size:13px; color:var(--text); outline:none; background:var(--white); transition:border-color .2s; }
.nl-form input::placeholder { color:var(--text-m); }
.nl-form input:focus { border-color:var(--black); }
.nl-form button { padding:16px 32px; background:var(--black); color:var(--white); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:background .2s; cursor:pointer; border:none; }
.nl-form button:hover { background:#333; }

.footer-newsletter-strip { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr); gap:28px; align-items:end; padding:0 0 42px; margin-bottom:46px; border-bottom:1px solid var(--border); }
.footer-newsletter-kicker { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:10px; }
.footer-newsletter-strip h3 { font-family:var(--font-d); font-size:34px; letter-spacing:3px; color:var(--black); margin-bottom:8px; }
.footer-newsletter-strip p { font-size:13px; color:var(--text-m); line-height:1.8; max-width:460px; }
.product-share-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0 18px; }
.product-share-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); }
.product-share-actions { display:flex; align-items:center; gap:8px; }
.product-share-btn { width:40px; height:40px; border:1px solid var(--border); background:var(--white); color:var(--black); display:flex; align-items:center; justify-content:center; font-size:18px; transition:all .2s; }
.product-share-btn:hover { border-color:var(--black); transform:translateY(-2px); }
.product-share-btn .bxl-facebook:hover, .product-share-btn:hover .bxl-facebook { color:#1877f2; }
.product-share-btn .bxl-twitter:hover, .product-share-btn:hover .bxl-twitter { color:#111; }
.product-share-btn .bxl-line:hover, .product-share-btn:hover .bxl-line { color:#06c755; }
@media(max-width:991px){ .footer-newsletter-strip{grid-template-columns:1fr;align-items:start} }

/* === FOOTER === */
.footer { border-top:1px solid var(--border); padding:72px 48px 32px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px; margin-bottom:60px; }
.footer-logo { font-family:var(--font-d); font-size:32px; letter-spacing:6px; color:var(--black); margin-bottom:16px; min-height:38px; display:flex; align-items:center; }
.footer-brand p { font-size:13px; color:var(--text-m); line-height:1.8; max-width:320px; margin-bottom:18px; }
.footer-contact-list { display:grid; gap:8px; margin-bottom:20px; }
.footer-contact-list a { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text-m); transition:color .2s; }
.footer-contact-list a:hover { color:var(--black); }
.footer-contact-list i { font-size:16px; }
.footer-socials { display:flex; gap:8px; }
.footer-socials a { width:38px; height:38px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--text-2); font-size:16px; transition:all .2s; }
.footer-socials a:hover { border-color:var(--black); color:var(--black); }
.footer-col h4 { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--black); margin-bottom:20px; }
.footer-col h4 i { font-size:16px; color:var(--black); flex:0 0 auto; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--text-m); transition:color .2s; }
.footer-col ul li a i { font-size:16px; color:var(--text-l, #bbb); transition:color .2s; flex:0 0 auto; }
.footer-col ul li a:hover { color:var(--black); }
.footer-col ul li a:hover i { color:var(--black); }
.footer-bottom { border-top:1px solid var(--border); padding-top:24px; display:flex; align-items:center; justify-content:space-between; }
.footer-bottom p { font-size:12px; color:var(--text-m); }
.footer-pay { display:flex; gap:8px; flex-wrap:wrap; }
.footer-pay span { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; background:var(--surface); font-size:10px; font-weight:600; color:var(--text-2); letter-spacing:1px; text-transform:uppercase; border-radius:4px; }
.footer-pay span i { font-size:15px; color:var(--black); }

/* === CART DRAWER === */
.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:2000; opacity:0; pointer-events:none; transition:opacity .3s; }
.cart-overlay.active { opacity:1; pointer-events:all; }
.cart-drawer { position:fixed; top:0; right:0; width:440px; max-width:92vw; height:100vh; background:var(--white); z-index:2001; transform:translateX(100%); transition:transform .4s var(--ease-out); display:flex; flex-direction:column; box-shadow:-10px 0 40px rgba(0,0,0,.08); }
.cart-drawer.active { transform:translateX(0); }
.cart-d-header { padding:24px 28px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.cart-d-header h3 { font-family:var(--font-d); font-size:22px; letter-spacing:3px; color:var(--black); }
.cart-d-close { color:var(--text-m); font-size:24px; }
.cart-d-close:hover { color:var(--black); }
.cart-d-body { flex:1; overflow-y:auto; padding:24px 28px; }
.cart-d-item { display:grid; grid-template-columns:80px 1fr auto; gap:16px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--border); }
.cart-d-item:last-child { border-bottom:none; }
.ci-img { width:80px; height:100px; background:var(--surface); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ci-img i { font-size:22px; color:var(--border-d); }
.ci-img img { width:100%; height:100%; object-fit:cover; }
.ci-det h4 { font-size:13px; font-weight:600; color:var(--text); margin-bottom:4px; }
.ci-det .ci-meta { font-size:11px; color:var(--text-m); margin-bottom:12px; }
.ci-qty { display:flex; height:40px; }
.ci-qty button { width:40px; height:40px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--text); cursor:pointer; background:var(--white); }
.ci-qty button:hover { border-color:var(--black); }
.ci-qty span { width:44px; height:40px; display:flex; align-items:center; justify-content:center; border-top:1px solid var(--border); border-bottom:1px solid var(--border); font-size:13px; font-weight:600; }
.ci-price { font-size:14px; font-weight:700; color:var(--black); }
.cart-d-footer { padding:24px 28px; border-top:1px solid var(--border); }
.cart-totals { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.cart-totals .label { font-size:13px; color:var(--text-2); }
.cart-totals .amount { font-family:var(--font-d); font-size:28px; color:var(--black); letter-spacing:1px; }
.cart-note { font-size:11px; color:var(--text-m); margin-bottom:20px; }
.checkout-btn { display:block; width:100%; padding:18px; background:var(--black); color:var(--white); font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase; text-align:center; transition:background .2s; border:none; cursor:pointer; }
.checkout-btn:hover { background:#333; }
/* Free-shipping progress bar (cart drawer + cart page) */
.cart-freeship { margin-bottom:16px; }
.cart-freeship-text { font-size:12px; color:var(--text-2); margin-bottom:8px; }
.cart-freeship-text strong { color:var(--black); }
.cart-freeship-text--done { color:#1a7f37; font-weight:600; }
.cart-freeship-bar { height:6px; border-radius:999px; background:var(--border); overflow:hidden; }
.cart-freeship-bar span { display:block; height:100%; background:var(--black); border-radius:999px; transition:width .4s ease; }
.cart-d-actions { display:flex; gap:10px; align-items:stretch; }
.cart-d-actions .cart-view-btn { flex:0 0 38%; display:flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.cart-d-actions .checkout-btn { flex:1; }

/* === FLASH MESSAGES === */
.flash {
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 18px;
    margin:16px 48px 20px;
    font-size:13px;
    font-weight:500;
    border:1px solid;
    overflow:hidden;
}
.flash-icon {
    width:24px;
    min-width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:18px;
}
.flash-text {
    flex:1;
    line-height:1.55;
}
.flash-success { background:#f0fdf4; color:#166534; border-color:#bbf7d0; }
.flash-success .flash-icon { background:#dcfce7; color:#15803d; }
.flash-error { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.flash-error .flash-icon { background:#fee2e2; color:#dc2626; }
.flash-warning { background:#fff7ed; color:#9a3412; border-color:#fed7aa; }
.flash-warning .flash-icon { background:#ffedd5; color:#ea580c; }
.flash.is-auto-hide {
    animation: flashAutoHide 4.1s ease forwards;
}
@keyframes flashAutoHide {
    0%, 78% {
        opacity:1;
        transform:translateY(0);
        max-height:96px;
        margin-bottom:20px;
        padding-top:14px;
        padding-bottom:14px;
        border-width:1px;
    }
    100% {
        opacity:0;
        transform:translateY(-8px);
        max-height:0;
        margin-bottom:0;
        padding-top:0;
        padding-bottom:0;
        border-width:0;
    }
}

/* === FORMS === */
.form-group { margin-bottom:20px; }
.form-label { display:block; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--text-2); margin-bottom:8px; }
.form-label.has-label-icon { display:flex; align-items:center; gap:6px; }
.form-label.has-label-icon i.info-label-icon { font-size:14px; color:var(--black); flex:0 0 auto; }
.form-input { width:100%; padding:14px 16px; border:1px solid var(--border); font-size:14px; color:var(--text); outline:none; transition:border-color .2s; background:var(--white); }
.form-input:focus { border-color:var(--black); }
.form-input[type="file"] { padding: 12px 14px; cursor: pointer; }
.form-input[type="file"]::file-selector-button { background: var(--black); color: var(--white); border: 1px solid var(--black); padding: 10px 16px; margin: -12px 14px -12px -14px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: opacity .2s ease; }
.form-input[type="file"]:hover::file-selector-button { opacity: .88; }
.form-input[type="file"]::-webkit-file-upload-button { background: var(--black); color: var(--white); border: 1px solid var(--black); padding: 10px 16px; margin-right: 14px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }


.account-heading-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--text-m);
    margin-bottom:8px;
}
.account-heading-kicker i { font-size:14px; }
.account-title {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.account-title i { font-size:34px; color:var(--black); }
.account-tab-icon {
    font-size:16px;
    line-height:1;
}
.tab-btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.account-section-title {
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.account-section-title i { font-size:20px; color:var(--black); }
@media(max-width:768px) {
    .account-title i { font-size:26px; }
    .tab-btn { gap:6px; }
}

/* === PRODUCT DETAIL === */
.pd-wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:60px 48px; max-width:1320px; margin:0 auto; }
.pd-gallery { position:relative; }
.pd-main-img { aspect-ratio:3/4; background:var(--surface); display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:12px; }
.pd-main-img img { width:100%; height:100%; object-fit:cover; }
.pd-main-img i { font-size:80px; color:var(--border-d); }
.pd-thumbs { display:flex; gap:8px; }
.pd-thumb { width:80px; height:100px; background:var(--surface); border:2px solid transparent; cursor:pointer; overflow:hidden; transition:border-color .2s; }
.pd-thumb:hover, .pd-thumb.active { border-color:var(--black); }
.pd-info { padding-top:20px; }
.pd-breadcrumb { font-size:12px; color:var(--text-m); margin-bottom:20px; }
.pd-breadcrumb a:hover { color:var(--black); }
.pd-name { font-family:var(--font-d); font-size:36px; letter-spacing:2px; color:var(--black); margin-bottom:12px; }
.pd-price { font-size:22px; font-weight:700; color:var(--black); margin-bottom:20px; }
.pd-price .was { font-size:16px; font-weight:400; color:var(--text-m); text-decoration:line-through; margin-left:8px; }
.pd-desc { font-size:14px; color:var(--text-2); line-height:1.9; margin-bottom:28px; }
.pd-add { width:100%; padding:20px; background:var(--black); color:var(--white); font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:10px; transition:background .2s; border:none; cursor:pointer; }
.pd-add:hover { background:#333; }

/* === CHECKOUT === */
.checkout-wrap { display:grid; grid-template-columns:1fr 400px; gap:60px; padding:60px 48px; max-width:1320px; margin:0 auto; }
.checkout-summary { background:var(--surface); padding:36px; position:sticky; top:90px; }

/* === ADMIN === */
.admin-wrap { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100vh; align-items:stretch; background:var(--bg); }
.admin-sidebar { background:var(--black); padding:32px 0; position:sticky; top:0; align-self:start; height:100vh; overflow-y:auto; overflow-x:hidden; }
.admin-sidebar::-webkit-scrollbar { width:8px; }
.admin-sidebar::-webkit-scrollbar-track { background:rgba(255,255,255,.04); }
.admin-sidebar::-webkit-scrollbar-thumb { background:rgba(255,255,255,.16); border-radius:999px; }
.admin-sidebar .admin-logo { font-family:var(--font-d); font-size:24px; letter-spacing:4px; color:var(--white); padding:0 24px; margin-bottom:40px; }
.admin-sidebar nav { display:flex; flex-direction:column; min-height:calc(100vh - 96px); }
.admin-sidebar nav a { display:flex; align-items:center; gap:12px; padding:12px 24px; font-size:13px; color:rgba(255,255,255,.5); transition:all .2s; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { color:var(--white); background:rgba(255,255,255,.05); }
.admin-sidebar nav a i { font-size:18px; }
.admin-main { padding:32px; background:var(--bg); min-width:0; min-height:100vh; width:100%; }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.admin-header h1 { font-family:var(--font-d); font-size:32px; letter-spacing:2px; color:var(--black); }

.admin-title { display:flex; align-items:center; gap:6px; }
.admin-title h1 { margin:0; }
.admin-title i { font-size:28px; line-height:1; color:var(--black); }
.admin-table th .th-label,
.admin-meta-label { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.admin-table th .th-label i,
.admin-meta-label i { font-size:14px; color:var(--text); flex:0 0 auto; }
.admin-section-title { display:flex; align-items:center; gap:6px; font-family:var(--font-d); letter-spacing:2px; color:var(--black); }
.admin-empty-state { padding:60px; text-align:center; color:var(--text-m); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.admin-empty-state i { font-size:28px; color:var(--border-d); }
.admin-card-head { padding:20px 24px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.admin-card-head h3 { margin:0; }
.admin-card-head-simple { padding:20px 24px; border-bottom:1px solid var(--border); }
.admin-card-head-simple h3 { margin:0; }
.admin-inline-link { display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; color:var(--text); }
.admin-count { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--text-m); }
.admin-page-note { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--text-m); }
.admin-empty-text { display:inline-flex; align-items:center; gap:4px; }

.admin-main-fill { display:block; min-height:0; }

.admin-filter-row { display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.admin-filter-row .btn-dark,
.admin-filter-row .btn-ghost { gap:8px; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:32px; }
.stat-card { background:var(--white); border:1px solid var(--border); padding:24px; }
.stat-card .stat-label { font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--text-m); margin-bottom:8px; }
.stat-card .stat-value { font-family:var(--font-d); font-size:32px; color:var(--black); }
.admin-table { width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--border); }
.admin-table th { padding:14px 18px; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-m); text-align:left; border-bottom:2px solid var(--border); background:var(--bg); }
.admin-table td { padding:14px 18px; border-bottom:1px solid var(--border); font-size:13px; color:var(--text-2); }
.admin-table tr:hover td { background:var(--surface); }
.status-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:3px; }
.status-badge i { font-size:13px; line-height:1; }
.badge-pending { background:#fef3c7; color:#92400e; }
.badge-confirmed { background:#dbeafe; color:#1e40af; }
.badge-shipped { background:#e0e7ff; color:#3730a3; }
.badge-delivered { background:#d1fae5; color:#065f46; }
.badge-cancelled { background:#fee2e2; color:#991b1b; }


.checkout-page-head { margin-bottom:36px; }
.checkout-page-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:10px; }
.checkout-page-title { display:flex; align-items:center; gap:12px; font-family:var(--font-d); font-size:42px; letter-spacing:3px; color:var(--black); }
.checkout-page-title i,
.checkout-section-title i { font-size:.8em; line-height:1; }
.checkout-section-title { display:flex; align-items:center; gap:10px; font-family:var(--font-d); font-size:20px; letter-spacing:2px; color:var(--black); margin-bottom:20px; }
.checkout-section-title-spaced { margin-top:36px; }
.checkout-section-help { margin:-4px 0 16px; font-size:13px; color:var(--text-2); line-height:1.7; }
.checkout-payment-list { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.checkout-payment-option { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid var(--border); cursor:pointer; transition:border-color .2s, background .2s; background:var(--white); }
.checkout-payment-option:hover { border-color:var(--black); background:var(--surface); }
.checkout-payment-option input { margin-top:3px; accent-color:var(--black); }
.checkout-payment-option-body { display:flex; flex-direction:column; gap:4px; }
.checkout-payment-option-title { font-size:13px; font-weight:700; color:var(--text); }
.checkout-payment-option-desc { font-size:12px; color:var(--text-2); line-height:1.6; }
.checkout-summary-image { width:60px; height:75px; background:var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.checkout-summary-image img { width:100%; height:100%; object-fit:cover; display:block; }
.checkout-summary-image i { font-size:18px; color:var(--border-d); }
.settings-method-list { display:grid; gap:16px; }
.settings-method-card { border:1px solid var(--border); background:var(--white); padding:20px; }
.settings-method-card-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.settings-method-chip { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--border); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }

/* === RESPONSIVE === */
@media(max-width:1024px) {
    .hero { min-height:clamp(620px,calc(100svh - 110px),820px); }
    .hero-content { width:min(680px,85%); }
    .products-grid { grid-template-columns:repeat(3,1fr); }
    .cat-grid { grid-template-columns:repeat(2,1fr); }
    .editorial-inner { grid-template-columns:1fr; }
    .editorial-img { min-height:350px; }
    .footer-grid { grid-template-columns:repeat(2,1fr); gap:40px; }
    .trust-bar { grid-template-columns:repeat(2,1fr); }
    .pd-wrap { grid-template-columns:1fr; gap:32px; padding:32px 20px; }
    .checkout-wrap { grid-template-columns:1fr; gap:32px; padding:32px 20px; }
    .checkout-summary { position:static; }
    .admin-wrap { grid-template-columns:200px minmax(0,1fr); }
    .stat-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
    .nav { padding:0 20px; }
    .nav-links { display:none; }
    .nav-menu-btn { display:flex; }
    .nav-center { position:static; transform:none; }
    .section { padding:60px 20px; }
    .products-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
    .cat-grid { grid-template-columns:1fr 1fr; gap:8px; }
    .section-header { flex-direction:column; align-items:flex-start; gap:12px; }
    .section-header h2 { font-size:36px; }
    .editorial { padding:0 20px; }
    .editorial-content { padding:40px 28px; }
    .editorial-content h2 { font-size:38px; }
    .footer { padding:60px 20px 24px; }
    .footer-grid { grid-template-columns:1fr; gap:32px; }
    .footer-bottom { flex-direction:column; gap:16px; text-align:center; }
    .about-strip { padding:70px 20px; }
    .about-strip h2 { font-size:38px; }
    .hero { min-height:max(640px,calc(100svh - 110px)); }
    .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.5) 62%,rgba(0,0,0,.18) 100%); }
    .hero--content-off .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.5) 0%,transparent 42%); }
    .hero-inner { padding:76px 20px 132px; align-items:flex-end; }
    .hero-content { width:100%; }
    .hero-tag { margin-bottom:16px; font-size:10px; letter-spacing:3px; }
    .hero h1 { font-size:clamp(58px,18vw,92px); letter-spacing:2px; margin-bottom:20px; }
    .hero-desc { font-size:13px; line-height:1.7; margin-bottom:26px; max-width:460px; }
    .hero-actions { flex-direction:row; flex-wrap:wrap; }
    .hero .hero-actions .btn-dark,.hero .hero-actions .btn-ghost { width:auto; min-width:148px; padding:14px 22px; }
    .hero-controls { bottom:22px; width:calc(100% - 40px); }
    .hero-dot { width:30px; }
    .hero-dot.is-active { width:48px; }
    .hero-control-right { gap:12px; }
    .hero-counter { display:none; }
    .hero-arrows button { width:42px; height:42px; }
    /* ปุ่มหลักเต็มความกว้าง — ยกเว้นปุ่มเล็ก/ชิป/ปุ่มในแถวเครื่องมือ ที่ต้องเรียงแนวนอน */
    .btn-dark:not(.btn-sm), .btn-ghost:not(.btn-sm) { width:100%; justify-content:center; }
    .shop-chip-row .btn-dark, .shop-chip-row .btn-ghost,
    .shop-toolbar .btn-dark, .shop-toolbar .btn-ghost,
    .admin-header-actions .btn-dark, .admin-header-actions .btn-ghost,
    .au-actions .btn-dark, .au-actions .btn-ghost { width:auto; }
    .container { padding:0 20px; }
    .checkout-page-title { font-size:34px; }
    .checkout-section-title { font-size:18px; }
    .settings-method-card-head { align-items:flex-start; }
    .flash { margin:14px 20px 16px; }
}
@media(max-width:480px) {
    .hero-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
    .hero .hero-actions .btn-dark,.hero .hero-actions .btn-ghost { min-width:0; padding:14px 12px; }
    .hero-arrows { display:none; }
    .products-grid { gap:8px; }
    .p-name { font-size:12px; }
    .p-price { font-size:13px; }
    .p-sizes { display:none; }
    .trust-bar { grid-template-columns:1fr; }
}


/* === INSTALLER === */
.install-body { background:linear-gradient(180deg,#f7f7f7 0%,#efefef 100%); min-height:100vh; }
.install-shell { min-height:100vh; padding:32px; display:flex; align-items:center; justify-content:center; }
.install-card { width:min(1180px,100%); background:rgba(255,255,255,.96); border:1px solid var(--border); box-shadow:0 24px 80px rgba(0,0,0,.08); }
.install-card-sm { width:min(680px,100%); padding:48px; text-align:center; }
.install-grid { display:grid; grid-template-columns:460px 1fr; }
.install-panel { padding:42px; }
.install-panel-dark { background:var(--black); color:var(--white); display:flex; flex-direction:column; justify-content:space-between; }
.install-brand { font-family:var(--font-d); font-size:42px; letter-spacing:8px; margin-bottom:24px; }
.install-badge { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid rgba(0,0,0,.08); background:rgba(0,0,0,.03); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--text); margin-bottom:18px; }
.install-panel-dark .install-badge { color:var(--white); border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.06); }
.install-title { font-family:var(--font-d); font-size:52px; line-height:.95; letter-spacing:2px; margin-bottom:18px; color:inherit; }
.install-title-sm { font-size:38px; }
.install-subtitle { font-size:14px; line-height:1.9; color:var(--text-2); }
.install-panel-dark .install-subtitle { color:rgba(255,255,255,.72); }
.install-feature-list { display:grid; gap:12px; margin:32px 0; }
.install-feature { display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); font-size:14px; }
.install-feature i { font-size:20px; }
.install-note { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; background:var(--surface); border:1px solid var(--border); font-size:13px; color:var(--text-2); line-height:1.8; margin-top:24px; text-align:left; }
.install-panel-dark .install-note { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.1); color:rgba(255,255,255,.75); }
.install-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.install-form-header { margin-bottom:24px; }
.install-form { display:block; }
.install-section-title { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--black); margin:28px 0 14px; }
.install-section-title:first-of-type { margin-top:0; }
.install-success { min-height:100%; display:flex; flex-direction:column; justify-content:center; }
.install-success-icon { width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--black); color:var(--white); font-size:34px; margin-bottom:18px; }
@media (max-width: 980px) {
    .install-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
    .install-shell { padding:16px; }
    .install-panel, .install-card-sm { padding:24px; }
    .install-title { font-size:42px; }
    .install-title-sm { font-size:32px; }
}

/* === ADMIN SETTINGS MODULES === */
.admin-header-stack { align-items:flex-start; gap:20px; flex-wrap:wrap; }
.admin-subtitle { margin-top:8px; font-size:13px; color:var(--text-m); max-width:720px; }
.admin-header-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-user-chip { display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--border); background:var(--white); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.admin-user-chip i { font-size:16px; }

.settings-preview-box { border:1px solid var(--border); padding:18px; background:var(--bg); }
.settings-preview-head { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); margin-bottom:14px; }
.settings-brand-preview { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }

.settings-section { background: var(--white); border: 1px solid var(--border); padding: 28px; }
.settings-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
.settings-section-head h2 { display:flex; align-items:center; gap:10px; font-family:var(--font-d); font-size:34px; letter-spacing:1.5px; line-height:1; margin:0; }
.settings-help-text { font-size:13px; line-height:1.8; color:var(--text-2); }
.settings-summary-card { background:var(--bg); border:1px solid var(--border); padding:22px; min-height:100%; }
.settings-summary-card h3 { display:flex; align-items:center; gap:10px; font-family:var(--font-d); font-size:28px; letter-spacing:1.5px; line-height:1; margin:0 0 14px; }
.settings-inline-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.settings-inline-list li { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.75; color:var(--text); }
.settings-inline-list li i { font-size:18px; line-height:1.4; color:var(--black); flex:0 0 auto; margin-top:2px; }
.settings-code-block { background:#f7f7f7; border:1px solid var(--border); padding:16px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; line-height:1.8; color:var(--text); white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; }
.settings-badge-grid { display:flex; flex-wrap:wrap; gap:10px; }
.settings-badge { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--border); background:var(--white); font-size:12px; color:var(--text); }
.settings-badge.is-missing { border-color:#fecaca; background:#fff5f5; color:#991b1b; }
.settings-log-list { display:grid; gap:10px; margin-top:20px; }
.settings-log-item { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border:1px solid var(--border); background:#f7f7f7; font-size:13px; line-height:1.7; color:var(--text); }
.settings-log-item i { font-size:18px; margin-top:1px; }
.metric-card.is-pending strong { color:#991b1b; }
.metric-card.is-ready strong { color:#0f766e; }

.settings-brand-preview-item { border:1px solid var(--border); background:var(--white); padding:18px; min-height:120px; display:flex; flex-direction:column; justify-content:space-between; }
.settings-preview-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-m); }
.settings-preview-logo { width:auto; max-width:100%; max-height:42px; object-fit:contain; }
.settings-preview-logo.footer-size { max-height:34px; }
.settings-preview-logo-text { font-family:var(--font-d); font-size:36px; letter-spacing:4px; color:var(--black); line-height:1; }
.settings-preview-logo-text.footer-size { font-size:30px; }
.settings-social-preview { display:flex; flex-wrap:wrap; gap:10px; }
.settings-social-chip { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--border); background:var(--white); font-size:12px; color:var(--text-2); }
.settings-social-chip strong { font-size:11px; letter-spacing:.3px; color:var(--text-m); font-weight:600; }
.settings-social-chip.is-active { border-color:rgba(0,0,0,.18); color:var(--text); }
.settings-social-chip.is-active strong { color:var(--black); }
.settings-hub-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:24px; margin-bottom:24px; }
.settings-hub-sections { display:grid; gap:36px; margin-bottom:24px; }
.settings-hub-section { border:1px solid var(--border); background:var(--white); padding:24px; }
.settings-hub-section > .settings-hub-grid { margin-bottom:0; }
.settings-hub-section-head { display:flex; align-items:center; gap:14px; padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--border); }
.settings-hub-section-icon { width:40px; height:40px; flex:none; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:20px; background:var(--black); color:var(--white); }
.settings-hub-section-title { font-family:var(--font-d); font-size:26px; letter-spacing:2px; line-height:1; margin-bottom:6px; }
.settings-hub-section-sub { font-size:12px; color:var(--text-m); line-height:1.6; }
.settings-hub-section-count { margin-left:auto; flex:none; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-m); border:1px solid var(--border); padding:6px 12px; }
@media (max-width: 640px) {
    .settings-hub-section { padding:18px; }
    .settings-hub-section-count { display:none; }
}
.settings-hub-card { display:block; background:var(--white); border:1px solid var(--border); padding:28px; transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.settings-hub-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--black); }
.settings-hub-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.settings-hub-icon, .settings-hub-arrow { width:44px; height:44px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:20px; }
.settings-hub-kicker { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); margin-bottom:10px; }
.settings-hub-card h3 { font-family:var(--font-d); font-size:34px; letter-spacing:2px; line-height:1; margin-bottom:12px; }
.settings-hub-card p { color:var(--text-2); font-size:14px; line-height:1.8; margin-bottom:22px; }
.settings-hub-meta { display:grid; gap:10px; font-size:12px; color:var(--text-2); }
.settings-hub-meta span { display:flex; align-items:center; gap:8px; }
.settings-summary-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
.settings-summary-panel, .settings-panel { background:var(--white); border:1px solid var(--border); padding:24px; }
.settings-panel-head { margin-bottom:20px; }
.settings-panel-head-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.settings-panel-head h2 { display:flex; align-items:center; gap:12px; font-family:var(--font-d); font-size:26px; letter-spacing:2px; margin-bottom:6px; }
.settings-panel-head p { color:var(--text-m); font-size:13px; line-height:1.8; }
.settings-summary-list { display:grid; gap:14px; }
.settings-summary-list div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--border); }
.settings-summary-list div:first-child { border-top:none; padding-top:0; }
.settings-summary-list span { font-size:12px; color:var(--text-m); text-transform:uppercase; letter-spacing:1px; }
.settings-summary-list strong { font-size:13px; color:var(--text); text-align:right; }
.settings-form-stack { display:grid; gap:24px; }
.compact-form-stack { gap:18px; }
.settings-grid-2 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.settings-grid-3 { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.settings-grid-top-align { align-items:start; }
.settings-grid-bottom { margin-top:24px; }
.form-textarea-sm { min-height:120px; resize:vertical; }
.form-textarea-lg { min-height:140px; resize:vertical; }
.settings-code-area { min-height:220px; resize:vertical; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; line-height:1.7; }
.settings-table-wrap { overflow:auto; border:1px solid var(--border); }
.settings-table { width:100%; border-collapse:collapse; min-width:900px; }
.settings-table th, .settings-table td { padding:12px 12px; border-bottom:1px solid var(--border); font-size:13px; text-align:left; vertical-align:top; }
.settings-table th { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--text-m); background:var(--bg); }
.settings-table tbody tr:last-child td { border-bottom:none; }
.compact-table .table-input { min-width:120px; padding:10px 12px; font-size:12px; }
.table-check { display:inline-flex; align-items:center; justify-content:center; }
.table-check input { display:none; }
.table-check span { width:20px; height:20px; border:1px solid var(--border-d); display:inline-block; position:relative; background:var(--white); }
.table-check input:checked + span { background:var(--black); border-color:var(--black); }
.table-check input:checked + span::after { content:'✓'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--white); font-size:11px; font-weight:700; }
.toggle-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--border); font-size:13px; color:var(--text); }
.toggle-row:first-of-type { border-top:none; padding-top:0; }
.switch { position:relative; display:inline-block; width:46px; height:28px; }
.switch input { opacity:0; width:0; height:0; }
.slider { position:absolute; inset:0; border:1px solid var(--border-d); background:var(--surface); transition:.2s; }
.slider::before { content:''; position:absolute; width:20px; height:20px; left:4px; top:3px; background:var(--white); transition:.2s; box-shadow:var(--shadow-sm); }
.switch input:checked + .slider { background:var(--black); border-color:var(--black); }
.switch input:checked + .slider::before { transform:translateX(18px); }
.security-check-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.mini-toggle { display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--border); font-size:13px; color:var(--text-2); }
.mini-toggle input { width:16px; height:16px; accent-color:#111; }
.settings-actions-bar { display:flex; justify-content:flex-start; }

.settings-form-stack .form-label,
.rule-builder .form-label,
.compact-form-stack .form-label { display:flex; align-items:center; gap:4px; }
.settings-form-stack .form-label i,
.rule-builder .form-label i,
.compact-form-stack .form-label i { font-size:15px; color:var(--black); flex:0 0 auto; margin-right:0; }
.settings-form-stack .form-label span,
.rule-builder .form-label span,
.compact-form-stack .form-label span { display:inline-block; line-height:1.25; }
.settings-table th .th-label { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.settings-table th .th-label i { font-size:14px; color:var(--text); flex:0 0 auto; margin-right:0; }
.rule-builder h3 { display:flex; align-items:center; gap:12px; }
.settings-metrics-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; margin-bottom:24px; }
.metric-card { background:var(--white); border:1px solid var(--border); padding:20px; }
.metric-card span { display:block; font-size:11px; color:var(--text-m); letter-spacing:1px; text-transform:uppercase; margin-bottom:10px; }
.metric-card strong { display:block; font-family:var(--font-d); font-size:40px; letter-spacing:2px; line-height:1; margin-bottom:8px; }
.metric-card small { color:var(--text-2); font-size:12px; }
.rule-builder { border-top:1px solid var(--border); padding-top:20px; }
.rule-builder h3 { font-family:var(--font-d); font-size:24px; letter-spacing:2px; margin-bottom:14px; }
.rule-builder-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-bottom:16px; align-items:end; }
.empty-cell { text-align:center !important; color:var(--text-m); padding:24px !important; }
.table-icon-btn { width:36px; height:36px; border:1px solid var(--border); display:inline-flex; align-items:center; justify-content:center; color:var(--text); background:var(--white); }
.table-icon-btn:hover { border-color:var(--black); color:var(--black); }

@media (max-width: 1180px) {
    .settings-hub-grid,
    .settings-summary-grid,
    .settings-metrics-grid,
    .settings-grid-2,
    .settings-grid-3,
    .rule-builder-grid { grid-template-columns:1fr; }
}


/* === ADMIN PRODUCT BUILDER === */
.admin-product-form-shell { display:grid; gap:24px; }
.admin-product-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
.admin-product-panel { background:var(--white); border:1px solid var(--border); padding:28px; }
.admin-product-panel-wide { padding:28px; }
.admin-product-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.admin-product-panel-head.compact { margin-bottom:18px; }
.admin-product-panel-head p { margin-top:6px; font-size:13px; line-height:1.75; color:var(--text-m); max-width:780px; }
.btn-link-upload { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#4f46e5; cursor:pointer; }
.sr-only-file { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.admin-upload-dropzone { border:1.5px dashed var(--border-d); background:var(--bg); min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; padding:32px 20px; cursor:pointer; transition:border-color .2s, background .2s; }
.admin-upload-dropzone.is-dragover { border-color:var(--black); background:#f2f2f2; }
.admin-upload-dropzone-icon { width:72px; height:72px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:var(--white); border:1px solid var(--border); font-size:34px; color:var(--black); }
.admin-upload-dropzone strong { font-size:18px; color:var(--black); }
.admin-upload-dropzone p { max-width:520px; font-size:13px; line-height:1.75; color:var(--text-m); }
.admin-upload-dropzone .btn-dark { width:auto; }
.admin-current-images-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:16px; margin-top:18px; }
.admin-upload-preview-grid { display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; align-items:flex-start; min-height:0; }
.admin-image-card,
.admin-upload-preview-card { border:1px solid var(--border); background:var(--white); overflow:hidden; }
.admin-upload-preview-card { width:220px; max-width:100%; flex:0 0 220px; }
.admin-image-card.is-primary { border-color:rgba(5,95,70,.24); box-shadow:0 0 0 1px rgba(5,95,70,.08) inset; }
.admin-image-card-thumb { width:100%; aspect-ratio:3/4; background:var(--surface); display:block; object-fit:cover; }
.admin-upload-preview-card img { width:100%; height:220px; background:var(--surface); display:block; object-fit:contain; padding:10px; }
.admin-image-card-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.admin-image-card-meta,
.admin-upload-preview-meta { padding:12px; display:grid; gap:10px; }
.admin-image-card-actions { display:grid; gap:8px; }
.checkbox-inline { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--text); }
.checkbox-inline input { accent-color:var(--black); }
.checkbox-inline.danger { color:#dc2626; }
.admin-upload-preview-meta strong { display:block; font-size:12px; color:var(--text); word-break:break-word; }
.admin-upload-preview-meta span { font-size:11px; color:var(--text-m); }
.admin-upload-preview-card { position:relative; cursor:grab; }
.admin-upload-preview-card.is-dragging { opacity:.55; }
.admin-upload-preview-card.is-primary-card { border-color:rgba(5,95,70,.24); box-shadow:0 0 0 1px rgba(5,95,70,.08) inset; }
.admin-upload-card-tools { position:absolute; top:10px; right:10px; left:10px; display:flex; align-items:center; justify-content:space-between; pointer-events:none; }
.admin-image-sort-handle,
.admin-image-remove-btn { width:34px; height:34px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.96); display:inline-flex; align-items:center; justify-content:center; color:var(--black); pointer-events:auto; }
.admin-image-sort-handle { cursor:grab; }
.admin-image-remove-btn { cursor:pointer; }
.admin-image-remove-btn:hover { background:#fff5f5; color:#dc2626; border-color:#fecaca; }
.admin-upload-preview-grid:empty { display:none; }
.admin-checkbox-card { border:1px solid var(--border); background:var(--bg); padding:16px; display:flex; align-items:flex-start; gap:12px; cursor:pointer; }
.admin-checkbox-card input { margin-top:2px; accent-color:var(--black); }
.admin-checkbox-card span { display:grid; gap:4px; }
.admin-checkbox-card strong { font-size:14px; color:var(--black); }
.admin-checkbox-card small { font-size:12px; line-height:1.6; color:var(--text-m); }
.admin-checkbox-card i { font-size:16px; color:var(--black); margin-right:6px; }
.admin-product-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.admin-list-shell { display:grid; gap:24px; }
.admin-list-table { background:var(--white); border:1px solid var(--border); overflow:auto; }
.pd-thumb { display:flex; align-items:center; justify-content:center; border:none; padding:0; background:var(--surface); }
.pd-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width: 1180px) {
    .admin-product-grid { grid-template-columns:1fr; }
}


/* === THEMED CONFIRM MODAL === */
.dxmn-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 10, .58);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
    z-index: 5000;
}
.dxmn-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.dxmn-modal {
    width: min(520px, 100%);
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: 0 24px 90px rgba(0,0,0,.18);
    transform: translateY(10px) scale(.985);
    transition: transform .22s ease;
    overflow: hidden;
}
.dxmn-modal-overlay.is-open .dxmn-modal {
    transform: translateY(0) scale(1);
}
.dxmn-modal-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 24px 16px;
    border-bottom: 1px solid var(--border);
}
.dxmn-modal-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    color: var(--black);
    font-size: 20px;
    border: 1px solid var(--border);
}
.dxmn-modal-title-wrap strong {
    display: block;
    font-family: var(--font-d);
    letter-spacing: 1.5px;
    font-size: 24px;
    color: var(--black);
    line-height: 1;
}
.dxmn-modal-title-wrap span {
    display: block;
    margin-top: 6px;
    color: var(--text-m);
    font-size: 12px;
    line-height: 1.6;
}
.dxmn-modal-body {
    padding: 20px 24px 10px;
}
.dxmn-modal-body p {
    margin: 0;
    color: var(--text-2);
    font-size: 14px;
    line-height: 1.75;
}
.dxmn-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 18px 24px 24px;
}
.dxmn-modal-actions .btn-dark,
.dxmn-modal-actions .btn-ghost {
    min-width: 132px;
    justify-content: center;
}
.dxmn-modal-close {
    position: absolute;
    right: 18px;
    top: 18px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-m);
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    transition: all .2s ease;
}
.dxmn-modal-close:hover {
    color: var(--black);
    border-color: var(--border);
    background: var(--surface);
}
.dxmn-modal-shell {
    position: relative;
}
@media (max-width: 640px) {
    .dxmn-modal-overlay {
        padding: 16px;
    }
    .dxmn-modal-head,
    .dxmn-modal-body,
    .dxmn-modal-actions {
        padding-left: 18px;
        padding-right: 18px;
    }
    .dxmn-modal-actions {
        flex-direction: column-reverse;
    }
    .dxmn-modal-actions .btn-dark,
    .dxmn-modal-actions .btn-ghost {
        width: 100%;
    }
}

@media (max-width: 767px) {
  .admin-upload-preview-card { width:calc(50% - 8px); flex:0 0 calc(50% - 8px); }
  .admin-upload-preview-card img { height:180px; }
}
.variant-group-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin-bottom:18px; }
.variant-group-card { border:1px solid var(--border); background:var(--bg); padding:16px; }
.variant-group-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.variant-tag-editor { min-height:52px; border:1px solid var(--border); background:var(--white); display:flex; align-items:center; gap:8px; padding:8px 10px; flex-wrap:wrap; }
.variant-tag-list { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.variant-tag-chip { border:1px solid var(--border); background:var(--surface); color:var(--text); display:inline-flex; align-items:center; gap:6px; padding:6px 10px; font-size:12px; cursor:pointer; }
.variant-tag-chip i { font-size:14px; color:var(--text-m); }
.variant-tag-input { border:0; outline:0; background:transparent; flex:1 1 160px; min-width:120px; min-height:32px; font:inherit; color:var(--text); }
.variant-tag-input::placeholder { color:var(--text-l); }
.variant-tag-hint { margin-top:8px; font-size:11px; color:var(--text-m); line-height:1.6; }
.variant-builder-actions-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.variant-builder-note { font-size:12px; color:var(--text-m); }
.variant-bulk-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; background:var(--bg); border:1px solid var(--border); padding:18px; margin-bottom:16px; }
.variant-bulk-grid { display:grid; grid-template-columns:repeat(3, minmax(160px, 1fr)); gap:14px; flex:1 1 640px; }
.variant-bulk-field { margin-bottom:0; }
.variant-bulk-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.variant-table-wrap { border:1px solid var(--border); background:var(--white); overflow:auto; }
.variant-table { width:100%; min-width:1120px; }
.variant-table th, .variant-table td { vertical-align:middle; }
.variant-table tbody tr.is-selected { background:rgba(0,0,0,0.03); }
.variant-select-col { width:96px; white-space:nowrap; }
.form-input-sm { min-height:42px; padding:10px 12px; font-size:13px; }
.variant-empty-state { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; padding:30px 20px; color:var(--text-m); font-size:13px; }
.variant-empty-state i { font-size:28px; color:var(--border-d); }
.variant-inline-check { display:inline-flex; align-items:center; gap:8px; font-size:12px; }
.variant-inline-check input { accent-color:var(--black); }
.pricing-variant-sync-note { display:flex; align-items:flex-start; gap:10px; border:1px solid var(--border); background:var(--bg); color:var(--text-m); padding:12px 14px; margin-bottom:16px; font-size:12px; line-height:1.7; }
.pricing-variant-sync-note i { font-size:16px; color:var(--text); margin-top:1px; }
.js-variant-managed-input.is-locked { background:var(--surface); color:var(--text-m); cursor:not-allowed; }
@media (max-width: 1180px) {
  .variant-group-grid { grid-template-columns:1fr; }
  .variant-bulk-grid { grid-template-columns:1fr; width:100%; }
  .variant-bulk-actions { width:100%; }
}


/* === PRODUCT PAGE STABILIZED LAYOUT === */
.product-page-shell { display:block; width:100%; }
.product-detail-section { padding:56px 48px 72px; }
.product-detail-grid { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:minmax(0, 1.04fr) minmax(360px, .96fr); gap:72px; align-items:start; }
.product-gallery { min-width:0; }
.product-gallery-main { aspect-ratio:3 / 4; background:var(--surface); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.product-gallery-main img { width:100%; height:100%; object-fit:cover; display:block; }
.product-gallery-main i { font-size:84px; color:var(--border-d); }
.product-gallery-thumbs { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.product-gallery-thumb { width:84px; height:106px; padding:0; border:1px solid var(--border); background:var(--surface); overflow:hidden; transition:border-color .2s ease, transform .2s ease; }
.product-gallery-thumb:hover, .product-gallery-thumb.active { border-color:var(--black); transform:translateY(-1px); }
.product-gallery-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.product-summary { min-width:0; }
.product-summary-card { width:100%; max-width:560px; }
.product-breadcrumb { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--text-m); margin-bottom:22px; }
.product-breadcrumb a:hover { color:var(--black); }
.product-badge { position:static; display:inline-flex; align-items:center; padding:6px 12px; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:18px; }
.product-title { font-family:var(--font-d); font-size:clamp(42px, 4vw, 64px); letter-spacing:2px; line-height:.94; color:var(--black); margin:0 0 18px; word-break:break-word; }
.product-price-row { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.product-price-current { font-size:32px; font-weight:700; color:var(--black); line-height:1; }
.product-price-compare { font-size:16px; font-weight:500; color:var(--text-m); text-decoration:line-through; line-height:1.2; }
.product-description { font-size:14px; line-height:1.9; color:var(--text-2); margin-bottom:30px; }
.product-purchase-form { display:grid; gap:20px; }
.product-option-group { display:grid; gap:10px; }
.product-option-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-2); }
.product-option-select { min-height:54px; }
/* Size pills (drive hidden <select>) */
.dxmn-variant-select-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.product-size-pills { display:flex; flex-wrap:wrap; gap:8px; }
.product-size-pill { min-width:52px; padding:12px 16px; border:1px solid var(--border-d); background:var(--white); color:var(--black); font-size:13px; font-weight:600; letter-spacing:1px; cursor:pointer; transition:all .15s; text-transform:uppercase; }
.product-size-pill:hover:not(.is-disabled) { border-color:var(--black); }
.product-size-pill.is-active { background:var(--black); color:var(--white); border-color:var(--black); }
.product-size-pill.is-disabled { opacity:.4; cursor:not-allowed; text-decoration:line-through; }
/* Social proof line */
.product-social-proof { display:flex; align-items:center; gap:6px; margin:0 0 6px; font-size:12.5px; color:var(--text-m); }
.product-social-proof i { font-size:15px; }
.product-qty-row { display:flex; align-items:center; }
.product-qty-control { display:inline-flex; align-items:center; border:1px solid var(--border); background:var(--white); }
.product-qty-control button { width:46px; height:46px; border:none; background:transparent; color:var(--text); font-size:18px; }
.product-qty-control button:hover { background:var(--surface); }
.product-qty-control span { min-width:54px; height:46px; display:flex; align-items:center; justify-content:center; border-left:1px solid var(--border); border-right:1px solid var(--border); font-size:13px; font-weight:700; color:var(--black); }
.product-add-button { min-height:58px; }
.product-add-button.is-loading { opacity:.9; cursor:wait; }
.product-add-button.is-loading i { font-size:18px; }
.product-trust-list { display:grid; gap:12px; margin-top:30px; padding-top:26px; border-top:1px solid var(--border); }
.product-trust-item { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-2); }
.product-trust-item i { font-size:18px; color:var(--black); }
.product-related-section { border-top:1px solid var(--border); }
.footer { clear:both; display:block; width:100%; }

/* === STOREFRONT NOTICE POPUP / TOAST === */
.dxmn-notice-actions { justify-content:flex-end; }
.dxmn-notice-icon.is-info { background:var(--surface); color:var(--black); border-color:var(--border); }
.dxmn-notice-icon.is-success { background:var(--black); color:var(--white); border-color:var(--black); }
.dxmn-notice-icon.is-error { background:#fff1f2; color:#be123c; border-color:#fecdd3; }
.dxmn-notice-icon.is-warning { background:#fff7ed; color:#c2410c; border-color:#fed7aa; }
.dxmn-toast-stack { position:fixed; top:108px; right:24px; z-index:5200; display:flex; flex-direction:column; gap:12px; width:min(360px, calc(100vw - 32px)); }
.dxmn-toast { display:flex; align-items:flex-start; gap:12px; background:var(--white); border:1px solid var(--border); box-shadow:0 18px 48px rgba(0,0,0,.12); padding:16px 18px; transform:translateY(-8px); opacity:0; transition:opacity .2s ease, transform .2s ease; }
.dxmn-toast.is-visible { opacity:1; transform:translateY(0); }
.dxmn-toast.is-success { border-color:#d4d4d8; }
.dxmn-toast.is-error { border-color:#fecdd3; }
.dxmn-toast-icon { width:28px; min-width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; background:var(--black); color:var(--white); }
.dxmn-toast.is-error .dxmn-toast-icon { background:#be123c; }
.dxmn-toast-text { font-size:13px; line-height:1.6; color:var(--text); }

@media (max-width: 1180px) {
    .product-detail-grid { grid-template-columns:1fr; gap:34px; }
    .product-summary-card { max-width:none; }
}

@media (max-width: 767px) {
    .product-detail-section { padding:28px 20px 42px; }
    .product-gallery-thumb { width:72px; height:92px; }
    .product-title { font-size:38px; }
    .product-price-current { font-size:26px; }
    .product-trust-list { gap:10px; }
    .dxmn-toast-stack { top:92px; right:16px; width:min(360px, calc(100vw - 24px)); }
}


/* === ABOUT SETTINGS EDITOR === */
.dxmn-about-editor-grid { align-items:start; }
.dxmn-about-editor-column,
.dxmn-about-preview-column { display:grid; gap:24px; }
.dxmn-about-preview-panel { position:sticky; top:24px; }
.dxmn-about-preview-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.dxmn-about-preview-shell { border:1px solid var(--border); background:#f3f3f3; padding:14px; }
#about-preview-frame { width:100%; min-height:900px; border:0; background:#fff; display:block; }

@media (max-width: 1180px) {
    .dxmn-about-preview-panel { position:static; }
    #about-preview-frame { min-height:680px; }
}

.dxmn-about-builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.dxmn-about-sections-builder{display:grid;gap:18px}
.dxmn-about-section-card{border:1px solid var(--border);background:#fff}
.dxmn-about-section-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--border);background:#fafafa}
.dxmn-about-section-card-head strong{display:flex;align-items:center;gap:8px;font-size:16px}
.dxmn-about-section-card-head p{margin:6px 0 0;color:var(--text-2);font-size:13px}
.dxmn-about-section-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.dxmn-about-section-card-body{padding:18px}
.settings-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.settings-help{margin:8px 0 0;color:var(--text-2);font-size:12px;line-height:1.7}
.dxmn-about-section{position:relative;overflow:hidden}
.dxmn-about-section.is-dark{background:#0d0d0d;color:#fff}
.dxmn-about-section.is-dark .overline,.dxmn-about-section.is-dark .dxmn-about-subtitle,.dxmn-about-section.is-dark p,.dxmn-about-section.is-dark span,.dxmn-about-section.is-dark figcaption{color:rgba(255,255,255,.74)}
.dxmn-about-block-head{max-width:820px;margin:0 auto 20px}
.dxmn-about-block-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,5vw,78px);line-height:.95;letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px}
.dxmn-about-subtitle{font-size:15px;line-height:1.9;margin:0}
.dxmn-about-split-grid,.dxmn-about-image-text-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.dxmn-about-copy{display:grid;gap:16px}
.dxmn-about-copy p,.dxmn-about-prose p,.dxmn-about-quote-body p{font-size:15px;line-height:1.95;color:var(--text-2)}
.dxmn-about-media{min-height:360px;border:1px solid var(--border);background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dxmn-about-media img,.dxmn-about-gallery-card img{width:100%;height:100%;object-fit:cover;display:block}
.dxmn-about-media-placeholder{display:grid;gap:10px;place-items:center;color:#999;font-size:14px}
.dxmn-about-media-placeholder i{font-size:34px}
.dxmn-about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.dxmn-about-two-columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.dxmn-about-prose{padding:22px;border:1px solid var(--border);background:#fff}
.dxmn-about-section.is-dark .dxmn-about-prose,.dxmn-about-section.is-dark .dxmn-about-card,.dxmn-about-section.is-dark .dxmn-about-stat-card,.dxmn-about-section.is-dark .dxmn-about-gallery-card, .dxmn-about-section.is-dark .dxmn-about-cta{background:#151515;border-color:#2a2a2a}
.dxmn-about-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dxmn-about-stat-card{padding:22px;border:1px solid var(--border);background:#fff;text-align:center}
.dxmn-about-stat-card strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:52px;line-height:.9;letter-spacing:.04em}
.dxmn-about-stat-card span{display:block;margin-top:8px;color:var(--text-2);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.dxmn-about-cards-grid,.dxmn-about-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dxmn-about-card{padding:22px;border:1px solid var(--border);background:#fff;display:grid;gap:12px}
.dxmn-about-card h3{font-size:18px;margin:0}.dxmn-about-card p{margin:0;color:var(--text-2);line-height:1.8}
.dxmn-about-card a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:inherit}
.dxmn-about-card-icon{width:46px;height:46px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px}
.dxmn-about-gallery-card{border:1px solid var(--border);background:#fff;overflow:hidden}
.dxmn-about-gallery-card img{aspect-ratio:1/1}
.dxmn-about-gallery-card figcaption{padding:12px 14px;font-size:13px;color:var(--text-2)}
.dxmn-about-quote blockquote{max-width:900px;margin:0 auto;padding:34px;border:1px solid var(--border);background:#fff}
.dxmn-about-quote .dxmn-about-block-head{margin-bottom:12px}
.dxmn-about-cta{text-align:center;padding:48px 28px;border:1px solid var(--border);background:#111;color:#fff}
.dxmn-about-cta .overline,.dxmn-about-cta p,.dxmn-about-cta .dxmn-about-subtitle{color:rgba(255,255,255,.74)}
@media (max-width: 1100px){.settings-grid-3,.dxmn-about-stats-grid,.dxmn-about-cards-grid,.dxmn-about-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 860px){.settings-grid-3,.dxmn-about-split-grid,.dxmn-about-image-text-grid,.dxmn-about-two-columns-grid,.dxmn-about-stats-grid,.dxmn-about-cards-grid,.dxmn-about-gallery-grid{grid-template-columns:1fr}.dxmn-about-media{min-height:260px}}

/* === PAYMENT EASYSLIP SETTINGS === */
.payment-easyslip-top-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-bottom:24px; }
.payment-easyslip-hero-card { background:linear-gradient(180deg,#fbfbfb 0%, #fff 100%); border:1px solid var(--border); padding:22px 24px; min-height:150px; display:flex; flex-direction:column; justify-content:space-between; }
.payment-easyslip-card-label { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-m); font-weight:600; }
.payment-easyslip-card-value { font-family:var(--font-d); font-size:38px; line-height:1; letter-spacing:1.5px; color:var(--black); }
.payment-easyslip-card-sub { font-size:13px; line-height:1.8; color:var(--text-2); }
.payment-easyslip-shell { display:grid; grid-template-columns:minmax(0, 1.4fr) 420px; gap:24px; align-items:start; }
.payment-easyslip-form, .payment-easyslip-sidebar { min-width:0; }
.payment-easyslip-panel { padding:28px; }
.payment-easyslip-panel-head { margin-bottom:18px; }
.payment-status-pill { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--border); background:var(--white); font-size:12px; font-weight:600; color:var(--text); white-space:nowrap; }
.payment-status-pill.is-ok { border-color:rgba(5,95,70,.24); background:#eefbf5; color:#0f766e; }
.payment-easyslip-side-card { padding:22px; }
.payment-side-list { display:grid; gap:10px; }
.payment-side-list > div { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid var(--border); }
.payment-side-list > div:last-child { border-bottom:none; padding-bottom:0; }
.payment-side-list span { font-size:12px; color:var(--text-m); }
.payment-side-list strong { font-size:13px; color:var(--black); text-align:right; line-height:1.7; }
.payment-status-tags { display:flex; flex-wrap:wrap; gap:8px; }

@media (max-width: 1320px) {
    .payment-easyslip-shell { grid-template-columns:1fr; }
}
@media (max-width: 980px) {
    .payment-easyslip-top-grid { grid-template-columns:1fr; }
}


.checkout-bank-transfer-box{margin:18px 0 20px;padding:18px;border:1px solid var(--border);background:var(--surface)}
.checkout-bank-transfer-head{display:flex;align-items:center;gap:10px;font-family:var(--font-d);font-size:24px;letter-spacing:1px;color:var(--black);margin-bottom:14px}
.checkout-bank-transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.checkout-bank-transfer-grid>div{border:1px solid var(--border);background:var(--white);padding:14px}
.checkout-bank-transfer-grid span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-m);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.checkout-bank-transfer-grid span i.info-label-icon{font-size:14px;color:var(--black);flex:0 0 auto}
.checkout-bank-transfer-grid strong{font-size:14px;color:var(--text)}
.checkout-bank-transfer-note,.checkout-inline-help{font-size:12px;color:var(--text-2);line-height:1.8;margin-top:10px}
@media (max-width: 768px){.checkout-bank-transfer-grid{grid-template-columns:1fr}}


.account-orders-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.account-order-card { border:1px solid var(--border); background:#fff; padding:22px; display:flex; flex-direction:column; gap:16px; }
.account-order-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.account-order-card__number { display:flex; align-items:center; gap:10px; font-family:var(--font-d); font-size:24px; letter-spacing:1px; color:var(--black); }
.account-order-card__number i { font-size:24px; }
.account-order-card__meta { margin-top:6px; font-size:13px; color:var(--text-m); }
.account-order-items { display:flex; flex-direction:column; gap:10px; }
.account-order-item { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid var(--border); background:var(--surface); }
.account-order-item--more { justify-content:center; color:var(--text-m); font-size:13px; }
.account-order-item__name { font-weight:700; color:var(--black); margin-bottom:4px; }
.account-order-item__meta { font-size:13px; color:var(--text-m); }
.account-order-item__price { font-weight:700; color:var(--black); white-space:nowrap; }
.account-order-card__summary { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.account-order-card__summary > div { border:1px solid var(--border); padding:14px; background:#fff; }
.account-order-card__summary span { display:block; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-m); margin-bottom:6px; }
.account-order-card__summary strong { font-size:14px; color:var(--black); }
.account-payment-state { border:1px solid var(--border); padding:16px; background:var(--surface); }
.account-payment-state__head { display:flex; align-items:flex-start; gap:14px; }
.account-payment-state__head > div:last-child { flex:1 1 auto; min-width:0; }
.account-payment-state__icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:var(--black); color:#fff; flex:0 0 44px; aspect-ratio:1 / 1; }
.account-payment-state__icon i { font-size:20px; }
.account-payment-state__label { font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--black); margin-bottom:6px; }
.account-payment-state__message { font-size:14px; color:var(--text-2); line-height:1.7; word-break:break-word; overflow-wrap:anywhere; }
.account-payment-state__note { margin-top:12px; padding-top:12px; border-top:1px solid var(--border); font-size:13px; color:var(--text-m); }
.account-payment-state--approved, .account-payment-state--verified { border-color:rgba(22,163,74,.2); background:rgba(22,163,74,.06); }
.account-payment-state--rejected { border-color:rgba(220,38,38,.18); background:rgba(220,38,38,.05); }
.account-payment-state--pending_review, .account-payment-state--pending { border-color:rgba(234,179,8,.22); background:rgba(234,179,8,.06); }
.account-slip-box { border:1px solid var(--border); background:#fff; }
.account-slip-box__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); font-size:13px; font-weight:700; color:var(--black); }
.account-slip-box__head span:first-child { display:flex; align-items:center; gap:8px; }
.account-slip-box__body { display:grid; grid-template-columns:110px 1fr; gap:14px; padding:16px; }
.account-slip-thumb { display:block; border:1px solid var(--border); background:var(--surface); }
.account-slip-thumb img { display:block; width:100%; height:110px; object-fit:cover; }
.account-slip-box__meta { display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--text-2); }
.account-slip-form { border:1px dashed var(--border-d); padding:16px; background:var(--surface); }
.account-slip-form__row { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; }
.account-slip-form__hint { margin-top:8px; font-size:12px; color:var(--text-m); }
@media (max-width: 860px) {
  .account-order-card__summary { grid-template-columns:1fr; }
  .account-slip-box__body { grid-template-columns:1fr; }
  .account-slip-thumb img { height:auto; max-height:240px; object-fit:contain; }
  .account-slip-form__row { grid-template-columns:1fr; }
}

.checkout-payment-option--locked {
  border-style: solid;
  background: var(--surface);
}
.checkout-payment-option--locked input[disabled] {
  opacity: 1;
}
.payment-page-wrap .checkout-bank-transfer-box {
  border: 1px solid var(--border);
  background: #fff;
}


.payment-page-wrap {
  align-items: start;
}
.payment-page-wrap > div {
  min-width: 0;
}
.payment-page-wrap .checkout-page-head {
  position: relative;
  z-index: 1;
  background: transparent;
}
.payment-page-wrap .checkout-page-title {
  margin: 0 0 4px;
}
.payment-page-wrap .checkout-summary {
  top: 110px;
}
.payment-page-wrap .checkout-bank-transfer-box {
  margin-top: 24px;
}
.payment-page-wrap .checkout-bank-transfer-head {
  margin-bottom: 18px;
}

.payment-page-wrap .payment-info-card {
  position: static;
  top: auto;
  z-index: auto;
}


.payment-deadline-alert {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(185,28,28,.18);
  background:#fff1f2;
}
.payment-deadline-alert__head {
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.payment-deadline-alert__icon {
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-size:20px;
  flex:0 0 44px;
}
.payment-deadline-alert__label {
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:700;
  color:var(--black);
  line-height:1.2;
  margin-bottom:6px;
}

.payment-deadline-alert__message {
  font-size:15px;
  color:#7f1d1d;
  line-height:1.6;
}
.payment-deadline-alert__timer {
  font-family:var(--font-d);
  font-size:40px;
  line-height:1;
  color:#b91c1c;
  white-space:nowrap;
}
.payment-deadline-alert__expired { display:inline-block; font-size:40px; color:#991b1b; }
@media (max-width: 900px) {
  .payment-deadline-alert { flex-direction:column; align-items:flex-start; }
  .payment-deadline-alert__label { font-size:12px; }
  .payment-deadline-alert__timer { font-size:34px; }
}

.payment-upload-disabled {
  padding: 14px;
  border: 1px solid rgba(185, 28, 28, 0.18);
  background: rgba(185, 28, 28, 0.03);
}
.payment-upload-disabled .form-input[type="file"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  background: #f5f5f5;
  border-color: #e5b9b9;
}
.payment-upload-disabled-banner,
.payment-upload-disabled-note {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 600;
}
.payment-upload-disabled-banner {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px dashed #e3a2a2;
  background: #fff4f4;
}
.payment-upload-disabled-note {
  padding: 12px 14px;
  border: 1px solid #efc0c0;
  background: #fff8f8;
}
.payment-upload-disabled-banner i,
.payment-upload-disabled-note i {
  font-size: 18px;
  line-height: 1;
}

.account-order-card__actions{margin-top:16px;display:flex;justify-content:flex-end;}
.payment-upload-disabled input[type="file"]{opacity:.65;pointer-events:none;}


.thp-tracking-vertical{display:grid;gap:0;border-top:1px solid var(--border);padding-top:18px;margin-top:4px}
.thp-tracking-vertical__item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:flex-start;padding:0 0 16px}
.thp-tracking-vertical__rail{display:flex;flex-direction:column;align-items:center;height:100%}
.thp-tracking-vertical__icon{width:40px;height:40px;border-radius:999px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 8px 20px rgba(17,17,17,.08)}
.thp-tracking-vertical__line{width:2px;flex:1;background:linear-gradient(180deg,#111 0%,rgba(17,17,17,.12) 100%);margin-top:8px;border-radius:999px;min-height:34px}
.thp-tracking-vertical__eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-m);margin-bottom:6px}
.thp-tracking-vertical__status{font-size:15px;font-weight:700;color:var(--black);line-height:1.4}
.thp-tracking-vertical__meta{font-size:12px;color:var(--text-m);margin-top:4px}
.thp-tracking-vertical__desc{font-size:13px;color:var(--text);margin-top:6px;line-height:1.75}
.thp-tracking-vertical__item--success .thp-tracking-vertical__icon{background:#18a957}
.thp-tracking-vertical__item--success .thp-tracking-vertical__line{background:linear-gradient(180deg,#18a957 0%,rgba(24,169,87,.14) 100%)}
.thp-tracking-vertical__item--active .thp-tracking-vertical__icon{background:#e53935}
.thp-tracking-vertical__item--active .thp-tracking-vertical__line{background:linear-gradient(180deg,#e53935 0%,rgba(229,57,53,.14) 100%)}
.thp-tracking-vertical__item--info .thp-tracking-vertical__icon{background:#111}
.thp-tracking-vertical__item--muted .thp-tracking-vertical__icon{background:#6b7280}
.thp-tracking-vertical__item--muted .thp-tracking-vertical__line{background:linear-gradient(180deg,#9ca3af 0%,rgba(156,163,175,.16) 100%)}
@media (max-width: 640px){.thp-tracking-vertical__item{grid-template-columns:48px 1fr;gap:12px}.thp-tracking-vertical__icon{width:34px;height:34px;font-size:18px}}
.settings-toggle-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);padding:14px 16px;background:#fff}.settings-toggle-card input{margin-top:4px}.settings-toggle-card span{display:grid;gap:4px}.settings-toggle-card small{color:var(--text-m);font-size:12px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-panel--side .admin-note--success{border:1px solid rgba(22,163,74,.24);background:rgba(22,163,74,.08);color:#166534;padding:14px 16px}.admin-note--danger{border:1px solid rgba(220,38,38,.2);background:rgba(220,38,38,.06);color:#991b1b;padding:14px 16px}


.account-order-page .payment-info-card {
  position: static;
  top: auto;
  z-index: auto;
}
.account-order-page .order-summary-sticky {
  position: sticky;
  top: 110px;
}
@media (max-width: 1024px) {
  .account-order-page .order-summary-sticky {
    position: static;
    top: auto;
  }
}


.admin-note{padding:14px 16px;border:1px solid var(--border);background:#f7f7f7;color:var(--text);font-size:13px;line-height:1.7}
.thp-settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:24px;align-items:start}
.thp-settings-side{display:grid;gap:18px}
.thp-option-stack{display:grid;gap:14px}
.thp-field-help{display:block;margin-top:8px;font-size:12px;color:var(--text-m);line-height:1.7}
.thp-side-block{border-top:1px solid var(--border);padding-top:18px}
.thp-side-block h3{display:flex;align-items:center;gap:10px;font-family:var(--font-d);font-size:24px;letter-spacing:1.5px;line-height:1;margin:0 0 14px}
@media (max-width: 1180px){.thp-settings-layout{grid-template-columns:1fr}}


/* ===== PHASE 5 UX & Frontend Polish ===== */
.breadcrumb-wrap { padding:18px 24px 0; }
.breadcrumb-nav { max-width:1320px; margin:0 auto; overflow:auto; }
.breadcrumb-list { display:flex; align-items:center; gap:10px; min-width:max-content; color:var(--text-m); font-size:12px; }
.breadcrumb-item { display:inline-flex; align-items:center; gap:10px; }
.breadcrumb-item::after { content:'/'; color:var(--border-d); }
.breadcrumb-item:last-child::after { display:none; }
.breadcrumb-item.is-current span { color:var(--text); }
.breadcrumb-item a:hover { color:var(--black); }
.shop-page-shell { padding-bottom:64px; }
.shop-header-compact { margin-bottom:28px; }
.shop-search-summary { margin-top:10px; color:var(--text-m); font-size:14px; }
.shop-toolbar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.shop-count { font-size:12px; color:var(--text-m); }
.shop-sort-select { min-height:44px; padding:0 12px; border:1px solid var(--border); background:var(--white); color:var(--text); font-size:12px; }
.shop-chip-row { display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }

/* === SHOP FILTERS === */
.shop-filters { border:1px solid var(--border); margin-bottom:28px; background:var(--white); }
.shop-filters__toggle { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; cursor:pointer; font-size:13px; font-weight:600; letter-spacing:.5px; list-style:none; user-select:none; }
.shop-filters__toggle::-webkit-details-marker { display:none; }
.shop-filters__toggle span { display:inline-flex; align-items:center; gap:8px; }
.shop-filters__count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; background:var(--black); color:var(--white); font-size:11px; border-radius:10px; }
.shop-filters__chevron { transition:transform .25s var(--ease); font-size:20px; }
.shop-filters[open] .shop-filters__chevron { transform:rotate(180deg); }
.shop-filters__form { padding:4px 18px 20px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:20px; }
.shop-filters__group { display:flex; flex-direction:column; gap:10px; }
.shop-filters__label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-2); }
.shop-filters__price { display:flex; align-items:center; gap:10px; max-width:320px; }
.shop-filters__price input { flex:1; min-width:0; height:42px; padding:0 12px; border:1px solid var(--border); background:var(--white); color:var(--text); font-size:13px; }
.shop-filters__price span { color:var(--text-m); }
.shop-filters__chips { display:flex; flex-wrap:wrap; gap:8px; }
.shop-filter-chip { position:relative; cursor:pointer; }
.shop-filter-chip input { position:absolute; opacity:0; width:0; height:0; }
.shop-filter-chip span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:38px; padding:0 14px; border:1px solid var(--border-d); font-size:12px; font-weight:500; letter-spacing:.5px; transition:all .2s var(--ease); }
.shop-filter-chip input:checked + span { background:var(--black); color:var(--white); border-color:var(--black); }
.shop-filter-chip input:focus-visible + span { outline:2px solid var(--black); outline-offset:2px; }
.shop-filter-switch { display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-size:13px; color:var(--text); }
.shop-filter-switch input { width:18px; height:18px; accent-color:var(--black); }
.shop-filters__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* === BACK-IN-STOCK NOTIFY === */
.pd-notify { margin-top:16px; padding:16px; border:1px solid var(--border); background:var(--surface); }
.pd-notify__lead { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--text); margin-bottom:12px; }
.pd-notify__form { display:flex; gap:8px; flex-wrap:wrap; }
.pd-notify__form input[type="email"] { flex:1; min-width:180px; height:44px; padding:0 14px; border:1px solid var(--border-d); background:var(--white); font-size:14px; }
.pd-notify__form button { white-space:nowrap; }
.pd-notify__done { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#1a7f37; }
.shop-empty-state { text-align:center; padding:80px 20px; }
.shop-empty-state i { font-size:48px; color:var(--border-d); margin-bottom:16px; display:block; }
.shop-empty-state p { font-size:15px; color:var(--text-m); margin-bottom:18px; }
.js-media-shell { position:relative; background:linear-gradient(110deg, var(--surface) 8%, #efefef 18%, var(--surface) 33%); background-size:200% 100%; animation:dxmnShimmer 1.2s linear infinite; }
.js-media-shell.is-loaded { animation:none; background:transparent; }
.js-media { opacity:0; transition:opacity .28s ease, transform .28s ease; }
.js-media.is-loaded, .js-media.is-eager { opacity:1; }
.js-media-fallback { font-size:44px; color:var(--border-d); }
@keyframes dxmnShimmer { to { background-position-x:-200%; } }
.product-gallery-main { position:relative; border:1px solid var(--border); --zoom-x:50%; --zoom-y:50%; }
.product-gallery-main img { transition:transform .3s ease, opacity .18s ease; transform-origin:var(--zoom-x) var(--zoom-y); }
.product-gallery-main.is-zoom-ready img { transform:scale(1.9); cursor:zoom-in; }
.product-gallery-main img.is-switching { opacity:.72; }
.product-gallery-expand { position:absolute; right:16px; bottom:16px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.45); background:rgba(0,0,0,.68); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; z-index:2; }
.product-gallery-thumbs { overflow:auto; scrollbar-width:none; }
.product-gallery-thumbs::-webkit-scrollbar { display:none; }
.product-option-head { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.product-size-guide-trigger { border:none; background:none; color:var(--text-2); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; display:inline-flex; align-items:center; gap:6px; }
.product-size-guide-trigger:hover { color:var(--black); }
.dxmn-lightbox { position:fixed; inset:0; z-index:4200; opacity:0; pointer-events:none; transition:opacity .22s ease; }
.dxmn-lightbox.is-open { opacity:1; pointer-events:auto; }
.dxmn-lightbox-backdrop { position:absolute; inset:0; background:rgba(8,8,8,.92); }
.dxmn-lightbox-shell { position:relative; width:min(100%, 1280px); margin:0 auto; height:100%; display:grid; grid-template-columns:84px minmax(0, 1fr) 84px; align-items:center; padding:40px 20px; }
.dxmn-lightbox-stage { display:flex; align-items:center; justify-content:center; background:transparent; animation:none; max-height:calc(100vh - 80px); }
.dxmn-lightbox-stage img { max-width:100%; max-height:calc(100vh - 80px); object-fit:contain; opacity:1; }
.dxmn-lightbox-close, .dxmn-lightbox-nav { border:none; background:rgba(255,255,255,.08); color:#fff; width:54px; height:54px; display:flex; align-items:center; justify-content:center; font-size:30px; backdrop-filter:blur(6px); }
.dxmn-lightbox-close { position:absolute; right:20px; top:20px; z-index:2; }
.dxmn-modal-overlay#dxmn-size-guide { opacity:0; pointer-events:none; transition:opacity .2s ease; }
.dxmn-modal-overlay#dxmn-size-guide.is-open { opacity:1; pointer-events:auto; }
.dxmn-size-guide-modal { width:min(960px, calc(100vw - 32px)); max-height:min(86vh, 820px); overflow:auto; padding:28px; background:var(--white); }
.dxmn-size-guide-head { display:grid; grid-template-columns:minmax(0, 1fr) 240px; gap:24px; margin-bottom:20px; }
.dxmn-size-guide-kicker { display:block; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); margin-bottom:8px; }
.dxmn-size-guide-head strong { display:block; font-family:var(--font-d); font-size:42px; line-height:1; letter-spacing:2px; margin-bottom:10px; }
.dxmn-size-guide-head p { color:var(--text-m); font-size:13px; line-height:1.8; }
.dxmn-size-guide-figure { min-height:180px; border:1px solid var(--border); }
.dxmn-size-guide-figure img { width:100%; height:100%; object-fit:cover; }
.dxmn-size-guide-table-wrap { overflow:auto; border:1px solid var(--border); }
.dxmn-size-guide-table { width:100%; min-width:640px; border-collapse:collapse; }
.dxmn-size-guide-table th, .dxmn-size-guide-table td { padding:14px 16px; border-bottom:1px solid var(--border); text-align:left; font-size:13px; }
.dxmn-size-guide-table th { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--text-m); background:var(--bg); }
.dxmn-size-guide-table tbody tr.is-active { background:rgba(0,0,0,.04); }
.recently-viewed-section { padding-top:0; }
.recently-viewed-head { margin-bottom:20px; align-items:flex-end; }
.recently-viewed-clear { border:none; background:none; color:var(--text-m); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.recently-viewed-clear:hover { color:var(--black); }
.recently-viewed-track { display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; padding:0 2px 8px; align-items:stretch; scroll-snap-type:x proximity; }
.recently-viewed-track > * { flex:0 0 220px; min-width:220px; scroll-snap-align:start; }
.recent-card { display:flex; flex-direction:column; width:220px; min-width:220px; max-width:220px; border:1px solid var(--border); background:var(--white); color:inherit; text-decoration:none; overflow:hidden; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.recent-card:hover { transform:translateY(-4px); border-color:var(--black); box-shadow:0 14px 28px rgba(17,17,17,.08); }
.recent-card-media { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; background:var(--surface); overflow:hidden; }
.recent-card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.recent-card-media i { font-size:36px; color:var(--border-d); }
.recent-card-copy { display:grid; gap:4px; padding:14px; min-height:92px; align-content:start; }
.recent-card-copy strong { font-size:13px; color:var(--black); line-height:1.45; word-break:break-word; }
.recent-card-copy small { font-size:12px; color:var(--text-m); }
.recent-card-category { text-transform:uppercase; letter-spacing:1px; font-size:10px !important; color:var(--text-d) !important; }
.search-overlay { position:fixed; inset:0; z-index:4100; opacity:0; pointer-events:none; transition:opacity .22s ease; }
.search-overlay.is-open { opacity:1; pointer-events:auto; }
.search-overlay-backdrop { position:absolute; inset:0; background:rgba(8,8,8,.5); backdrop-filter:blur(6px); }
.search-panel { position:relative; width:min(900px, calc(100vw - 32px)); max-height:min(88vh, 900px); margin:40px auto; background:var(--white); border:1px solid var(--border); padding:24px; overflow:auto; }
.search-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; }
.search-panel-kicker { display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); margin-bottom:8px; }
.search-panel-head strong { display:block; font-family:var(--font-d); font-size:46px; letter-spacing:2px; line-height:1; }
.search-panel-close { border:none; background:none; font-size:28px; color:var(--text); }
.search-form { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:64px; border:1px solid var(--border); padding:0 18px; margin-bottom:18px; }
.search-form i { font-size:22px; color:var(--text-m); }
.search-form input { border:none; outline:none; font-size:18px; color:var(--text); background:transparent; }
.search-form button { border:none; background:var(--black); color:var(--white); height:42px; padding:0 18px; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }
.search-panel-body { display:grid; gap:16px; }
.search-hint-row { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--text-m); font-size:12px; }
.search-clear-btn { border:none; background:none; color:var(--text); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.search-chip-list { display:flex; gap:8px; flex-wrap:wrap; }
.search-chip { border:1px solid var(--border); background:var(--bg); color:var(--text); padding:8px 12px; font-size:12px; }
.search-results { display:grid; gap:10px; }
.search-result-item { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid var(--border); padding:10px; transition:border-color .2s ease, transform .2s ease; }
.search-result-item:hover, .search-result-item.is-active { border-color:var(--black); transform:translateY(-1px); }
.search-result-media { width:72px; height:72px; background:var(--surface); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.search-result-media img { width:100%; height:100%; object-fit:cover; }
.search-result-media i { font-size:30px; color:var(--border-d); }
.search-result-copy { min-width:0; display:grid; gap:4px; }
.search-result-copy strong { font-size:14px; color:var(--black); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-result-copy small { font-size:12px; color:var(--text-m); }
.search-result-price { font-size:13px; color:var(--black); font-weight:700; }
.search-view-all { display:flex; justify-content:center; align-items:center; min-height:52px; border:1px dashed var(--border-d); color:var(--text); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.search-empty { text-align:center; padding:44px 20px; border:1px dashed var(--border); color:var(--text-m); }
.search-empty i { font-size:36px; display:block; margin-bottom:12px; }
.lookbook-shell { padding-bottom:64px; }
.lookbook-intro { margin-top:12px; max-width:620px; color:var(--text-m); font-size:15px; line-height:1.8; }
.lookbook-grid { display:grid; grid-template-columns:repeat(12, 1fr); gap:10px; }
.lookbook-card { grid-column:span 4; }
.lookbook-card.is-large { grid-column:span 8; grid-row:span 2; }
.lookbook-card.is-wide { grid-column:span 8; }
.lookbook-card.is-tall { grid-column:span 4; grid-row:span 2; }
.lookbook-media { position:relative; min-height:320px; overflow:hidden; }
.lookbook-card.is-large .lookbook-media { min-height:650px; }
.lookbook-card.is-tall .lookbook-media { min-height:650px; }
.lookbook-card.is-wide .lookbook-media { min-height:420px; }
.lookbook-media img { width:100%; height:100%; object-fit:cover; opacity:1; transition:transform .45s var(--ease); }
.lookbook-card:hover .lookbook-media img { transform:scale(1.04); }
.lookbook-placeholder { width:100%; height:100%; min-height:inherit; display:flex; align-items:center; justify-content:center; color:var(--border-d); font-size:44px; }
.lookbook-overlay { position:absolute; inset:auto 18px 18px 18px; background:rgba(0,0,0,.7); color:#fff; padding:18px; display:grid; gap:10px; }
.lookbook-tag { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; opacity:.72; }
.lookbook-overlay strong { font-family:var(--font-d); font-size:30px; line-height:1; letter-spacing:1.5px; }
.lookbook-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.lookbook-actions span { font-size:13px; font-weight:700; }
.lookbook-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; background:#fff; color:#000; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }
@media (max-width: 991px) {
  .breadcrumb-wrap { padding:16px 20px 0; }
  .search-panel { margin:0; width:100%; min-height:100vh; max-height:none; padding:20px; }
  .search-panel-head strong { font-size:38px; }
  .search-form { grid-template-columns:24px minmax(0,1fr); }
  .search-form button { grid-column:1/-1; }
  .dxmn-size-guide-head { grid-template-columns:1fr; }
  .dxmn-lightbox-shell { grid-template-columns:54px minmax(0,1fr) 54px; }
  .lookbook-grid { grid-template-columns:repeat(2, 1fr); }
  .lookbook-card, .lookbook-card.is-large, .lookbook-card.is-wide, .lookbook-card.is-tall { grid-column:span 1; grid-row:span 1; }
  .lookbook-card .lookbook-media, .lookbook-card.is-large .lookbook-media, .lookbook-card.is-wide .lookbook-media, .lookbook-card.is-tall .lookbook-media { min-height:280px; }
}
@media (max-width: 767px) {
  .product-detail-section { padding-top:22px; }
  .product-gallery-main.is-zoom-ready img { transform:none; }
  .product-gallery-expand { width:40px; height:40px; right:12px; bottom:12px; }
  .product-gallery-thumbs { display:grid; grid-auto-flow:column; grid-auto-columns:70px; }
  .dxmn-lightbox-shell { padding:72px 12px 18px; grid-template-columns:1fr; }
  .dxmn-lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
  .dxmn-lightbox-nav.prev { left:10px; }
  .dxmn-lightbox-nav.next { right:10px; }
  .search-result-item { grid-template-columns:56px minmax(0,1fr); }
  .search-result-price { grid-column:2; }
  .recently-viewed-track > * { flex-basis:170px; min-width:170px; }
  .recent-card { width:170px; min-width:170px; max-width:170px; }
}

.lookbook-product-tags { display:flex; gap:8px; flex-wrap:wrap; }
.lookbook-product-tags a { display:inline-flex; align-items:center; min-height:30px; padding:0 10px; background:rgba(255,255,255,.12); color:#fff; font-size:11px; letter-spacing:.8px; text-transform:uppercase; }
.settings-image-preview { border:1px solid var(--border); background:var(--surface); padding:8px; }
.settings-image-preview img { display:block; width:100%; height:auto; object-fit:cover; }


/* === SIZE GUIDE PAGE === */
.size-guide-page { padding:0 48px 80px; }
.size-guide-hero { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr); gap:28px; align-items:stretch; margin-bottom:28px; }
.size-guide-hero-copy { padding:34px; background:var(--surface); border:1px solid var(--border); }
.size-guide-hero-copy .overline { margin-bottom:10px; }
.size-guide-hero-copy h1 { font-family:var(--font-d); font-size:64px; line-height:.92; letter-spacing:3px; color:var(--black); margin-bottom:14px; }
.size-guide-hero-copy p { max-width:640px; color:var(--text-2); line-height:1.85; font-size:14px; }
.size-guide-hero-aside { padding:28px; border:1px solid var(--border); background:var(--white); display:grid; gap:16px; align-content:start; }
.size-guide-hero-aside strong { font-size:12px; letter-spacing:2px; text-transform:uppercase; }
.size-guide-hero-aside ul { margin:0; padding-left:18px; display:grid; gap:10px; color:var(--text-2); font-size:13px; line-height:1.7; }
.size-guide-figure-card { border:1px solid var(--border); background:var(--white); overflow:hidden; margin-bottom:28px; }
.size-guide-figure-card img { display:block; width:100%; max-height:560px; object-fit:cover; }
.size-guide-figure-copy { padding:18px 22px; border-top:1px solid var(--border); font-size:13px; color:var(--text-m); line-height:1.8; }
.size-guide-categories { display:grid; gap:24px; }
.size-guide-category-card { border:1px solid var(--border); background:var(--white); overflow:hidden; }
.size-guide-category-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; padding:24px 24px 18px; border-bottom:1px solid var(--border); }
.size-guide-category-head h2 { font-family:var(--font-d); font-size:34px; letter-spacing:2px; color:var(--black); line-height:1; }
.size-guide-category-head span { font-size:11px; color:var(--text-m); text-transform:uppercase; letter-spacing:1.5px; }
.size-guide-scroll { overflow:auto; }
.size-guide-page-table { width:100%; min-width:680px; border-collapse:collapse; }
.size-guide-page-table th, .size-guide-page-table td { padding:16px 20px; border-bottom:1px solid var(--border); text-align:left; font-size:13px; }
.size-guide-page-table th { background:var(--bg); color:var(--text-m); font-size:11px; text-transform:uppercase; letter-spacing:1.3px; }
.size-guide-page-table tbody tr:hover { background:rgba(0,0,0,.025); }
.size-guide-page-table td strong { font-size:14px; color:var(--black); }
.size-guide-empty { padding:60px 24px; text-align:center; border:1px solid var(--border); background:var(--white); }
.size-guide-empty i { font-size:40px; color:var(--border-d); display:block; margin-bottom:12px; }
.size-guide-empty strong { display:block; font-family:var(--font-d); font-size:28px; letter-spacing:2px; margin-bottom:10px; }
.size-guide-empty p { color:var(--text-m); font-size:13px; }

@media (max-width: 1024px) {
  .size-guide-hero { grid-template-columns:1fr; }
}

@media (max-width: 768px) {
  .size-guide-page { padding:0 20px 56px; }
  .size-guide-hero-copy { padding:24px; }
  .size-guide-hero-copy h1 { font-size:46px; }
  .size-guide-category-head { padding:18px 18px 14px; align-items:flex-start; flex-direction:column; }
  .size-guide-page-table th, .size-guide-page-table td { padding:14px 16px; }
}


/* === CART / CHECKOUT FLOW === */
.store-step-shell { max-width:1320px; margin:0 auto; padding:28px 48px 0; }
.store-stepper { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.store-stepper--3 { grid-template-columns:repeat(3,1fr); }
.store-step { border:1px solid var(--border); background:var(--white); padding:14px 16px; display:flex; align-items:center; gap:12px; }
.store-step span { width:34px; height:34px; border-radius:999px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; letter-spacing:1px; color:var(--text-m); }
.store-step strong { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); }
.store-step.is-active { border-color:var(--black); background:var(--surface); }
.store-step.is-active span, .store-step.is-done span { border-color:var(--black); background:var(--black); color:var(--white); }
.store-step.is-active strong, .store-step.is-done strong { color:var(--black); }

.cart-page-wrap { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr); gap:56px; padding:34px 48px 72px; max-width:1320px; margin:0 auto; }
.cart-page-subtitle { font-size:13px; color:var(--text-m); margin-top:10px; }
.cart-list-card, .cart-promo-card { border:1px solid var(--border); background:var(--white); }
.cart-line-item { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:18px; align-items:center; padding:24px 0; margin:0 24px; border-bottom:1px solid var(--border); }
.cart-line-item:last-child { border-bottom:none; }
.cart-line-media { width:92px; height:116px; background:var(--surface); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cart-line-media img { width:100%; height:100%; object-fit:cover; display:block; }
.cart-line-media i { font-size:28px; color:var(--border-d); }
.cart-line-brand { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-m); margin-bottom:6px; }
.cart-line-body h3 { font-size:18px; color:var(--black); margin-bottom:8px; }
.cart-line-variant { font-size:12px; color:var(--text-m); margin-bottom:14px; }
.cart-line-controls { display:flex; align-items:center; gap:8px; }
.cart-qty-box { margin:0; }
.cart-qty-box button, .cart-line-controls > span { width:42px; height:42px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; background:var(--white); color:var(--black); font-size:15px; }
.cart-qty-box button { cursor:pointer; }
.cart-line-controls > span { font-size:13px; font-weight:700; }
.cart-line-side { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.cart-line-price { font-family:var(--font-d); font-size:28px; letter-spacing:1px; color:var(--black); }
.cart-line-remove { border:none; background:none; color:var(--text-m); font-size:12px; cursor:pointer; }
.cart-line-remove:hover, .cart-continue-link:hover { color:var(--black); }
.cart-promo-card { margin-top:24px; padding:24px; display:grid; gap:18px; }
.cart-promo-kicker { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:6px; }
.cart-promo-card h3 { font-family:var(--font-d); font-size:24px; letter-spacing:2px; color:var(--black); }
.cart-promo-card p { font-size:13px; color:var(--text-m); }
.cart-promo-form { display:grid; grid-template-columns:minmax(0,1fr) 140px; gap:12px; align-items:center; }
.cart-promo-form .btn-dark { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.cart-promo-applied { border:1px solid var(--border); padding:16px 18px; display:flex; justify-content:space-between; gap:14px; align-items:center; flex-wrap:wrap; }
.cart-promo-applied strong { font-size:15px; color:var(--black); }
.cart-promo-applied span { display:block; font-size:12px; color:var(--text-m); margin-top:4px; }
.cart-summary-card { border:1px solid var(--border); }
.cart-summary-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; font-size:13px; color:var(--text-2); }
.cart-summary-row strong { color:var(--black); font-weight:700; }
.cart-summary-row.is-discount span, .cart-summary-row.is-discount strong { color:#0f766e; }
.cart-summary-divider { border-top:1px solid var(--border); margin:8px 0 4px; }
.cart-summary-total { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; padding:12px 0 18px; }
.cart-summary-total span { font-size:14px; font-weight:600; color:var(--text); }
.cart-summary-total strong { font-family:var(--font-d); font-size:36px; color:var(--black); letter-spacing:1px; }
.checkout-btn--full { width:100%; justify-content:center; }
.cart-continue-link { display:block; text-align:center; margin-top:14px; font-size:12px; color:var(--text-m); }

.checkout-flow-wrap { padding-top:34px; }
.checkout-inline-banner { margin-bottom:18px; padding:14px 16px; border:1px solid var(--border); background:var(--surface); font-size:13px; color:var(--text-2); }
.checkout-guest-banner { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; padding:14px 16px; border:1px solid var(--black); background:#fafafa; font-size:13.5px; color:var(--text-2); border-radius:8px; }
.checkout-guest-banner i { font-size:22px; color:var(--black); flex:0 0 auto; }
.checkout-guest-banner strong { color:var(--black); }
.checkout-guest-banner a { display:block; margin-top:4px; font-size:12.5px; color:var(--text-l); text-decoration:underline; }
.checkout-address-helper { margin:0 0 18px; padding:14px 16px; border:1px solid var(--border); background:linear-gradient(180deg,#fafafa 0%,#f4f4f4 100%); display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; align-items:flex-start; }
.checkout-address-helper--account { margin-top:6px; }
.checkout-address-helper__icon { width:40px; height:40px; border:1px solid var(--border); background:var(--white); display:flex; align-items:center; justify-content:center; }
.checkout-address-helper__icon i { font-size:20px; color:var(--black); }
.checkout-address-helper strong { display:block; font-size:13px; color:var(--black); letter-spacing:.3px; }
.checkout-address-helper p { margin-top:4px; font-size:12px; line-height:1.75; color:var(--text-m); }
.checkout-address-status { min-height:52px; border:1px dashed var(--border); background:var(--surface); padding:14px 16px; font-size:12px; color:var(--text-2); line-height:1.7; display:flex; align-items:center; }
.checkout-address-status[data-state="loading"] { border-style:solid; color:var(--black); }
.checkout-address-status[data-state="success"] { border-style:solid; border-color:#166534; color:#166534; background:#f0fdf4; }
.checkout-address-status[data-state="warning"] { border-style:solid; border-color:#b45309; color:#b45309; background:#fffbeb; }
.checkout-address-status[data-state="error"] { border-style:solid; border-color:#b91c1c; color:#b91c1c; background:#fef2f2; }
.checkout-postal-group { max-width:220px; }
.payment-method-grid { display:grid; gap:12px; }
.payment-method-card { align-items:center; position:relative; }
.payment-method-card__icon { width:42px; height:42px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; background:var(--surface); flex:0 0 auto; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.payment-method-card__icon i { font-size:20px; color:var(--black); transition:color .2s; }
.payment-method-card.is-selected,
.payment-method-card:has(input[type="radio"]:checked) { border-color:var(--black); background:var(--surface); box-shadow:inset 0 0 0 1px var(--black); }
.payment-method-card.is-selected .payment-method-card__icon,
.payment-method-card:has(input[type="radio"]:checked) .payment-method-card__icon { background:var(--black); border-color:var(--black); transform:translateY(-1px); }
.payment-method-card.is-selected .payment-method-card__icon i,
.payment-method-card:has(input[type="radio"]:checked) .payment-method-card__icon i { color:var(--white); }
.payment-method-card.is-selected .checkout-payment-option-title,
.payment-method-card:has(input[type="radio"]:checked) .checkout-payment-option-title { color:var(--black); }
.payment-method-card.is-selected .checkout-payment-option-desc,
.payment-method-card:has(input[type="radio"]:checked) .checkout-payment-option-desc { color:var(--text); }
.checkout-continue-btn { padding:20px; }
.checkout-mini-line { display:flex; gap:12px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.checkout-mini-line__name { font-size:13px; font-weight:600; color:var(--text); margin-bottom:2px; }
.checkout-mini-line__meta { font-size:11px; color:var(--text-m); }
.checkout-mini-line__price { font-size:14px; font-weight:700; color:var(--black); }
.payment-method-shell { display:grid; gap:20px; }
.payment-method-hero { border:1px solid var(--border); background:var(--surface); padding:22px; display:grid; grid-template-columns:68px minmax(0,1fr); gap:18px; align-items:center; }
.payment-method-hero__icon { width:68px; height:68px; border-radius:50%; background:var(--black); color:var(--white); display:flex; align-items:center; justify-content:center; }
.payment-method-hero__icon i { font-size:30px; }
.payment-method-hero__kicker { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--text-m); margin-bottom:6px; }
.payment-method-hero h3 { font-family:var(--font-d); font-size:28px; letter-spacing:2px; color:var(--black); margin-bottom:6px; }
.payment-method-hero p { font-size:13px; color:var(--text-2); line-height:1.8; }
.payment-method-grid--qr { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; align-items:stretch; }
.payment-qr-card { border:1px solid var(--border); background:var(--white); min-height:280px; display:flex; align-items:center; justify-content:center; padding:18px; }
.payment-qr-card img { max-width:100%; height:auto; display:block; }
.payment-qr-placeholder { width:100%; aspect-ratio:1/1; border:1px dashed var(--border-d); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,#fafafa,#f0f0f0); text-align:center; }
.payment-qr-placeholder i { font-size:68px; color:var(--black); }
.payment-qr-placeholder span { font-family:var(--font-d); font-size:28px; letter-spacing:2px; color:var(--black); }
.payment-qr-placeholder small { font-size:11px; color:var(--text-m); max-width:180px; line-height:1.6; }
.payment-method-panel { border:1px solid var(--border); background:var(--white); padding:22px; }
.payment-method-panel--manual { padding:24px; }
.thankyou-shell { max-width:860px; margin:0 auto; padding:52px 24px 96px; text-align:center; }
.thankyou-badge { width:92px; height:92px; border-radius:50%; background:var(--black); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }
.thankyou-badge i { font-size:46px; color:var(--white); }
.thankyou-title { font-family:var(--font-d); font-size:54px; letter-spacing:4px; color:var(--black); margin-bottom:10px; }
.thankyou-subtitle { font-size:15px; color:var(--text-2); margin-bottom:8px; }
.thankyou-order-no { font-size:14px; color:var(--text-m); margin-bottom:26px; }
.thankyou-note-card { background:var(--surface); padding:24px; margin:0 auto 32px; max-width:760px; text-align:left; border:1px solid var(--border); }
.thankyou-note-card p { font-size:13px; color:var(--text-2); line-height:1.9; margin:0; }
.thankyou-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media(max-width:1024px) {
    .store-step-shell { padding:20px 20px 0; }
    .cart-page-wrap { grid-template-columns:1fr; gap:32px; padding:24px 20px 56px; }
    .payment-method-grid--qr { grid-template-columns:1fr; }
}
@media(max-width:768px) {
    .store-stepper { grid-template-columns:1fr 1fr; }
    .cart-line-item { grid-template-columns:76px minmax(0,1fr); gap:14px; margin:0 18px; padding:20px 0; }
    .cart-line-media { width:76px; height:96px; }
    .cart-line-side { grid-column:2; flex-direction:row; justify-content:space-between; align-items:center; }
    .cart-line-price { font-size:24px; }
    .cart-promo-form { grid-template-columns:1fr; }
    .payment-method-hero { grid-template-columns:1fr; text-align:left; }
    .payment-method-hero__icon { width:58px; height:58px; }
    .thankyou-title { font-size:42px; }
    .thankyou-actions .btn-dark, .thankyou-actions .btn-ghost { width:100%; justify-content:center; }
}
@media(max-width:480px) {
    .store-stepper { grid-template-columns:1fr; }
}

/* === ACCOUNT V2 === */
.badge-paid, .badge-approved, .badge-verified, .badge-confirmed { background:#dbeafe; color:#1d4ed8; }
.badge-processing, .badge-pending_review { background:#ede9fe; color:#6d28d9; }
.badge-completed, .badge-delivered { background:#dcfce7; color:#15803d; }
.badge-shipped { background:#dcfce7; color:#16a34a; }
.badge-rejected, .badge-failed { background:#fee2e2; color:#dc2626; }
.badge-pending, .badge-awaiting_payment { background:#fef3c7; color:#b45309; }

.account-page-shell {
    max-width: 1500px;
    margin: 0 auto;
    padding: 44px 44px 72px;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 40px;
    min-height: 65vh;
}
.account-sidebar-v2 {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-self: start;
    position: sticky;
    top: 96px;
}
.account-user-card-v2 {
    background: #f5f5f5;
    border: 1px solid var(--border);
    padding: 28px 24px 24px;
    text-align: center;
}
.account-user-avatar-v2,
.account-profile-avatar-v2 {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    border: 1px solid var(--border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--black);
    font-family: var(--font-d);
    font-size: 42px;
    letter-spacing: 1px;
    line-height: 1;
}
.account-user-name-v2 {
    margin-top: 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--black);
}
.account-user-email-v2 {
    margin-top: 6px;
    font-size: 13px;
    color: var(--text-m);
    word-break: break-word;
}
.account-side-nav-v2 {
    background: #f5f5f5;
    border: 1px solid var(--border);
    padding: 10px;
    display: grid;
    gap: 4px;
}
.account-side-link-v2,
.account-side-logout-v2 {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-2);
    border: 1px solid transparent;
    background: transparent;
    transition: all .2s ease;
    text-align: left;
}
.account-side-link-v2 i,
.account-side-logout-v2 i {
    font-size: 20px;
    color: var(--text-m);
    flex: 0 0 auto;
}
.account-side-link-v2:hover,
.account-side-logout-v2:hover {
    color: var(--black);
    background: #fff;
    border-color: var(--border);
}
.account-side-link-v2.active {
    color: var(--black);
    background: #fff;
    border-color: var(--border);
    font-weight: 700;
}
.account-side-link-v2.active i,
.account-side-link-v2:hover i,
.account-side-logout-v2:hover i {
    color: var(--black);
}
.account-side-logout-v2 {
    background: #f5f5f5;
    border: 1px solid var(--border);
}
.account-main-v2 { min-width: 0; }
.account-tab-panel-v2 { min-width: 0; }
.account-panel-head-v2 {
    margin-bottom: 26px;
}
.account-panel-head-v2--split {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.account-panel-kicker-v2 {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-m);
    margin-bottom: 10px;
}
.account-panel-title-v2 {
    font-family: var(--font-d);
    font-size: clamp(46px, 5vw, 66px);
    line-height: .95;
    letter-spacing: 2px;
    color: var(--black);
    margin: 0;
}
.account-empty-v2,
.account-form-card-v2,
.account-editor-card-v2 {
    background: #fff;
    border: 1px solid var(--border);
}
.account-empty-v2 {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 32px;
}
.account-empty-v2 i { font-size: 52px; color: var(--text-m); }
.account-empty-v2 h3 {
    font-family: var(--font-d);
    font-size: 32px;
    letter-spacing: 2px;
    color: var(--black);
}
.account-empty-v2 p { font-size: 13px; font-weight: 400; line-height: 1.7; color: var(--text-m); margin-bottom: 8px; }
.account-empty-v2--compact {
    min-height: 220px;
    gap: 8px;
    padding: 28px 24px;
}
.account-empty-v2--compact i { font-size: 40px; }
.account-empty-v2--compact h3 {
    font-size: clamp(22px, 3vw, 28px);
    letter-spacing: 1.2px;
    line-height: 1;
}
.account-empty-v2--compact p {
    max-width: 520px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
    color: var(--text-m);
    margin-bottom: 0;
}
.account-order-list-v2 { display: grid; gap: 14px; }
.account-order-row-v2 {
    border: 1px solid var(--border);
    background: #fff;
    padding: 20px 24px;
}
.account-order-row-head-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.account-order-no-v2 {
    font-family: var(--font-d);
    font-size: 34px;
    letter-spacing: 1px;
    color: var(--black);
    line-height: 1;
}
.account-order-badges-v2 {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.account-order-row-body-v2 {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
.account-order-thumb-v2 {
    width: 56px;
    height: 72px;
    background: #f3f3f3;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--border-d);
    font-size: 26px;
}
.account-order-product-v2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--black);
    line-height: 1.45;
    margin-bottom: 4px;
}
.account-order-meta-v2 {
    font-size: 14px;
    color: var(--text-m);
    margin-bottom: 16px;
}
.account-order-mini-grid-v2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}
.account-order-mini-box-v2 {
    border: 1px solid var(--border);
    background: #fafafa;
    padding: 14px;
}
.account-order-mini-box-v2 span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--text-m);
    margin-bottom: 6px;
}
.account-order-mini-box-v2 span i {
    font-size: 14px;
    color: var(--black);
    flex: 0 0 auto;
}
.account-order-mini-box-v2 strong {
    display: block;
    font-size: 14px;
    color: var(--black);
    line-height: 1.5;
    word-break: break-word;
}
.account-payment-state--compact {
    margin-bottom: 14px;
}
.account-payment-state--compact .account-payment-state__icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
}
.account-slip-inline-v2 {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    border: 1px solid var(--border);
    background: #fafafa;
    padding: 14px;
}
.account-slip-inline-thumb-v2 {
    display: block;
    border: 1px solid var(--border);
    background: #fff;
}
.account-slip-inline-thumb-v2 img {
    display: block;
    width: 100%;
    height: 82px;
    object-fit: cover;
}
.account-slip-inline-head-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.account-slip-inline-head-v2 span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--black);
}
.account-slip-inline-text-v2,
.account-slip-inline-note-v2 {
    font-size: 13px;
    color: var(--text-2);
    line-height: 1.8;
}
.account-order-actions-v2 {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
}
.account-address-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.account-address-card-v2 {
    position: relative;
    border: 1px solid var(--border);
    background: #fff;
    padding: 22px 24px 20px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
}
.account-address-card-v2.is-default {
    border-color: var(--black);
}
.account-address-default-v2 {
    position: absolute;
    top: 14px;
    right: 14px;
    background: var(--black);
    color: #fff;
    padding: 5px 12px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.account-address-label-v2 {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--text-m);
    margin-bottom: 8px;
}
.account-address-name-v2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 10px;
}
.account-address-lines-v2,
.account-address-phone-v2 {
    font-size: 13px;
    font-weight: 400;
    color: var(--text-2);
    line-height: 1.7;
}
.account-address-phone-v2 { margin-top: 10px; }
.account-address-actions-v2 {
    margin-top: auto;
    padding-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.account-editor-card-v2 { padding: 24px 26px; }
.account-editor-head-v2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.account-editor-title-v2 {
    font-family: var(--font-d);
    font-size: 34px;
    letter-spacing: 2px;
    line-height: 1;
    color: var(--black);
}
.account-editor-note-v2 {
    max-width: 360px;
    font-size: 13px;
    color: var(--text-m);
    line-height: 1.8;
}
.account-editor-actions-v2 { display: flex; justify-content: flex-start; }
.account-postal-group-v2 { max-width: 220px; }
.account-form-card-v2 { padding: 28px; }
.account-form-card-v2--profile { max-width: 760px; }
.account-form-card-v2--narrow { max-width: 520px; }
.account-profile-hero-v2 {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}
.account-profile-avatar-v2 {
    width: 82px;
    height: 82px;
    font-size: 38px;
    flex: 0 0 82px;
}
.account-profile-name-v2 {
    font-family: var(--font-d);
    font-size: 36px;
    letter-spacing: 2px;
    color: var(--black);
    line-height: 1;
}
.account-profile-sub-v2 {
    margin-top: 8px;
    font-size: 13px;
    color: var(--text-m);
}
.account-form-v2 .btn-dark i,
.account-editor-actions-v2 .btn-dark i,
.account-referral-copy-v2 .btn-dark i {
    font-size: 16px;
}
.account-referral-stack-v2 {
    display: grid;
    gap: 16px;
    max-width: 920px;
}
.account-section-title-v2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--black);
}
.account-section-title-v2 i { font-size: 20px; }
.privacy-page-title{font-family:var(--font-d);font-size:clamp(54px,7vw,78px);line-height:.92;letter-spacing:1.5px;color:var(--black);margin:0;text-transform:uppercase}
.account-muted-v2 {
    font-size: 14px;
    color: var(--text-2);
    line-height: 1.8;
}
.account-referral-copy-v2 {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
}
.account-referral-badges-v2 {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.account-history-list-v2 {
    display: grid;
    gap: 12px;
    margin-top: 10px;
}
.account-history-card-v2 {
    border: 1px solid var(--border);
    background: #fafafa;
    padding: 16px 18px;
    display: grid;
    gap: 6px;
}
.account-history-card-v2 strong {
    color: var(--black);
    font-size: 15px;
}
.account-history-card-v2 span {
    font-size: 13px;
    color: var(--text-2);
    line-height: 1.7;
}

.account-empty-v2--compact {
    min-height: 220px;
}
.account-points-stack-v2 {
    display: grid;
    gap: 20px;
    max-width: 1120px;
}
.account-points-stack-v2.is-disabled {
    opacity: .88;
}
.account-points-hero-v2 {
    position: relative;
    overflow: hidden;
    background: #020202;
    color: #fff;
    border: 1px solid #111;
    min-height: 248px;
    padding: 34px 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.account-points-hero-mark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-d);
    font-size: clamp(140px, 26vw, 260px);
    line-height: .8;
    letter-spacing: 10px;
    color: rgba(255,255,255,.04);
    pointer-events: none;
    user-select: none;
}
.account-points-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    justify-items: center;
}
.account-points-eyebrow-v2 {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,.68);
}
.account-points-balance-v2 {
    font-family: var(--font-d);
    font-size: clamp(74px, 10vw, 120px);
    line-height: .88;
    letter-spacing: 2px;
    color: #fff;
}
.account-points-value-v2,
.account-points-next-v2 {
    font-size: 14px;
    color: rgba(255,255,255,.76);
}
.account-points-tier-chip-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background: #111;
    color: #fff;
    border: 1px solid rgba(255,255,255,.12);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}
.account-points-info-grid-v2,
.account-points-tier-grid-v2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.account-points-info-card-v2,
.account-points-tier-card-v2 {
    border: 1px solid var(--border);
    background: #fff;
    padding: 24px 20px;
    text-align: center;
}
.account-points-info-card-v2 {
    min-height: 170px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
}
.account-points-info-icon-v2 {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--border);
    font-size: 22px;
    color: var(--black);
}
.account-points-info-card-v2 strong,
.account-points-tier-card-v2 strong {
    font-family: var(--font-d);
    font-size: 32px;
    line-height: 1;
    letter-spacing: 1.6px;
    color: var(--black);
}
.account-points-info-card-v2 p,
.account-points-tier-card-v2 p,
.account-points-tier-card-v2 span {
    margin: 0;
    font-size: 14px;
    line-height: 1.75;
    color: var(--text-2);
}
.account-points-tier-card-v2.is-active {
    border-color: var(--black);
    box-shadow: inset 0 0 0 1px var(--black);
}
.account-points-history-table-v2 {
    border: 1px solid var(--border);
    background: #fff;
}
.account-points-history-head-v2,
.account-points-history-row-v2 {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 120px;
    gap: 16px;
    align-items: center;
    padding: 16px 20px;
}
.account-points-history-head-v2 {
    background: #fafafa;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--text-m);
}
.account-points-history-head-v2 span {
    display: flex;
    align-items: center;
    gap: 6px;
}
.account-points-history-head-v2 span:last-child {
    justify-content: flex-end;
}
.account-points-history-head-v2 span i {
    font-size: 14px;
    color: var(--black);
    flex: 0 0 auto;
}
.account-points-history-row-v2 + .account-points-history-row-v2 {
    border-top: 1px solid var(--border);
}
.account-points-history-row-v2 span {
    font-size: 14px;
    color: var(--text-2);
    line-height: 1.6;
}
.account-points-history-row-v2 strong {
    justify-self: end;
    font-size: 16px;
    font-weight: 700;
}
.account-points-history-row-v2 strong.is-positive {
    color: #16a34a;
}
.account-points-history-row-v2 strong.is-negative {
    color: #dc2626;
}
.points-tier-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.points-tier-admin-card .form-group:last-child {
    margin-bottom: 0;
}

@media (max-width: 1200px) {
    .account-page-shell {
        grid-template-columns: 1fr;
    }
    .account-sidebar-v2 {
        position: static;
    }
}
@media (max-width: 991px) {
    .account-page-shell {
        padding: 28px 20px 54px;
        gap: 24px;
    }
    .account-side-nav-v2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .account-address-grid-v2,
    .account-order-mini-grid-v2,
    .account-referral-copy-v2,
    .account-points-info-grid-v2,
    .account-points-tier-grid-v2,
    .points-tier-admin-grid {
        grid-template-columns: 1fr;
    }
    .account-order-row-v2,
    .account-form-card-v2,
    .account-editor-card-v2 {
        padding: 18px;
    }
}
@media (max-width: 767px) {
    .account-user-card-v2 {
        padding: 20px 18px;
    }
    .account-side-nav-v2 {
        grid-template-columns: 1fr;
    }
    .account-side-link-v2,
    .account-side-logout-v2 {
        padding: 12px 13px;
    }
    .account-panel-title-v2 {
        font-size: 38px;
    }
    .account-order-row-body-v2,
    .account-slip-inline-v2,
    .account-points-history-head-v2,
    .account-points-history-row-v2 {
        grid-template-columns: 1fr;
    }
    .account-order-thumb-v2 {
        width: 64px;
    }
    .account-address-grid-v2,
    .form-row {
        grid-template-columns: 1fr;
    }
    .account-profile-hero-v2,
    .account-editor-head-v2,
    .account-panel-head-v2--split,
    .account-slip-inline-head-v2 {
        align-items: flex-start;
        flex-direction: column;
    }
    .account-order-actions-v2 {
        justify-content: flex-start;
    }
    .account-postal-group-v2 {
        max-width: none;
    }
}


/* === Size Guide V2 === */
.size-guide-page{padding:56px 24px 92px}
.size-guide-page-shell{width:min(100%,760px);margin:0 auto}
.size-guide-page-intro{text-align:left;margin-bottom:28px}
.size-guide-page-intro .overline{margin-bottom:10px}
.size-guide-page-title{font-family:var(--font-d);font-size:72px;line-height:.9;letter-spacing:2px;color:var(--black);margin:0}
.size-guide-measurement-card{border:1px solid var(--border);background:var(--surface);padding:0;overflow:hidden;margin-bottom:14px}
.size-guide-measurement-card img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;background:var(--surface)}
.size-guide-sections{display:grid;gap:20px}
.size-guide-table-section{display:grid;gap:10px}
.size-guide-section-title{font-family:var(--font-d);font-size:30px;line-height:1;letter-spacing:1px;color:var(--black);margin:0}
.size-guide-table-shell{border:1px solid var(--border);overflow:auto;background:var(--white)}
.size-guide-page-table{width:100%;border-collapse:collapse;min-width:560px}
.size-guide-page-table th,.size-guide-page-table td{padding:16px 14px;border-bottom:1px solid var(--border);font-size:13px;text-align:left;color:var(--text-2)}
.size-guide-page-table thead th{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-m);background:#fbfbfb}
.size-guide-page-table tbody tr:last-child td{border-bottom:none}
.size-guide-page-table td strong{color:var(--black)}
.size-guide-footnote{margin:18px 0 0;font-size:12px;line-height:1.8;color:var(--text-m);text-align:center}
@media(max-width:767px){
  .size-guide-page{padding:34px 16px 72px}
  .size-guide-page-shell{width:100%}
  .size-guide-page-title{font-size:54px}
  .size-guide-section-title{font-size:24px}
  .size-guide-page-table{min-width:520px}
}


/* Multi-Store */
.ms-subnav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.ms-subnav a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--border);background:var(--white);color:var(--black);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ms-subnav a:hover{border-color:var(--black);background:var(--black);color:var(--white)}
.ms-shell{display:grid;gap:24px;align-content:start}
.ms-shell > section,.ms-shell > article,.ms-shell > nav,.ms-shell > div{margin:0;min-width:0}
.ms-shell > *{min-width:0}
.ms-shell{display:grid;gap:24px;align-content:start}
.ms-shell > section,.ms-shell > article,.ms-shell > nav,.ms-shell > div{margin:0;min-width:0}
.ms-shell section[id]{scroll-margin-top:24px}
.ms-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:24px;align-items:start}
.ms-panel,.ms-stat-card,.ms-form-card,.ms-hero-card,.ms-spotlight-card{background:#fff;border:1px solid var(--border);border-radius:0;padding:24px;box-sizing:border-box;min-width:0;height:100%}
.ms-hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#111 0%,#0a0a0a 55%,#191919 100%);color:#fff;border-color:#111}
.ms-hero-card:before{content:"";position:absolute;inset:auto -120px -120px auto;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 72%)}
.ms-overline{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:rgba(255,255,255,.05);margin-bottom:16px}
.ms-hero-card h2,.ms-panel h3,.ms-form-card h3,.ms-display,.ms-spotlight-card strong{font-family:var(--font-d);letter-spacing:.03em;text-transform:uppercase}
.ms-hero-card h2{font-size:58px;line-height:.92;margin:0 0 14px}
.ms-hero-card p{max-width:760px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.8;margin:0 0 18px}
.ms-flow{display:flex;flex-wrap:wrap;gap:10px}
.ms-flow span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-size:12px}
.ms-hero-side{display:grid;gap:16px;align-content:start}
.ms-filter-card{display:grid;gap:16px}
.ms-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-filter-grid input[name="q"]{grid-column:1/-1}
.ms-filter-actions{display:flex;gap:10px;flex-wrap:wrap}
.ms-filter-actions .btn-dark,.ms-filter-actions .btn-ghost{padding:14px 22px}
.ms-mini-note{font-size:12px;line-height:1.8;color:var(--text-2);padding:14px 16px;border:1px dashed var(--border-d);background:var(--surface)}
.ms-mini-note strong{color:var(--black)}
.ms-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;align-items:start}
.ms-stat-card{display:grid;gap:16px}
.ms-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ms-stat-top i{font-size:22px;color:var(--black)}
.ms-stat-label,.ms-spotlight-kicker{font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.14em}
.ms-stat-value{font-family:var(--font-d);font-size:34px;line-height:1;color:var(--black);margin-top:8px}
.ms-stat-sub{font-size:12px;color:var(--text-2);line-height:1.7}
.ms-spotlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.ms-spotlight-card{display:grid;gap:8px;align-content:start}
.ms-spotlight-card strong{font-size:34px;line-height:.95;color:var(--black)}
.ms-spotlight-card span{font-size:12px;color:var(--text-2);line-height:1.75}
.ms-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.ms-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.ms-form-card h3,.ms-panel h3{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:34px;line-height:.95;color:var(--black)}
.ms-form-card p,.ms-panel-head p{margin:0;color:var(--text-2);font-size:13px;line-height:1.75}
.ms-form{display:grid;gap:14px;margin-top:18px}
.ms-checkline{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}
.ms-form .btn-dark,.ms-form .btn-ghost{width:100%;justify-content:center}
.ms-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.ms-panel-head-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ms-table-wrap{overflow:auto;border:1px solid var(--border);background:#fff}
.ms-table{width:100%;border-collapse:collapse;min-width:880px}
.ms-table th,.ms-table td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:13px}
.ms-table th{background:#0f0f10;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.ms-table tr:hover td{background:#fafafa}
.ms-kpi-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);font-size:12px}
.ms-code{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:#111;color:#fff;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ms-code.is-muted{background:#2a2a2a}
.ms-stack{display:grid;gap:4px}
.ms-stack strong{font-size:13px;color:var(--black)}
.ms-stack span{font-size:12px;color:var(--text-2);line-height:1.6}
.ms-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);background:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ms-badge.is-good{background:#f5f5f5;border-color:#d8d8d8;color:#111}
.ms-badge.is-warning{background:#f7f7f7;border-color:#d2d2d2;color:#111}
.ms-badge.is-dark{background:#111;border-color:#111;color:#fff}
.ms-list{display:grid;gap:12px}
.ms-list-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--border);background:#fff}
.ms-list-item i{font-size:20px;color:var(--black)}
.ms-list-item strong{display:block;font-size:13px;color:var(--black)}
.ms-list-item span{display:block;font-size:12px;color:var(--text-2);margin-top:4px;line-height:1.6}
.ms-list-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ms-inline-form{display:inline-flex;margin:0}
.ms-inline-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid var(--border);background:#fff;color:var(--black);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ms-inline-btn:hover{border-color:#111;background:#111;color:#fff}
.ms-price{font-family:var(--font-d);font-size:24px;color:var(--black);line-height:1}
.ms-empty{display:grid;place-items:center;min-height:180px;text-align:center;border:1px dashed var(--border-d);background:linear-gradient(180deg,#fafafa 0%,#f5f5f5 100%);padding:22px}
.ms-empty i{font-size:30px;color:var(--text-m);margin-bottom:10px}
.ms-empty strong{display:block;margin-bottom:6px;color:var(--black)}
.ms-empty span{display:block;color:var(--text-2);font-size:12px;line-height:1.7;max-width:360px}
.ms-display{font-size:34px;line-height:.95;margin:0;color:var(--black)}
.ms-context-row{display:flex;flex-wrap:wrap;gap:10px}
.ms-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--black)}
.ms-chip i{font-size:16px}
.ms-actions-col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ms-note{font-size:12px;color:var(--text-2);line-height:1.75}
.ms-panel > :last-child,.ms-form-card > :last-child,.ms-stat-card > :last-child,.ms-spotlight-card > :last-child,.ms-hero-card > :last-child,.ms-action-card > :last-child{margin-bottom:0}
.ms-panel .ms-table-wrap,.ms-panel .ms-empty,.ms-panel .ms-list,.ms-panel .ms-chart-list,.ms-form-card .ms-form{margin-top:18px}

.ms-hero,.ms-stat-grid,.ms-spotlight-grid,.ms-grid-3,.ms-grid-2,.ms-action-grid,.ms-rule-grid{margin:0;min-width:0}
.ms-hero > *, .ms-stat-grid > *, .ms-spotlight-grid > *, .ms-grid-3 > *, .ms-grid-2 > *, .ms-action-grid > *, .ms-rule-grid > *{min-width:0}
.ms-panel,.ms-stat-card,.ms-form-card,.ms-hero-card,.ms-spotlight-card,.ms-action-card{align-content:start}
.ms-panel .ms-form + .ms-form,.ms-form-card .ms-form + .ms-form,.ms-panel .ms-table-wrap + .ms-table-wrap{margin-top:18px}
.ms-form-card .ms-panel-head + .form-row-2,.ms-form-card .ms-panel-head + .form-row-3,.ms-panel .ms-panel-head + .form-row-2,.ms-panel .ms-panel-head + .form-row-3{margin-top:18px}
.ms-table-wrap + .ms-empty,.ms-empty + .ms-table-wrap{margin-top:18px}
@media(max-width:1450px){.ms-stat-grid,.ms-spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ms-hero,.ms-grid-3{grid-template-columns:1fr}}
@media(max-width:980px){.ms-grid-2,.ms-stat-grid,.ms-filter-grid,.ms-spotlight-grid{grid-template-columns:1fr}.admin-main{padding:18px}.ms-hero-card h2{font-size:44px}.ms-panel,.ms-stat-card,.ms-form-card,.ms-hero-card,.ms-spotlight-card{padding:18px}.ms-list-item{grid-template-columns:1fr}.ms-list-actions,.ms-actions-col{align-items:stretch}.ms-panel-head{flex-direction:column;align-items:flex-start}}


.ms-subnav-pages a.is-active{border-color:#111;background:#111;color:#fff}
.ms-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0 0 8px;align-items:start}
.ms-action-card{display:grid;gap:10px;padding:20px;border:1px solid var(--border);background:#fff;color:var(--black);text-decoration:none}
.ms-action-card i{font-size:24px;color:var(--black)}
.ms-action-card strong{font-family:var(--font-d);font-size:32px;line-height:.95;text-transform:uppercase;letter-spacing:.03em;color:var(--black)}
.ms-action-card span{font-size:12px;line-height:1.7;color:var(--text-2)}
.ms-action-card:hover{border-color:#111;background:#111;color:#fff}
.ms-action-card:hover i,.ms-action-card:hover strong,.ms-action-card:hover span{color:#fff}
.form-row-2,.form-row-3{display:grid;gap:14px}
.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.field-label{display:block;margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.ms-code-area{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;line-height:1.7}
.ms-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ms-chart-list{display:grid;gap:14px}
.ms-chart-row{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}
.ms-chart-row:first-child{border-top:none;padding-top:0}
.ms-chart-label strong{display:block;font-size:13px;color:var(--black)}
.ms-chart-label span{display:block;font-size:12px;color:var(--text-2);margin-top:4px}
.ms-chart-bars{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.ms-chart-meter{position:relative;height:12px;background:var(--surface);border:1px solid var(--border);overflow:hidden}
.ms-chart-meter span{position:absolute;inset:0 auto 0 0;background:#111;min-width:0}
.ms-chart-meter.is-light span{background:#b7b7b7}
.ms-chart-meta{display:grid;gap:2px;min-width:116px}
.ms-chart-meta strong{font-size:13px;color:var(--black)}
.ms-chart-meta span{font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}
.ms-spotlight-grid-single{grid-template-columns:1fr}
@media(max-width:1450px){.ms-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ms-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.form-row-2,.form-row-3,.ms-action-grid,.ms-rule-grid,.ms-chart-row{grid-template-columns:1fr}.ms-chart-bars{grid-template-columns:1fr}.ms-chart-meta{min-width:0}}
.ms-form-inline{display:grid;gap:10px;min-width:280px}
.ms-badge.is-muted{border-color:var(--border);background:var(--surface);color:var(--text-2)}
.ms-subnav-pages{flex-wrap:wrap}
.ms-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1450px){.ms-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* === ANNOUNCEMENT BARS SETTINGS === */
.announce-admin-stack{display:grid;gap:18px}
.announce-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.announce-admin-card{border:1px solid var(--border);background:#fff;padding:18px 20px;display:grid;gap:10px;min-height:132px}
.announce-admin-kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--text-m)}
.announce-admin-status{display:flex;align-items:center;justify-content:space-between;gap:12px}
.announce-admin-status strong{font-family:var(--font-d);font-size:36px;letter-spacing:1px;line-height:1}
.announce-admin-meta{font-size:12px;color:var(--text-2)}
.announce-admin-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-d);background:var(--surface);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--text)}
.announce-admin-chip.is-on{background:var(--black);border-color:var(--black);color:#fff}
.announce-admin-chip.is-off{background:#fff;color:var(--text-2)}
.announce-admin-panel{display:grid;gap:18px}
.announce-admin-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.announce-admin-copy h2{display:flex;align-items:center;gap:10px}
.announce-admin-copy p{max-width:880px}
.announce-admin-toggle{border:1px solid var(--border);background:linear-gradient(180deg,#fff 0%,#fafafa 100%);padding:16px 18px;display:grid;gap:10px;min-width:230px}
.announce-admin-toggle-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-m);font-weight:700}
.announce-admin-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.announce-admin-toggle-row strong{font-size:15px;font-weight:700;color:var(--text)}
.announce-admin-toggle-row small{display:block;color:var(--text-2);font-size:12px;margin-top:2px}
.announce-theme-switch{position:relative;display:inline-flex;width:58px;height:28px;flex:0 0 58px}
.announce-theme-switch input{position:absolute;opacity:0;width:0;height:0}
.announce-theme-switch span{position:absolute;inset:0;border:1px solid var(--border-d);background:#fff;transition:all .22s var(--ease)}
.announce-theme-switch span::before{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--black);transition:all .22s var(--ease)}
.announce-theme-switch input:checked + span{background:var(--black);border-color:var(--black)}
.announce-theme-switch input:checked + span::before{transform:translateX(28px);background:#fff}
.announce-admin-preview{margin:6px 0 18px}
.announce-admin-preview-track{display:flex;flex-wrap:wrap;gap:10px;padding:18px;border:1px solid var(--border);background:linear-gradient(180deg,#fff 0%,#fafafa 100%)}
.announce-admin-preview-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);background:var(--surface);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text);line-height:1.45;white-space:normal;word-break:break-word;max-width:100%}
.announce-admin-preview-chip::before{content:'•';font-size:10px;opacity:.55}
.announce-admin-preview.is-light .announce-admin-preview-track{background:linear-gradient(180deg,#fff 0%,#fcfcfc 100%)}
.announce-admin-preview.is-dark .announce-admin-preview-track{background:var(--black);border-color:var(--black)}
.announce-admin-preview.is-dark .announce-admin-preview-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.announce-admin-note{padding:14px 16px;border:1px solid var(--border);background:linear-gradient(180deg,#fff 0%,#fafafa 100%);font-size:12px;color:var(--text-2)}
@media(max-width:1100px){.announce-admin-grid{grid-template-columns:1fr}.announce-admin-head{grid-template-columns:1fr}.announce-admin-toggle{min-width:0}}


/* === PHASE C: ACCOUNT & ORDER MANAGEMENT === */
.account-inline-form-v2{display:inline-flex;margin:0}
.btn-danger-soft{border-color:#e2b3b3!important;color:#8d1f1f!important;background:#fff7f7!important}
.btn-danger-soft:hover{border-color:#8d1f1f!important;background:#8d1f1f!important;color:#fff!important}
.account-order-actions-v2{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.account-order-actions-v2 .btn-dark,.account-order-actions-v2 .btn-ghost{min-width:176px;justify-content:center;padding-left:24px;padding-right:24px}.account-order-actions-v2 .account-inline-form-v2 .btn-dark,.account-order-actions-v2 .account-inline-form-v2 .btn-ghost{width:100%}
.account-order-cancel-note-v2{font-size:11px;color:var(--text-2);letter-spacing:.03em}
.account-side-link-v2{position:relative}
.account-side-pill-v2{margin-left:auto;display:inline-flex;min-width:22px;height:22px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:#111;color:#fff;font-style:normal;font-size:11px;font-weight:700}
.account-notification-list-v2{display:grid;gap:14px}
.account-notification-item-v2{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border);background:#fff}
.account-notification-item-v2.is-unread{border-color:#111;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.account-notification-icon-v2{width:48px;height:48px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--surface);font-size:22px;color:var(--black)}
.account-notification-copy-v2{display:grid;gap:4px}
.account-notification-copy-v2 strong{font-size:14px;color:var(--black)}
.account-notification-copy-v2 p{font-size:12px;color:var(--text-2);line-height:1.65}
.account-notification-meta-v2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-m)}
.nav-btn--notification{position:relative}
.nav-badge--notification{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px}
.notification-popover{position:fixed;top:92px;right:24px;width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.14);z-index:2500}
.notification-popover[hidden]{display:none!important}
.notification-popover__head,.notification-popover__foot{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.notification-popover__foot{border-top:1px solid var(--border);border-bottom:none}
.notification-popover__head strong{display:block;font-size:14px;color:var(--black)}
.notification-popover__head span{display:block;font-size:11px;color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.notification-popover__mark,.notification-popover__foot a{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--black);background:none;border:none;cursor:pointer}
.notification-popover__body{max-height:420px;overflow:auto}
.notification-popover__item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}
.notification-popover__item:last-child{border-bottom:none}
.notification-popover__item.is-unread{background:#fbfbfb}
.notification-popover__icon{width:42px;height:42px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--surface);font-size:20px;color:var(--black)}
.notification-popover__copy{display:grid;gap:4px}
.notification-popover__copy strong{font-size:13px;color:var(--black)}
.notification-popover__copy small{font-size:11px;color:var(--text-2);line-height:1.6}
.notification-popover__copy em{font-style:normal;font-size:10px;color:var(--text-m);letter-spacing:.08em;text-transform:uppercase}
.notification-popover__empty{padding:28px 20px;text-align:center;color:var(--text-2);display:grid;gap:8px;justify-items:center}
.notification-popover__empty i{font-size:30px;color:var(--text-m)}
.notification-popover__empty p{font-size:13px;font-weight:400;line-height:1.7;color:var(--text-m);margin:0}
.footer-legal-links{display:flex;gap:14px;align-items:center;margin-top:8px;flex-wrap:wrap}
.footer-legal-links a{font-size:12px;color:var(--text-2)}
.cookie-consent{position:fixed;left:20px;right:20px;bottom:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--border);box-shadow:0 20px 50px rgba(0,0,0,.12);z-index:2600}
.cookie-consent[hidden]{display:none!important}
.cookie-consent__copy{display:grid;gap:4px}
.cookie-consent__copy strong{font-size:14px;color:var(--black)}
.cookie-consent__label{display:inline-flex;align-items:center;gap:8px}.cookie-consent__label i{font-size:16px;line-height:1;color:var(--black)}
.cookie-consent__copy p{font-size:12px;color:var(--text-2);line-height:1.7}
.cookie-consent__copy a{color:var(--black);text-decoration:underline}
.cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-modal{position:fixed;inset:0;z-index:2700}
.cookie-modal[hidden]{display:none!important}
.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.cookie-modal__panel{position:relative;width:min(560px,calc(100vw - 32px));margin:72px auto 0;background:#fff;border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.16)}
.cookie-modal__head,.cookie-modal__foot{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.cookie-modal__foot{border-top:1px solid var(--border);border-bottom:none}
.cookie-modal__eyebrow{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-m);margin-bottom:4px}
.cookie-modal__close{border:none;background:none;font-size:24px;cursor:pointer;color:var(--black)}
.cookie-modal__body{padding:18px;display:grid;gap:14px}
.cookie-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}
.cookie-toggle-row:first-child{border-top:none;padding-top:0}
.cookie-toggle-row strong{display:block;font-size:14px;color:var(--black)}
.cookie-toggle-row small{display:block;font-size:12px;color:var(--text-2);line-height:1.7;margin-top:4px;max-width:360px}
@media(max-width:980px){.account-notification-item-v2{grid-template-columns:42px minmax(0,1fr)}.account-notification-item-v2 .btn-ghost{grid-column:2}.notification-popover{right:16px;left:16px;top:84px;width:auto}.cookie-consent{grid-template-columns:1fr}.cookie-consent__actions{justify-content:flex-start}.account-order-actions-v2 .btn-dark,.account-order-actions-v2 .btn-ghost,.account-order-actions-v2 .account-inline-form-v2{width:100%}}


/* ============================================================
   DXMN MOBILE NAVIGATION — bottom bar + all-menu sheet
   ใช้ร่วมกันทั้ง storefront และ admin (แสดงเฉพาะ <= 900px)
   ============================================================ */
.dxmn-mnav,
.dxmn-mnav-sheet,
.dxmn-mnav-backdrop { display:none; }

@media (max-width: 900px) {

    /* ---------- แถบล่างจอ ---------- */
    .dxmn-mnav {
        display:grid; grid-template-columns:repeat(5, 1fr); align-items:end;
        position:fixed; left:0; right:0; bottom:0; z-index:2900;
        background:#fff; border-top:1px solid var(--border);
        box-shadow:0 -6px 24px rgba(0,0,0,.07);
        padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    }
    .dxmn-mnav-item {
        display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:5px;
        padding:6px 2px; background:none; border:none; cursor:pointer;
        color:var(--text-m); text-decoration:none; font:inherit; min-height:52px;
        transition:color .18s var(--ease);
    }
    .dxmn-mnav-icon { position:relative; display:flex; align-items:center; justify-content:center; font-size:22px; line-height:1; }
    .dxmn-mnav-label { font-size:10px; font-weight:600; letter-spacing:.4px; line-height:1; }
    .dxmn-mnav-item.is-active { color:var(--black); }
    .dxmn-mnav-item.is-active .dxmn-mnav-icon { color:var(--black); }
    .dxmn-mnav-item.is-active .dxmn-mnav-label { font-weight:700; }
    .dxmn-mnav-badge {
        position:absolute; top:-5px; right:-9px; min-width:16px; height:16px; padding:0 4px;
        display:flex; align-items:center; justify-content:center;
        background:var(--black); color:#fff; border-radius:999px;
        font-size:9px; font-weight:700; line-height:1;
    }

    /* ปุ่ม MENU ตรงกลาง — ลอยขึ้นมาเป็นวงกลม */
    .dxmn-mnav-menu { color:var(--black); }
    .dxmn-mnav-menu-icon {
        width:48px; height:48px; margin-top:-22px; border-radius:999px;
        display:flex; align-items:center; justify-content:center;
        background:var(--black); color:#fff; font-size:22px;
        border:4px solid #fff; box-shadow:0 6px 18px rgba(0,0,0,.22);
        transition:transform .18s var(--ease);
    }
    .dxmn-mnav-menu[aria-expanded="true"] .dxmn-mnav-menu-icon { transform:rotate(90deg) scale(.94); }
    .dxmn-mnav-menu .dxmn-mnav-label { font-weight:700; letter-spacing:1px; }

    /* ---------- Backdrop ---------- */
    .dxmn-mnav-backdrop {
        display:block; position:fixed; inset:0; z-index:2950;
        background:rgba(15,18,26,.5); backdrop-filter:blur(2px);
        opacity:0; transition:opacity .25s var(--ease);
    }
    .dxmn-mnav-backdrop.is-open { opacity:1; }
    .dxmn-mnav-backdrop[hidden] { display:none; }

    /* ---------- Bottom sheet ---------- */
    .dxmn-mnav-sheet {
        display:flex; flex-direction:column;
        position:fixed; left:0; right:0; bottom:0; z-index:2960;
        max-height:86vh; background:#fff;
        border-radius:22px 22px 0 0; box-shadow:0 -10px 40px rgba(0,0,0,.24);
        transform:translateY(102%); transition:transform .28s cubic-bezier(.32,.72,0,1);
        overscroll-behavior:contain;
    }
    .dxmn-mnav-sheet.is-open { transform:translateY(0); }
    .dxmn-mnav-sheet[hidden] { display:none; }

    .dxmn-mnav-handle { flex:none; width:44px; height:4px; margin:10px auto 4px; border-radius:999px; background:#d7dbe3; cursor:grab; }
    .dxmn-mnav-sheet-head {
        flex:none; display:flex; align-items:center; gap:12px;
        padding:10px 18px 16px; border-bottom:1px solid var(--border);
    }
    .dxmn-mnav-sheet-icon {
        width:42px; height:42px; flex:none; border-radius:12px;
        display:flex; align-items:center; justify-content:center;
        background:var(--black); color:#fff; font-size:22px;
    }
    .dxmn-mnav-sheet-title { display:flex; flex-direction:column; gap:2px; min-width:0; }
    .dxmn-mnav-sheet-title strong { font-size:16px; font-weight:700; color:var(--text); line-height:1.2; }
    .dxmn-mnav-sheet-title span { font-size:10px; font-weight:700; letter-spacing:1.6px; color:var(--text-m); }
    .dxmn-mnav-sheet-close {
        margin-left:auto; flex:none; width:36px; height:36px; border-radius:999px;
        display:flex; align-items:center; justify-content:center;
        background:#f1f3f7; border:none; color:var(--text-2); font-size:22px; cursor:pointer;
    }
    .dxmn-mnav-sheet-close:active { background:#e4e8ef; }

    .dxmn-mnav-sheet-body {
        flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch;
        padding:18px 16px calc(24px + env(safe-area-inset-bottom));
    }
    .dxmn-mnav-group + .dxmn-mnav-group { margin-top:22px; }
    .dxmn-mnav-group-title {
        display:flex; align-items:center; gap:6px; margin-bottom:12px; padding-left:10px;
        position:relative; font-size:13px; font-weight:700; color:var(--text);
    }
    .dxmn-mnav-group-title::before {
        content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
        width:3px; height:14px; border-radius:2px; background:var(--black);
    }
    .dxmn-mnav-group-title span { font-size:10px; font-weight:700; letter-spacing:1.4px; color:var(--text-m); }

    .dxmn-mnav-tiles { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
    .dxmn-mnav-tile {
        display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px;
        padding:14px 6px 12px; text-decoration:none; text-align:center;
        background:#fff; border:1px solid var(--border); border-radius:14px;
        transition:transform .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);
    }
    .dxmn-mnav-tile:active { transform:scale(.96); background:#f6f7fa; }
    .dxmn-mnav-tile-icon {
        width:40px; height:40px; border-radius:12px; margin-bottom:2px;
        display:flex; align-items:center; justify-content:center;
        background:#f1f3f7; color:var(--text); font-size:21px;
    }
    .dxmn-mnav-tile-label { font-size:11px; font-weight:600; color:var(--text); line-height:1.25; word-break:break-word; }
    .dxmn-mnav-tile-sub { font-size:8px; font-weight:700; letter-spacing:.8px; color:var(--text-m); line-height:1; }
    .dxmn-mnav-tile.is-active { background:var(--black); border-color:var(--black); }
    .dxmn-mnav-tile.is-active .dxmn-mnav-tile-icon { background:rgba(255,255,255,.16); color:#fff; }
    .dxmn-mnav-tile.is-active .dxmn-mnav-tile-label { color:#fff; }
    .dxmn-mnav-tile.is-active .dxmn-mnav-tile-sub { color:rgba(255,255,255,.65); }

    body.dxmn-mnav-lock { overflow:hidden; }

    /* Storefront: ปุ่มแฮมเบอร์เกอร์เดิมซ้ำซ้อนกับปุ่ม MENU ด้านล่าง */
    .nav-menu-btn { display:none !important; }

    /* Admin: ซ่อน sidebar แล้วให้ bottom nav ทำหน้าที่แทน (breakpoint ตรงกัน) */
    .admin-wrap { grid-template-columns:1fr; }
    .admin-sidebar { display:none; }

    /* เว้นที่ให้แถบล่าง ไม่ให้ทับเนื้อหา */
    body { padding-bottom:74px; }
    .footer, footer.footer { margin-bottom:0; }
    .btt { bottom:88px; }
    .admin-main { padding-bottom:24px; }
}

@media (max-width: 400px) {
    .dxmn-mnav-tiles { grid-template-columns:repeat(3, minmax(0,1fr)); }
}


/* ============================================================
   MOBILE UI POLISH — เก็บรายละเอียดหน้าจอเล็ก (<=768px)
   ============================================================ */
@media (max-width: 768px) {

    /* ---------- SHOP: แถบหมวดหมู่เลื่อนแนวนอนแทนซ้อนตั้ง ---------- */
    .shop-chip-row {
        flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden;
        -webkit-overflow-scrolling:touch; scrollbar-width:none;
        margin-left:-20px; margin-right:-20px; padding:2px 20px 10px;
        scroll-snap-type:x proximity;
    }
    .shop-chip-row::-webkit-scrollbar { display:none; }
    .shop-chip-row > a {
        flex:0 0 auto; white-space:nowrap; scroll-snap-align:start;
        min-height:38px; padding:0 16px; font-size:12px;
    }

    /* หัวเรื่อง + toolbar ให้อยู่บรรทัดเดียวกันแบบพอดี */
    .shop-header-compact { margin-bottom:18px; }
    .shop-page-title { font-size:40px; }
    .shop-toolbar { width:100%; justify-content:space-between; }
    .shop-sort-select { flex:1 1 auto; max-width:60%; }

    /* ตัวกรอง */
    .shop-filters__form { padding:16px; }
    .shop-filters__price { display:flex; align-items:center; gap:8px; }
    .shop-filters__price input { min-width:0; flex:1 1 0; }
    .shop-filters__chips { flex-wrap:wrap; }
}

/* ---------- ชั้นซ้อน (z-index) ให้ overlay อยู่เหนือแถบล่างเสมอ ---------- */
.cart-overlay { z-index:3000; }
.cart-drawer { z-index:3010; }
.notification-popover { z-index:3020; }
.cookie-consent { z-index:3030; }

/* ---------- คลาสที่เคยเป็น inline style ---------- */
.auth-page-title { font-family:var(--font-d); font-size:42px; letter-spacing:3px; color:var(--black); margin-bottom:8px; line-height:1; overflow-wrap:anywhere; }
.account-order-page { padding:48px 0 72px; }
.account-order-wrap { grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr); align-items:start; }
.privacy-page { padding:48px 0 72px; }
.shop-page-title { font-family:var(--font-d); font-size:64px; letter-spacing:3px; line-height:1; }
.lookbook-page-title { font-family:var(--font-d); font-size:64px; letter-spacing:3px; line-height:1; }

@media (max-width: 900px) {
    /* หน้า product มี sticky bar ของตัวเองซ้อนอยู่เหนือแถบล่าง */
    .btt { bottom:calc(96px + env(safe-area-inset-bottom)); z-index:2700; }
    .cookie-consent { bottom:calc(88px + env(safe-area-inset-bottom)); }
}

@media (max-width: 1024px) {
    /* กันไม่ให้คอลัมน์ขวาของหน้ารายละเอียดออเดอร์ดัน layout จนจอเลื่อนแนวนอน */
    .account-order-wrap { grid-template-columns:1fr; }
}

@media (max-width: 768px) {

    /* ---------- โครงหน้าทั่วไป ---------- */
    .account-order-page, .privacy-page { padding:28px 20px 40px; }
    .auth-page-title { font-size:32px; letter-spacing:1.5px; }
    .shop-page-title, .lookbook-page-title { font-size:40px; letter-spacing:2px; }
    .privacy-page-title, .size-guide-page-title { overflow-wrap:anywhere; }

    /* ---------- HEADER: โลโก้อยู่กลาง + ปุ่มไม่ล้นขอบ ----------
       ห้ามใส่ flex:1 ให้ .nav-right — เนื้อหาข้างในบีบต่ำกว่า 4 ปุ่มไม่ได้ จะดันจนล้น */
    .nav { padding:0 12px; }
    .nav-left { flex:0 0 auto; }
    .nav-center { position:static; transform:none; flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
    .nav-right { flex:0 0 auto; gap:2px; }
    .nav-logo { font-size:26px; letter-spacing:2px; }
    .nav-btn { width:36px; height:36px; font-size:18px; }

    /* ---------- แจ้งเตือน: ไม่ทับ header และไม่จมใต้แถบล่าง ---------- */
    .notification-popover { top:calc(100% + 8px); max-height:calc(100vh - 200px); overflow-y:auto; }
    .notification-popover__body { max-height:none; }

    /* ---------- NEWSLETTER ---------- */
    .newsletter-section { padding:60px 20px; }
    .nl-form { flex-wrap:wrap; gap:10px; }
    .nl-form input { flex:1 1 100%; min-width:0; }
    .nl-form button { width:100%; }

    /* ---------- หมวดหมู่หน้าแรก ---------- */
    .cat-label { padding:16px 14px; }
    .cat-label h3 { font-size:19px; letter-spacing:1px; overflow-wrap:anywhere; }

    /* ---------- STEPPER 3 ขั้น ไม่ให้เหลือเศษบรรทัด ---------- */
    .store-stepper--3 { grid-template-columns:repeat(3, minmax(0,1fr)); }

    /* ---------- สรุปยอด / ตะกร้า ---------- */
    .checkout-summary { padding:20px 18px; }
    .cart-summary-total strong { font-size:28px; }
    .checkout-mini-line__text, .checkout-mini-line > div { min-width:0; }
    .checkout-mini-line__name { overflow-wrap:anywhere; }

    /* ---------- LOOKBOOK: การ์ดเดียวต่อแถว ---------- */
    .lookbook-grid { grid-template-columns:1fr; }
    .lookbook-overlay strong { font-size:24px; }

    /* ---------- ACCOUNT ---------- */
    .account-order-no-v2 { font-size:22px; letter-spacing:.5px; overflow-wrap:anywhere; }
    /* มือถือ: ซ่อนเมนูข้าง ใช้ dropdown แทน (เลื่อนหาแท็บลำบาก) */
    .account-sidebar-v2 { min-width:0; }
    .account-side-nav-v2 { display:none; }
    .account-tab-select-wrap-v2 { display:block; }
    /* รูปสลิปไม่ให้ยืดเป็นแถบยาว */
    .account-slip-inline-thumb-v2 { max-width:120px; }
    .account-slip-inline-thumb-v2 img { height:120px; }

    /* ---------- ตารางประวัติแต้ม: หัวตารางซ่อน ใช้ label ในแถวแทน ---------- */
    .account-points-history-head-v2 { display:none; }
    .account-points-history-row-v2 {
        display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px;
        align-items:center; padding:14px 0;
    }
    .account-points-history-row-v2 > span:nth-child(1) { grid-column:1; grid-row:1; font-size:11px; color:var(--text-m); }
    .account-points-history-row-v2 > span:nth-child(2) { grid-column:1; grid-row:2; font-size:13px; overflow-wrap:anywhere; }
    .account-points-history-row-v2 > strong { grid-column:2; grid-row:1 / span 2; justify-self:end; font-size:18px; }

    /* ---------- PRODUCT ---------- */
    .pd-add { padding:16px; letter-spacing:1px; font-size:12px; }
    .product-gallery-thumb { width:70px; }
    .product-size-pill { min-width:44px; padding:10px 12px; font-size:12px; }

    /* ---------- ตาราง size guide: บอกให้รู้ว่าเลื่อนได้ ---------- */
    .size-guide-table-shell { position:relative; }
    .size-guide-table-shell::after {
        content:''; position:absolute; top:0; right:0; bottom:0; width:28px; pointer-events:none;
        background:linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.95));
    }
    .dxmn-size-guide-modal { padding:16px; }

    /* ---------- ลายน้ำ DXMN ตัวใหญ่หลัง about strip ---------- */
    .about-strip::before { font-size:110px; letter-spacing:8px; }
}

@media (max-width: 480px) {
    .hero h1 { font-size:46px; letter-spacing:1px; overflow-wrap:anywhere; }
    .auth-page-title { font-size:27px; letter-spacing:1px; }
    .account-panel-title-v2 { font-size:30px; }
    .shop-page-title, .lookbook-page-title { font-size:34px; }
    /* trust bar 2 คอลัมน์ ไม่ปล่อยให้ยืดยาว 4 แถว */
    .trust-bar { grid-template-columns:1fr 1fr; }
    .trust-item { padding:16px 12px; }
    .dxmn-mnav-tile { min-height:96px; }
}


/* ---------- Account: dropdown เลือกแท็บ (แสดงเฉพาะมือถือ) ---------- */
.account-tab-select-wrap-v2 { display:none; position:relative; }
.account-tab-select-v2 {
    width:100%; min-height:48px; padding:0 40px 0 42px;
    border:1px solid var(--border); background:var(--white); color:var(--text);
    font-family:inherit; font-size:14px; font-weight:500; cursor:pointer;
    -webkit-appearance:none; appearance:none;
}
.account-tab-select-v2:focus { outline:none; border-color:var(--black); }
.account-tab-select-icon-v2, .account-tab-select-chevron-v2 {
    position:absolute; top:50%; transform:translateY(-50%);
    font-size:20px; color:var(--text-m); pointer-events:none;
}
.account-tab-select-icon-v2 { left:13px; }
.account-tab-select-chevron-v2 { right:13px; }

/* กฎนี้ต้องอยู่ "ท้ายสุด" — หลังนิยาม display:none ด้านบน ไม่งั้นจะโดนทับ */
@media (max-width: 768px) {
    .account-tab-select-wrap-v2 { display:block; margin-bottom:2px; }
    .account-side-nav-v2 { display:none; }
}
