/* ===== LUMÉA — shared styles ===== */
/* NEUTRAL-PREMIUM is the default skin (general pages: home, shop, about, contact, bulk, cart). */
:root{
  --ink:#23262B;        /* charcoal */
  --ink-2:#3a3d42;
  --gold:#A98B54;       /* brushed gold accent */
  --gold-soft:#C9B183;
  --terra:#A98B54;      /* accent (eyebrows) */
  --indigo:#3a4a5f;
  --cream:#F6F4EF;      /* ivory page bg */
  --cream-2:#FBFAF7;    /* card bg */
  --muted:#6B6E73;
  --line:#E7E4DD;
  --green:#4A5A50;
  --white:#fff;
  --maxw:1200px;
  --radius:14px;
  --shadow:0 6px 26px rgba(36,38,43,.10);
}
/* AFRICAN skin — bogolan/kente/Ankara collections & their products */
.theme-african{
  --ink:#241a14; --ink-2:#3a2c22; --gold:#B8912F; --gold-soft:#E4C878;
  --terra:#B4552B; --indigo:#1F3A5F; --cream:#F7F0E2; --cream-2:#FCF8EF;
  --muted:#7c6c5b; --line:#e7dcc7; --green:#3C5A46;
  --shadow:0 6px 26px rgba(36,26,20,.10);
}
/* GULF skin — abaya/farasha/modest collections & their products */
.theme-gulf{
  --ink:#14161C; --ink-2:#2a2d36; --gold:#C6A15B; --gold-soft:#DCC38C;
  --terra:#16453B; --indigo:#1b2a3a; --cream:#F1EBDE; --cream-2:#FAF6EE;
  --muted:#6a6355; --line:#E3DBCB; --green:#16453B;
  --shadow:0 6px 26px rgba(20,22,28,.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif; font-weight:700; line-height:1.15; margin:0 0 .5em; color:var(--ink);}
h1{font-size:clamp(2rem,5vw,3.6rem);}
h2{font-size:clamp(1.6rem,3.5vw,2.6rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1rem;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 22px;}
.section{padding:76px 0;}
.center{text-align:center;}
.eyebrow{font-family:'Inter',sans-serif; text-transform:uppercase; letter-spacing:3px; font-size:12px; font-weight:600; color:var(--terra); margin-bottom:12px;}
.lead{font-size:1.12rem; color:var(--ink-2); max-width:640px;}
.muted{color:var(--muted);}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:9px; border:0; cursor:pointer; font-family:'Inter',sans-serif;
  font-weight:600; font-size:15px; padding:14px 26px; border-radius:999px; transition:.18s; text-align:center;}
.btn-primary{background:var(--ink); color:var(--gold-soft);}
.btn-primary:hover{background:#120c08;}
.btn-gold{background:linear-gradient(135deg,#CBA85A,#A6812C); color:#241a10; box-shadow:0 6px 20px rgba(166,129,44,.30); letter-spacing:.2px;}
.btn-gold:hover{background:linear-gradient(135deg,#d8b667,#b48e34); transform:translateY(-1px); box-shadow:0 10px 26px rgba(166,129,44,.38);}
.btn-outline{background:transparent; border:1.5px solid var(--ink); color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--gold-soft);}
.btn-wa{background:#1FA45B; color:#fff; box-shadow:0 6px 20px rgba(18,120,70,.30);}
.btn-wa:hover{background:#178a4c; transform:translateY(-1px); box-shadow:0 10px 26px rgba(18,120,70,.38);}
.btn-light{background:rgba(255,255,255,.06); border:1.6px solid rgba(255,255,255,.8); color:#fff;}
.btn-light:hover{background:#fff; color:#241a14; transform:translateY(-1px);}
.btn-sm{padding:10px 16px; font-size:13px;}
.btn-block{width:100%; justify-content:center;}

/* header */
.topbar{background:var(--ink); color:var(--gold-soft); font-size:12.5px; letter-spacing:.4px;}
.topbar .container{display:flex; justify-content:space-between; align-items:center; padding-top:8px; padding-bottom:8px; gap:12px; flex-wrap:wrap;}
.topbar a{color:var(--gold-soft);}
header.site{position:sticky; top:0; z-index:1000; background:var(--cream); border-bottom:1px solid var(--line);}
header.site .container{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:16px;}
.logo{display:inline-flex; align-items:center; gap:11px; font-family:'Playfair Display',serif; font-weight:700; font-size:27px; letter-spacing:.5px; color:var(--ink); line-height:1;}
.logo .logo-mark{height:42px; width:auto; flex:0 0 auto;}
.logo .logo-word{display:flex; flex-direction:column; justify-content:center;}
.logo b{color:var(--gold);}
.logo small{display:block; font-family:'Inter',sans-serif; font-weight:500; font-size:8.5px; letter-spacing:2.5px; color:var(--muted); margin-top:3px;}
nav.main{display:flex; gap:26px; align-items:center;}
nav.main a{font-size:14.5px; font-weight:500; color:var(--ink-2); position:relative;}
nav.main a:hover{color:var(--gold);}
nav.main a.active{color:var(--gold);}
.nav-cta{display:flex; gap:10px; align-items:center;}
/* submenus / dropdowns */
nav.main .has-sub{position:relative; display:inline-flex; align-items:center;}
nav.main .navtop{display:inline-flex; align-items:center;}
.caret{font-size:9px; margin-left:3px; opacity:.7;}
nav.main .submenu{position:absolute; top:100%; left:0; min-width:210px; background:var(--cream-2); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:8px; display:none; flex-direction:column; z-index:60;}
nav.main .has-sub:hover .submenu{display:flex;}
nav.main .submenu a{padding:9px 12px; font-size:14px; border-radius:8px; color:var(--ink-2);}
nav.main .submenu a:hover{background:var(--cream); color:var(--gold);}
nav.main .has-sub.active > .navtop, nav.main .submenu a.active{color:var(--gold);}
.menu-toggle{display:none; background:none; border:0; font-size:26px; cursor:pointer; color:var(--ink);}
.kaya-ctrls{display:inline-flex; gap:6px; align-items:center;}
.ksel{border:1.5px solid var(--line); background:var(--cream-2); color:var(--ink-2); border-radius:8px; padding:6px 8px; font-size:12.5px; font-weight:600; font-family:'Inter'; cursor:pointer;}
.ksel:focus{outline:none; border-color:var(--gold);}
.cat-from{display:block; font-family:'Inter'; font-size:12px; color:var(--gold-soft); font-weight:600; margin-top:4px;}
html[dir="rtl"] .hero .trust div{border-left:0; border-right:2px solid var(--gold); padding-left:0; padding-right:12px;}
html[dir="rtl"] .breadcrumb, html[dir="rtl"] .eyebrow{letter-spacing:0;}
.cart-link{position:relative; font-size:20px; color:var(--ink); display:inline-flex; align-items:center; gap:6px;}
.cart-link span{background:var(--gold); color:#241a14; font-family:'Inter'; font-size:11px; font-weight:700; min-width:18px; height:18px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px;}
.mode-toggle{display:inline-flex; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; background:var(--cream-2);}
.mode-toggle button{border:0; background:none; padding:7px 14px; font-size:12.5px; font-weight:600; cursor:pointer; color:var(--muted); font-family:'Inter',sans-serif;}
.mode-toggle button.on{background:var(--ink); color:var(--gold-soft);}

/* hero */
.hero{position:relative; overflow:hidden; background:var(--ink); color:var(--cream);}
.hero .imgwrap{position:absolute; inset:0;}
.hero .imgwrap img{width:100%; height:100%; object-fit:cover; opacity:.42;}
/* readability scrim: extra dark on the text side, lighter on the right */
.hero .imgwrap::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,6,4,.82) 0%, rgba(8,6,4,.6) 48%, rgba(8,6,4,.34) 100%);}
.hero .container{position:relative; z-index:2; padding-top:120px; padding-bottom:120px;}
.hero h1{color:#ffffff; max-width:14ch; text-shadow:0 2px 20px rgba(0,0,0,.55);}
.hero .eyebrow{color:#f0e4c8; text-shadow:0 1px 10px rgba(0,0,0,.6);}
.hero p{color:#f6f3ee; max-width:560px; font-size:1.15rem; text-shadow:0 1px 14px rgba(0,0,0,.55);}
.hero .cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:26px;}
.hero .trust{margin-top:34px; display:flex; gap:30px; flex-wrap:wrap;}
.hero .trust div{border-left:2px solid rgba(255,255,255,.55); padding-left:12px;}
.hero .trust b{font-family:'Playfair Display',serif; font-size:1.5rem; color:#ffffff; display:block; text-shadow:0 1px 12px rgba(0,0,0,.5);}
.hero .trust span{font-size:12.5px; color:#f2efe9; text-shadow:0 1px 10px rgba(0,0,0,.5);}

/* divider strip — skin-aware */
.kente-strip{height:3px; background:var(--gold);}
.theme-african .kente-strip{height:10px; background:
  repeating-linear-gradient(90deg, var(--gold) 0 24px, var(--terra) 24px 34px, var(--ink) 34px 44px, var(--indigo) 44px 54px, var(--green) 54px 64px);}
.theme-gulf .kente-strip{height:6px; background:
  repeating-linear-gradient(90deg, var(--gold) 0 2px, transparent 2px 12px);}

/* category grid */
.grid{display:grid; gap:22px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.cat-card{position:relative; border-radius:var(--radius); overflow:hidden; background:var(--cream-2); box-shadow:var(--shadow); aspect-ratio:3/4;}
.cat-card img,.cat-card .ph{width:100%; height:100%; object-fit:cover;}
.cat-card .label{position:absolute; left:0; right:0; bottom:0; padding:26px 18px 18px;
  background:linear-gradient(transparent, rgba(36,26,20,.85)); color:var(--cream);}
.cat-card .label h3{color:var(--cream); margin:0;}
.cat-card .label span{font-size:12.5px; color:var(--gold-soft);}

/* product cards */
.prod{background:var(--cream-2); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow);}
.prod .pimg{position:relative; width:100%; padding-top:100%; aspect-ratio:1/1; overflow:hidden; background:var(--cream-2);}
.prod .pimg img,.prod .pimg .ph{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.prod .pbadge{position:absolute; top:10px; left:10px; background:var(--gold); color:#241a14; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px;}
.prod .pbody{padding:14px 16px 18px; display:flex; flex-direction:column; gap:6px; flex:1;}
.prod .pname{font-weight:600; font-size:15px;}
.prod .pcat{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:1px;}
.prod .price{font-family:'Playfair Display',serif; font-size:1.15rem; color:var(--ink);}
.prod .price small{font-size:12px; color:var(--muted); font-family:'Inter';}
.prod .pactions{margin-top:auto; display:flex; flex-direction:column; gap:8px; padding-top:8px;}
.pbadge2{position:absolute; top:10px; left:10px; z-index:2; background:var(--gold); color:#241a14; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; letter-spacing:.3px;}
.pbadge2.sold{background:#8a2c2c; color:#fff;}
.price .was{color:var(--muted); text-decoration:line-through; font-size:.82em; margin-right:4px; font-family:'Inter';}

/* colour swatches (product page) */
.cswatches{display:flex; gap:10px; flex-wrap:wrap; margin:6px 0 2px;}
.cswatch{border:2px solid var(--line); border-radius:10px; width:52px; height:52px; padding:0; overflow:hidden; cursor:pointer; background:var(--cream-2);}
.cswatch.on{border-color:var(--gold);}
.cswatch img{width:100%; height:100%; object-fit:cover;}
.cchip{border:1.5px solid var(--line); background:var(--cream-2); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:600; color:var(--ink-2); cursor:pointer;}
.cchip.on{background:var(--ink); color:var(--gold-soft); border-color:var(--ink);}

/* sold-out / made-to-order box */
.mto-box{margin-top:20px; background:var(--cream-2); border:1px solid var(--line); border-radius:12px; padding:16px 18px;}
.mto-box .so{display:inline-block; background:#8a2c2c; color:#fff; font-size:12px; font-weight:700; padding:3px 12px; border-radius:999px; letter-spacing:.4px; margin-bottom:8px;}

/* size-chart + link */
.link-btn{background:none; border:0; color:var(--terra); font-weight:600; font-size:13px; cursor:pointer; padding:0; text-decoration:underline; text-underline-offset:2px;}
.lmodal{position:fixed; inset:0; z-index:2000; background:rgba(20,16,12,.72); display:none; align-items:center; justify-content:center; padding:24px;}
.lmodal.on{display:flex;}
.lmodal .box{background:var(--cream); border-radius:14px; max-width:640px; width:100%; max-height:88vh; overflow:auto; padding:16px;}
.lmodal .box img{width:100%; height:auto; border-radius:10px;}
.lmodal .x{float:right; background:none; border:0; font-size:26px; line-height:1; cursor:pointer; color:var(--ink);}

/* bands */
.band{background:var(--ink); color:var(--cream);}
.band h2{color:var(--cream);}
.band .eyebrow{color:var(--gold-soft);}
.band p{color:#e7dcc9;}
.band-cream{background:var(--cream-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

/* heritage split */
.split{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.split .media{border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; box-shadow:var(--shadow);}
.split .media img,.split .media .ph{width:100%; height:100%; object-fit:cover;}

/* features */
.features{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.feature{background:var(--cream-2); border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px;}
.feature .ico{width:46px; height:46px; border-radius:12px; background:var(--gold); color:#241a14; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px;}
.feature h3{font-size:1.05rem;}
.feature p{font-size:14px; color:var(--muted); margin:0;}

/* region tabs */
.region-tabs{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:22px 0 34px;}
.region-tabs button{border:1.5px solid var(--line); background:var(--cream-2); border-radius:999px; padding:9px 20px; font-weight:600; font-size:14px; cursor:pointer; color:var(--ink-2); font-family:'Inter';}
.region-tabs button.on{background:var(--ink); color:var(--gold-soft); border-color:var(--ink);}

/* testimonial */
.quote{max-width:760px; margin:0 auto; text-align:center;}
.quote p{font-family:'Playfair Display',serif; font-size:clamp(1.3rem,3vw,1.9rem); font-style:italic; color:var(--cream);}
.quote cite{display:block; margin-top:14px; font-family:'Inter'; font-style:normal; color:var(--gold-soft); font-size:14px; letter-spacing:1px;}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--terra),var(--gold)); color:#241a14; border-radius:20px; padding:44px; text-align:center; box-shadow:var(--shadow);}
.cta-band h2{color:#241a14;}
.cta-band p{color:#3a2c22; max-width:600px; margin:0 auto 22px;}

/* forms */
.form-card{background:var(--cream-2); border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow);}
.field{margin-bottom:16px;}
.field label{display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink-2);}
.field input,.field select,.field textarea{width:100%; border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; font-size:15px; font-family:'Inter'; background:var(--white); color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--gold);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}

/* table */
table.moq{width:100%; border-collapse:collapse; background:var(--cream-2); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);}
table.moq th{background:var(--ink); color:var(--gold-soft); text-align:left; padding:12px 14px; font-size:13px;}
table.moq td{padding:12px 14px; border-top:1px solid var(--line); font-size:14px;}
table.moq tr:nth-child(even) td{background:#fbf6ec;}

/* footer */
footer.site{background:var(--ink); color:#cdbfa9; padding:60px 0 26px; margin-top:0;}
footer.site .cols{display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:34px;}
footer.site h4{color:var(--cream); font-family:'Inter'; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px;}
footer.site a{color:#cdbfa9; font-size:14px; display:block; margin-bottom:9px;}
footer.site a:hover{color:var(--gold-soft);}
footer.site .logo{color:var(--cream);}
footer.site .logo .logo-word{color:var(--cream);}
footer.site .logo b{color:var(--gold);}
footer.site .foot-bottom{border-top:1px solid #3a2c22; margin-top:40px; padding-top:20px; font-size:12.5px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* floating whatsapp */
.wa-float{position:fixed; right:20px; bottom:20px; z-index:80; display:flex; align-items:center; gap:10px;
  background:#25D366; color:#073b1c; padding:13px 18px; border-radius:999px; font-weight:700; font-size:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.22); font-family:'Inter';}
.wa-float:hover{background:#1eb257;}
.wa-float .dot{width:9px; height:9px; background:#073b1c; border-radius:50%; animation:pulse 1.6s infinite;}
@keyframes pulse{0%{opacity:.4} 50%{opacity:1} 100%{opacity:.4}}

/* image placeholder fallback */
.ph{background:
  linear-gradient(135deg, #e8dcc4, #d8c7a6);
  display:flex; align-items:center; justify-content:center; text-align:center; color:#6e5b41; padding:14px;}
.ph .in{font-family:'Inter'; font-size:12px; line-height:1.4;}
.ph .in b{display:block; font-size:12.5px; color:#4d3f2b; margin-bottom:3px;}
img.broken{display:none;}

/* cart toast */
.toast{position:fixed; left:50%; transform:translateX(-50%); bottom:26px; background:var(--ink); color:var(--gold-soft);
  padding:13px 22px; border-radius:999px; font-size:14px; font-weight:600; z-index:120; opacity:0; pointer-events:none; transition:.3s;}
.toast.show{opacity:1;}

/* page hero (inner pages) */
.page-hero{background:var(--ink); color:var(--cream); padding:70px 0 60px; text-align:center;}
.page-hero h1{color:var(--cream);}
.page-hero p{color:#e7dcc9; max-width:640px; margin:0 auto;}
.breadcrumb{font-size:12.5px; color:var(--gold-soft); letter-spacing:1px; margin-bottom:14px;}

/* mobile menu overlay + close button (injected by main.js) */
.nav-overlay{position:fixed; inset:0; background:rgba(20,22,28,.5); z-index:1100; opacity:0; visibility:hidden; transition:opacity .25s;}
.nav-overlay.open{opacity:1; visibility:visible;}
.nav-close{display:none; position:absolute; top:14px; right:16px; background:none; border:0; font-size:26px; line-height:1; color:var(--ink); cursor:pointer; padding:6px;}

/* responsive */
@media(max-width:960px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .features{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr; gap:28px;}
  footer.site .cols{grid-template-columns:1fr 1fr;}
  nav.main{position:fixed; inset:0 0 0 auto; width:min(82vw,320px); background:var(--cream); z-index:1200; flex-direction:column; align-items:flex-start; padding:72px 26px 26px; gap:4px; transform:translateX(100%); transition:transform .25s; box-shadow:-8px 0 30px rgba(0,0,0,.22); overflow-y:auto;}
  nav.main.open{transform:translateX(0);}
  nav.main a{width:100%; padding:14px 6px; border-bottom:1px solid var(--line); font-size:16px;}
  nav.main .has-sub{display:block; width:100%;}
  nav.main .navtop{width:100%; padding:14px 6px; border-bottom:1px solid var(--line);}
  nav.main .submenu{position:static; display:flex; box-shadow:none; border:0; background:transparent; padding:0 0 0 14px; margin:0; min-width:0;}
  nav.main .submenu a{font-size:15px; color:var(--ink-2);}
  .caret{display:none;}
  .nav-close{display:block;}
  .menu-toggle{display:block;}
  .nav-cta .btn{display:none;}
}
@media(max-width:560px){
  .grid-4,.grid-3,.grid-2,.features,.field-row{grid-template-columns:1fr;}
  .section{padding:52px 0;}
  .cta-band{padding:30px 22px;}
  .hero .trust{gap:18px;}
}
