@font-face {
  font-family: 'Vazirmatn';
  src: url('/wp-content/uploads/fonts/Vazirmatn-Light.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/wp-content/uploads/fonts/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/wp-content/uploads/fonts/Vazirmatn-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/wp-content/uploads/fonts/Vazirmatn-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/wp-content/uploads/fonts/Vazirmatn-ExtraBold.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Noto Naskh Arabic';
  src: url('/wp-content/uploads/fonts/NotoNaskhArabic-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Noto Naskh Arabic';
  src: url('/wp-content/uploads/fonts/NotoNaskhArabic-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ── DESIGN TOKENS ───────────────────────────────────── */
:root {
  --gg-ink:       #241F1A;
  --gg-ink-2:     #5C5349;
  --gg-paper:     #F7F2E8;
  --gg-paper-2:   #EFE7D6;
  --gg-olive:     #3B4636;
  --gg-olive-2:   #2C352A;
  --gg-sage:      #8FA383;
  --gg-sage-soft: #DCE4D5;
  --gg-gold:      #A8842F;
  --gg-gold-lt:   #D9BE79;
  --gg-rose:      #8C4A3F;
  --gg-r-sm: 6px; --gg-r-md: 12px; --gg-r-lg: 20px;
  --gg-s1: 8px; --gg-s2: 16px; --gg-s3: 24px; --gg-s4: 40px; --gg-s5: 64px; --gg-s6: 96px;
  --gg-shadow: 0 2px 8px rgba(36,31,26,.06), 0 12px 32px rgba(36,31,26,.07);
  --gg-maxw: 1440px;
}

/* ── RESET (scoped to .gg-section) ──────────────────── */
.gg-section *, .gg-section *::before, .gg-section *::after { box-sizing: border-box; }
.gg-section {
  font-family: 'Vazirmatn', system-ui, sans-serif;
  font-size: 16px; line-height: 1.85;
  color: var(--gg-ink); -webkit-font-smoothing: antialiased; direction: rtl;
}
.gg-section img { max-width: 100%; display: block; }
.gg-section a   { color: inherit; text-decoration: none; }
.gg-section button { font-family: inherit; cursor: pointer; }
.gg-section :focus-visible { outline: 3px solid var(--gg-gold); outline-offset: 3px; border-radius: 4px; }

/* ── TYPOGRAPHY ─────────────────────────────────────── */
.gg-section h1,.gg-section h2,.gg-section h3 {
  font-family: 'Noto Naskh Arabic','Vazirmatn',serif; font-weight: 700; line-height: 1.5; margin: 0;
}
.gg-section h1 { font-size: clamp(30px,4.6vw,52px); letter-spacing: -.01em; }
.gg-section h2 { font-size: clamp(24px,3vw,36px); }
.gg-section h3 { font-size: 19px; }
.gg-section p  { margin: 0 0 1em; }
.gg-lead { font-size: clamp(16px,1.7vw,19px); color: var(--gg-ink-2); }

/* ── LAYOUT ─────────────────────────────────────────── */
.gg-container { max-width: var(--gg-maxw); margin: 0 auto; padding-inline: 24px; }
.gg-wrap,.gg-section section { padding-block: var(--gg-s6); }
@media(max-width:720px){ .gg-wrap,.gg-section section { padding-block: var(--gg-s5); } }

/* ── PLACARD ─────────────────────────────────────────── */
.gg-placard { display: flex; align-items: center; gap: 14px; margin-bottom: var(--gg-s2); }
.gg-placard::before { content:""; width:34px; height:1px; background:var(--gg-gold); flex:0 0 34px; }
.gg-placard span { font-size:12px; font-weight:700; letter-spacing:.16em; color:var(--gg-gold); text-transform:uppercase; }
.gg-section-head { max-width:660px; margin-bottom:var(--gg-s4); }
.gg-section-head p { color:var(--gg-ink-2); margin-top:12px; }

/* ── GILT FRAME ─────────────────────────────────────── */
.gg-gilt { position:relative; padding:10px; background:linear-gradient(135deg,#E3CE96,#A8842F 40%,#EBDCB0 55%,#8E6D22); border-radius:4px; }
.gg-gilt-inner { background:var(--gg-paper-2); border:1px solid rgba(36,31,26,.15); position:relative; overflow:hidden; }
.gg-gilt::after { content:""; position:absolute; inset:5px; border:1px solid rgba(255,255,255,.45); pointer-events:none; border-radius:2px; }

/* ── BUTTONS ─────────────────────────────────────────── */
.gg-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; padding:0 28px; border-radius:var(--gg-r-sm); border:1px solid transparent;
  font-size:16px; font-weight:700; font-family:'Vazirmatn',system-ui,sans-serif;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  cursor:pointer; text-decoration:none !important;
}
.gg-btn:active { transform:translateY(1px); }
.gg-btn-primary { background:var(--gg-olive); color:#fff !important; box-shadow:0 4px 14px rgba(59,70,54,.28); }
.gg-btn-primary:hover { background:var(--gg-olive-2); }
.gg-btn-ghost { background:transparent; color:var(--gg-ink) !important; border-color:rgba(36,31,26,.28); }
.gg-btn-ghost:hover { border-color:var(--gg-ink); background:rgba(36,31,26,.04); }
.gg-btn-gold { background:var(--gg-gold); color:#fff !important; }
.gg-btn-gold:hover { background:#8E6D22; }
.gg-btn-sm { min-height:44px; padding:0 18px; font-size:14px; }

/* ═══ TOP BAR ════════════════════════════════════════ */
.gg-topbar { background:var(--gg-olive-2); color:rgba(255,255,255,.85); font-size:13px; padding:8px 0; font-family:'Vazirmatn',system-ui,sans-serif; direction:rtl; }
.gg-topbar .gg-container { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.gg-topbar a { color:#fff; font-weight:700; }
.gg-topbar a:hover { color:var(--gg-gold-lt); }

/* ═══ HEADER / NAV ═══════════════════════════════════ */
/* Safely hide the theme's default header without breaking Elementor */
body header#masthead, body header.site-header { display: none !important; }
.gg-section .gg-container { max-width: 100% !important; padding: 0 40px !important; }
.gg-header .gg-head-cta { margin-inline-start: auto !important; }
.gg-header .gg-nav-container { margin-inline-start: 32px !important; }
.gg-header .gg-nav-container ul { display: flex !important; flex-direction: row !important; gap: 22px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; align-items: center !important; }
.gg-header .gg-nav-container li { margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center !important; position: relative !important; list-style: none !important; }
.gg-header .gg-nav-container li > a { padding: 6px 2px !important; border-bottom: 2px solid transparent !important; color: var(--gg-ink) !important; text-decoration: none !important; transition: border-color .15s !important; display: flex !important; align-items: center !important; gap: 6px !important; font-size: 15px !important; }
.gg-header .gg-nav-container li > a:hover { border-color: var(--gg-gold) !important; }
/* Dropdown CSS */
.gg-header .gg-nav-container ul ul { display: none !important; position: absolute !important; top: 100% !important; right: 0 !important; background: #fff !important; padding: 12px 0 !important; border-radius: 8px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; min-width: 180px !important; z-index: 100 !important; flex-direction: column !important; list-style: none !important; margin: 0 !important; gap: 0 !important; }
.gg-header .gg-nav-container li:hover > ul { display: flex !important; }
.gg-header .gg-nav-container ul ul li { display: block !important; width: 100% !important; }
.gg-header .gg-nav-container ul ul a { padding: 8px 20px !important; display: block !important; border: none !important; color: var(--gg-ink) !important; font-size: 14px !important; white-space: nowrap !important; transition: all .15s !important; }
.gg-header .gg-nav-container ul ul a:hover { color: var(--gg-gold) !important; background: rgba(0,0,0,0.03) !important; }
.gg-header .gg-nav-container ul ul .menu-item-has-children > a::after { display: none !important; }
.gg-header .gg-nav-container ul ul a svg, .gg-header .gg-nav-container ul ul a i { display: none !important; }
/* Mobile Nav CSS */
.gg-mobile-nav .gg-mobile-nav-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.gg-mobile-nav .gg-mobile-nav-menu li { margin: 0 !important; padding: 0 !important; }
.gg-mobile-nav .gg-mobile-nav-menu a { display: block !important; padding: 14px 24px !important; color: var(--gg-ink) !important; font-size: 16px !important; font-weight: 500 !important; border-bottom: 1px solid rgba(36,31,26,.07) !important; text-decoration: none !important; }
.gg-mobile-nav .gg-mobile-nav-menu a:hover { color: var(--gg-gold) !important; }
.gg-mobile-nav .gg-mobile-nav-menu .menu-item-has-children > a::after, .gg-mobile-nav .gg-mobile-nav-menu a svg, .gg-mobile-nav .gg-mobile-nav-menu a i { display: none !important; }
.gg-mobile-nav .gg-mobile-nav-menu ul.sub-menu { display: none !important; background: rgba(0,0,0,0.02) !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.gg-mobile-nav .gg-mobile-nav-menu li.gg-open-sub > ul.sub-menu { display: block !important; }
.gg-mobile-nav .gg-mobile-nav-menu ul.sub-menu a { padding-right: 48px !important; font-size: 15px !important; }
.gg-desktop-menu-wrapper { margin-inline-start: auto !important; display: flex !important; align-items: center !important; }
/* Header sticky fix: target the Elementor container holding the header widget */
.gg-section:has(.gg-header) { position:sticky !important; top:0 !important; z-index:100 !important; }
.gg-header { position:relative; z-index:100; background:rgba(247,242,232,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid rgba(168,132,47,.22); direction:rtl; font-family:'Vazirmatn',system-ui,sans-serif; }
.gg-header .gg-container { display:flex; align-items:center; gap:var(--gg-s3); min-height:72px; }
.gg-logo { font-family:'Noto Naskh Arabic',serif; font-size:20px; font-weight:700; display:flex; align-items:center; gap:10px; color:var(--gg-ink); text-decoration:none; }
.gg-logo b { color:var(--gg-gold); }
.gg-nav, .gg-header .uael-nav-menu { display:flex; gap:22px; margin-inline-start:auto; font-size:15px; list-style:none; margin-top:0; margin-bottom:0; padding:0; }
.gg-nav a, .gg-header .uael-menu-item { padding:6px 2px; border-bottom:2px solid transparent; color:var(--gg-ink); text-decoration:none; transition:border-color .15s; }
.gg-nav a:hover, .gg-header .uael-menu-item:hover, .gg-nav a[aria-current] { border-color:var(--gg-gold); }
.gg-head-cta { display:flex; gap:10px; align-items:center; }
.gg-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px; margin-inline-start:auto; cursor:pointer; }
.gg-hamburger span { width:24px; height:2px; background:var(--gg-ink); border-radius:2px; transition:transform .25s,opacity .25s; display:block; }
.gg-hamburger.gg-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.gg-hamburger.gg-open span:nth-child(2) { opacity:0; }
.gg-hamburger.gg-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.gg-mobile-nav { display:none; flex-direction:column; background:rgba(247,242,232,.98); border-top:1px solid rgba(168,132,47,.15); overflow:hidden !important; max-height:0 !important; opacity:0; visibility:hidden; transition:max-height .35s ease, opacity .35s ease, visibility .35s; }
.gg-mobile-nav.gg-open { max-height: 800px !important; opacity:1; visibility:visible; }
.gg-mobile-nav a { display:block; padding:14px 24px; color:var(--gg-ink); font-size:16px; font-weight:500; border-bottom:1px solid rgba(36,31,26,.07); text-decoration:none; }
.gg-mobile-nav a:hover { color:var(--gg-gold); }
.gg-mobile-nav-cta { display:flex; gap:10px; padding:16px 24px; }
@media(max-width:980px){ 
  .gg-nav{display:none;} 
  .gg-head-cta .gg-btn-ghost{display:none;} 
  .gg-hamburger{display:flex; margin:0; z-index:10;} 
  .gg-mobile-nav{display:flex;} 
  .gg-desktop-menu-wrapper, .gg-header .gg-nav-container, nav.gg-nav-container, ul.gg-nav-menu { display:none !important; } 
  .gg-header .gg-container { position: relative; justify-content: flex-start; }
  .gg-logo { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
}

/* ═══ HERO ════════════════════════════════════════════ */
.gg-hero { padding-block:var(--gg-s5) var(--gg-s6); position:relative; overflow:hidden; background:var(--gg-paper); }
.gg-hero::before { content:""; position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 85% 15%,rgba(143,163,131,.30),transparent 55%),radial-gradient(circle at 10% 90%,rgba(217,190,121,.22),transparent 50%); }
.gg-hero .gg-container { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:var(--gg-s4); align-items:center; }
.gg-eyebrow { display:inline-block; font-size:13px; font-weight:700; color:var(--gg-gold); border:1px solid rgba(168,132,47,.45); border-radius:40px; padding:5px 16px; margin-bottom:var(--gg-s2); }
.gg-hero h1 { margin-bottom:var(--gg-s2); }
.gg-hero h1 em { font-style:normal; color:var(--gg-gold); }
.gg-hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-top:var(--gg-s4); }
.gg-hero-micro { display:flex; gap:24px; flex-wrap:wrap; margin-top:var(--gg-s4); font-size:14px; color:var(--gg-ink-2); }
.gg-hero-micro span { display:flex; align-items:center; gap:6px; }
.gg-hero-art { aspect-ratio:3/4; max-height:640px; margin-inline:auto; max-width: 520px; width: 100%; }
.gg-hero-art .gg-gilt-inner { height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gg-hero-art img { width:100%; height:100%; object-fit:cover; }
@media(max-width:900px){ 
  .gg-hero .gg-container{grid-template-columns:1fr;gap:var(--gg-s4);} 
  .gg-hero-art{aspect-ratio:4/3; max-height:360px; order:-1;} 
}

/* ═══ TRUST STRIP ════════════════════════════════════ */
.gg-trust { background:var(--gg-olive); color:#fff; padding-block:var(--gg-s5); }
.gg-trust ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gg-s4); }
.gg-trust li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; }
.gg-trust li > div { display:flex; flex-direction:column; gap:6px; align-items:center; }
.gg-trust strong { display:block; font-size:16px; line-height:1.6; }
.gg-trust small { color:rgba(255,255,255,.72); font-size:13.5px; line-height:1.8; max-width:260px; }
.gg-trust svg {
  flex:0 0 56px; width:56px; height:56px; padding:14px;
  stroke:var(--gg-gold-lt); background:rgba(217,190,121,.14);
  border-radius:50%; box-sizing:border-box;
}
@media(max-width:860px){ .gg-trust ul{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .gg-trust ul{grid-template-columns:1fr;} }

/* ═══ PRODUCTS (WooCommerce) ════════════════════════ */
.gg-products { background:var(--gg-paper); padding-block:var(--gg-s6); }
/* Category filter chips (matches morvarid-landing-v2.html .filters/.chip) */
.gg-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:var(--gg-s4); }
.gg-chip { background:#fff; border:1px solid rgba(36,31,26,.16); border-radius:40px; min-height:44px; padding:0 20px; font-size:14px; font-weight:500; font-family:'Vazirmatn',system-ui,sans-serif; color:var(--gg-ink); cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.gg-chip:hover { border-color:var(--gg-olive); }
.gg-chip[aria-pressed="true"] { background:var(--gg-olive); color:#fff; border-color:var(--gg-olive); }
.gg-products .woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:32px !important; padding:0 !important; margin:0 auto !important; list-style:none !important; align-items:stretch !important; max-width:1180px !important; }
@media(max-width:980px){ .gg-products .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;} }
@media(max-width:520px){ .gg-products .woocommerce ul.products{grid-template-columns:1fr !important;} }
.gg-products .woocommerce ul.products li.product { background:#fff !important; border-radius:12px !important; overflow:hidden !important; box-shadow:var(--gg-shadow) !important; display:flex !important; flex-direction:column !important; margin:0 !important; width:100% !important; height:auto !important; padding:0 !important; transition:transform .2s ease,box-shadow .2s ease !important; }
.gg-products .woocommerce ul.products li.product:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(36,31,26,.14) !important; }
.gg-products .woocommerce ul.products li.product img { aspect-ratio:1/1 !important; object-fit:cover !important; width:100% !important; margin:0 !important; }
.gg-products .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px !important; font-weight:700 !important; padding:12px 16px 4px !important; color:var(--gg-ink) !important; font-family:'Noto Naskh Arabic','Vazirmatn',serif !important; line-height:1.6 !important; }
/* Hide product category label */
.gg-products .woocommerce ul.products li.product .ast-woo-product-category { display:none !important; }
.gg-products .woocommerce ul.products li.product .woocommerce-loop-category__title { display:none !important; }
/* Hide stars */
.gg-products .woocommerce ul.products li.product .star-rating { display:none !important; }
/* Price styling */
.gg-products .woocommerce ul.products li.product .price { font-size:16px !important; font-weight:800 !important; color:var(--gg-rose) !important; padding:0 16px 12px !important; }
.gg-products .woocommerce ul.products li.product .gg-price-row { display:flex !important; align-items:center !important; padding:4px 16px !important; }
/* Full-width button at bottom */
.gg-products .woocommerce ul.products li.product .button { display:block !important; margin:auto 16px 16px !important; background:var(--gg-olive) !important; color:#fff !important; border-radius:var(--gg-r-sm) !important; text-align:center !important; border:none !important; font-family:'Vazirmatn',system-ui,sans-serif !important; font-weight:700 !important; padding:12px 16px !important; width:calc(100% - 32px) !important; transition:background .18s !important; }
.gg-products .woocommerce ul.products li.product .button:hover { background:var(--gg-olive-2) !important; }
.gg-view-all { text-align:center; margin-top:var(--gg-s4); }

/* ═══ ABOUT ══════════════════════════════════════════ */
.gg-about { background:var(--gg-paper-2); padding-block:var(--gg-s6); }
.gg-about .gg-container { display:grid; grid-template-columns:1fr 1fr; gap:var(--gg-s5); align-items:center; }
@media(max-width:900px){ 
  .gg-about .gg-container{grid-template-columns:1fr;} 
  .gg-about-art{order:-1;} 
}
.gg-about-art { aspect-ratio:5/4; }
.gg-about-art .gg-gilt-inner { height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gg-about-art img { width:100%; height:100%; object-fit:cover; }
.gg-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gg-s2); margin-top:var(--gg-s3); }
.gg-stat { background:#fff; border-radius:var(--gg-r-md); padding:18px; text-align:center; border-top:3px solid var(--gg-gold); }
.gg-stat b { display:block; font-size:30px; font-family:'Noto Naskh Arabic',serif; color:var(--gg-olive); line-height:1.2; }
.gg-stat small { font-size:13px; color:var(--gg-ink-2); }

/* ═══ SERVICES ═══════════════════════════════════════ */
.gg-services { background:var(--gg-paper); padding-block:var(--gg-s6); }
.gg-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gg-s4); max-width:1180px; margin-inline:auto; }
@media(max-width:860px){ .gg-grid-3{grid-template-columns:1fr;} }
.gg-svc { background:#fff; border-radius:var(--gg-r-md); padding:32px 30px; box-shadow:var(--gg-shadow); border-top:3px solid var(--gg-sage); }
.gg-svc h3 { margin-bottom:12px; }
.gg-svc p { color:var(--gg-ink-2); font-size:15px; margin:0; line-height:1.9; }

/* ═══ PROCESS ════════════════════════════════════════ */
.gg-process { background:var(--gg-olive); color:#fff; padding-block:var(--gg-s6); }
.gg-process h2 { color:#fff !important; }
.gg-process .gg-placard span { color:var(--gg-gold-lt); }
.gg-process .gg-placard::before { background:var(--gg-gold-lt); }
.gg-process .gg-section-head p { color:rgba(255,255,255,.75); }
.gg-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gg-s3); }
@media(max-width:860px){ .gg-steps{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .gg-steps{grid-template-columns:1fr;} }
.gg-step { position:relative; padding:var(--gg-s3) 20px 20px; border:1px solid rgba(217,190,121,.4); border-radius:var(--gg-r-md); background:rgba(255,255,255,.05); box-shadow:0 0 15px rgba(217,190,121,.08); transition:box-shadow .3s; }
.gg-step:hover { box-shadow:0 0 25px rgba(217,190,121,.15); }
.gg-step-icon { font-size:32px; margin-bottom:10px; display:block; }
.gg-step-num { font-family:'Vazirmatn',serif; font-size:13px; font-weight:700; color:var(--gg-gold-lt); background:rgba(217,190,121,.15); border-radius:40px; padding:2px 12px; display:inline-block; margin-bottom:10px; }
.gg-step h3 { font-size:16px; margin-bottom:8px; color:#fff; }
.gg-step p { color:rgba(255,255,255,.82); font-size:14px; margin:0; line-height:1.75; }

/* ═══ REAL CUSTOMER GALLERY ══════════════════════════ */
.gg-customer-gallery { background:var(--gg-paper-2); padding-block:var(--gg-s6); }
.gg-customer-gallery .gg-section-head p { color:var(--gg-ink-2); margin-top:12px; }
.gg-cust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gg-s2); }
@media(max-width:860px){ .gg-cust-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:480px){ .gg-cust-grid{grid-template-columns:1fr;} }
.gg-cust-card {
  position:relative; aspect-ratio:1/1; border-radius:var(--gg-r-sm); overflow:hidden;
  background:linear-gradient(135deg,#E4DDCB,#CCD5C3); display:flex; align-items:center; justify-content:center;
  color:#8B8371; font-size:12px; text-align:center; padding:12px; box-shadow:var(--gg-shadow);
}
.gg-cust-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.gg-cust-card:hover img { transform:scale(1.05); }
.gg-cust-cap {
  position:absolute; inset-inline:0; bottom:0; padding:26px 12px 12px; color:#fff; font-size:13px; font-weight:700;
  background:linear-gradient(to top, rgba(36,31,26,.78), transparent); text-align:center; line-height:1.6;
}

/* ═══ CUSTOMER TESTIMONIALS ══════════════════════════ */
.gg-testimonials { background:var(--gg-paper); padding-block:var(--gg-s6); }
.gg-testimonials .gg-section-head p { color:var(--gg-ink-2); margin-top:12px; }
.gg-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gg-s4); max-width:1180px; margin-inline:auto; }
@media(max-width:860px){ .gg-quotes{grid-template-columns:1fr;} }
.gg-quote { background:#fff; border-radius:var(--gg-r-md); padding:32px 30px; box-shadow:var(--gg-shadow); display:flex; flex-direction:column; gap:14px; border-top:3px solid var(--gg-gold); }
.gg-quote p { font-size:15px; color:var(--gg-ink-2); margin:0; flex:1; line-height:1.9; }
.gg-who { display:flex; align-items:center; gap:12px; }
.gg-avatar { width:46px; height:46px; border-radius:50%; background:var(--gg-sage-soft); color:var(--gg-olive); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex:0 0 46px; }
.gg-who b { display:block; font-size:14px; color:var(--gg-ink); }
.gg-who small { color:var(--gg-ink-2); font-size:12px; }

/* ═══ FAQ ════════════════════════════════════════════ */
.gg-faq-section { background:var(--gg-paper); padding-block:var(--gg-s6); }
.gg-faq { max-width:820px; margin:0 auto; }
.gg-faq details { background:#fff; border-radius:var(--gg-r-md); margin-bottom:12px; box-shadow:0 1px 4px rgba(36,31,26,.06); overflow:hidden; border:1px solid rgba(36,31,26,.06); }
.gg-faq details::details-content { transition: block-size 0.4s ease-in-out, content-visibility 0.4s ease-in-out; }
.gg-faq summary { cursor:pointer; padding:20px 24px; font-weight:700; font-size:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:60px; font-family:'Vazirmatn',system-ui,sans-serif; }
.gg-faq summary::-webkit-details-marker { display:none; }
.gg-faq summary::after { content:"+"; font-size:24px; color:var(--gg-gold); flex:0 0 auto; transition:transform .3s ease, content .3s; }
.gg-faq details[open] summary::after { content:"−"; }
/* Smooth open/close animation */
.gg-faq .gg-ans { padding:0 24px 22px; color:var(--gg-ink-2); font-size:15px; line-height:1.85; animation: gg-faq-open .3s ease; }
@keyframes gg-faq-open { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }

/* ═══ LEAD FORM ══════════════════════════════════════ */
.gg-lead-sec { background:var(--gg-sage-soft); padding-block:var(--gg-s6); }
.gg-lead-box { background:#fff; border-radius:var(--gg-r-lg); padding:clamp(28px,4vw,48px); box-shadow:var(--gg-shadow); display:grid; grid-template-columns:1fr 1fr; gap:var(--gg-s4); align-items:center; }
@media(max-width:860px){ .gg-lead-box{grid-template-columns:1fr;} }
.gg-lead-box .wpcf7 input:not([type=submit]),.gg-lead-box .wpcf7 select,.gg-lead-box .wpcf7 textarea { width:100% !important; min-height:52px !important; padding:12px 16px !important; border:1px solid rgba(36,31,26,.22) !important; border-radius:var(--gg-r-sm) !important; font-family:'Vazirmatn',system-ui,sans-serif !important; font-size:15px !important; background:#fff !important; color:var(--gg-ink) !important; direction:rtl !important; margin-bottom:var(--gg-s2) !important; box-sizing:border-box !important; }
.gg-lead-box .wpcf7 textarea { min-height:96px !important; resize:vertical !important; }
.gg-lead-box .wpcf7 input[type=submit] { background:var(--gg-olive) !important; color:#fff !important; border:none !important; border-radius:var(--gg-r-sm) !important; padding:0 28px !important; min-height:52px !important; font-size:16px !important; font-weight:700 !important; font-family:'Vazirmatn',system-ui,sans-serif !important; cursor:pointer !important; width:100% !important; transition:background .18s !important; }
.gg-lead-box .wpcf7 input[type=submit]:hover { background:var(--gg-olive-2) !important; }
.gg-lead-box .wpcf7 label { display:block !important; font-size:14px !important; font-weight:700 !important; margin-bottom:6px !important; color:var(--gg-ink) !important; }
.gg-lead-box .wpcf7 .wpcf7-not-valid-tip { color:var(--gg-rose) !important; font-size:12.5px !important; }
.gg-lead-box .wpcf7-response-output { border-radius:var(--gg-r-sm) !important; font-size:14px !important; padding:10px 16px !important; margin-top:12px !important; }

/* WPForms styling — matches the design tokens */
.gg-lead-box .wpforms-container { margin:0 !important; }
.gg-lead-box .wpforms-field { margin-bottom:var(--gg-s2) !important; padding:0 !important; }
.gg-lead-box .wpforms-field-label { display:block !important; font-size:14px !important; font-weight:700 !important; margin-bottom:6px !important; color:var(--gg-ink) !important; }
.gg-lead-box .wpforms-field-label-inline { font-size:14px !important; font-weight:500 !important; color:var(--gg-ink) !important; }
.gg-lead-box .wpforms-required-label { color:var(--gg-rose) !important; }
.gg-lead-box .wpforms-field input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.gg-lead-box .wpforms-field select,
.gg-lead-box .wpforms-field textarea {
  width:100% !important; min-height:52px !important; padding:12px 16px !important;
  border:1px solid rgba(36,31,26,.22) !important; border-radius:var(--gg-r-sm) !important;
  font-family:'Vazirmatn',system-ui,sans-serif !important; font-size:15px !important;
  background:#fff !important; color:var(--gg-ink) !important; direction:rtl !important;
  box-sizing:border-box !important; line-height:1.6 !important;
}
.gg-lead-box .wpforms-field textarea { min-height:96px !important; resize:vertical !important; }
.gg-lead-box .wpforms-field select { appearance:auto !important; }
.gg-lead-box .wpforms-submit-container { padding:0 !important; margin-top:var(--gg-s2) !important; }
.gg-lead-box .wpforms-submit {
  background:var(--gg-olive) !important; color:#fff !important; border:none !important;
  border-radius:var(--gg-r-sm) !important; padding:0 28px !important; min-height:52px !important;
  font-size:16px !important; font-weight:700 !important; font-family:'Vazirmatn',system-ui,sans-serif !important;
  cursor:pointer !important; width:100% !important; transition:background .18s !important;
}
.gg-lead-box .wpforms-submit:hover { background:var(--gg-olive-2) !important; }
.gg-lead-box .wpforms-error { color:var(--gg-rose) !important; font-size:12.5px !important; }
.gg-lead-box .wpforms-error-container { border-radius:var(--gg-r-sm) !important; font-size:14px !important; padding:10px 16px !important; margin-bottom:12px !important; }
.gg-lead-box .wpforms-confirmation-container-full { border-radius:var(--gg-r-sm) !important; font-size:14px !important; padding:10px 16px !important; margin-top:12px !important; }

/* ═══ BLOG ═══════════════════════════════════════════ */
.gg-blog-section { background:var(--gg-paper-2); padding-block:var(--gg-s6); }
.gg-blog-section .display-posts-listing { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:var(--gg-s3) !important; list-style:none !important; padding:0 !important; margin:0 !important; }
@media(max-width:860px){ .gg-blog-section .display-posts-listing{grid-template-columns:1fr 1fr !important;} }
@media(max-width:520px){ .gg-blog-section .display-posts-listing{grid-template-columns:1fr !important;} }
.gg-blog-section .display-posts-listing .listing-item { background:#fff !important; border-radius:var(--gg-r-md) !important; overflow:hidden !important; box-shadow:var(--gg-shadow) !important; margin:0 !important; display:flex !important; flex-direction:column !important; transition:transform .2s ease !important; }
.gg-blog-section .display-posts-listing .listing-item:hover { transform:translateY(-4px); }
.gg-blog-section .display-posts-listing .listing-item img { width:100% !important; aspect-ratio:16/9 !important; object-fit:cover !important; }
.gg-blog-section .display-posts-listing .listing-item a { display:block; padding:16px; font-weight:700; font-size:15px; color:var(--gg-ink); }
.gg-blog-section .display-posts-listing .listing-item a:hover { color:var(--gg-gold); }

/* ═══ FOOTER ═════════════════════════════════════════ */
.gg-footer { background:var(--gg-olive-2); color:rgba(255,255,255,.82); padding-block:var(--gg-s5) var(--gg-s3); font-size:14.5px; direction:rtl; font-family:'Vazirmatn',system-ui,sans-serif; }
.gg-footer .gg-cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:var(--gg-s4); }
@media(max-width:900px){ .gg-footer .gg-cols{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .gg-footer .gg-cols{grid-template-columns:1fr;} }
.gg-footer h3 { color:#fff; font-size:16px; margin-bottom:14px; font-family:'Noto Naskh Arabic',serif; }
.gg-footer p { color:rgba(255,255,255,.82); line-height: 1.8; text-align: justify; margin: 0; }
.gg-footer a { color:rgba(255,255,255,.82); text-decoration:none; transition: color 0.2s; }
.gg-footer a:hover { color:var(--gg-gold-lt); }

/* Dynamic Menu & Lists */
.gg-footer-menu ul, .gg-footer-contact-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; }
.gg-footer-menu a { display: inline-block; padding: 2px 0; }
.gg-footer-menu a svg, .gg-footer-menu a i, .gg-footer-menu .menu-item-has-children > a::after { display: none !important; }

/* Social Icons */
.gg-footer-social { display: flex; gap: 12px; margin-top: 20px; }
.gg-footer-social a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: rgba(255,255,255,0.08); border-radius: 50%; color: #fff; transition: background 0.3s, color 0.3s; }
.gg-footer-social a:hover { background: var(--gg-gold-lt); color: var(--gg-olive-2); }
.gg-footer-social svg { width: 18px; height: 18px; fill: currentColor; }

/* Trustmark */
.gg-trustmark { background:#fff; border-radius:var(--gg-r-md); padding:14px; display:flex; gap:12px; align-items:center; color:var(--gg-ink); }
.gg-trustmark .gg-seal { width:64px; height:64px; border-radius:8px; background:var(--gg-sage-soft); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--gg-olive); text-align:center; flex:0 0 64px; font-weight:700; line-height: 1.4; }
.gg-trustmark b { font-size:14px; display:block; color: var(--gg-ink); }
.gg-trustmark small { font-size:12px; color:var(--gg-ink-2); }

/* Copyright */
.gg-copy { border-top:1px solid rgba(255,255,255,.14); margin-top:var(--gg-s4); padding-top:var(--gg-s3); font-size:13px; color:rgba(255,255,255,.6); text-align:center; }

/* ═══ MOBILE CTA BAR ═════════════════════════════════ */
.gg-mobile-cta { position:fixed; bottom:0; inset-inline:0; z-index:60; display:none; gap:8px; padding:10px 12px; background:rgba(247,242,232,.97); border-top:1px solid rgba(168,132,47,.3); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); direction:rtl; font-family:'Vazirmatn',system-ui,sans-serif; }
.gg-mobile-cta .gg-btn { flex:1; min-height:48px; font-size:15px; }
@media(max-width:720px){ .gg-mobile-cta{display:flex;} .gg-footer{padding-bottom:calc(var(--gg-s3) + 70px);} }

/* ═══ BLOG CARDS ══════════════════════════════════════ */
.gg-blog-section { background: var(--gg-paper-2); }
.gg-blog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gg-s3); margin-top: var(--gg-s4); }
.gg-blog-card { display: flex; flex-direction: column; background: #fff; border-radius: var(--gg-r-md); overflow: hidden; text-decoration: none !important; color: var(--gg-ink) !important; box-shadow: 0 2px 12px rgba(36,31,26,.07); transition: transform .2s ease, box-shadow .2s ease; }
.gg-blog-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(36,31,26,.12); }
.gg-blog-card-img { aspect-ratio: 16/9; overflow: hidden; }
.gg-blog-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.gg-blog-card:hover .gg-blog-card-img img { transform: scale(1.04); }
.gg-blog-card-body { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.gg-blog-date { font-size: 12px; color: var(--gg-ink-2); }
.gg-blog-card-body h3 { font-size: 15px; font-weight: 700; line-height: 1.5; margin: 0; color: var(--gg-ink); }
.gg-blog-card-body p { font-size: 13px; color: var(--gg-ink-2); line-height: 1.7; margin: 0; }
@media(max-width:980px){ .gg-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:600px){ .gg-blog-grid { grid-template-columns: 1fr; } }
