/* NEXTTREND design tokens + Home components, ported from the design kit's THEME (data.jsx) */

/* No tap-flash highlight box on touch (iOS/Android draw one on any tappable
   element by default); actual hover states are further restricted to
   real-mouse devices near the bottom of this file. */
body.nexttrend-theme, body.nexttrend-theme *{ -webkit-tap-highlight-color:transparent; }

body.nexttrend-theme{
  --nt-grad: linear-gradient(135deg, var(--e-global-color-nt-primary-light, #6366F1) 0%, var(--e-global-color-nt-primary-dark, #3730A3) 100%);
  --nt-p400: var(--e-global-color-nt-primary-light, #6366F1);
  --nt-p500: #4F46E5;
  --nt-p600: #4338CA;
  --nt-p700: var(--e-global-color-nt-primary-dark, #3730A3);
  --nt-ink: var(--e-global-color-nt-ink, #0B0F19);
  --nt-muted: #6B6478;
  --nt-faint: #9B95A6;
  --nt-bg: var(--e-global-color-nt-page-bg, #F8FAFC);
  --nt-surface: var(--e-global-color-nt-card-bg, #FFFFFF);
  --nt-line: #E2E8F0;
  --nt-gold: #F2A93B;
  --nt-lime: #10B981;
  background: var(--nt-bg);
}

.nt-home{ font-family:'Manrope',sans-serif; color:var(--nt-ink); max-width:520px !important; margin:0 auto !important; }

/* Splash overlay — first-load-only (see header.php), the page underneath is
   already real HTML so nothing here blocks rendering or hurts SEO. */
.nt-splash{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:var(--nt-grad, linear-gradient(135deg,#6366F1 0%,#3730A3 100%)); opacity:1; transition:opacity .45s ease; }
.nt-splash-logo{ height:140px; animation:nt-splash-pop .5s cubic-bezier(.34,1.56,.64,1); }
.nt-splash-logo img{ height:100%; width:auto; display:block; filter:brightness(0) invert(1); }
.nt-splash.is-hidden{ opacity:0; pointer-events:none; }
html.nt-splash-seen .nt-splash{ display:none; }
@keyframes nt-splash-pop{ from{ opacity:0; transform:scale(.85); } to{ opacity:1; transform:scale(1); } }

/* Age gate — legally required for a tobacco/nicotine/vaping site, so unlike the
   splash it runs on every page, not just the front page. Content underneath
   stays in the DOM for crawlers; only interaction is blocked for real visitors
   until they confirm (or leave, via the "under 18" link). */
.nt-agegate{ position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; background:var(--nt-ink); padding:20px; }
.nt-agegate-card{ width:100%; max-width:360px; background:var(--nt-surface); border-radius:22px; padding:32px 26px; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.nt-agegate-logo{ height:36px; margin:0 auto 18px; }
.nt-agegate-logo img{ height:100%; width:auto; display:block; margin:0 auto; }
.nt-agegate-badge{ width:56px; height:56px; margin:0 auto 16px; border-radius:16px; background:var(--nt-grad); color:#fff; font-family:'Sora',sans-serif; font-weight:800; font-size:17px; display:flex; align-items:center; justify-content:center; }
.nt-agegate-title{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:var(--nt-ink); margin:0 0 12px; letter-spacing:-0.3px; }
.nt-agegate-text{ font-size:13px; color:var(--nt-muted); line-height:1.5; margin:0 0 14px; }
.nt-agegate-card .nt-btn{ margin-top:8px; }
.nt-agegate-no{ display:block; margin-top:14px; font-size:12.5px; font-weight:700; color:var(--nt-faint); text-decoration:none; }
html.nt-age-verified .nt-agegate{ display:none; }

/* B2B mode — "Login to view pricing" swapped in for wc_price() output when logged out.
   See inc/nt-b2b.php; safe to delete this rule too if that file is removed. */
.nt-b2b-locked{ color:var(--nt-p600); font-weight:700; text-decoration:none; font-size:inherit; }
/* The Home page's outer wrapper and its section containers are Elementor
   containers, which ship a default 10px padding on every side (it stacks —
   home's own 10px plus each section's own 10px). That's not part of this
   design system: every spacing value here is already deliberately set by the
   nt-* component classes below, so strip Elementor's default padding/gap. */
.nt-home.e-con, .nt-home .e-con{ padding:0 !important; gap:0 !important; }
.nt-home *{ box-sizing:border-box; }
.nt-home h1,.nt-home h2,.nt-home h3,.nt-home .nt-sora{ font-family:'Sora',sans-serif; }

/* Top bar */
.nt-topbar{ display:flex; align-items:center; justify-content:space-between; padding:4px 16px 0; gap:12px; }
.nt-topbar-left{ display:flex; align-items:center; gap:11px; min-width:0; }
.nt-logo{ width:auto; height:48px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nt-logo img{ height:100%; width:auto; display:block; }
.nt-greeting{ font-size:12px; color:var(--nt-muted); font-weight:600; }
.nt-discover{ font-family:'Sora',sans-serif; font-size:18px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.4px; }
.nt-menu-btn{ width:44px; height:44px; border-radius:13px; border:none; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer; }
.nt-menu-btn svg{ display:block; }
.nt-menu-btn.is-open{ background:var(--nt-grad); box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-menu-btn.is-open svg path, .nt-menu-btn.is-open svg g path{ stroke:#fff; }

/* Categories dropdown panel (Home top bar) */
.nt-topbar{ position:relative; }
.nt-menu-panel{ position:absolute; top:54px; right:16px; width:270px; max-width:calc(100vw - 32px); max-height:min(70vh, 520px); overflow-y:auto; background:rgba(255,255,255,0.86); backdrop-filter:blur(16px); border-radius:18px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7), 0 16px 40px rgba(11,15,25,0.18); padding:8px; z-index:150; }
.nt-menu-row{ width:100%; display:flex; align-items:center; gap:10px; padding:10px; border-radius:12px; border:none; background:transparent; cursor:pointer; text-decoration:none; text-align:left; font-family:'Manrope',sans-serif; font-size:14px; font-weight:600; color:var(--nt-ink); }
.nt-menu-row-all{ margin-bottom:2px; font-weight:700; color:var(--nt-p700); background:rgba(79,70,229,0.1); }
.nt-menu-row-ic{ width:28px; height:28px; border-radius:9px; background:rgba(11,15,25,0.05); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nt-menu-row-label{ flex:1; min-width:0; }
.nt-menu-row-chev{ display:flex; transition:transform .2s; flex-shrink:0; }
.nt-menu-cat.is-expanded .nt-menu-row-chev{ transform:rotate(90deg); }
.nt-menu-cat.is-expanded > .nt-menu-row-toggle{ background:rgba(79,70,229,0.08); }
.nt-menu-subs{ display:none; flex-direction:column; padding:2px 4px 6px 41px; }
.nt-menu-cat.is-expanded .nt-menu-subs{ display:flex; }
.nt-menu-subs a{ padding:7px 8px; border-radius:9px; text-decoration:none; font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:600; color:var(--nt-muted); }

/* Search bar */
.nt-search{ display:flex; align-items:center; gap:10px; height:48px; padding:0 14px; background:var(--nt-surface); border-radius:15px; box-shadow:inset 0 0 0 1.5px var(--nt-line); margin:16px 18px 0; text-decoration:none; }
.nt-search span{ font-size:14px; color:var(--nt-faint); font-weight:500; }
.nt-search input[type=search]{ flex:1; min-width:0; border:none; outline:none; background:transparent; font-family:'Manrope',sans-serif; font-size:14px; color:var(--nt-ink); font-weight:500; -webkit-appearance:none; appearance:none; }
.nt-search input[type=search]::placeholder{ color:var(--nt-faint); font-weight:500; }
.nt-search input[type=search]::-webkit-search-cancel-button,
.nt-search input[type=search]::-webkit-search-decoration,
.nt-search input[type=search]::-webkit-search-results-button,
.nt-search input[type=search]::-webkit-search-results-decoration{ -webkit-appearance:none; display:none; }
.nt-search-clear{ display:none; align-items:center; justify-content:center; width:22px; height:22px; padding:0; border:none; background:var(--nt-line); border-radius:50%; flex-shrink:0; cursor:pointer; }
.nt-search-clear.is-visible{ display:flex; }
.nt-search-clear svg{ pointer-events:none; }

/* Category chips */
.nt-chips{ display:flex; gap:8px; overflow-x:auto; padding:18px 18px 4px; scrollbar-width:none; }
.nt-chips::-webkit-scrollbar{ display:none; }
.nt-chip{ flex-shrink:0; display:flex; align-items:center; gap:7px; padding:9px 15px; border-radius:99px; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-size:13px; font-weight:700; color:var(--nt-ink); text-decoration:none; white-space:nowrap; }
.nt-chip.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-chip svg{ display:block; }

/* Hero carousel */
.nt-hero{ margin-top:16px; padding-left:18px; }
.nt-hero-track{ overflow:hidden; border-radius:20px; }
.nt-hero-slides{ display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.nt-hero-slide{ min-width:100%; padding-right:18px; box-sizing:border-box; }
.nt-hero-card{ height:158px; border-radius:20px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:22px; text-decoration:none; }
.nt-hero-card::before{ content:''; position:absolute; right:-30px; top:-30px; width:150px; height:150px; border-radius:999px; background:rgba(255,255,255,0.1); }
.nt-hero-card::after{ content:''; position:absolute; right:20px; bottom:-40px; width:110px; height:110px; border-radius:999px; background:rgba(255,255,255,0.08); }
.nt-hero-kicker{ font-size:11.5px; font-weight:700; letter-spacing:1px; color:rgba(255,255,255,0.75); text-transform:uppercase; position:relative; }
.nt-hero-title{ font-family:'Sora',sans-serif; font-size:23px; font-weight:700; color:#fff; letter-spacing:-0.5px; margin:6px 0 4px; max-width:220px; line-height:1.12; position:relative; }
.nt-hero-sub{ font-size:12.5px; color:rgba(255,255,255,0.7); position:relative; }
.nt-hero-cta{ display:inline-flex; align-self:flex-start; align-items:center; gap:5px; background:rgba(255,255,255,0.95); color:var(--nt-ink); font-weight:800; font-size:12.5px; padding:6px 10px; border-radius:99px; margin-top:12px; position:relative; text-decoration:none; }
.nt-hero-dots{ display:flex; gap:6px; margin-top:12px; justify-content:center; }
.nt-hero-dots span{ width:7px; height:7px; border-radius:99px; background:rgba(11,15,25,0.14); transition:all .3s; cursor:pointer; }
.nt-hero-dots span.is-active{ width:20px; background:var(--nt-grad); }

/* Section header */
.nt-section-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 18px 12px; }
.nt-section-head .nt-title{ font-family:'Sora',sans-serif; font-size:17px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.3px; }
.nt-section-head .nt-see-all{ font-size:13px; font-weight:700; color:var(--nt-p600); cursor:pointer; text-decoration:none; }

/* Product grid — item count differs per breakpoint: 8 mobile, 12 tablet, 10 desktop
   (the shortcode always renders 12; extras beyond each breakpoint's count are hidden). */
.nt-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; padding:0 18px 24px; }
.nt-grid > *:nth-child(n+9){ display:none; }
.nt-card{ position:relative; background:var(--nt-surface); border-radius:18px; padding:8px; box-shadow:0 4px 18px rgba(11,15,25,0.05); }
.nt-card-inner{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.nt-card-ph{ width:100%; height:120px; border-radius:13px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.nt-card-ph span{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:9.5px; letter-spacing:1px; text-transform:uppercase; font-weight:600; text-align:center; padding:0 8px; white-space:pre-line; }
.nt-card-tag{ position:absolute; top:8px; left:8px; color:#fff; font-weight:800; font-size:9.5px; letter-spacing:0.4px; padding:4px 8px; border-radius:99px; }
.nt-card-body{ padding:10px 6px 4px; }
.nt-card-brand{ font-size:10.5px; font-weight:700; color:var(--nt-faint); letter-spacing:0.4px; text-transform:uppercase; }
.nt-card-name{ font-family:'Sora',sans-serif; font-size:14px; font-weight:600; color:var(--nt-ink); margin:3px 0 6px; letter-spacing:-0.2px; line-height:1.2; }
.nt-card-rating{ display:flex; align-items:center; gap:5px; margin-bottom:9px; }
.nt-card-rating span{ font-size:11px; color:var(--nt-muted); font-weight:600; }
.nt-card-rating svg{ display:block; }
.nt-card-row{ display:flex; align-items:center; justify-content:space-between; }
.nt-card-price{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--nt-ink); }
.nt-price-suffix{ font-size:10.5px; font-weight:600; color:var(--nt-faint); }
.nt-card-add{ position:absolute; right:14px; bottom:12px; width:32px; height:32px; border-radius:11px; border:none; background:var(--nt-grad); display:flex; align-items:center; justify-content:center; box-shadow:0 5px 12px rgba(79,70,229,0.35); flex-shrink:0; cursor:pointer; transition:transform .15s, background .2s; text-decoration:none; z-index:2; }
.nt-card-add:active{ transform:scale(0.9); }
.nt-card-add.loading{ opacity:0.6; pointer-events:none; }
.nt-card-add.added{ background:#10B981; }
.nt-card .added_to_cart{ display:none !important; }

/* Bottom nav */
.nt-bottomnav-wrap{ position:fixed; left:0; right:0; bottom:0; padding:0 14px 22px; z-index:100; pointer-events:none; }
.nt-bottomnav{ max-width:520px; margin:0 auto; display:flex; align-items:center; justify-content:space-around; height:64px; border-radius:22px; padding:0 6px; background:rgba(255,255,255,0.72); backdrop-filter:blur(16px); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.6), 0 10px 30px rgba(11,15,25,0.14); pointer-events:auto; }
.nt-bottomnav a{ position:relative; border:none; background:transparent; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:56px; height:52px; text-decoration:none; }
.nt-tab-badge{ position:absolute; top:2px; right:6px; min-width:16px; height:16px; padding:0 4px; border-radius:99px; background:#EF4F8F; box-shadow:0 0 0 2px #fff; display:flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; font-size:10px; font-weight:800; color:#fff; line-height:1; }
.nt-bottomnav a .nt-tab-ic{ width:40px; height:30px; border-radius:10px; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.nt-bottomnav a.is-active .nt-tab-ic{ background:var(--nt-grad); box-shadow:0 6px 14px rgba(79,70,229,0.4); }
.nt-bottomnav a svg{ display:block; }
/* Reserve space so the fixed bottom nav never covers the last bit of content.
   Product/Checkout render their own fixed action bar instead (no bottom nav there —
   see the wp_footer hook), so this only matters on Home/Shop/Cart/Account. */
@media (max-width:782px){
  body.nexttrend-theme{ padding-bottom:100px; }
}
@media (min-width:783px){
  /* .nt-home only stops growing at 1440px — below that (i.e. real tablets, 768–1024px)
     it fills the full viewport width, so these containers need their own side gutter
     instead of relying on max-width centering to create one. */
  .nt-home{ max-width:1440px !important; }
  .nt-grid{ grid-template-columns:repeat(4,1fr); gap:20px; padding:0 32px 24px; }
  .nt-grid > *:nth-child(n+9){ display:block; }
  .nt-hero{ padding-left:32px; }
  .nt-hero-card{ height:280px; }
  .nt-hero-title{ font-size:30px; max-width:340px; }
  .nt-hero-sub{ font-size:14px; }
  .nt-topbar,.nt-chips,.nt-section-head,.nt-shop-head,.nt-toolbar,.nt-sheet,.nt-cart-wrap,.nt-checkout-wrap,.nt-auth-wrap{ padding-left:32px; padding-right:32px; }
  .nt-search{ margin-left:32px; margin-right:32px; }
  .nt-sheet{ max-width:1440px !important; }
  .nt-checkout-head{ margin-left:0; margin-right:0; padding-left:32px; padding-right:32px; }
  .nt-pd-addbar{ max-width:1440px; margin-left:auto; margin-right:auto; padding-left:32px; padding-right:32px; box-sizing:border-box; }
}
@media (min-width:1300px){
  .nt-grid, ul.products{ grid-template-columns:repeat(5,1fr) !important; }
  .nt-grid > *:nth-child(n+11){ display:none; }
}

/* ── Shop screen ─────────────────────────────────────────────── */
.nt-shop-head{ padding:6px 18px 0; }
.nt-shop-title{ font-family:'Sora',sans-serif; font-size:24px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.6px; }
.nt-shop-searchrow{ display:flex; gap:10px; padding:14px 18px 0; }
.nt-shop-searchrow .nt-search{ flex:1; margin:0; }
.nt-subchips{ display:flex; gap:8px; overflow-x:auto; padding:14px 18px 0; scrollbar-width:none; }
.nt-subchips a{ flex-shrink:0; height:34px; display:flex; align-items:center; padding:0 14px; border-radius:99px; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-size:12.5px; font-weight:700; color:var(--nt-muted); text-decoration:none; white-space:nowrap; }
.nt-subchips a.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }

/* In stock / out of stock toggle — same visual language as .nt-subchips, kept
   separate since it's a filter (not category navigation) and appears on both
   the plain shop and every category page. */
.nt-stock-chips{ display:flex; gap:8px; overflow-x:auto; padding:12px 18px 0; scrollbar-width:none; }
.nt-stock-chips a{ flex-shrink:0; height:32px; display:flex; align-items:center; padding:0 14px; border-radius:99px; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-size:12px; font-weight:700; color:var(--nt-muted); text-decoration:none; white-space:nowrap; }
.nt-stock-chips a.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-toolbar{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px 12px; }
.nt-toolbar span{ font-size:13px; color:var(--nt-muted); font-weight:600; }

/* ── Category drill-down header (product_cat archive) ───────────── */
.nt-cat-head{ padding:20px 18px 12px; }
.nt-cat-back{ display:flex; align-items:center; gap:6px; border:none; background:transparent; cursor:pointer; padding:0; margin-bottom:10px; font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; color:var(--nt-p600); text-decoration:none; }
.nt-cat-row{ display:flex; align-items:center; gap:11px; }
.nt-cat-icon{ width:40px; height:40px; border-radius:12px; background:var(--nt-grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-cat-title{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.4px; line-height:1.1; }
.nt-cat-meta{ font-family:'Manrope',sans-serif; font-size:12.5px; color:var(--nt-muted); font-weight:600; margin-top:2px; }

/* ── Product single ──────────────────────────────────────────── */
#nt-product{ position:relative; }
.nt-pd-hero{ position:relative; width:500px; max-width:100%; aspect-ratio:1/1; margin:0 auto; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.nt-pd-hero span{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600; text-align:center; padding:0 20px; }
.nt-pd-actions{ position:absolute; top:16px; left:18px; right:18px; display:flex; justify-content:space-between; z-index:5; }
.nt-pd-iconbtn{ width:44px; height:44px; border-radius:13px; border:none; background:rgba(255,255,255,0.85); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; cursor:pointer; }
#nt-wishlist-btn{ position:relative; }
#nt-wishlist-btn .nt-wish-filled{ position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(0.6); transition:opacity .15s, transform .15s; }
#nt-wishlist-btn .nt-wish-outline{ display:flex; transition:opacity .15s; }
#nt-wishlist-btn.is-wished .nt-wish-outline{ opacity:0; }
#nt-wishlist-btn.is-wished .nt-wish-filled{ opacity:1; transform:scale(1); }
.nt-sheet{ margin-top:-26px; background:var(--nt-bg); border-radius:28px 28px 0 0; padding:22px 22px 130px; position:relative; max-width:520px; margin-left:auto; margin-right:auto; }
.nt-pd-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.nt-pd-brand{ font-size:12px; font-weight:700; color:var(--nt-p600); letter-spacing:0.5px; text-transform:uppercase; }
.nt-pd-name{ font-family:'Sora',sans-serif; font-size:23px; font-weight:700; color:var(--nt-ink); margin:6px 0 0; letter-spacing:-0.5px; }
.nt-pd-price{ font-family:'Sora',sans-serif; font-size:24px; font-weight:800; color:var(--nt-ink); line-height:1; white-space:nowrap; }
.nt-pd-meta{ display:flex; align-items:center; gap:8px; margin-top:12px; }
.nt-pd-meta span{ font-size:13px; font-weight:700; color:var(--nt-ink); }
.nt-pd-stock{ margin-left:auto; display:flex; align-items:center; gap:5px; background:rgba(31,138,91,0.1); padding:5px 10px; border-radius:99px; }
.nt-pd-stock i{ width:7px; height:7px; border-radius:99px; background:#10B981; display:block; }
.nt-pd-stock span{ font-size:11.5px; font-weight:700; color:#10B981 !important; }
.nt-pd-stock.is-out-of-stock{ background:rgba(239,68,68,0.1); }
.nt-pd-stock.is-out-of-stock i{ background:#EF4444; }
.nt-pd-stock.is-out-of-stock span{ color:#EF4444 !important; }
.nt-pd-desc{ font-size:14px; line-height:1.6; color:var(--nt-muted); margin:18px 0 0; }
.nt-pd-label{ font-family:'Sora',sans-serif; font-size:14px; font-weight:700; color:var(--nt-ink); margin-bottom:10px; }
.nt-pd-sizes{ margin-top:22px; }
.nt-pd-pills{ display:flex; gap:9px; flex-wrap:wrap; }
.nt-pd-pill{ min-width:60px; height:44px; padding:0 16px; border-radius:13px; border:none; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:700; color:var(--nt-ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.nt-pd-pill.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }

/* ── Product single: barcode / weight / item-weight details ─────── */
.nt-pd-details{ margin-top:18px; background:#fff; border-radius:16px; padding:4px 14px; box-shadow:0 4px 16px rgba(11,15,25,0.05); }
.nt-pd-detail-row{ display:flex; align-items:center; gap:10px; padding:12px 0; }
.nt-pd-detail-row + .nt-pd-detail-row{ border-top:1px solid var(--nt-line); }
.nt-pd-detail-ic{ width:30px; height:30px; border-radius:9px; background:rgba(79,70,229,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nt-pd-detail-label{ font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; color:var(--nt-muted); flex:1; }
.nt-pd-detail-value{ font-family:'Sora',sans-serif; font-size:13.5px; font-weight:700; color:var(--nt-ink); text-align:right; }
.nt-pd-qty-row{ margin-top:22px; display:flex; align-items:center; justify-content:space-between; }
.nt-stepper{ display:flex; align-items:center; gap:14px; }
.nt-stepper button{ width:38px; height:38px; border-radius:11px; border:none; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.nt-stepper input{ font-family:'Sora',sans-serif; font-weight:700; font-size:17px; width:30px; text-align:center; border:none; background:transparent; color:var(--nt-ink); }
.nt-pd-addbar{ position:fixed; left:0; right:0; bottom:0; padding:12px 18px 26px; background:rgba(251,248,254,0.92); backdrop-filter:blur(12px); border-top:1px solid var(--nt-line); display:flex; gap:12px; align-items:center; z-index:99; max-width:520px; margin-left:auto; margin-right:auto; box-sizing:border-box; }
.nt-pd-addbar .nt-total-label{ font-size:11px; color:var(--nt-muted); font-weight:600; }
.nt-pd-addbar .nt-total-value{ font-family:'Sora',sans-serif; font-size:20px; font-weight:800; color:var(--nt-ink); }

/* Product page desktop: header bar on top, image left / details right below it.
   Placed after the base rules above so it wins the cascade at this breakpoint. */
@media (min-width:783px){
  #nt-product{ display:grid; grid-template-columns:1fr 1fr; grid-template-areas:"header header" "hero sheet"; column-gap:48px; align-items:start; padding-left:32px; padding-right:32px; box-sizing:border-box; }
  .nt-pd-actions{ grid-area:header; position:static; padding:24px 0 4px; }
  .nt-pd-hero{ grid-area:hero; width:100%; height:660px; aspect-ratio:auto; margin:0; border-radius:24px; position:sticky; top:24px; }
  .nt-sheet{ grid-area:sheet; margin-top:0; border-radius:0; background:transparent; box-shadow:none; padding:24px 0 120px; max-width:none !important; }
  .nt-pd-content{ max-width:none; margin:0; }
}

/* ── Buttons ──────────────────────────────────────────────────── */
.nt-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border:none; cursor:pointer; font-family:'Manrope',sans-serif; font-weight:700; border-radius:14px; font-size:15px; height:50px; padding:0 22px; letter-spacing:-0.2px; text-decoration:none; background:var(--nt-grad); color:#fff; box-shadow:0 8px 22px rgba(79,70,229,0.35); }
.nt-btn.nt-btn-lg{ font-size:16px; height:56px; padding:0 26px; }
.nt-btn.nt-btn-block{ width:100%; }
.nt-btn.nt-btn-disabled,
.nt-btn:disabled{ opacity:.45; box-shadow:none; cursor:not-allowed; pointer-events:none; }

/* ── Cart screen ──────────────────────────────────────────────── */
.nt-cart-wrap{ max-width:520px; margin:0 auto; padding-bottom:130px; }
.nt-cart-title{ padding:6px 18px 0; }
.nt-cart-title .nt-shop-title{ }
.nt-cart-title .nt-count{ font-size:13px; color:var(--nt-muted); font-weight:600; margin-left:8px; }
.nt-cart-items{ display:flex; flex-direction:column; gap:12px; padding:16px 18px 0; }
.nt-cart-item{ display:flex; gap:12px; background:#fff; border-radius:18px; padding:10px; box-shadow:0 4px 16px rgba(11,15,25,0.05); }
.nt-cart-item .nt-cart-ph{ width:76px; height:76px; flex-shrink:0; border-radius:13px; }
.nt-cart-item-body{ flex:1; min-width:0; display:flex; flex-direction:column; }
.nt-cart-item-name{ font-family:'Sora',sans-serif; font-size:14.5px; font-weight:600; color:var(--nt-ink); }
.nt-cart-item-meta{ font-size:11.5px; color:var(--nt-faint); font-weight:600; margin-top:2px; }
.nt-cart-item-row{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; }
.nt-cart-item-row .nt-stepper{ gap:8px; }
.nt-cart-item-row .nt-stepper button{ width:26px; height:26px; border-radius:8px; }
.nt-cart-item-row .nt-stepper button svg{ width:12px; height:12px; }
.nt-cart-item-row .nt-stepper input{ width:26px; height:26px; border-radius:8px; box-shadow:inset 0 0 0 1.5px var(--nt-line); text-align:center; border:none; font-family:'Sora',sans-serif; font-weight:700; font-size:13px; color:var(--nt-ink); background:#fff; -moz-appearance:textfield; }
.nt-cart-item-row .nt-stepper input::-webkit-outer-spin-button, .nt-cart-item-row .nt-stepper input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.nt-stepper.is-updating{ opacity:0.5; pointer-events:none; }
.nt-cart-item-price{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--nt-ink); }
.nt-promo{ margin:16px 18px 0; display:flex; gap:10px; align-items:center; background:rgba(79,70,229,0.06); border-radius:14px; padding:12px 14px; }
.nt-promo input{ flex:1; border:none; background:transparent; outline:none; font-size:14px; color:var(--nt-ink); font-weight:600; }
.nt-summary{ margin:18px 18px 0; background:#fff; border-radius:18px; padding:18px; box-shadow:0 4px 16px rgba(11,15,25,0.05); }
.nt-summary-row{ display:flex; justify-content:space-between; margin-bottom:12px; }
.nt-summary-row span:first-child{ font-size:14px; color:var(--nt-muted); font-weight:600; }
.nt-summary-row span:last-child{ font-size:14px; color:var(--nt-ink); font-weight:700; }
.nt-summary-hr{ height:1px; background:var(--nt-line); margin:4px 0 12px; }
.nt-summary-total{ display:flex; justify-content:space-between; align-items:center; }
.nt-summary-total span:first-child{ font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--nt-ink); }
.nt-summary-total span:last-child{ font-family:'Sora',sans-serif; font-size:21px; font-weight:800; color:var(--nt-ink); }
.nt-cart-cta{ padding:16px 18px 8px; }

/* ── Checkout ─────────────────────────────────────────────────── */
.nt-checkout-wrap{ max-width:520px; margin:0 auto; padding:20px 18px 150px; }
.nt-checkout-head{ display:flex; align-items:center; gap:12px; margin:-20px -18px 20px; padding:26px 18px 14px; border-bottom:1px solid var(--nt-line); }
.nt-checkout-back{ width:44px; height:44px; border-radius:13px; border:none; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); display:flex; align-items:center; justify-content:center; flex-shrink:0; text-decoration:none; }
.nt-checkout-title{ font-family:'Sora',sans-serif; font-size:21px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.5px; line-height:1; }
.nt-checkout-sub{ font-size:12.5px; color:var(--nt-muted); font-weight:600; margin-top:3px; }
.nt-section-title{ display:flex; align-items:center; gap:10px; margin:0 0 14px; }
.nt-section-num{ width:24px; height:24px; border-radius:8px; background:rgba(79,70,229,0.1); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:800; font-size:12px; color:var(--nt-p700); flex-shrink:0; }
.nt-section-title span.nt-t{ font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.3px; }
.nt-fields{ display:flex; flex-direction:column; gap:14px; margin-bottom:26px; }
.nt-field label{ display:block; font-size:12.5px; font-weight:700; color:var(--nt-muted); letter-spacing:0.1px; padding-left:2px; margin-bottom:7px; }
.nt-field .nt-field-box{ display:flex; align-items:center; gap:10px; height:52px; padding:0 14px; background:#fff; border-radius:14px; box-shadow:inset 0 0 0 1.5px var(--nt-line); }
.nt-field input,.nt-field select,.nt-field textarea{ flex:1; border:none; outline:none; background:transparent; font-family:'Manrope',sans-serif; font-size:15px; color:var(--nt-ink); font-weight:500; min-width:0; }
.nt-field-row{ display:flex; gap:12px; }
.nt-checkout-wrap .form-row{ margin:0 0 14px !important; }
.nt-checkout-wrap .form-row label{ display:block; font-size:12.5px; font-weight:700; color:var(--nt-muted); letter-spacing:0.1px; padding-left:2px; margin-bottom:7px; text-transform:uppercase; }
.nt-checkout-wrap .form-row label .required{ color:var(--nt-p600); text-decoration:none; }
.nt-checkout-wrap .form-row input.input-text,
.nt-checkout-wrap .form-row select,
.nt-checkout-wrap .form-row textarea{ width:100%; height:52px; padding:0 14px; background:#fff; border-radius:14px; box-shadow:inset 0 0 0 1.5px var(--nt-line); border:none; font-family:'Manrope',sans-serif; font-size:15px; color:var(--nt-ink); box-sizing:border-box; }
.nt-checkout-wrap .woocommerce-input-wrapper{ display:block; }
.nt-checkout-wrap .form-row.woocommerce-invalid input.input-text{ box-shadow:inset 0 0 0 2px #EF4F8F; }
.nt-checkout-wrap #place_order{ width:100%; }
.nt-checkout-wrap .woocommerce-terms-and-conditions-wrapper{ font-size:12px; color:var(--nt-muted); margin-bottom:100px; }
.nt-payment-box{ background:#fff; border-radius:16px; padding:14px; box-shadow:inset 0 0 0 2px var(--nt-p500), 0 8px 20px rgba(79,70,229,0.12); display:flex; align-items:center; gap:13px; margin-bottom:10px; }
.nt-payment-ic{ width:44px; height:44px; border-radius:13px; background:var(--nt-grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-payment-title{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.2px; }
.nt-payment-sub{ font-size:12.5px; color:var(--nt-muted); font-weight:600; margin-top:1px; }
.nt-order-summary{ background:#fff; border-radius:18px; padding:16px; box-shadow:0 4px 16px rgba(11,15,25,0.05); margin-top:14px; }
.nt-order-line{ display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.nt-order-line-ph{ width:44px; height:44px; border-radius:10px; flex-shrink:0; }
.nt-order-line-name{ font-family:'Sora',sans-serif; font-size:13.5px; font-weight:600; color:var(--nt-ink); }
.nt-order-line-meta{ font-size:11.5px; color:var(--nt-faint); font-weight:600; }
.nt-checkout-cta{ position:fixed; left:0; right:0; bottom:0; padding:12px 18px 26px; background:rgba(251,248,254,0.92); backdrop-filter:blur(12px); border-top:1px solid var(--nt-line); z-index:99; max-width:520px; margin-left:auto; margin-right:auto; box-sizing:border-box; }

/* ── Auth (login/register/account) ───────────────────────────── */
.nt-auth-wrap{ max-width:420px; margin:0 auto; padding:28px 20px 40px; }
.nt-auth-card{ background:#fff; border-radius:20px; padding:22px 20px; box-shadow:0 4px 20px rgba(11,15,25,0.06); }
.nt-auth-title{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.5px; margin-bottom:5px; }
.nt-auth-sub{ font-size:13.5px; color:var(--nt-muted); margin-bottom:16px; }
.nt-auth-prompt{ text-align:center; margin-top:18px; font-size:13.5px; color:var(--nt-muted); font-weight:600; }
.nt-auth-link{ border:none; background:none; padding:0; cursor:pointer; color:var(--nt-p600); font-weight:700; font-size:inherit; font-family:inherit; text-decoration:none; }
.nt-auth-wrap .woocommerce-form-row,.nt-auth-wrap p.form-row{ margin-bottom:14px !important; }
.nt-auth-wrap label{ display:block; font-size:12.5px; font-weight:700; color:var(--nt-muted); margin-bottom:7px; }
.nt-auth-wrap input[type=text],.nt-auth-wrap input[type=email],.nt-auth-wrap input[type=password]{ width:100%; height:52px; padding:0 14px; background:var(--nt-bg); border-radius:14px; box-shadow:inset 0 0 0 1.5px var(--nt-line); border:none; font-family:'Manrope',sans-serif; font-size:15px; color:var(--nt-ink); box-sizing:border-box; }
.nt-auth-wrap button[type=submit],.nt-auth-wrap input[type=submit]{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:52px; border-radius:14px; border:none; background:var(--nt-grad); color:#fff; font-family:'Manrope',sans-serif; font-weight:700; font-size:15px; cursor:pointer; margin-top:6px; box-shadow:0 8px 22px rgba(79,70,229,0.35); }
.nt-auth-wrap .form-row{ margin-bottom:14px; }
.nt-auth-wrap .u-column2{ margin-top:26px; padding-top:26px; border-top:1px solid var(--nt-line); }

/* WooCommerce loop card ⇒ nt-card look */
ul.products{ display:grid !important; grid-template-columns:repeat(2,1fr); gap:14px; list-style:none !important; margin:0 !important; padding:0 18px 24px !important; max-width:520px; margin-left:auto !important; margin-right:auto !important; }
ul.products::before, ul.products::after{ content:none !important; display:none !important; }
ul.products li.product{ margin:0 !important; width:auto !important; float:none !important; text-align:left !important; }
ul.products li.product a{ text-decoration:none !important; }
ul.products li.product a img:not(.nt-card-ph img){ display:none !important; }
ul.products li.product .nt-card{ height:100%; }
@media (min-width:783px){ ul.products{ grid-template-columns:repeat(4,1fr); gap:20px; max-width:1440px; padding:0 32px 24px !important; } }

/* ── Search suggestions dropdown ─────────────────────────────── */
.nt-search-suggest{ position:absolute; left:0; right:0; top:calc(100% + 8px); background:#fff; border-radius:16px; box-shadow:0 12px 32px rgba(11,15,25,0.14), inset 0 0 0 1px var(--nt-line); overflow:hidden; z-index:200; }
.nt-suggest-row{ display:flex; align-items:center; gap:10px; padding:9px 12px; text-decoration:none; color:inherit; }
.nt-suggest-row.is-active{ background:rgba(79,70,229,0.06); }
.nt-suggest-ph{ width:38px; height:38px; border-radius:10px; flex-shrink:0; display:block; }
.nt-suggest-body{ flex:1; min-width:0; display:flex; flex-direction:column; }
.nt-suggest-brand{ font-size:9.5px; font-weight:700; color:var(--nt-faint); letter-spacing:0.4px; text-transform:uppercase; }
.nt-suggest-name{ font-family:'Sora',sans-serif; font-size:13.5px; font-weight:600; color:var(--nt-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nt-suggest-price{ font-family:'Sora',sans-serif; font-size:13px; font-weight:700; color:var(--nt-ink); flex-shrink:0; }
.nt-suggest-seeall{ display:block; text-align:center; padding:11px 12px; font-size:12.5px; font-weight:700; color:var(--nt-p600); text-decoration:none; border-top:1px solid var(--nt-line); }
.nt-suggest-seeall.is-active{ background:rgba(79,70,229,0.06); }
.nt-suggest-empty{ text-align:center; padding:18px 14px; font-size:13px; font-weight:600; color:var(--nt-faint); }

/* ── Shop toolbar: sort dropdown + pagination, matching the pill/glass system ─── */
.nt-toolbar .woocommerce-ordering{ margin:0; }
.woocommerce-ordering select.orderby{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  display:inline-flex; align-items:center; height:36px; padding:0 34px 0 15px;
  border:none; border-radius:99px; background-color:#fff; background-repeat:no-repeat; background-position:right 12px center;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%237C3AED' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  box-shadow:inset 0 0 0 1.5px var(--nt-line);
  font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:700; color:var(--nt-ink);
  cursor:pointer;
}
.woocommerce-ordering select.orderby:focus{ outline:none; box-shadow:inset 0 0 0 2px var(--nt-p500); }

.nt-pagination-wrap{ max-width:520px; margin:0 auto; padding:14px 18px 110px; display:flex; }
nav.woocommerce-pagination{ display:flex; }
nav.woocommerce-pagination ul.page-numbers{
  list-style:none; display:flex; align-items:center; gap:8px; margin:0 !important; padding:0 !important;
  background:none !important; border-radius:0 !important; box-shadow:none !important; border:none !important;
}
nav.woocommerce-pagination ul.page-numbers li{ display:flex; float:none; border:none !important; padding:0 !important; margin:0 !important; overflow:visible !important; }
nav.woocommerce-pagination .page-numbers{
  display:flex !important; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 6px !important;
  border-radius:9px !important; background:#fff !important; box-shadow:inset 0 0 0 1.5px var(--nt-line) !important; border:none !important;
  font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:600; line-height:1; color:var(--nt-faint) !important; text-decoration:none;
  transition:box-shadow .18s ease, color .18s ease;
}
nav.woocommerce-pagination .page-numbers.current{
  color:var(--nt-p600) !important; font-weight:800; box-shadow:inset 0 0 0 2px var(--nt-p600) !important;
}
nav.woocommerce-pagination .page-numbers.dots{ box-shadow:none !important; background:none !important; color:var(--nt-faint) !important; min-width:auto; padding:0 2px; }
nav.woocommerce-pagination .page-numbers.next,
nav.woocommerce-pagination .page-numbers.prev{ font-size:0; position:relative; color:var(--nt-ink) !important; }
nav.woocommerce-pagination .page-numbers.next::before,
nav.woocommerce-pagination .page-numbers.prev::before{
  content:''; width:7px; height:7px; border-top:2px solid var(--nt-ink); border-right:2px solid var(--nt-ink);
}
nav.woocommerce-pagination .page-numbers.next::before{ transform:rotate(45deg); margin-left:-2px; }
nav.woocommerce-pagination .page-numbers.prev::before{ transform:rotate(-135deg); margin-right:-2px; }

/* ── Profile ──────────────────────────────────────────────────── */
.nt-profile{ max-width:520px; margin:0 auto; padding:20px 18px 110px; }
.nt-profile-head{ display:flex; align-items:center; gap:14px; background:radial-gradient(120% 130% at 100% 0%, #2A1454 0%, #160B2C 100%); border-radius:24px; padding:20px; position:relative; overflow:hidden; }
.nt-profile-head::before{ content:''; position:absolute; right:-30px; top:-30px; width:130px; height:130px; border-radius:999px; background:radial-gradient(circle, rgba(99,102,241,0.4), transparent 70%); }
.nt-profile-avatar{ width:64px; height:64px; border-radius:20px; background:var(--nt-grad); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 3px rgba(255,255,255,0.12); font-family:'Sora',sans-serif; font-weight:800; font-size:24px; color:#fff; flex-shrink:0; position:relative; }
.nt-profile-id{ flex:1; min-width:0; position:relative; }
.nt-profile-name{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; color:#fff; letter-spacing:-0.3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nt-profile-email{ font-size:13px; color:rgba(255,255,255,0.55); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nt-profile-badge{ display:inline-flex; align-items:center; gap:5px; margin-top:8px; background:rgba(255,255,255,0.12); padding:4px 10px; border-radius:99px; }
.nt-profile-badge span{ font-size:11px; font-weight:700; color:#fff; }
.nt-profile-editbtn{ width:38px; height:38px; border-radius:12px; border:none; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; text-decoration:none; }
.nt-profile-stats{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:14px; }
.nt-profile-stat{ background:#fff; border-radius:16px; padding:14px 8px; text-align:center; box-shadow:0 4px 14px rgba(11,15,25,0.04); display:block; text-decoration:none; color:inherit; }
.nt-profile-stat-ic{ width:34px; height:34px; border-radius:11px; background:rgba(79,70,229,0.09); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; }
.nt-profile-stat-n{ font-family:'Sora',sans-serif; font-size:20px; font-weight:800; color:var(--nt-ink); line-height:1; }
.nt-profile-stat-l{ font-size:11.5px; color:var(--nt-muted); font-weight:600; margin-top:4px; }
.nt-profile-section{ margin-top:22px; }
.nt-profile-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.nt-profile-section-head .nt-title{ font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.3px; }
.nt-profile-section-head .nt-see-all{ font-size:13px; font-weight:700; color:var(--nt-p600); text-decoration:none; }
.nt-profile-section > .nt-title{ display:block; font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.3px; margin-bottom:12px; }

.nt-lang-switch{ display:flex; gap:8px; }
.nt-lang-pill{ flex:1; text-align:center; padding:12px; border-radius:13px; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-size:13.5px; font-weight:700; color:var(--nt-muted); text-decoration:none; }
.nt-lang-pill.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-profile-orders{ display:flex; flex-direction:column; gap:10px; }
.nt-profile-order{ display:flex; align-items:center; gap:12px; background:#fff; border-radius:16px; padding:12px; box-shadow:0 4px 14px rgba(11,15,25,0.04); text-decoration:none; }
.nt-profile-order-ph{ width:46px; height:46px; border-radius:12px; flex-shrink:0; }
.nt-profile-order-body{ flex:1; min-width:0; }
.nt-profile-order-id{ font-family:'Sora',sans-serif; font-size:14px; font-weight:700; color:var(--nt-ink); }
.nt-profile-order-meta{ font-size:12px; color:var(--nt-muted); font-weight:600; margin-top:2px; }
.nt-profile-order-right{ text-align:right; flex-shrink:0; }
.nt-profile-order-total{ font-family:'Sora',sans-serif; font-size:14px; font-weight:700; color:var(--nt-ink); }
.nt-profile-order-total .amount{ font-size:inherit; }
.nt-profile-order-status{ display:inline-block; margin-top:4px; font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:99px; }
.nt-profile-empty{ background:#fff; border-radius:16px; padding:20px; text-align:center; color:var(--nt-muted); font-size:13px; box-shadow:0 4px 14px rgba(11,15,25,0.04); }
.nt-profile-card{ background:#fff; border-radius:18px; padding:4px 16px; box-shadow:0 4px 14px rgba(11,15,25,0.04); }
.nt-profile-row{ display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--nt-line); text-decoration:none; background:none; border-left:none; border-right:none; border-top:none; width:100%; cursor:pointer; }
.nt-profile-row-last{ border-bottom:none; }
.nt-profile-row-ic{ width:34px; height:34px; border-radius:10px; background:rgba(79,70,229,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nt-profile-row-label{ flex:1; text-align:left; font-size:14.5px; font-weight:600; color:var(--nt-ink); }
.nt-profile-pagination{ display:flex; gap:10px; margin-top:16px; }
.nt-profile-pagination .nt-btn{ flex:1; text-align:center; }

/* ── Orders (account) — mirrors the design kit's AdminOrdersScreen ──────── */
.nt-ord-head{ display:flex; flex-direction:column; margin-bottom:16px; }
.nt-ord-eyebrow{ font-family:'Manrope',sans-serif; font-size:12px; color:var(--nt-muted); font-weight:600; }
.nt-ord-title{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:var(--nt-ink); letter-spacing:-0.4px; }
.nt-ord-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
.nt-ord-stat{ background:#fff; border-radius:16px; padding:12px 13px; box-shadow:0 4px 14px rgba(11,15,25,0.04); }
.nt-ord-stat-n{ font-family:'Sora',sans-serif; font-size:18px; font-weight:800; color:var(--nt-ink); letter-spacing:-0.4px; }
.nt-ord-stat-l{ font-family:'Manrope',sans-serif; font-size:11.5px; color:var(--nt-muted); font-weight:600; margin-top:2px; }
.nt-ord-chips{ display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; margin-bottom:14px; scrollbar-width:none; }
.nt-ord-chips::-webkit-scrollbar{ display:none; }
.nt-ord-chip{ flex-shrink:0; display:flex; align-items:center; gap:7px; height:38px; padding:0 14px; border-radius:99px; border:none; cursor:pointer; background:#fff; box-shadow:inset 0 0 0 1.5px var(--nt-line); font-family:'Manrope',sans-serif; font-weight:700; font-size:12.5px; color:var(--nt-ink); white-space:nowrap; }
.nt-ord-chip span{ font-size:11px; font-weight:800; color:var(--nt-faint); background:rgba(11,15,25,0.06); padding:1px 7px; border-radius:99px; }
.nt-ord-chip.is-active{ background:var(--nt-grad); color:#fff; box-shadow:0 6px 14px rgba(79,70,229,0.3); }
.nt-ord-chip.is-active span{ color:#fff; background:rgba(255,255,255,0.22); }
.nt-ord-list{ display:flex; flex-direction:column; gap:10px; }
.nt-ord-card{ display:flex; flex-direction:column; gap:12px; background:#fff; border-radius:18px; padding:13px; box-shadow:0 4px 14px rgba(11,15,25,0.04); text-decoration:none; }
.nt-ord-top{ display:flex; align-items:center; gap:12px; }
.nt-ord-badge{ width:42px; height:42px; border-radius:13px; background:var(--nt-grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nt-ord-info{ flex:1; min-width:0; }
.nt-ord-id{ font-family:'Sora',sans-serif; font-size:14.5px; font-weight:700; color:var(--nt-ink); }
.nt-ord-meta{ font-family:'Manrope',sans-serif; font-size:12.5px; color:var(--nt-muted); font-weight:600; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nt-ord-status{ flex-shrink:0; font-family:'Manrope',sans-serif; font-weight:800; font-size:11.5px; padding:5px 11px; border-radius:99px; }
.nt-ord-bottom{ display:flex; align-items:center; justify-content:space-between; padding-top:11px; border-top:1px solid var(--nt-line); }
.nt-ord-thumbs{ display:flex; align-items:center; }
.nt-ord-thumb{ display:inline-block; overflow:hidden; width:30px; height:30px; border-radius:9px; box-shadow:0 0 0 2px #fff; margin-left:-8px; }
.nt-ord-thumb:first-child{ margin-left:0; }
.nt-ord-totalrow{ display:flex; align-items:center; gap:8px; }
.nt-ord-total{ font-family:'Sora',sans-serif; font-size:15px; font-weight:800; color:var(--nt-ink); letter-spacing:-0.3px; }
.nt-ord-total .amount{ font-size:inherit; }

/* ── Address book ─────────────────────────────────────────────── */
.nt-address-grid{ display:flex; flex-direction:column; gap:12px; }
@media (min-width:783px){ .nt-address-grid{ flex-direction:row; } .nt-address-card{ flex:1; } }
.nt-address-card{ background:#fff; border-radius:18px; padding:16px; box-shadow:0 4px 14px rgba(11,15,25,0.04); }
.nt-address-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.nt-address-edit{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--nt-p600); text-decoration:none; }
.nt-address-body{ font-size:13.5px; line-height:1.6; color:var(--nt-muted); }
.nt-address-body br{ content:''; }

/* ── Order detail (default WooCommerce table, lightly reskinned) ── */
.nt-checkout-wrap mark{ background:none; color:var(--nt-ink); font-weight:700; }
.nt-checkout-wrap table.shop_table{ width:100%; border-collapse:collapse; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 14px rgba(11,15,25,0.04); margin:16px 0; font-size:13.5px; }
.nt-checkout-wrap table.shop_table th, .nt-checkout-wrap table.shop_table td{ padding:12px 14px; border-bottom:1px solid var(--nt-line); text-align:left; color:var(--nt-ink); }
.nt-checkout-wrap table.shop_table th{ font-size:11.5px; text-transform:uppercase; letter-spacing:0.4px; color:var(--nt-faint); font-weight:700; }
.nt-checkout-wrap table.shop_table tfoot th, .nt-checkout-wrap table.shop_table tfoot td{ font-weight:700; }
.nt-checkout-wrap table.shop_table tr:last-child td, .nt-checkout-wrap table.shop_table tr:last-child th{ border-bottom:none; }
.nt-checkout-wrap address{ font-style:normal; font-size:13.5px; line-height:1.6; color:var(--nt-muted); }
.nt-checkout-wrap .woocommerce-columns{ display:flex; flex-wrap:wrap; gap:12px; list-style:none; margin:16px 0; padding:0; }
.nt-checkout-wrap .woocommerce-column{ flex:1; min-width:220px; background:#fff; border-radius:16px; padding:16px; box-shadow:0 4px 14px rgba(11,15,25,0.04); }
.nt-checkout-wrap .woocommerce-column__title{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--nt-ink); margin:0 0 8px; }
.nt-checkout-wrap .wc-bacs-bank-details, .nt-checkout-wrap .woocommerce-order-details, .nt-checkout-wrap .woocommerce-customer-details{ margin-top:8px; }
.nt-checkout-wrap .order-again .button{ display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 20px; border-radius:13px; background:var(--nt-grad); color:#fff; font-weight:700; font-size:13.5px; text-decoration:none; margin-top:10px; }

/* OneSignal push slide-prompt, restyled to match the NEXTTREND brand kit.
   Selectors are OneSignal's documented, stable IDs/classes for the slidedown widget. */
#onesignal-slidedown-container, .onesignal-slidedown-container{
  font-family:'Manrope',sans-serif !important;
}
#onesignal-slidedown-dialog, .slidedown-container, .onesignal-slidedown-dialog{
  background:#FFFFFF !important;
  border-radius:18px !important;
  box-shadow:0 20px 50px rgba(11,15,25,0.18) !important;
  border:1px solid #E2E8F0 !important;
  overflow:hidden !important;
}
.slidedown-body, .onesignal-slidedown-body{
  padding:18px 20px !important;
}
.slidedown-body-icon, .onesignal-slidedown-icon, #onesignal-slidedown-dialog img{
  border-radius:12px !important;
}
.slidedown-body-message, .onesignal-slidedown-message, #onesignal-slidedown-dialog p{
  color:#0B0F19 !important;
  font-family:'Manrope',sans-serif !important;
  font-size:13.5px !important;
  line-height:1.5 !important;
}
#onesignal-slidedown-allow-button, .slidedown-button.primary, .onesignal-slidedown-allow-button{
  background:linear-gradient(135deg,#6366F1 0%,#3730A3 100%) !important;
  background-color:#4F46E5 !important;
  border:none !important;
  border-radius:12px !important;
  color:#FFFFFF !important;
  font-weight:700 !important;
  font-family:'Manrope',sans-serif !important;
  box-shadow:0 6px 14px rgba(79,70,229,0.3) !important;
}
#onesignal-slidedown-cancel-button, .slidedown-button.secondary, .onesignal-slidedown-cancel-button{
  background:#F8FAFC !important;
  border:1.5px solid #E2E8F0 !important;
  border-radius:12px !important;
  color:#6B6478 !important;
  font-weight:700 !important;
  font-family:'Manrope',sans-serif !important;
}

/* ── Hover states, real-mouse only ───────────────────────────────
   Touch devices synthesize :hover on tap with no corresponding "leave"
   event, so these would otherwise stay visibly "stuck" on whatever was
   just tapped. Gating on (hover:hover) and (pointer:fine) means they only
   ever apply on an actual mouse. */
@media (hover:hover) and (pointer:fine){
  .nt-agegate-no:hover{ color:var(--nt-muted); text-decoration:underline; }
  .nt-b2b-locked:hover{ text-decoration:underline; }
  .nt-menu-row:hover{ background:rgba(79,70,229,0.08); }
  .nt-menu-subs a:hover{ background:rgba(79,70,229,0.06); color:var(--nt-p700); }
  .nt-auth-link:hover{ text-decoration:underline; }
  .nt-suggest-row:hover{ background:rgba(79,70,229,0.06); }
  .nt-suggest-seeall:hover{ background:rgba(79,70,229,0.06); }
  nav.woocommerce-pagination a.page-numbers:hover{ box-shadow:inset 0 0 0 1.5px var(--nt-p500) !important; color:var(--nt-p600) !important; }
  nav.woocommerce-pagination a.page-numbers:hover::before{ border-color:var(--nt-p600); }
  #onesignal-slidedown-allow-button:hover, #onesignal-slidedown-cancel-button:hover{ filter:brightness(1.05); }
}
