/*
Theme Name: Bridal Bloom
Theme URI: https://example.com/bridal-bloom
Author: BridalBloom
Description: Premium Azazie-style bridal eCommerce WordPress theme. Exact font and color match, WooCommerce ready, fully mobile responsive.
Version: 6.0.0
Requires at least: 5.8
Tested up to: 6.5
WC requires at least: 7.0
License: GNU General Public License v2 or later
Text Domain: bridal-bloom
Tags: e-commerce, woocommerce, bridal, fashion, elegant
*/

:root {
  --black:  #121212;
  --dark:   #1a1a1a;
  --muted:  #767676;
  --light:  #aaaaaa;
  --border: #e5e5e5;
  --bg:     #ffffff;
  --bg2:    #fafafa;
  --red:    #c0392b;
  --fd:     'Libre Baskerville', Georgia, serif;
  --fs:     'Raleway', Arial, sans-serif;
  --tr:     0.22s ease;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--fs); color: var(--black); background: var(--bg); line-height: 1.7; overflow-x: hidden; width: 100%; }
* { max-width: 100%; }
img { width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: var(--tr); }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ── ACTIVITY BAR ── */
.act-bar { background: var(--bg); border-bottom: 1px solid var(--border); height: 34px; overflow: hidden; position: relative; display: flex; align-items: center; width: 100%; }
.act-track { display: flex; transition: transform .5s ease; height: 100%; width: 100%; }
.act-slide { min-width: 100%; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 0 40px; font-size: 11px; letter-spacing: .04em; white-space: nowrap; overflow: hidden; }
.act-slide a { font-weight: 600; flex-shrink: 0; }
.act-slide a:hover { text-decoration: underline; }
.act-arr { position: absolute; top: 50%; transform: translateY(-50%); font-size: 1rem; color: var(--muted); padding: 4px 10px; z-index: 5; background: none; border: none; cursor: pointer; }
.act-arr.prev { left: 2px; }
.act-arr.next { right: 2px; }

/* ── HEADER ── */
.site-header { background: var(--bg); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid var(--border); width: 100%; }
.hdr-row { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; height: 56px; }
.logo-group { display: flex; align-items: center; flex-shrink: 0; min-width: 0; }
.site-logo { font-family: var(--fs); font-size: 1rem; font-weight: 700; letter-spacing: .14em; color: var(--black); text-transform: uppercase; flex-shrink: 0; }
.site-logo-wrap { display: inline-block; line-height: 0; flex-shrink: 0; }
.site-logo-wrap img, .site-logo-wrap svg { height: 38px; width: auto; max-width: 180px; }
.sub-brands { display: flex; align-items: center; gap: 10px; border-left: 1px solid var(--border); padding-left: 12px; margin-left: 14px; }
.sub-brand { font-size: .62rem; color: var(--light); letter-spacing: .06em; font-weight: 500; white-space: nowrap; }
.sub-brand:hover { color: var(--black); }
.hdr-actions { display: flex; align-items: center; gap: 1px; flex-shrink: 0; }
.hdr-btn { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 5px 8px; min-width: 38px; cursor: pointer; flex-shrink: 0; }
.hdr-ico { font-size: .88rem; line-height: 1; position: relative; display: inline-block; }
.hdr-lbl { font-size: .52rem; color: var(--muted); letter-spacing: .03em; white-space: nowrap; font-family: var(--fs); }
.cart-ct { position: absolute; top: -5px; right: -8px; background: var(--black); color: #fff; border-radius: 50%; width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; font-size: .48rem; font-weight: 700; }
.hdr-div { width: 1px; height: 16px; background: var(--border); margin: 0 1px; flex-shrink: 0; }
.country-btn { display: flex; align-items: center; gap: 4px; padding: 5px 6px; cursor: pointer; background: none; border: none; flex-shrink: 0; }
.flag-ico { width: 18px; height: 12px; border: 1px solid var(--border); background: linear-gradient(180deg,#B22234 0 33%,#fff 33% 66%,#B22234 66% 100%); position: relative; overflow: hidden; flex-shrink: 0; }
.flag-ico::before { content: ''; position: absolute; top: 0; left: 0; width: 40%; height: 55%; background: #3C3B6E; }
.nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 8px 6px; cursor: pointer; background: none; border: none; flex-shrink: 0; }
.nav-toggle span { width: 20px; height: 1.5px; background: var(--black); display: block; transition: var(--tr); }

/* ── NAV ── */
.nav-bar { border-top: 1px solid var(--border); width: 100%; overflow: hidden; }
.nav-menu { max-width: 1280px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; }
.nav-menu::-webkit-scrollbar { display: none; }
.nav-menu a { display: block; padding: 11px 11px; font-family: var(--fs); font-size: .6rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: var(--black); white-space: nowrap; border-bottom: 2px solid transparent; transition: var(--tr); }
.nav-menu a:hover, .nav-menu a.cur { color: var(--black); border-bottom-color: var(--black); }
.nav-menu a.nav-red { color: var(--red); }

/* ── TRY ON POPUP ── */
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; align-items: center; justify-content: center; padding: 16px; }
.modal-overlay.open { display: flex; }
.modal-box { background: var(--bg); width: 100%; max-width: 820px; max-height: 90vh; overflow-y: auto; position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.modal-close { position: absolute; top: 10px; right: 12px; font-size: 1.2rem; color: var(--muted); z-index: 5; padding: 4px 8px; background: none; border: none; cursor: pointer; }
.modal-img-side { position: relative; min-height: 340px; overflow: hidden; }
.modal-img-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.modal-img-cap { position: absolute; bottom: 20px; left: 20px; }
.modal-img-cap h3 { font-family: var(--fd); font-size: clamp(15px,2vw,20px); color: #fff; font-weight: 400; text-shadow: 0 1px 4px rgba(0,0,0,.5); line-height: 1.3; font-style: italic; }
.modal-body { padding: 28px 24px; display: flex; flex-direction: column; justify-content: center; }
.modal-tag { font-size: .58rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; font-family: var(--fs); }
.modal-title { font-family: var(--fd); font-size: clamp(16px,2vw,24px); font-weight: 400; color: var(--black); margin-bottom: 12px; line-height: 1.3; }
.modal-desc { font-size: 11px; color: var(--muted); line-height: 1.8; margin-bottom: 16px; font-family: var(--fs); }
.modal-steps { border-top: 1px solid var(--border); padding-top: 14px; margin-bottom: 18px; display: flex; flex-direction: column; gap: 10px; }
.mstep { display: flex; align-items: flex-start; gap: 10px; }
.mstep-num { width: 22px; height: 22px; border-radius: 50%; background: var(--black); color: #fff; font-size: .6rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(--fs); }
.mstep-txt { font-size: 11px; color: var(--muted); line-height: 1.6; font-family: var(--fs); }
.mstep-txt strong { color: var(--black); display: block; font-size: 11.5px; }
.modal-cta { font-family: var(--fs); font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; padding: 12px 20px; background: var(--black); color: #fff; transition: var(--tr); width: 100%; margin-bottom: 10px; text-align: center; display: block; font-weight: 500; }
.modal-cta:hover { background: #333; }
.modal-skip { font-family: var(--fs); font-size: .65rem; color: var(--muted); text-align: center; display: block; border-bottom: 1px solid var(--border); width: fit-content; margin: 0 auto; cursor: pointer; padding-bottom: 1px; background: none; border-top: none; border-left: none; border-right: none; }
.modal-note { font-family: var(--fs); font-size: .58rem; color: var(--light); text-align: center; margin-top: 12px; line-height: 1.6; border-top: 1px solid var(--border); padding-top: 10px; }

/* ── HERO 4 TILES ── */
.hero-cats { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; width: 100%; }
.hero-tile { position: relative; overflow: hidden; cursor: pointer; }
.hero-tile .tile-pad { padding-top: 125%; }
.hero-tile:hover .tile-bg { transform: scale(1.06); }
.tile-bg { position: absolute; inset: 0; background-size: cover; background-position: center top; transition: transform .6s ease; }
.tile-ov { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.62) 0%,rgba(0,0,0,.04) 55%); }
.tile-body { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 16px 8px 18px; text-align: center; z-index: 2; }
.tile-name { font-family: var(--fd); font-size: clamp(11px,1.4vw,19px); font-weight: 400; font-style: italic; color: #fff; margin-bottom: 10px; line-height: 1.3; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.tile-btn { font-family: var(--fs); font-size: clamp(.48rem,.7vw,.58rem); letter-spacing: .14em; text-transform: uppercase; padding: 6px 12px; border: 1px solid rgba(255,255,255,.88); color: #fff; background: transparent; transition: var(--tr); white-space: nowrap; display: inline-block; font-weight: 500; }
.hero-tile:hover .tile-btn { background: #fff; color: var(--black); }
.tile-bg-1 { background: linear-gradient(165deg,#f9d0d8,#d4889a,#9a4055,#5a1830); }
.tile-bg-2 { background: linear-gradient(165deg,#fdf0e0,#e0c890,#b09040,#6a5010); }
.tile-bg-3 { background: linear-gradient(165deg,#e8f0e0,#a8c090,#608060,#284828); }
.tile-bg-4 { background: linear-gradient(165deg,#e0e8f8,#90a8d0,#4060a0,#182050); }

/* ── SWATCH BAR ── */
.swatch-bar { background: var(--bg2); padding: 8px 16px; text-align: center; font-family: var(--fs); font-size: 11px; border-bottom: 1px solid var(--border); width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.swatch-bar a { color: var(--black); font-weight: 600; margin-left: 6px; border-bottom: 1px solid var(--black); }

/* ── TRENDING COLORS ── */
.trending-sec { background: var(--bg); padding: 28px 0 0; text-align: center; width: 100%; }
.trend-row { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 18px; padding: 0 16px; }
.tline { height: 1px; width: 40px; background: linear-gradient(to right,transparent,#aaa); flex-shrink: 0; }
.tline.r { background: linear-gradient(to left,transparent,#aaa); }
.trend-h2 { font-family: var(--fd); font-size: clamp(18px,4vw,38px); font-weight: 400; color: var(--black); }
.color-tabs { display: flex; overflow-x: auto; scrollbar-width: none; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); width: 100%; -webkit-overflow-scrolling: touch; }
.color-tabs::-webkit-scrollbar { display: none; }
.ctab { position: relative; flex-shrink: 0; }
.ctab-btn { font-family: var(--fs); font-size: 10px; color: var(--muted); padding: 11px 12px; border-right: 1px solid var(--border); white-space: nowrap; cursor: pointer; background: none; border-top: none; border-bottom: 2px solid transparent; border-left: none; letter-spacing: .05em; display: block; transition: var(--tr); font-weight: 400; }
.ctab-btn:hover, .ctab-btn.on { color: var(--black); font-weight: 600; border-bottom-color: var(--black); }
.ctab-btn.new-in { color: var(--black); font-weight: 600; }
.sub-drop { position: absolute; top: 100%; left: 0; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 6px 20px rgba(0,0,0,.1); width: 220px; z-index: 500; display: none; padding: 12px; }
.ctab:hover .sub-drop { display: block; }
.sub-drop.right { left: auto; right: 0; }
.sub-drop-ttl { font-family: var(--fs); font-size: 8.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--light); margin-bottom: 8px; font-weight: 600; }
.sub-list { display: flex; flex-direction: column; gap: 1px; }
.sub-item { display: flex; align-items: center; gap: 8px; padding: 5px 6px; cursor: pointer; transition: .15s; text-decoration: none; }
.sub-item:hover { background: var(--bg2); }
.sub-photo { width: 30px; height: 40px; flex-shrink: 0; background-size: cover; background-position: center top; }
.sub-info { flex: 1; min-width: 0; }
.sub-name { font-family: var(--fs); font-size: 10px; color: var(--black); display: block; }
.sub-count { font-family: var(--fs); font-size: 8.5px; color: var(--light); display: block; }
.sub-dot { width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(0,0,0,.1); flex-shrink: 0; }

/* ── SECTION HEADINGS ── */
.sec-head { display: flex; align-items: center; justify-content: space-between; padding: 22px 16px 12px; }
.sec-head h3 { font-family: var(--fs); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; color: var(--black); text-transform: uppercase; }
.sec-head a { font-family: var(--fs); font-size: 10px; color: var(--black); border-bottom: 1px solid var(--black); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; flex-shrink: 0; }
.big-sec-h { font-family: var(--fd); font-size: clamp(20px,4vw,42px); font-weight: 400; color: var(--black); text-align: center; }

/* ── PRODUCT ROWS ── */
.prod-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; padding: 0 16px 22px; width: 100%; }
.prod-card { position: relative; cursor: pointer; width: 100%; }
.prod-card:hover .prod-img { transform: scale(1.04); }
.prod-img-wrap { overflow: hidden; aspect-ratio: .72; position: relative; background: var(--bg2); margin-bottom: 7px; width: 100%; }
.prod-img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; display: block; }
.prod-badge { position: absolute; top: 7px; left: 7px; background: rgba(255,255,255,.95); font-family: var(--fs); font-size: 7.5px; letter-spacing: .06em; padding: 2px 6px; color: var(--black); z-index: 2; font-weight: 500; }
.prod-wish { position: absolute; top: 7px; right: 7px; background: rgba(255,255,255,.9); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; opacity: 0; transition: var(--tr); z-index: 3; border: none; cursor: pointer; }
.prod-card:hover .prod-wish { opacity: 1; }
.prod-actions { position: absolute; bottom: 0; left: 0; right: 0; display: flex; gap: 1px; transform: translateY(100%); transition: transform .27s ease; z-index: 3; }
.prod-card:hover .prod-actions { transform: translateY(0); }
.prod-act-btn { flex: 1; padding: 8px; background: var(--black); color: #fff; font-family: var(--fs); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; transition: var(--tr); font-weight: 500; border: none; cursor: pointer; }
.prod-act-btn:hover { background: #333; }
.prod-name { font-family: var(--fs); font-size: 10.5px; color: var(--black); margin-bottom: 2px; }
.prod-price { font-family: var(--fs); font-size: 10.5px; color: var(--muted); font-weight: 500; }
.prod-price del { color: var(--light); margin-right: 3px; }

/* ── WIDE BANNERS ── */
.wide-ban { position: relative; overflow: hidden; cursor: pointer; width: 100%; display: block; }
.wide-ban:hover .wbg { transform: scale(1.02); }
.wbg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .7s ease; }
.wb-in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 8%; }
.wb-in.left { align-items: flex-start; text-align: left; padding: 0 5%; }
.wb-tag { font-family: var(--fs); font-size: 8.5px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.8); margin-bottom: 6px; }
.wb-h2 { font-family: var(--fd); font-size: clamp(16px,2.5vw,40px); color: #fff; font-weight: 400; line-height: 1.2; margin-bottom: 8px; }
.wb-p { font-family: var(--fs); font-size: clamp(9px,1.2vw,11px); color: rgba(255,255,255,.82); margin-bottom: 14px; max-width: 380px; line-height: 1.6; }
.wb-btns { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.wb-btn { font-family: var(--fs); font-size: clamp(7.5px,.9vw,9.5px); letter-spacing: .14em; text-transform: uppercase; padding: 8px 16px; border: 1px solid rgba(255,255,255,.88); color: #fff; background: transparent; transition: var(--tr); white-space: nowrap; display: inline-block; font-weight: 500; }
.wb-btn:hover { background: #fff; color: var(--black); }
.wb-btn.fdk { background: var(--black); color: #fff; border-color: var(--black); }
.wb-btn.fdk:hover { background: #333; }
.wb-btn.fdk2 { background: var(--black); color: #fff; border-color: var(--black); min-width: 160px; text-align: center; }
.wb-btn.fdk2:hover { background: #333; }
.ar-wide { padding-top: 11%; }
.ar-3-2 { padding-top: 31.25%; }
.ar-3col { padding-top: 28.6%; }
.ar-acc { padding-top: 13.6%; }

/* ── 3-COL MID BANNERS ── */
.mid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; width: 100%; }
.m3tile { position: relative; overflow: hidden; cursor: pointer; aspect-ratio: .78; }
.m3tile:hover .m3bg { transform: scale(1.05); }
.m3bg { position: absolute; inset: 0; background-size: cover; transition: transform .6s; }
.m3ov { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.62),transparent 55%); display: flex; align-items: flex-end; padding: 14px; }
.m3btn { font-family: var(--fs); font-size: clamp(.48rem,.8vw,.56rem); letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border: 1px solid rgba(255,255,255,.88); color: #fff; display: inline-block; transition: var(--tr); font-weight: 500; }
.m3tile:hover .m3btn { background: #fff; color: var(--black); }

/* ── 2-COL BANNERS ── */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; width: 100%; }
.t2tile { position: relative; overflow: hidden; cursor: pointer; aspect-ratio: 1.35; }
.t2tile:hover .t2bg { transform: scale(1.04); }
.t2bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s; }
.t2ov { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.6),transparent 55%); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 16px; gap: 6px; }
.t2name { font-family: var(--fd); font-size: clamp(12px,1.4vw,18px); color: #fff; font-weight: 400; font-style: italic; }
.t2btn { font-family: var(--fs); font-size: clamp(.48rem,.7vw,.56rem); letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border: 1px solid rgba(255,255,255,.8); color: #fff; display: inline-block; transition: var(--tr); font-weight: 500; }
.t2tile:hover .t2btn { background: #fff; color: var(--black); }

/* ── LUXE 3-COL ── */
.luxe3 { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 2px; width: 100%; }
.lx-text { padding: 36px 24px; display: flex; flex-direction: column; justify-content: center; background: var(--bg2); }
.lx-tag { font-family: var(--fs); font-size: .56rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: 7px; }
.lx-h2 { font-family: var(--fd); font-size: clamp(18px,2vw,28px); font-weight: 400; color: var(--black); margin-bottom: 8px; }
.lx-p { font-family: var(--fs); font-size: 11px; color: var(--muted); line-height: 1.7; margin-bottom: 16px; }
.lx-img { position: relative; overflow: hidden; }
.lx-img:hover .lx-bg { transform: scale(1.05); }
.lx-bg { position: absolute; inset: 0; background-size: cover; background-position: center top; transition: transform .6s; }
.lx-cap { position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%); font-family: var(--fs); font-size: .56rem; color: #fff; letter-spacing: .1em; white-space: nowrap; background: rgba(0,0,0,.3); padding: 3px 8px; }

/* ── ACC BANNER ── */
.acc-in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 10%; }
.acc-code { font-family: var(--fs); font-size: 9px; border: 1px solid rgba(255,255,255,.7); color: #fff; padding: 4px 8px; margin-bottom: 8px; letter-spacing: .08em; }
.acc-title { font-family: var(--fd); font-size: clamp(16px,2.2vw,28px); color: #fff; font-weight: 400; margin-bottom: 3px; }
.acc-sub { font-family: var(--fs); font-size: 9px; color: rgba(255,255,255,.8); margin-bottom: 10px; }
.acc-btns { display: flex; gap: 5px; flex-wrap: wrap; justify-content: center; }
.acc-btn { font-family: var(--fs); font-size: clamp(7px,.9vw,8.5px); letter-spacing: .1em; text-transform: uppercase; padding: 6px 10px; background: var(--black); color: #fff; transition: var(--tr); white-space: nowrap; display: inline-block; font-weight: 500; }
.acc-btn:hover { background: #333; }

/* ── MORE TO EXPLORE ── */
.mte-sec { padding: 36px 0 0; width: 100%; }
.mte-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; padding: 0 16px; width: 100%; }
.mte-card { cursor: pointer; width: 100%; }
.mte-card:hover .mte-img { transform: scale(1.04); }
.mte-wrap { overflow: hidden; aspect-ratio: .82; margin-bottom: 7px; width: 100%; }
.mte-img { width: 100%; height: 100%; transition: transform .5s; background-size: cover; background-position: center top; }
.mte-lbl { font-family: var(--fs); font-size: 10.5px; color: var(--black); text-align: center; }

/* ── INSTAGRAM ── */
.insta-sec { padding: 36px 0 0; text-align: center; width: 100%; }
.insta-h { font-family: var(--fs); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--black); margin-bottom: 12px; display: block; }
.insta-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 2px; width: 100%; }
.insta-t { aspect-ratio: 1; overflow: hidden; cursor: pointer; }
.insta-t:hover .insta-bg { transform: scale(1.06); }
.insta-bg { width: 100%; height: 100%; transition: transform .5s; background-size: cover; background-position: center; }

/* ── ABOUT US ── */
.about-sec { padding: 36px 16px; max-width: 860px; margin: 0 auto; }
.about-h { font-family: var(--fs); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--black); margin-bottom: 12px; }
.about-p { font-family: var(--fs); font-size: 12px; color: var(--muted); line-height: 1.85; margin-bottom: 8px; }
.about-more { font-family: var(--fs); font-size: 11.5px; color: var(--black); border-bottom: 1px solid var(--black); display: inline-block; margin-top: 5px; padding-bottom: 1px; }

/* ── NEWSLETTER ── */
.nl-sec { background: var(--black); padding: 32px 16px; text-align: center; width: 100%; }
.nl-top { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 5px; flex-wrap: wrap; }
.nl-top span { font-family: var(--fs); font-size: 11px; color: #fff; font-weight: 600; }
.nl-sub { font-family: var(--fs); font-size: 10px; color: rgba(255,255,255,.45); margin: 0 auto 12px; max-width: 480px; line-height: 1.6; }
.nl-checks { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 12px; }
.nl-cb { display: flex; align-items: center; gap: 4px; color: rgba(255,255,255,.65); font-family: var(--fs); font-size: 10.5px; cursor: pointer; }
.nl-cb input { accent-color: #fff; width: 12px; height: 12px; }
.nl-form { display: flex; max-width: 360px; width: 100%; margin: 0 auto; }
.nl-form input { flex: 1; min-width: 0; padding: 11px 12px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: #fff; font-family: var(--fs); font-size: 11px; outline: none; }
.nl-form input::placeholder { color: rgba(255,255,255,.3); }
.nl-form button { padding: 11px 14px; background: #fff; border: none; color: var(--black); font-family: var(--fs); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: var(--tr); white-space: nowrap; font-weight: 600; flex-shrink: 0; }
.nl-form button:hover { background: #e5e5e5; }
.nl-note { font-family: var(--fs); font-size: 8.5px; color: rgba(255,255,255,.25); margin-top: 8px; max-width: 440px; margin-left: auto; margin-right: auto; line-height: 1.6; }

/* ── FOOTER ── */
.site-footer { background: var(--bg); border-top: 1px solid var(--border); padding: 32px 16px; width: 100%; }
.footer-cols { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; max-width: 1280px; margin: 0 auto; }
.fc-title { font-family: var(--fs); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--black); margin-bottom: 12px; }
.fc-links { display: flex; flex-direction: column; gap: 7px; }
.fc-links a { font-family: var(--fs); font-size: 10.5px; color: var(--muted); transition: var(--tr); }
.fc-links a:hover { color: var(--black); }
.fc-links a.red { color: var(--red); }
.app-btn { display: flex; align-items: center; gap: 7px; border: 1px solid var(--border); padding: 5px 8px; border-radius: 4px; cursor: pointer; transition: var(--tr); margin-bottom: 7px; }
.app-btn:hover { border-color: var(--black); }
.app-ico { font-size: 1rem; line-height: 1; }
.app-txt { font-family: var(--fs); font-size: 9px; line-height: 1.4; }
.app-txt small { font-size: 7px; color: var(--light); display: block; }
.social-row { display: flex; gap: 7px; margin-top: 10px; }
.soc-btn { width: 28px; height: 28px; border: 1px solid var(--border); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; transition: var(--tr); }
.soc-btn:hover { border-color: var(--black); }
.footer-btm { border-top: 1px solid var(--border); padding: 12px 16px; width: 100%; }
.fb-inner { max-width: 1280px; margin: 0 auto; }
.fb-flag { display: flex; align-items: center; gap: 6px; font-family: var(--fs); font-size: 10px; color: var(--muted); margin-bottom: 8px; flex-wrap: wrap; }
.fb-flag-ico { width: 16px; height: 11px; border: 1px solid var(--border); background: linear-gradient(180deg,#B22234 0 33%,#fff 33% 66%,#B22234 66% 100%); position: relative; overflow: hidden; border-radius: 1px; flex-shrink: 0; }
.fb-flag-ico::before { content: ''; position: absolute; top: 0; left: 0; width: 40%; height: 55%; background: #3C3B6E; }
.fb-legal { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.fb-legal a { font-family: var(--fs); font-size: 9px; color: var(--muted); letter-spacing: .04em; text-transform: uppercase; }
.fb-legal a:hover { color: var(--black); }
.fb-copy { font-family: var(--fs); font-size: 8.5px; color: var(--light); letter-spacing: .03em; }

/* ── WOOCOMMERCE ── */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 0 !important; width: 100% !important; }
.woocommerce ul.products li.product { margin: 0 !important; width: 100% !important; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: .72; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--fs) !important; font-size: 10.5px !important; font-weight: 400 !important; padding: 0 0 2px !important; color: var(--black) !important; }
.woocommerce ul.products li.product .price { color: var(--muted) !important; font-family: var(--fs) !important; font-size: 10.5px !important; }
.woocommerce a.button, .woocommerce button.button { background: var(--black) !important; color: #fff !important; border-radius: 0 !important; font-family: var(--fs) !important; font-size: .6rem !important; letter-spacing: .12em !important; text-transform: uppercase !important; padding: 9px 16px !important; transition: var(--tr) !important; font-weight: 500 !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: #333 !important; }
.woocommerce #respond input#submit, .woocommerce #payment #place_order { background: var(--black) !important; border-radius: 0 !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--muted) !important; font-family: var(--fs) !important; }
.woocommerce-breadcrumb { font-family: var(--fs) !important; font-size: .68rem !important; color: var(--muted) !important; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info { border-top-color: var(--black) !important; font-family: var(--fs) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { border-radius: 0 !important; border-color: var(--border) !important; font-family: var(--fs) !important; width: 100% !important; }

/* ── TABLET (max 1024px) ── */
@media (max-width: 1024px) {
  .prod-row { grid-template-columns: repeat(3,1fr); }
  .footer-cols { grid-template-columns: repeat(3,1fr); }
  .luxe3 { grid-template-columns: 1fr 1fr; }
  .luxe3 > *:last-child { display: none; }
  .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important; }
}

/* ── MOBILE (max 768px) ── */
@media (max-width: 768px) {
  /* fix overflow root cause */
  html, body { overflow-x: hidden !important; width: 100% !important; }
  .site-header, .act-bar, .hero-cats, .trending-sec, .color-tabs,
  .wide-ban, .mid3, .two-col, .luxe3, .mte-sec, .insta-sec,
  .about-sec, .nl-sec, .site-footer, .footer-btm { width: 100% !important; max-width: 100% !important; }

  /* activity bar */
  .act-slide { gap: 8px; padding: 0 32px; font-size: 10px; }
  .act-slide > span:not(:first-child) { display: none; }

  /* header */
  .hdr-row { padding: 0 12px; height: 50px; }
  .nav-toggle { display: flex; }
  .sub-brands { display: none; }
  .hdr-lbl { display: none; }
  .hdr-div { display: none; }
  .hdr-btn { min-width: 32px; padding: 4px 5px; }
  .site-logo-wrap img, .site-logo-wrap svg { height: 28px !important; max-width: 140px; }
  .site-logo { font-size: .8rem; letter-spacing: .1em; }
  .country-btn span { display: none; }

  /* nav */
  .nav-bar { display: none; }
  .nav-bar.open { display: block; }
  .nav-menu { flex-direction: column; align-items: stretch; padding: 0; max-width: 100%; overflow-x: hidden; }
  .nav-menu a { padding: 13px 16px; border-bottom: 1px solid var(--border); border-bottom-width: 1px; border-left: none; border-right: none; border-top: none; font-size: .68rem; width: 100%; }
  .nav-menu a:hover, .nav-menu a.cur { border-bottom-color: var(--border); border-bottom-width: 1px; background: var(--bg2); }

  /* hero — 2x2 */
  .hero-cats { grid-template-columns: repeat(2,1fr); gap: 2px; }
  .hero-tile .tile-pad { padding-top: 115%; }
  .tile-name { font-size: clamp(11px,3.5vw,15px); margin-bottom: 8px; }
  .tile-btn { font-size: .5rem; padding: 5px 10px; letter-spacing: .1em; }

  /* trending */
  .trend-h2 { font-size: clamp(17px,5vw,26px); }
  .tline { width: 24px; }

  /* products — 2 col */
  .prod-row { grid-template-columns: repeat(2,1fr); gap: 8px; padding: 0 12px 18px; }
  .prod-name { font-size: 10px; }
  .prod-price { font-size: 10px; }

  /* banners */
  .ar-wide { padding-top: 24%; }
  .ar-3-2 { padding-top: 55%; }
  .ar-3col { padding-top: 50%; }
  .ar-acc { padding-top: 30%; }
  .wb-h2 { font-size: clamp(14px,4.5vw,26px); }
  .wb-p { font-size: 9.5px; margin-bottom: 10px; }
  .wb-btn { font-size: 8px; padding: 7px 12px; }
  .wb-btns { gap: 5px; }

  /* mid 3 → 1 col */
  .mid3 { grid-template-columns: 1fr; }
  .m3tile { aspect-ratio: 16/6; }

  /* 2-col → 1 col */
  .two-col { grid-template-columns: 1fr; }
  .t2tile { aspect-ratio: 16/6; }

  /* luxe → 1 col */
  .luxe3 { grid-template-columns: 1fr; }
  .luxe3 > *:last-child { display: none; }
  .lx-text { padding: 24px 16px; text-align: center; align-items: center; }
  .lx-img { display: none; }

  /* MTE — 2 col */
  .mte-sec { padding: 28px 0 0; }
  .mte-grid { grid-template-columns: repeat(2,1fr); gap: 8px; padding: 0 12px; }
  .big-sec-h { font-size: clamp(18px,5vw,28px); }

  /* instagram — 3 col */
  .insta-row { grid-template-columns: repeat(3,1fr); }

  /* about */
  .about-sec { padding: 24px 12px; }
  .about-p { font-size: 11.5px; }

  /* newsletter */
  .nl-sec { padding: 24px 12px; }
  .nl-top { flex-direction: column; gap: 4px; }
  .nl-top span { font-size: 10px; text-align: center; }
  .nl-checks { gap: 6px; }
  .nl-cb { font-size: 9.5px; }
  .nl-form { flex-direction: column; max-width: 100%; }
  .nl-form input { width: 100%; border-radius: 0; }
  .nl-form button { width: 100%; padding: 11px; }

  /* footer */
  .site-footer { padding: 24px 12px; }
  .footer-cols { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .fc-title { font-size: 8.5px; margin-bottom: 10px; }
  .fc-links a { font-size: 10px; }
  .footer-btm { padding: 10px 12px; }
  .fb-legal { gap: 6px; }
  .fb-legal a { font-size: 8px; }
  .fb-copy { font-size: 7.5px; }

  /* modal */
  .modal-box { grid-template-columns: 1fr; }
  .modal-img-side { display: none; }
  .modal-body { padding: 20px 16px; }
  .modal-overlay { padding: 12px; }

  /* woo */
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 8px !important; }
  .woocommerce .products { padding: 0 12px !important; }

  /* section head */
  .sec-head { padding: 16px 12px 10px; }
  .sec-head h3 { font-size: 10.5px; }
}

/* ── SMALL MOBILE (max 480px) ── */
@media (max-width: 480px) {
  .hdr-row { padding: 0 10px; height: 46px; }
  .site-logo-wrap img, .site-logo-wrap svg { height: 24px !important; max-width: 120px; }
  .hero-tile .tile-pad { padding-top: 130%; }
  .tile-name { font-size: 11px; }
  .tile-btn { font-size: .46rem; padding: 4px 8px; }
  .prod-row { grid-template-columns: repeat(2,1fr); gap: 6px; padding: 0 10px 14px; }
  .mte-grid { gap: 6px; padding: 0 10px; }
  .insta-row { grid-template-columns: repeat(3,1fr); }
  .footer-cols { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ar-wide { padding-top: 30%; }
  .ar-3-2 { padding-top: 65%; }
  .ar-acc { padding-top: 38%; }
  .wb-h2 { font-size: clamp(13px,4vw,20px); }
  .wb-btn { font-size: 7.5px; padding: 6px 10px; }
  .acc-btns { gap: 3px; }
  .acc-btn { font-size: 7px; padding: 5px 7px; }
}

/* ── VERY SMALL (max 360px) ── */
@media (max-width: 360px) {
  .hero-tile .tile-pad { padding-top: 140%; }
  .prod-row { gap: 5px; padding: 0 8px 12px; }
  .footer-cols { grid-template-columns: 1fr; }
  .wb-h2 { font-size: 13px; }
  .mte-grid { grid-template-columns: repeat(2,1fr); }
}

/* ── NUCLEAR MOBILE FIX ── */
@media (max-width: 768px) {
  html { overflow-x: hidden !important; }
  body { overflow-x: hidden !important; position: relative !important; }
  
  /* kill any fixed or large width */
  .hdr-row,
  .nav-menu,
  .footer-cols,
  .fb-inner { max-width: 100vw !important; width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }

  /* nav horizontal scroll causing overflow */
  .nav-bar { overflow: hidden !important; }
  .nav-menu { overflow-x: hidden !important; flex-wrap: nowrap; }
  .nav-menu a { white-space: normal; padding: 12px 14px; border-bottom: 1px solid var(--border) !important; }

  /* color tabs — contain horizontally */
  .color-tabs { overflow-x: scroll !important; -webkit-overflow-scrolling: touch; }

  /* sub dropdown — don't let it overflow page */  
  .sub-drop { position: fixed !important; left: 12px !important; right: 12px !important; width: auto !important; transform: none !important; top: auto !important; }

  /* wide banners — force 100% */
  .wide-ban, .wbg { width: 100vw !important; left: 0 !important; }

  /* grids must not overflow */
  .hero-cats, .mid3, .two-col, .luxe3,
  .prod-row, .mte-grid, .insta-row { width: 100% !important; }

  /* footer grid */
  .site-footer { overflow: hidden !important; }
  .footer-cols { width: 100% !important; }

  /* activity bar */
  .act-bar { overflow: hidden !important; }
  .act-track { width: 100% !important; }
  .act-slide { width: 100% !important; min-width: 100% !important; flex-shrink: 0 !important; }

  /* prevent letter-spacing from adding width */
  .trend-h2 { letter-spacing: 0 !important; }
  .site-logo { letter-spacing: .08em !important; }
}

@media (max-width: 480px) {
  .footer-cols { grid-template-columns: 1fr 1fr !important; }
  .prod-row { grid-template-columns: 1fr 1fr !important; }
  .mte-grid { grid-template-columns: 1fr 1fr !important; }
}
