/* ============ TAZZRA — Design System v2 (quiet luxury) ============ */
:root{
  --ink:#1c1813; --ink-soft:#4a4138; --paper:#faf7f2; --paper-deep:#f1ebe1;
  --brass:#a8722d; --brass-soft:#c79a55; --terra:#9c4a2f; --line:#e2d9ca;
  --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --maxw:1180px; --r:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,.serif{font-family:var(--serif);font-weight:500;line-height:1.15}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:84px 0}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#6f4516;font-weight:600;margin-bottom:14px}
.h1{font-size:clamp(34px,5vw,54px);margin-bottom:18px;font-weight:400}
.h2{font-size:clamp(28px,4vw,42px);margin-bottom:18px}
.lead{font-size:18px;color:var(--ink-soft);max-width:640px}
.center{text-align:center}
.center .lead{margin:0 auto}

/* buttons */
.btn{display:inline-block;padding:15px 30px;border-radius:999px;font-weight:600;font-size:14px;letter-spacing:.04em;transition:.25s;cursor:pointer;border:1.5px solid var(--ink);font-family:var(--sans)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-light:hover{background:transparent;color:var(--paper)}

/* topbar + header */
.topbar{background:var(--ink);color:#cdbfa8;text-align:center;font-size:12.5px;letter-spacing:.08em;padding:9px 16px}
.topbar strong{color:var(--brass-soft)}
header{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px}
.nav .logo img{height:40px;width:auto}
.nav ul{display:flex;gap:28px;list-style:none}
.nav ul a{font-size:13.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);padding:6px 0}
.nav ul a:hover,.nav ul a.active{color:var(--brass)}
.nav ul a.active{border-bottom:2px solid var(--brass)}
.nav-right{display:flex;align-items:center;gap:14px}
.lang{font-size:12.5px;font-weight:600;letter-spacing:.1em;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:none;cursor:pointer;font-family:var(--sans)}
.lang:hover{border-color:var(--brass);color:var(--brass)}
.nav .btn{padding:11px 22px;font-size:12.5px}
.burger{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink)}
@media(max-width:960px){
  .nav ul{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);flex-direction:column;gap:0;padding:10px 24px 20px;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
  .nav ul li{padding:10px 0;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .nav .btn{display:none}
}

/* hero (home) */
.hero{position:relative;min-height:86vh;display:flex;align-items:flex-end;color:#fff;padding:0}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.18),rgba(20,16,12,.05) 40%,rgba(20,16,12,.74))}
.hero .wrap{position:relative;z-index:2;padding-bottom:80px;width:100%}
.hero h1{font-size:clamp(38px,6vw,66px);font-weight:400;max-width:13ch;margin-bottom:20px}
.hero p{font-size:18px;max-width:520px;color:#efe8db;margin-bottom:32px}
.hero .sig{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:18px;font-weight:600}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}

/* page hero (subpages) */
.phero{background:var(--ink);color:#ece4d4;padding:72px 0 56px}
.phero .kicker{color:var(--brass-soft)}
.phero .h1{color:#fff;margin-bottom:10px}
.phero .lead{color:#cdbfa8}
.crumbs{font-size:12.5px;letter-spacing:.06em;color:#9a8c72;margin-bottom:22px}
.crumbs a:hover{color:var(--brass-soft)}

/* trust bar */
.trust{background:var(--ink);color:#d8cdb9;padding:26px 0;border-top:1px solid rgba(226,217,202,.12)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.trust b{display:block;font-family:var(--serif);font-size:16px;color:#fff;margin-bottom:3px}
.trust span{font-size:12.5px;letter-spacing:.04em}
@media(max-width:820px){.trust .wrap{grid-template-columns:repeat(2,1fr)}}

/* collections grid */
.grid-coll{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.coll{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;display:flex;align-items:flex-end;color:#fff}
.coll img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.coll:hover img{transform:scale(1.05)}
.coll::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,14,10,.78))}
.coll .in{position:relative;z-index:2;padding:24px}
.coll h3{font-size:22px;margin-bottom:5px}
.coll p{font-size:13px;color:#e6dcc9}
@media(max-width:820px){.grid-coll{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid-coll{grid-template-columns:1fr}}

/* product cards */
.bg-deep{background:var(--paper-deep)}
.grid-prod{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px}
.grid-prod.cols3{grid-template-columns:repeat(3,1fr)}
.prod{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:.3s;display:block}
.prod:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(28,24,19,.1)}
.prod .ph{position:relative;aspect-ratio:1;background:#fff;overflow:hidden}
.prod .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prod:hover .ph img{transform:scale(1.04)}
.badge{position:absolute;top:12px;left:12px;background:var(--ink);color:#e8ddc8;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;z-index:2}
.prod .in{padding:18px}
.prod h3{font-size:17px;margin-bottom:4px}
.prod .cat{font-size:11.5px;color:var(--brass);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.prod .price{font-size:13.5px;color:var(--ink-soft)}
.prod .price b{color:var(--ink)}
@media(max-width:1020px){.grid-prod,.grid-prod.cols3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid-prod,.grid-prod.cols3{grid-template-columns:1fr}}
.note-auth{margin-top:26px;font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:10px}
.note-auth img{height:34px;width:auto}

/* product page */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.pdp .gallery .main{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:1}
.pdp .gallery .main img{width:100%;height:100%;object-fit:cover}
.pdp .thumbs{display:flex;gap:12px;margin-top:12px}
.pdp .thumbs img{width:86px;height:86px;object-fit:cover;border-radius:10px;border:2px solid transparent;cursor:pointer;background:#fff}
.pdp .thumbs img.sel{border-color:var(--brass)}
.pdp .info .cat{font-size:12px;color:var(--brass);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.pdp .info h1{font-size:clamp(28px,3.6vw,40px);font-weight:400;margin-bottom:14px}
.pdp .ref{font-size:12.5px;color:var(--ink-soft);letter-spacing:.06em;margin-bottom:18px}
.pdp .desc{color:var(--ink-soft);margin-bottom:24px;font-size:15.5px}
.spec{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:26px}
.spec td{padding:11px 0;border-bottom:1px solid var(--line)}
.spec td:first-child{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);font-weight:600;width:42%}
.pdp .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.assure{font-size:13px;color:var(--ink-soft);display:flex;gap:10px;align-items:flex-start;background:var(--paper-deep);border-radius:10px;padding:14px 16px}
@media(max-width:880px){.pdp{grid-template-columns:1fr}}

/* tables */
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th,.tbl td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-weight:600}
.tbl td b{font-family:var(--serif);font-size:16px}
.tbl tr.hl td{background:#faf3e6}

/* quality cards */
.quality{display:flex;flex-direction:column;gap:14px}
.qcard{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;background:#fff}
.qcard.hot{border-color:var(--brass);background:linear-gradient(135deg,#fff,#faf3e6);position:relative}
.qcard h4{font-size:19px;margin-bottom:4px}
.qcard p{font-size:13.5px;color:var(--ink-soft)}
.qcard .tag{position:absolute;top:-11px;right:18px;background:var(--brass);color:#fff;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:999px}

/* simulator */
.sim{background:var(--ink);color:#ece4d4;border-radius:var(--r);padding:30px 28px}
.sim h3{color:#fff;font-size:22px;margin-bottom:6px}
.sim p{font-size:13px;color:#cdbfa8;margin-bottom:18px}
.sim .row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.sim label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9a8c72;margin-bottom:6px;font-weight:600}
.sim input,.sim select{padding:12px 14px;border-radius:10px;border:1px solid rgba(226,217,202,.25);background:rgba(250,247,242,.06);color:#fff;font-family:var(--sans);font-size:15px;width:130px}
.sim .out{font-family:var(--serif);font-size:34px;color:var(--brass-soft);min-width:150px}
.sim small{display:block;margin-top:12px;font-size:11.5px;color:#9a8c72}

/* dark sections */
.dark{background:var(--ink);color:#e9e1d2}
.dark .h2{color:#fff}
.dark .kicker{color:var(--brass-soft)}
.dark .lead{color:#cdbfa8}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cols2 img{border-radius:var(--r)}
@media(max-width:900px){.cols2{grid-template-columns:1fr}}
ol.steps{margin:26px 0 30px;list-style:none;counter-reset:c}
ol.steps li{counter-increment:c;display:flex;gap:18px;padding:14px 0;border-bottom:1px solid rgba(226,217,202,.15);font-size:15px}
ol.steps li::before{content:counter(c,decimal-leading-zero);font-family:var(--serif);color:var(--brass-soft);font-size:20px;min-width:36px}
.light ol.steps li{border-color:var(--line)}
.light ol.steps li::before{color:var(--brass)}

/* packs */
.grid-pack{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.pack{border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;background:#fff;transition:.3s}
.pack:hover{border-color:var(--brass);transform:translateY(-3px)}
.pack h3{font-size:19px;margin-bottom:8px}
.pack p{font-size:13.5px;color:var(--ink-soft)}
.pack .num{font-family:var(--serif);color:var(--brass);font-size:15px;margin-bottom:14px;display:block}
@media(max-width:980px){.grid-pack{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid-pack{grid-template-columns:1fr}}

/* forms */
.field{margin-bottom:16px}
.field label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-weight:600}
.field input,.field select,.field textarea{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--sans);font-size:14.5px;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brass)}
.cinfo p{margin-bottom:14px;font-size:15px}
.cinfo b{font-family:var(--serif);font-size:17px}

/* CTA band */
.band{background:linear-gradient(135deg,var(--terra),#7a3a25);color:#fff;text-align:center;padding:70px 24px}
.band .h2{color:#fff;max-width:22ch;margin:0 auto 14px}
.band p{color:#f3e2d6;max-width:560px;margin:0 auto 28px}
.band .btn{border-color:#fff;background:#fff;color:var(--terra)}
.band .btn:hover{background:transparent;color:#fff}

/* footer */
footer{background:var(--ink);color:#b6a98f;padding:64px 0 36px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px}
footer img.flogo{height:46px;width:auto;margin-bottom:18px}
footer h5,footer .footer-heading{color:#fff;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-family:var(--sans)}
footer ul{list-style:none}
footer ul li{margin-bottom:9px;font-size:13.5px}
footer ul a:hover{color:var(--brass-soft)}
footer .base{border-top:1px solid rgba(226,217,202,.14);padding-top:26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px}
@media(max-width:860px){footer .top{grid-template-columns:1fr 1fr}}

/* misc */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.on{opacity:1;transform:none}
.mt40{margin-top:40px}.mt24{margin-top:24px}
.smallnote{font-size:12.5px;color:var(--ink-soft)}


/* ===== language dropdown ===== */
.langwrap{position:relative}
.langmenu{position:absolute;top:46px;right:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px;display:none;min-width:160px;box-shadow:0 14px 36px rgba(28,24,19,.14);z-index:60}
.langmenu.open{display:block}
.langmenu a{display:block;padding:9px 14px;border-radius:8px;font-size:14px;color:var(--ink-soft)}
.langmenu a:hover,.langmenu a.cur{background:var(--paper-deep);color:var(--brass)}
.langmenu a.cur{font-weight:600}

/* ===== RTL (arabe) ===== */
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .nav ul{flex-direction:row-reverse}
html[dir="rtl"] .crumbs,html[dir="rtl"] .kicker{direction:rtl}
html[dir="rtl"] .langmenu{right:auto;left:0}
html[dir="rtl"] ol.steps li{flex-direction:row-reverse;text-align:right}
html[dir="rtl"] .spec td:first-child{text-align:right}
html[dir="rtl"] .tbl th,html[dir="rtl"] .tbl td{text-align:right}
html[dir="rtl"] .pdp .info,html[dir="rtl"] .lead,html[dir="rtl"] .hero h1,html[dir="rtl"] .hero p{text-align:right}


/* ===== filtres catalogue ===== */
.filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.fbtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;font-family:var(--sans);color:var(--ink-soft);transition:.2s}
.fbtn:hover{border-color:var(--brass);color:var(--brass)}
.fbtn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.fready{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft);cursor:pointer}
.fready input{accent-color:var(--brass)}
.fsearch{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:14px;font-family:var(--sans);background:#fff;min-width:200px}
.fsearch:focus{outline:none;border-color:var(--brass)}
html[dir="rtl"] .fsearch{margin-left:0;margin-right:auto}
@media(max-width:640px){.fsearch{margin-left:0;width:100%}}


/* TAZZRA universe/category image sections */
.universe{background:#f6f0e6;padding:78px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.universe-head,.section-row{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:34px;align-items:end;margin-bottom:30px}.universe-head .h2,.section-row .h2{max-width:760px}
.universe-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#16120f}.universe-card{position:relative;min-height:330px;overflow:hidden;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.universe-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.94) contrast(1.03)}.universe-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,14,10,.18),rgba(18,14,10,.28) 36%,rgba(18,14,10,.76))}.universe-card>*{position:relative;z-index:1}.universe-card .num{font-size:12px;letter-spacing:.18em;color:#e1c281}.universe-card h3{font-size:clamp(25px,2.4vw,40px);font-weight:400;margin-bottom:8px}.universe-card p{font-size:14px;line-height:1.45;color:#f4eee2;max-width:300px}.universe-card:hover img{transform:scale(1.055)}
.materials{background:#fffaf1;padding:80px 0}.materials-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.materials figure{position:relative;margin:0;overflow:hidden;border-radius:8px;background:#eee1cf;aspect-ratio:4/5}.materials img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.materials figure:hover img{transform:scale(1.05)}.materials figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;background:linear-gradient(180deg,transparent,rgba(18,14,10,.78));color:#fff;font-size:12px;line-height:1.25}
@media(max-width:980px){.universe-head,.section-row{grid-template-columns:1fr}.universe-grid{grid-template-columns:repeat(2,1fr)}.materials-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.universe{padding:54px 0}.universe-grid{grid-template-columns:1fr}.universe-card{min-height:260px}.materials{padding:54px 0}.materials-grid{grid-template-columns:repeat(2,1fr);gap:10px}.materials figcaption{font-size:11.5px}.hero{min-height:78vh}.hero .wrap{padding-bottom:54px}.nav .logo img{height:34px}}

.hero picture.hero-media{position:absolute;inset:0;display:block}.hero picture.hero-media img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

main{display:block}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#171411;color:#fff;z-index:9999;border-radius:4px}
