/* Forex Traders Expo Dubai 2026 — V3.1.7 visual/QA polish.
   Frontend-only overrides. No backend, routes or database behavior. */

:root{
  --r317-orange:#f36b2d;
  --r317-orange-2:#ff7d43;
  --r317-ink:#f7f8fa;
  --r317-muted:#aeb6c2;
  --r317-line:rgba(255,255,255,.12);
  --r317-panel:#0d141d;
  --r317-panel-2:#111a25;
}

/* ===== Global typography QA for internal pages ===== */
body:not([data-page="home"]){
  font-size:16px!important;
  line-height:1.62!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:not([data-page="home"]) h1,
body:not([data-page="home"]) h2,
body:not([data-page="home"]) h3{
  text-wrap:balance;
  letter-spacing:-.035em!important;
}
body:not([data-page="home"]) .hx-inner-hero h1,
body:not([data-page="home"]) .page-hero h1,
body:not([data-page="home"]) .r10-form-intro h1{
  font-size:clamp(2.2rem,4.4vw,4.75rem)!important;
  line-height:1.01!important;
  max-width:900px!important;
}
body:not([data-page="home"]) .hx-section-head h2,
body:not([data-page="home"]) .section h2,
body:not([data-page="home"]) .r10-card-head h2{
  font-size:clamp(1.45rem,2.35vw,2.65rem)!important;
  line-height:1.08!important;
}
body:not([data-page="home"]) p,
body:not([data-page="home"]) li,
body:not([data-page="home"]) dd{
  line-height:1.65!important;
}
body:not([data-page="home"]) .page-intro,
body:not([data-page="home"]) .lead{
  font-size:clamp(.98rem,1.2vw,1.12rem)!important;
  line-height:1.65!important;
  max-width:780px;
}
body:not([data-page="home"]) .eyebrow{
  font-size:.72rem!important;
  letter-spacing:.15em!important;
}
body.rtl:not([data-page="home"]),
html[dir="rtl"] body:not([data-page="home"]){
  line-height:1.72!important;
}
html[dir="rtl"] body:not([data-page="home"]) h1,
html[dir="rtl"] body:not([data-page="home"]) h2,
html[dir="rtl"] body:not([data-page="home"]) h3{
  letter-spacing:0!important;
  line-height:1.2!important;
}

/* ===== Homepage hero: restore image-led composition and remove information overload ===== */
body[data-page="home"] .hx-hero-v313{
  padding-top:clamp(28px,4vw,58px)!important;
}
body[data-page="home"] .hx-v313-hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr)!important;
  gap:clamp(26px,3vw,48px)!important;
  align-items:center!important;
}
body[data-page="home"] .hx-v313-hero-copy h1{
  font-size:clamp(3rem,5.1vw,5.65rem)!important;
  line-height:.96!important;
  max-width:760px!important;
  text-wrap:balance;
}
body[data-page="home"] .hx-v313-hero-copy .hx-hero-lead{
  max-width:690px!important;
  font-size:clamp(.98rem,1.2vw,1.15rem)!important;
  line-height:1.62!important;
}
body[data-page="home"] .seo-hero-scale{
  margin:14px 0 0!important;
  color:#aeb6c2!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  font-weight:650!important;
}
body[data-page="home"] .hx-v313-hero-facts{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  margin-top:22px!important;
  gap:14px!important;
}
body[data-page="home"] .hx-v313-hero-facts>div{
  padding-top:12px!important;
}
body[data-page="home"] .hx-v314-hero-visual{
  min-height:clamp(440px,45vw,620px)!important;
  aspect-ratio:1.33/1!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
body[data-page="home"] .hx-v314-hero-slide img{
  object-position:center 48%!important;
}
body[data-page="home"] .hx-stats-v3{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
body[data-page="home"] .hx-stats-v3 .hx-stat-tile{
  min-height:150px!important;
  padding:24px!important;
}
body[data-page="home"] .hx-stats-v3 .hx-stat-tile strong{
  font-size:clamp(2.35rem,3.5vw,4rem)!important;
}

/* ===== Sponsor presentation: closer to SVS Egypt curated-logo treatment ===== */
body[data-page="home"] .hx-home-sponsors-head{
  align-items:end!important;
  gap:24px!important;
}
body[data-page="home"] .hx-home-sponsor-grid{
  margin-top:26px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
body[data-page="home"] .hx-home-sponsor-card{
  min-height:122px!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
body[data-page="home"] .hx-home-sponsor-logo{
  min-height:92px!important;
  padding:16px 14px 10px!important;
}
body[data-page="home"] .hx-home-sponsor-logo img{
  max-width:82%!important;
  max-height:58px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
body[data-page="home"] .hx-home-sponsor-meta{
  min-height:28px!important;
  padding:4px 9px 8px!important;
  justify-content:center!important;
  text-align:center!important;
}
body[data-page="home"] .hx-home-sponsor-meta strong{
  display:none!important;
}
body[data-page="home"] .hx-home-sponsor-meta small{
  font-size:.52rem!important;
  letter-spacing:.08em!important;
  color:#6c727a!important;
}
body[data-page="sponsors"] .hx-sponsors-page-logo-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
}
body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-static-logo-card{
  min-height:118px!important;
  background:#fff!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-home-sponsor-logo{
  min-height:118px!important;
  padding:18px!important;
}
body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-home-sponsor-logo img{
  max-width:82%!important;
  max-height:62px!important;
}
body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-home-sponsor-meta{
  display:none!important;
}

/* ===== Forms: cleaner typography, consent, and centered sponsor submission ===== */
body[data-page="register"] .r10-form-card label,
body[data-page="sponsor"] .r10-form-card label,
body[data-page="contact"] .r10-form-card label{
  font-size:.78rem!important;
  line-height:1.35!important;
  letter-spacing:.005em!important;
}
body[data-page="register"] .r10-form-card input,
body[data-page="register"] .r10-form-card select,
body[data-page="register"] .r10-form-card textarea,
body[data-page="sponsor"] .r10-form-card input,
body[data-page="sponsor"] .r10-form-card select,
body[data-page="sponsor"] .r10-form-card textarea,
body[data-page="contact"] .r10-form-card input,
body[data-page="contact"] .r10-form-card select,
body[data-page="contact"] .r10-form-card textarea{
  font-size:.95rem!important;
  line-height:1.4!important;
}
.r317-consent{
  position:relative!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:start!important;
  padding:13px 14px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.035)!important;
  cursor:pointer!important;
}
.r317-consent>input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
}
.r317-consent-box{
  width:20px!important;
  height:20px!important;
  margin-top:1px!important;
  border-radius:6px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:#080d13!important;
  box-shadow:inset 0 0 0 2px #080d13!important;
}
.r317-consent>input:checked + .r317-consent-box{
  background:var(--r317-orange)!important;
  border-color:var(--r317-orange)!important;
  box-shadow:inset 0 0 0 4px #080d13!important;
}
.r317-consent>input:focus-visible + .r317-consent-box{
  outline:3px solid rgba(243,107,45,.26)!important;
  outline-offset:2px!important;
}
.r317-consent-copy{
  color:#d5dbe3!important;
  font-size:.78rem!important;
  font-weight:550!important;
  line-height:1.55!important;
}
.r317-consent-copy a{
  color:#ff8a55!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body[data-page="sponsor"] .r10-submit-row{
  justify-content:center!important;
  flex-direction:column!important;
  text-align:center!important;
  align-items:center!important;
  padding-top:22px!important;
}
body[data-page="sponsor"] .r10-submit-row .button{
  min-width:min(100%,320px)!important;
  justify-content:center!important;
  font-size:.94rem!important;
  padding-inline:30px!important;
}
body[data-page="sponsor"] .r10-submit-row small{
  max-width:520px!important;
}

/* ===== Footer: compact organizer lockup and legal link spacing ===== */
.r317-powered-by{
  margin-top:22px!important;
  display:inline-grid!important;
  grid-template-columns:132px auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:10px 14px 10px 10px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.035)!important;
}
.r317-powered-logo{
  display:grid!important;
  place-items:center!important;
  min-height:60px!important;
  padding:6px 8px!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.r317-powered-logo img{
  display:block!important;
  width:116px!important;
  height:auto!important;
  max-height:54px!important;
  object-fit:contain!important;
}
.r317-powered-copy{
  display:grid!important;
  gap:1px!important;
  line-height:1.25!important;
}
.r317-powered-copy small{
  color:#ff7c46!important;
  font-size:.58rem!important;
  letter-spacing:.12em!important;
  font-weight:850!important;
}
.r317-powered-copy strong{
  font-size:.88rem!important;
  color:#fff!important;
}
.r317-powered-copy em{
  font-style:normal!important;
  color:#8f98a6!important;
  font-size:.72rem!important;
}
.footer-legal{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
}
.footer-legal a{
  display:inline-flex!important;
}

/* ===== QA fix: floating actions must never cover footer/form content ===== */
@media(max-width:760px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  .svs-floating-actions{
    left:14px!important;
    right:14px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    padding:0!important;
    background:transparent!important;
    pointer-events:none!important;
  }
  .svs-floating-actions a{
    pointer-events:auto!important;
    min-height:48px!important;
    padding:11px 14px!important;
    border-radius:999px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.82rem!important;
    box-shadow:0 10px 28px rgba(0,0,0,.26)!important;
  }

  body[data-page="home"] .hx-hero-v313{padding-top:20px!important}
  body[data-page="home"] .hx-v313-hero-shell{padding-inline:18px!important}
  body[data-page="home"] .hx-v313-hero-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  /* On phones the visual appears immediately after the headline, before secondary copy.
     display:contents keeps one semantic hero while avoiding a long text-only first screen. */
  body[data-page="home"] .hx-v313-hero-copy{display:contents!important}
  body[data-page="home"] .hx-v313-hero-copy .hx-hero-kicker{order:1!important;margin-bottom:0!important}
  body[data-page="home"] .hx-v313-hero-copy h1{order:2!important;margin-bottom:2px!important}
  body[data-page="home"] .hx-v314-hero-visual{order:3!important}
  body[data-page="home"] .hx-v313-hero-copy .hx-hero-lead{order:4!important}
  body[data-page="home"] .hx-v313-hero-copy .hx-hero-actions{order:5!important}
  body[data-page="home"] .hx-v313-hero-copy .seo-hero-scale{display:none!important}
  body[data-page="home"] .hx-v313-hero-copy .hx-v313-hero-facts{display:none!important}
  body[data-page="home"] .hx-v313-hero-copy h1{
    font-size:clamp(2.55rem,11.5vw,3.6rem)!important;
    line-height:.98!important;
    max-width:100%!important;
  }
  body[data-page="home"] .hx-v313-hero-copy .hx-hero-lead{
    font-size:.98rem!important;
    line-height:1.55!important;
    margin-bottom:0!important;
  }
  body[data-page="home"] .seo-hero-scale{
    font-size:.72rem!important;
    margin-top:10px!important;
  }
  body[data-page="home"] .hx-hero-actions{
    margin-top:17px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  body[data-page="home"] .hx-hero-actions .button{
    min-height:46px!important;
    padding-inline:12px!important;
    font-size:.78rem!important;
  }
  body[data-page="home"] .hx-v313-hero-facts{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:8px!important;
    margin-top:14px!important;
  }
  body[data-page="home"] .hx-v313-hero-facts>div{
    display:block!important;
    padding-top:9px!important;
  }
  body[data-page="home"] .hx-v313-hero-facts span{
    font-size:.55rem!important;
    margin-bottom:4px!important;
  }
  body[data-page="home"] .hx-v313-hero-facts strong{
    display:block!important;
    font-size:.7rem!important;
    line-height:1.35!important;
  }
  body[data-page="home"] .hx-v314-hero-visual{
    min-height:250px!important;
    aspect-ratio:16/10!important;
    border-radius:18px!important;
  }
  body[data-page="home"] .hx-v314-hero-caption{
    left:14px!important;
    right:14px!important;
    bottom:13px!important;
  }
  body[data-page="home"] .hx-v314-hero-controls{
    top:12px!important;
    right:12px!important;
  }
  html[dir="rtl"] body[data-page="home"] .hx-v314-hero-controls{right:auto!important;left:12px!important}
  body[data-page="home"] .hx-stats-v3{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  body[data-page="home"] .hx-stats-v3 .hx-stat-tile{
    min-height:116px!important;
    padding:18px!important;
  }
  body[data-page="home"] .hx-stats-v3 .hx-stat-tile strong{
    font-size:2.4rem!important;
  }
  body[data-page="home"] .hx-home-sponsors-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body[data-page="home"] .hx-home-sponsors-actions .button{
    width:100%!important;
  }
  body[data-page="home"] .hx-home-sponsor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:18px!important;
  }
  body[data-page="home"] .hx-home-sponsor-card{
    min-height:96px!important;
    border-radius:14px!important;
  }
  body[data-page="home"] .hx-home-sponsor-logo{
    min-height:76px!important;
    padding:13px 10px 7px!important;
  }
  body[data-page="home"] .hx-home-sponsor-logo img{
    max-width:78%!important;
    max-height:48px!important;
  }
  body[data-page="home"] .hx-home-sponsor-meta{
    min-height:20px!important;
    padding:1px 6px 6px!important;
  }
  body[data-page="home"] .hx-home-sponsor-card:nth-child(n+9){display:none!important}
  body[data-page="sponsors"] .hx-sponsors-page-logo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-static-logo-card,
  body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-home-sponsor-logo{
    min-height:96px!important;
  }
  body[data-page="sponsors"] .hx-sponsors-page-logo-grid .hx-home-sponsor-logo img{
    max-height:52px!important;
  }
  body:not([data-page="home"]) .hx-inner-hero h1,
  body:not([data-page="home"]) .page-hero h1,
  body:not([data-page="home"]) .r10-form-intro h1{
    font-size:clamp(2rem,9.5vw,2.9rem)!important;
    line-height:1.06!important;
  }
  body:not([data-page="home"]) .hx-section-head h2,
  body:not([data-page="home"]) .section h2,
  body:not([data-page="home"]) .r10-card-head h2{
    font-size:clamp(1.4rem,7vw,2rem)!important;
  }
  .r317-powered-by{
    width:100%!important;
    max-width:360px!important;
    grid-template-columns:112px 1fr!important;
  }
  .r317-powered-logo img{width:98px!important}
  .footer-bottom{
    gap:12px!important;
    align-items:flex-start!important;
  }
}

@media(min-width:761px) and (max-width:1180px){
  body[data-page="home"] .hx-v313-hero-grid{
    grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr)!important;
    gap:24px!important;
  }
  body[data-page="home"] .hx-v313-hero-copy h1{
    font-size:clamp(2.85rem,4.65vw,4.15rem)!important;
    line-height:.98!important;
  }
  body[data-page="home"] .hx-v313-hero-copy .hx-hero-lead{
    font-size:.96rem!important;
    line-height:1.55!important;
  }
  body[data-page="home"] .seo-hero-scale{display:none!important}
  body[data-page="home"] .hx-v313-hero-facts{margin-top:14px!important}
  body[data-page="home"] .hx-v314-hero-visual{
    min-height:390px!important;
    border-radius:22px!important;
  }
  body[data-page="home"] .hx-home-sponsor-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  body[data-page="sponsors"] .hx-sponsors-page-logo-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
