/*
 LBI Egypt V25.1 — Global Footer Contract + CTA Governance Recovery
 Additive CSS-only governance layer. No layout rebuild, no route/database/runtime changes.
*/
:root{
  --lbi-v251-footer-bg-a:#030816;
  --lbi-v251-footer-bg-b:#07142f;
  --lbi-v251-footer-bg-c:#0f172a;
  --lbi-v251-footer-text:#f8fafc;
  --lbi-v251-footer-soft:rgba(226,232,240,.84);
  --lbi-v251-footer-muted:rgba(203,213,225,.76);
  --lbi-v251-footer-link:rgba(226,232,240,.9);
  --lbi-v251-footer-border:rgba(148,163,184,.2);
  --lbi-v251-footer-chip:rgba(255,255,255,.08);
  --lbi-v251-primary:#ffffff;
  --lbi-v251-primary-text:#123374;
  --lbi-v251-whatsapp:#0f766e;
  --lbi-v251-whatsapp-text:#ffffff;
  --lbi-v251-dark-surface:#061126;
  --lbi-v251-dark-soft:rgba(226,232,240,.9);
  --lbi-v251-light-surface:#ffffff;
  --lbi-v251-light-text:#0f172a;
  --lbi-v251-light-soft:#475569;
}

body{overflow-x:hidden!important;}

/* Hero semantic contrast contract: dark surfaces always inherit readable light text. */
.lbi-v19-hero,
.lbi-v16-product .lbi-v8-hero,
.lbi-v17-hero,
.lbi-v8-hero.lbi-v16-hero,
section[class*="hero"][class*="lbi-v"]{
  color:var(--lbi-v251-footer-text)!important;
}
.lbi-v19-hero h1,.lbi-v19-hero h2,.lbi-v19-hero h3,.lbi-v19-hero p,.lbi-v19-hero span,.lbi-v19-hero small,
.lbi-v16-product .lbi-v8-hero h1,.lbi-v16-product .lbi-v8-hero h2,.lbi-v16-product .lbi-v8-hero h3,.lbi-v16-product .lbi-v8-hero p,.lbi-v16-product .lbi-v8-hero span,.lbi-v16-product .lbi-v8-hero small,
.lbi-v17-hero h1,.lbi-v17-hero h2,.lbi-v17-hero h3,.lbi-v17-hero p,.lbi-v17-hero span,.lbi-v17-hero small{
  color:inherit!important;
  opacity:1!important;
  text-shadow:none!important;
}
.lbi-v19-hero .lbi-v19-kicker,
.lbi-v16-product .lbi-v8-hero .lbi-v8-kicker,
.lbi-v17-hero .lbi-v8-kicker,
.lbi-v17-hero-note{
  color:var(--lbi-v251-dark-soft)!important;
}

/* Light CTA and button surfaces must never contain invisible white text. */
.lbi-v8-btn--light,
.lbi-v19-btn-ghost,
.lbi-v16-btn-soft,
.lbi-v17-cta .lbi-v8-btn--light,
.lbi-v19-final-card .lbi-v19-btn-primary,
.lbi-v251-footer-contract .lbi-v12-footer-actions a:first-child,
.lbi-v251-footer-dock__meet,
.lbi-v10-dock__meet{
  background:var(--lbi-v251-light-surface)!important;
  color:var(--lbi-v251-primary-text)!important;
  border-color:rgba(255,255,255,.86)!important;
}
.lbi-v8-btn--light *,
.lbi-v19-btn-ghost *,
.lbi-v16-btn-soft *,
.lbi-v17-cta .lbi-v8-btn--light *,
.lbi-v19-final-card .lbi-v19-btn-primary *,
.lbi-v251-footer-contract .lbi-v12-footer-actions a:first-child *{
  color:inherit!important;
}
.lbi-v8-btn--whatsapp,
.lbi-v19-btn-success,
.lbi-v251-footer-contract .lbi-v12-footer-actions a:last-child,
.lbi-v10-dock__wa{
  background:var(--lbi-v251-whatsapp)!important;
  color:var(--lbi-v251-whatsapp-text)!important;
  border-color:var(--lbi-v251-whatsapp)!important;
}

/* Empty/washed artifact guard: neutralizes blank white CTA shapes without hiding valid links. */
a[class*="btn"]:empty,
button[class*="btn"]:empty,
a[class*="cta"]:empty,
button[class*="cta"]:empty,
.lbi-v17-actions>a:empty,
.lbi-v19-actions>a:empty,
.lbi-v12-footer-actions>a:empty{
  display:none!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}
.lbi-v17-actions a,
.lbi-v19-actions a,
.lbi-v19-2-actions a,
.lbi-v12-footer-actions a,
.lbi-v10-dock a{
  min-width:max-content;
  white-space:normal!important;
}

/* One global footer contract for catalog and single product pages. */
.lbi-v251-footer-contract{
  position:relative!important;
  margin-top:0!important;
  padding-top:clamp(40px,5vw,64px)!important;
  padding-bottom:0!important;
  background:linear-gradient(135deg,var(--lbi-v251-footer-bg-a),var(--lbi-v251-footer-bg-b) 54%,var(--lbi-v251-footer-bg-c))!important;
  color:var(--lbi-v251-footer-text)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.lbi-v251-footer-contract::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 14% 12%,rgba(59,130,246,.18),transparent 34%),radial-gradient(circle at 86% 18%,rgba(15,118,110,.14),transparent 32%);
  pointer-events:none;
  z-index:-1;
}
.lbi-v251-footer-contract .lbi-v13-footer-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(0,2.18fr)!important;
  align-items:start!important;
  gap:clamp(24px,3vw,42px)!important;
  padding-top:0!important;
  padding-bottom:clamp(26px,3vw,38px)!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-brand{
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-brand img{
  width:154px!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0!important;
}
.lbi-v251-footer-contract h2,
.lbi-v251-footer-contract h3{
  color:var(--lbi-v251-footer-text)!important;
  letter-spacing:-.02em!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-brand h2{
  margin:0!important;
  max-width:520px!important;
  font-size:clamp(22px,2vw,28px)!important;
  line-height:1.32!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-brand p{
  margin:0!important;
  max-width:520px!important;
  color:var(--lbi-v251-footer-soft)!important;
  font-size:15px!important;
  line-height:1.82!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-signals{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:2px 0 0!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-signals span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  border:1px solid var(--lbi-v251-footer-border)!important;
  border-radius:999px!important;
  background:var(--lbi-v251-footer-chip)!important;
  color:var(--lbi-v251-footer-soft)!important;
  padding:6px 11px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.lbi-v251-footer-contract .lbi-v251-footer-actions,
.lbi-v251-footer-contract .lbi-v12-footer-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:4px!important;
}
.lbi-v251-footer-contract .lbi-v12-footer-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:999px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links>div{
  min-width:0!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links h3{
  margin:0 0 10px!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:900!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links ul{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links a{
  display:inline!important;
  color:var(--lbi-v251-footer-link)!important;
  font-size:13px!important;
  line-height:1.62!important;
  text-decoration:none!important;
}
.lbi-v251-footer-contract .lbi-v13-footer-links a:hover{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.lbi-v251-footer-contract .lbi-v10-footer-bottom{
  margin:0!important;
  padding:14px 0!important;
  background:rgba(2,6,23,.42)!important;
  color:var(--lbi-v251-footer-muted)!important;
  border-top:1px solid var(--lbi-v251-footer-border)!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.lbi-v251-footer-contract .lbi-v10-footer-bottom a{
  color:var(--lbi-v251-footer-link)!important;
}

/* Floating footer CTA: one consistent contract, no blank white chips. */
.lbi-v251-footer-dock,
.lbi-v10-dock{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  z-index:80!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  max-width:calc(100vw - 28px)!important;
  padding:7px!important;
  border-radius:999px!important;
  background:rgba(3,8,22,.88)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 22px 60px rgba(2,6,23,.28)!important;
  backdrop-filter:blur(14px)!important;
}
.lbi-v251-footer-dock a,
.lbi-v10-dock a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  min-width:132px!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-decoration:none!important;
  border:1px solid transparent!important;
}

/* Single product fatigue reduction without removing database-driven content. */
.lbi-v16-product .lbi-v8-section{
  padding-top:clamp(42px,5vw,70px)!important;
  padding-bottom:clamp(42px,5vw,70px)!important;
}
.lbi-v16-product .lbi-v17-section-head{
  margin-bottom:clamp(18px,2.4vw,30px)!important;
}
.lbi-v16-product .lbi-v17-section-head p{
  max-width:820px!important;
}
.lbi-v16-product .lbi-v17-grid-4 article,
.lbi-v16-product .lbi-v17-grid-3 article,
.lbi-v16-product .lbi-v17-workflow article,
.lbi-v16-product .lbi-v17-process article,
.lbi-v16-product .lbi-v18-capability-grid article,
.lbi-v16-product .lbi-v18-addon-grid article{
  padding:clamp(18px,2vw,24px)!important;
}
.lbi-v16-product .lbi-v17-sticky-cta{
  display:none!important;
}

html[lang="ar"] body,
html[dir="rtl"] body{
  font-family:"Cairo","Tajawal","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
html[dir="rtl"] .lbi-v251-footer-contract .lbi-v13-footer-brand,
html[lang="ar"] .lbi-v251-footer-contract .lbi-v13-footer-brand{
  text-align:right!important;
}
html[dir="rtl"] .lbi-v251-footer-contract .lbi-v12-footer-actions,
html[lang="ar"] .lbi-v251-footer-contract .lbi-v12-footer-actions,
html[dir="rtl"] .lbi-v251-footer-contract .lbi-v13-footer-signals,
html[lang="ar"] .lbi-v251-footer-contract .lbi-v13-footer-signals{
  justify-content:flex-start!important;
}

@media (max-width:1180px){
  .lbi-v251-footer-contract .lbi-v13-footer-grid{grid-template-columns:1fr!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:767px){
  body{padding-bottom:76px!important;}
  .lbi-v251-footer-contract{padding-top:34px!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-grid{gap:24px!important;padding-bottom:26px!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-brand h2{font-size:21px!important;line-height:1.42!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-brand p{font-size:14px!important;line-height:1.9!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-links{grid-template-columns:1fr 1fr!important;gap:18px 16px!important;}
  .lbi-v251-footer-contract .lbi-v12-footer-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .lbi-v251-footer-contract .lbi-v12-footer-actions a{width:100%!important;}
  .lbi-v251-footer-dock,.lbi-v10-dock{bottom:10px!important;width:calc(100vw - 20px)!important;}
  .lbi-v251-footer-dock a,.lbi-v10-dock a{flex:1 1 0!important;min-width:0!important;padding-inline:10px!important;font-size:12px!important;}
  .lbi-v16-product .lbi-v8-section{padding-top:38px!important;padding-bottom:38px!important;}
}
@media (max-width:480px){
  .lbi-v251-footer-contract .lbi-v13-footer-links{grid-template-columns:1fr!important;}
  .lbi-v251-footer-contract .lbi-v13-footer-signals span{width:auto!important;}
}
