/* ============================================================
   shared.css — Bedune design system
   Tokens · Reset · Nav · Footer · Buttons · Utilities
   ============================================================ */

/* ── TOKENS ── */
:root {
  --sand:        #F8F2E6;
  --sand-mid:    #EDE0C8;
  --sand-dark:   #E0CBA8;
  --dune:        #C4A265;
  --dune-deep:   #8B6914;
  --earth:       #2C1F14;
  --earth-mid:   #5C3D28;
  --earth-light: #8A6842; /* BUG-14 fixed: was #9C7A5A (3.8:1 ratio) — darkened to #8A6842 for WCAG AA 4.5:1 against --sand */
  --mist:        #FBF7F0;
  --border:      rgba(196,162,101,0.22);
  --border2:     rgba(196,162,101,0.12);
  --glow:        rgba(196,162,101,0.13);
  --success:     #4a7c59;

  --f-disp-en: 'Thmanyah Serif Display', Georgia, serif;
  --f-disp-ar: 'Thmanyah Serif Display', serif;
  --f-body-en: 'Thmanyah Serif Text', serif;
  --f-body-ar: 'Thmanyah Serif Text', serif;
  --f-mono:    'DM Mono', monospace;

  --nav-h: 70px;
  --radius: 6px;
  --transition: 0.2s ease;
}

[data-theme="dark"] {
  --sand:        #111009;
  --sand-mid:    #1c1a14;
  --sand-dark:   #252218;
  --dune:        #d4b06a;
  --dune-deep:   #e8c96a;
  --earth:       #f2eddf;
  --earth-mid:   #c4b89a;
  --earth-light: #8a7d65;
  --mist:        #0e0d0a;
  --border:      rgba(212,176,106,0.18);
  --border2:     rgba(212,176,106,0.08);
  --glow:        rgba(212,176,106,0.10);
}

/* ── FONT FACES ──────────────────────────────────────────────────────────
   @font-face tells the browser "here is a font file; call it this name."
   Once declared, we can use font-family:'Thmanyah Serif Display' anywhere
   in the CSS and the browser will load the matching .otf file.

   WHY LOCAL FILES: We host fonts ourselves instead of using a CDN because
   CDN reliability in Kuwait and the Gulf can be inconsistent. Local files
   load from the same server as the page — always fast, always available.

   PATH RULE: url() paths in a CSS file are relative to the CSS FILE itself,
   not to the HTML page that loads it. Since shared.css sits at the project
   root, assets/fonts/ is correct. Using ../assets/fonts/ would look one
   level ABOVE the project folder — that was BUG-03.

   TWO FAMILIES, FIVE WEIGHTS EACH:
   · Thmanyah Serif Display — headings, hero text, pull quotes
   · Thmanyah Serif Text    — body copy, nav links, paragraphs
   Weights: 300 Light · 400 Regular · 500 Medium · 700 Bold · 900 Black
   ─────────────────────────────────────────────────────────────────────── */
@font-face{font-family:'Thmanyah Serif Display';src:url('assets/fonts/thmanyahserifdisplay-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'Thmanyah Serif Display';src:url('assets/fonts/thmanyahserifdisplay-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Thmanyah Serif Display';src:url('assets/fonts/thmanyahserifdisplay-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Thmanyah Serif Display';src:url('assets/fonts/thmanyahserifdisplay-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Thmanyah Serif Display';src:url('assets/fonts/thmanyahserifdisplay-Black.otf') format('opentype');font-weight:900;font-display:swap}
@font-face{font-family:'Thmanyah Serif Text';src:url('assets/fonts/thmanyahseriftext-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'Thmanyah Serif Text';src:url('assets/fonts/thmanyahseriftext-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Thmanyah Serif Text';src:url('assets/fonts/thmanyahseriftext-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Thmanyah Serif Text';src:url('assets/fonts/thmanyahseriftext-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Thmanyah Serif Text';src:url('assets/fonts/thmanyahseriftext-Black.otf') format('opentype');font-weight:900;font-display:swap}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--sand);color:var(--earth);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[lang="ar"] body{font-family:var(--f-body-ar);text-align:right}
html[lang="en"] body{font-family:var(--f-body-en);text-align:left}
ul,ol{list-style:none}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}
img{max-width:100%;display:block}
p{max-width:68ch}
::selection{background:var(--dune);color:#fff}

/* ── GRAIN ── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

/* ── LANG VISIBILITY ── */
html[lang="ar"] .en-only{display:none!important}
html[lang="en"] .ar-only{display:none!important}

/* ── THEME ICONS ── */
.icon-sun{display:none}.icon-moon{display:block}
[data-theme="dark"] .icon-sun{display:block}[data-theme="dark"] .icon-moon{display:none}

/* ── LOGO IMAGES — gold always, white never in nav ── */
.nav-logo-white{display:none!important}
.nav-logo-color{display:block}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);
  display:flex;align-items:center;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.nav.scrolled{
  background:rgba(248,242,230,.92);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 24px rgba(44,31,20,.06);
}
[data-theme="dark"] .nav.scrolled{background:rgba(17,16,9,.9)}
.nav-inner{
  width:100%;max-width:1180px;margin-inline:auto;padding-inline:2rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.logo{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none}
.nav-logo-img{height:36px;width:auto;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:.1rem}
html[lang="ar"] .nav-links a{font-family:var(--f-body-ar);font-size:.9rem;color:var(--earth-mid);padding:5px 11px;border-radius:5px;transition:color .2s,background .2s;white-space:nowrap}
html[lang="en"] .nav-links a{font-family:var(--f-body-en);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--earth-mid);padding:5px 11px;border-radius:5px;transition:color .2s,background .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--earth);background:var(--glow)}
.nav-controls{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.lang-toggle{display:flex;align-items:center;gap:.25rem}
.lang-btn{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--earth-light);padding:2px 3px;cursor:pointer;transition:color .15s}
.lang-btn.active,.lang-btn:hover{color:var(--earth);font-weight:700}
.lang-sep{font-family:var(--f-mono);font-size:11px;color:var(--border);user-select:none}
.theme-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;border:1px solid var(--border);color:var(--earth-light);transition:color .2s,border-color .2s,background .2s}
.theme-btn:hover{color:var(--dune);border-color:var(--dune);background:var(--glow)}
.hamburger{display:none;padding:.35rem;color:var(--earth);border-radius:4px}
.hamburger:hover{background:var(--glow)}
.hamburger svg{width:22px;height:22px;display:block}
.mobile-menu{display:none;position:fixed;inset:0;z-index:999;background:var(--sand);align-items:center;justify-content:center;flex-direction:column}
.mobile-menu.open{display:flex}
.mobile-menu ul{text-align:center}
.mobile-menu li{margin-block:.6rem}
html[lang="ar"] .mobile-menu a{font-family:var(--f-disp-ar);font-size:2rem;color:var(--earth)}
html[lang="en"] .mobile-menu a{font-family:var(--f-disp-en);font-size:2.2rem;font-style:italic;color:var(--earth)}
.mobile-menu a:hover{color:var(--dune-deep)}
.menu-close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:var(--earth-light);cursor:pointer;font-family:var(--f-mono)}
html[dir="rtl"] .menu-close{right:auto;left:1.5rem}
@media(max-width:900px){.nav-links{display:none}.hamburger{display:flex}}

/* ── MAIN OFFSET ── */
main{padding-block-start:var(--nav-h)}

/* ── PAGE HEADER ── */
.page-header{
  background:var(--mist);
  border-bottom:1px solid var(--border);
  padding:4rem 2rem 5rem;
  text-align:center;
  position:relative;overflow:hidden;
}
.page-header::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 60%, rgba(196,162,101,.1) 0%,transparent 70%);
}
.page-header-inner{position:relative;z-index:1;max-width:780px;margin-inline:auto}
.page-header-eyebrow{
  font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--earth-light);margin-bottom:1rem;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
}
html[lang="ar"] .page-header-eyebrow{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.8rem}
html[lang="ar"] .page-header h1{font-family:var(--f-disp-ar);font-weight:700;font-size:clamp(2rem,5vw,3.8rem);color:var(--earth);line-height:1.2;margin-bottom:1rem}
html[lang="en"] .page-header h1{font-family:var(--f-disp-en);font-weight:400;font-size:clamp(1.8rem,4.5vw,3.4rem);color:var(--earth);line-height:1.2;margin-bottom:1rem}
.page-header p{font-size:1rem;color:var(--earth-light);max-width:55ch;margin-inline:auto;line-height:1.7}
html[lang="ar"] .page-header p{font-family:var(--f-body-ar);font-size:1.05rem}
/* Dune wave at bottom of page header */
.page-header-wave{position:absolute;bottom:-1px;left:0;width:100%;height:60px;z-index:2}

/* ── SECTION ── */
.section{padding-block:5.5rem}
.section--sm{padding-block:3rem}
.container{max-width:1180px;margin-inline:auto;padding-inline:2rem}
.container--narrow{max-width:760px;margin-inline:auto;padding-inline:2rem}

/* ── SECTION EYEBROW ── */
.eyebrow{
  font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--earth-light);margin-bottom:.9rem;
  display:flex;align-items:center;gap:.7rem;
}
.eyebrow::after{content:'';flex:1;height:1px;background:var(--border);max-width:60px}
html[dir="rtl"] .eyebrow{flex-direction:row-reverse}
html[dir="rtl"] .eyebrow::after{order:-1}
html[lang="ar"] .eyebrow{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.8rem}

/* ── SECTION HEADING ── */
html[lang="ar"] .section-h2{font-family:var(--f-disp-ar);font-weight:700;font-size:clamp(1.8rem,3.5vw,3rem);color:var(--earth);margin-bottom:1rem}
html[lang="en"] .section-h2{font-family:var(--f-disp-en);font-weight:400;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--earth);margin-bottom:1rem}
html[lang="ar"] h3.sub-h{font-family:var(--f-disp-ar);font-weight:600;font-size:clamp(1.1rem,2vw,1.45rem);color:var(--earth)}
html[lang="en"] h3.sub-h{font-family:var(--f-disp-en);font-size:clamp(1rem,1.8vw,1.35rem);font-weight:400;color:var(--earth)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.78rem 1.9rem;border-radius:3px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none}
html[lang="ar"] .btn{font-family:var(--f-body-ar);font-size:.95rem}
html[lang="en"] .btn{font-family:var(--f-body-en);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}
.btn-primary{background:var(--earth);color:var(--sand);border:1.5px solid var(--earth)}
.btn-primary:hover{background:var(--dune-deep);border-color:var(--dune-deep);color:#fff}
.btn-outline{background:transparent;color:var(--earth);border:1.5px solid var(--dune)}
.btn-outline:hover{background:var(--glow);color:var(--earth)}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.btn-outline-white:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-block{display:flex;width:100%;justify-content:center}

/* ── CARDS ── */
.card{background:var(--sand-mid);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 2rem;transition:box-shadow .2s ease,border-color .2s ease}
.card:hover{box-shadow:0 4px 24px rgba(44,31,20,.06)}
[data-theme="dark"] .card:hover{box-shadow:0 4px 24px rgba(0,0,0,.35);border-color:var(--border2)}

/* ── DIVIDER ── */
.divider{border:none;border-top:1px solid var(--border);margin-block:2.5rem}

/* ── ALERT NOTICES ── */
.alert{background:rgba(196,162,101,.08);border-inline-start:3px solid var(--dune);border-radius:0 var(--radius) var(--radius) 0;padding:1.25rem 1.5rem;margin-block:1.5rem}
.alert-title{font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--dune-deep);margin-bottom:.5rem}
html[lang="ar"] .alert-title{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.8rem}
.alert p{font-size:.9rem;color:var(--earth);max-width:none}
.alert--sm{background:rgba(196,162,101,.07);border-inline-start:3px solid var(--dune);padding:.75rem 1rem;border-radius:0 var(--radius) var(--radius) 0;font-size:.85rem;color:var(--earth-light);margin-block:1rem}

/* ── OFFER BADGE ── */
.badge{display:inline-block;font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:rgba(196,162,101,.1);color:var(--dune-deep);border:1px solid rgba(139,105,20,.2);padding:2px 10px;border-radius:99px;vertical-align:middle;margin-inline-start:.5rem}

/* ── FOOTER ── */
.footer{background:#1a1007;color:rgba(255,255,255,.55);padding-block:4rem 2.5rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:2.5rem}}
.footer-tagline{margin-top:.6rem;font-size:.88rem;color:rgba(255,255,255,.4);max-width:none}
html[lang="ar"] .footer-tagline{font-family:var(--f-body-ar)}
.footer-email{display:inline-block;margin-top:.75rem;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.03em;color:rgba(255,255,255,.6);transition:color .2s}
.footer-email:hover{color:var(--dune)}
.footer-col-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem}
html[lang="ar"] .footer-col-label{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.75rem}
.footer-nav-list{display:flex;flex-direction:column;gap:.5rem}
.footer-nav-list a{font-size:.88rem;color:rgba(255,255,255,.55);transition:color .2s}
.footer-nav-list a:hover{color:rgba(255,255,255,.95)}
html[lang="ar"] .footer-nav-list a{font-family:var(--f-body-ar)}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.09);margin-bottom:2rem}
.footer-disclaimer{font-family:var(--f-mono);font-size:.65rem;letter-spacing:.025em;color:rgba(255,255,255,.28);line-height:1.9;max-width:none;margin-bottom:1.5rem}
html[lang="ar"] .footer-disclaimer{font-family:var(--f-body-ar);font-size:.78rem;letter-spacing:0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-bottom p{font-family:var(--f-mono);font-size:.65rem;letter-spacing:.04em;color:rgba(255,255,255,.22);max-width:none}

/* ── REVEAL ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}

/* ── UTILITY ── */
.text-center{text-align:center}
.text-muted{color:var(--earth-light)}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
.gap-1{gap:.5rem}.gap-2{gap:1rem}
.flex{display:flex;flex-wrap:wrap}.flex-center{justify-content:center}.flex-between{justify-content:space-between}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}
@media(min-width:769px) and (max-width:1024px){.grid-3{grid-template-columns:1fr 1fr}}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid var(--border);padding-block:1.25rem}
.faq-question{width:100%;text-align:inherit;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--earth);font-family:inherit}
html[lang="ar"] .faq-question{font-family:var(--f-disp-ar);font-size:1.05rem}
html[lang="en"] .faq-question{font-family:var(--f-disp-en);font-size:1.1rem}
.faq-icon{width:20px;height:20px;flex-shrink:0;color:var(--dune);transition:transform .2s ease}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{display:none;padding-top:.75rem}
.faq-answer p{font-size:.93rem;color:var(--earth-light);max-width:none}
html[lang="ar"] .faq-answer p{font-family:var(--f-body-ar)}
.faq-item.open .faq-answer{display:block}

/* ── FORMS ── */
.form-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}
.form-label{font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--earth-light)}
html[lang="ar"] .form-label{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.88rem}
.form-control{width:100%;background:var(--sand-mid);border:1px solid var(--border);border-radius:3px;padding:.7rem .9rem;font-size:.95rem;color:var(--earth);font-family:inherit;transition:border-color .2s}
.form-control:focus{outline:none;border-color:var(--dune);box-shadow:0 0 0 3px rgba(196,162,101,.12)}
textarea.form-control{min-height:130px;resize:vertical;line-height:1.6}

/* ── COMPARISON TABLE ── */
.compare-wrap{overflow-x:auto;margin-block:2rem}
.compare-table{width:100%;border-collapse:collapse;font-size:.88rem}
.compare-table th{background:var(--sand-dark);padding:.9rem 1.25rem;text-align:center;color:var(--earth);font-family:var(--f-mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border)}
html[lang="ar"] .compare-table th{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0}
.compare-table td{padding:.8rem 1.25rem;border:1px solid var(--border);color:var(--earth-light);background:var(--sand)}
.compare-table td:first-child{background:var(--sand-mid);font-weight:500;color:var(--earth)}
html[lang="ar"] .compare-table td,.compare-table th{text-align:right}
.check-yes{color:var(--success);font-weight:700}
.check-var{color:var(--dune-deep)}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

.blog-card{background:var(--sand-mid);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}
.blog-card:hover{box-shadow:0 6px 28px rgba(44,31,20,.08);transform:translateY(-2px)}
[data-theme="dark"] .blog-card:hover{box-shadow:0 6px 28px rgba(0,0,0,.35)}

.blog-card-thumb{height:140px;background:linear-gradient(135deg, var(--sand-dark) 0%, var(--dune) 100%);position:relative;overflow:hidden}
.blog-card-thumb svg{position:absolute;bottom:0;left:0;width:100%;opacity:.35}
.blog-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.blog-card-date{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--earth-light);margin-bottom:.6rem;opacity:.7}
html[lang="ar"] .blog-card-date{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.78rem}
html[lang="ar"] .blog-card h3{font-family:var(--f-disp-ar);font-weight:700;font-size:1.05rem;color:var(--earth);margin-bottom:.6rem;line-height:1.4}
html[lang="en"] .blog-card h3{font-family:var(--f-disp-en);font-size:1.1rem;font-weight:400;color:var(--earth);margin-bottom:.6rem;line-height:1.4}
.blog-card p{font-size:.86rem;color:var(--earth-light);line-height:1.65;flex:1;max-width:none}
html[lang="ar"] .blog-card p{font-family:var(--f-body-ar);font-size:.9rem}
.blog-card-more{display:inline-block;margin-top:1.25rem;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dune-deep)}
html[lang="ar"] .blog-card-more{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.8rem}

/* Article */
.blog-article{max-width:680px;margin-inline:auto}
.blog-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.blog-meta-date,.blog-meta-author{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.07em;color:var(--earth-light);opacity:.75}
html[lang="ar"] .blog-meta-date,html[lang="ar"] .blog-meta-author{font-family:var(--f-body-ar);letter-spacing:0;font-size:.82rem}

.blog-article p{font-size:1.02rem;line-height:1.9;color:var(--earth-light);max-width:none;margin-bottom:1.4rem}
html[lang="ar"] .blog-article p{font-family:var(--f-body-ar);font-size:1.05rem}
html[lang="ar"] .blog-article h2{font-family:var(--f-disp-ar);font-weight:700;font-size:clamp(1.3rem,2.5vw,1.7rem);color:var(--earth);margin:2.5rem 0 .75rem}
html[lang="en"] .blog-article h2{font-family:var(--f-disp-en);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:400;color:var(--earth);margin:2.5rem 0 .75rem}
html[lang="ar"] .blog-article h3{font-family:var(--f-disp-ar);font-weight:600;font-size:1.1rem;color:var(--earth);margin:1.75rem 0 .6rem}
html[lang="en"] .blog-article h3{font-family:var(--f-disp-en);font-size:1.15rem;font-weight:400;color:var(--earth);margin:1.75rem 0 .6rem}
.blog-article ul,.blog-article ol{padding-inline-start:1.5rem;margin-bottom:1.4rem}
.blog-article ul{list-style:disc}.blog-article ol{list-style:decimal}
.blog-article li{font-size:.95rem;color:var(--earth-light);margin-block:.4rem;line-height:1.7}
html[lang="ar"] .blog-article li{font-family:var(--f-body-ar);font-size:1rem}
.blog-article strong{color:var(--earth);font-weight:600}

/* Article back link */
.article-back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--earth-light);margin-bottom:2rem;transition:color .2s}
.article-back:hover{color:var(--earth)}
.article-back svg{width:16px;height:16px;flex-shrink:0}
html[dir="rtl"] .article-back{flex-direction:row-reverse}
html[dir="rtl"] .article-back svg{transform:scaleX(-1)}
html[lang="ar"] .article-back{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.82rem}

/* Article end CTA */
.article-cta{background:var(--sand-mid);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;text-align:center;margin-top:3.5rem}
html[lang="ar"] .article-cta h3{font-family:var(--f-disp-ar);font-weight:700;font-size:1.35rem;color:var(--earth);margin-bottom:.6rem}
html[lang="en"] .article-cta h3{font-family:var(--f-disp-en);font-size:1.4rem;font-weight:400;color:var(--earth);margin-bottom:.6rem}
.article-cta p{font-size:.9rem;color:var(--earth-light);max-width:44ch;margin-inline:auto;margin-bottom:1.5rem}
html[lang="ar"] .article-cta p{font-family:var(--f-body-ar)}

/* ── SKIP LINK ────────────────────────────────────────────────────────
   Accessibility: keyboard users can skip the nav and jump straight to
   main content by pressing Tab then Enter. Visually hidden until focused.
   The <a class="skip-link" href="#main-content"> must be the first element
   inside <body> on every page.
   ─────────────────────────────────────────────────────────────────────── */
.skip-link{
  position:absolute;
  top:-100%;
  left:50%;
  transform:translateX(-50%);
  background:var(--earth);
  color:var(--sand);
  padding:.6rem 1.4rem;
  border-radius:0 0 var(--radius) var(--radius);
  font-family:var(--f-mono);
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.06em;
  z-index:10000;
  transition:top .15s ease;
  white-space:nowrap;
}
/* When the skip link receives keyboard focus, slide it into view */
.skip-link:focus{top:0}

/* ── WHATSAPP FLOATING BUTTON ──────────────────────────────────────────
   A fixed green button in the bottom corner. Visible on every page.
   Gives Gulf visitors (who overwhelmingly use WhatsApp) a persistent
   one-tap contact point without having to find the Contact page.

   PLACEHOLDER: The href uses [WHATSAPP_NUMBER_PLACEHOLDER]. Replace this
   with the real number (e.g. https://wa.me/96512345678) when ready.
   See contact.html for the same placeholder pattern.

   RTL/LTR: In Arabic (RTL) it appears in the bottom-left corner.
   In English (LTR) it appears in the bottom-right. Uses logical
   properties (inset-inline-end) so it automatically flips with dir.
   ─────────────────────────────────────────────────────────────────────── */
.whatsapp-float{
  /* Fixed: stays visible as the user scrolls */
  position:fixed;
  bottom:1.75rem;
  /* inset-inline-end = right in LTR, left in RTL — flips automatically */
  inset-inline-end:1.75rem;
  z-index:900; /* below nav (1000) and mobile menu (999), above page content */

  display:flex;
  align-items:center;
  gap:.6rem;

  background:#25D366; /* official WhatsApp green — intentionally not a token */
  color:#fff;
  border-radius:99px;
  padding:.75rem 1.2rem;
  box-shadow:0 4px 20px rgba(37,211,102,.35);
  transition:transform .2s ease, box-shadow .2s ease;
  text-decoration:none;
  font-size:.8rem;
  font-weight:500;
  white-space:nowrap;
}
.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(37,211,102,.45);
}
/* The text label — shown on larger screens, hidden on small */
.whatsapp-float-label{
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.05em;
}
html[lang="ar"] .whatsapp-float-label{
  font-family:var(--f-body-ar);
  font-size:.82rem;
  letter-spacing:0;
}
/* Hide the text label on very small screens — icon only */
@media(max-width:480px){
  .whatsapp-float-label{display:none}
  .whatsapp-float{padding:.85rem}
}

/* ── BACK TO TOP BUTTON ────────────────────────────────────────────────
   A small round button that scrolls the page to the top. Hidden until
   the user scrolls down 400px (JS adds the 'visible' class).
   Positioned just above the WhatsApp float so they don't overlap.
   ─────────────────────────────────────────────────────────────────────── */
.back-to-top{
  position:fixed;
  bottom:5.5rem; /* sits above the WhatsApp float button */
  inset-inline-end:1.75rem;
  z-index:890;

  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--sand-mid);
  border:1px solid var(--border);
  color:var(--earth-light);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:opacity .25s ease, transform .25s ease, color .2s, border-color .2s;

  /* Hidden by default — JS adds .visible when user scrolls down */
  opacity:0;
  pointer-events:none; /* can't click when invisible */
  transform:translateY(8px);
}
.back-to-top.visible{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.back-to-top:hover{
  color:var(--dune);
  border-color:var(--dune);
  background:var(--glow);
}
.back-to-top svg{width:16px;height:16px}

/* ── ESTIMATOR ── */
.estimator{background:var(--sand-mid);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;margin-block:2rem}
.estimator-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}
.est-label{display:block;font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--earth-light);margin-bottom:.5rem}
html[lang="ar"] .est-label{font-family:var(--f-body-ar);text-transform:none;letter-spacing:0;font-size:.85rem}
.est-toggle{display:flex;align-items:center;gap:.75rem}
.est-toggle input[type="checkbox"]{width:18px;height:18px;accent-color:var(--dune-deep);cursor:pointer}
.est-input{width:100%;background:var(--sand);border:1px solid var(--border);border-radius:3px;padding:.6rem .75rem;font-size:.95rem;color:var(--earth);font-family:inherit;transition:border-color .2s}
.est-input:focus{outline:none;border-color:var(--dune)}
.estimator-results{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:600px){.estimator-results{grid-template-columns:1fr}}
.est-card{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.est-card-label{font-family:var(--f-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--earth-light);margin-bottom:.5rem}
.est-total{font-family:var(--f-mono);font-size:1.7rem;font-weight:500;color:var(--earth);line-height:1.2;margin-bottom:1rem}
.est-breakdown{font-size:.82rem;color:var(--earth-light)}
.est-breakdown li{display:flex;justify-content:space-between;padding-block:.35rem;border-bottom:1px solid var(--border)}
.est-note{font-family:var(--f-mono);font-size:.7rem;color:var(--earth-light);text-align:center;margin-top:1.5rem;letter-spacing:.03em;opacity:.8}
html[lang="ar"] .est-note{font-family:var(--f-body-ar);letter-spacing:0}
