
/* v436G — Remaining public pages layout audit cleanup.
   Scope: customer-facing remaining subpages after manual cleanup of Fees, FAQ,
   Check Status, Add-on Services, and Urgent eVisa.
   Goal: keep remaining pages from using mixed-width/shifted sections. */

:root{
  --vge-audit-rail: 1368px;
  --vge-audit-gutter: clamp(36px, 4.2vw, 72px);
  --vge-audit-gap: clamp(28px, 3vw, 48px);
}

/* Shared rail for remaining customer-facing pages only. */
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) .page-hero > .container,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) footer > .container,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) .footer-grid{
  width:min(calc(100% - (var(--vge-audit-gutter) * 2)), var(--vge-audit-rail)) !important;
  max-width:var(--vge-audit-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Generic section rhythm for remaining subpages. */
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section{
  padding-top:clamp(58px, 5.4vw, 92px) !important;
  padding-bottom:clamp(58px, 5.4vw, 92px) !important;
}

body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > .eyebrow,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > h2,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > p.muted,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > .section-lead{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > p.muted,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]):not(.fees-page):not(.addon-page):not(:has(.urgent-hero)):not(:has(.faq-expanded-page)):not(:has(#trackingForm)) main > .section > .container > .section-lead{
  max-width:980px !important;
}

/* Common grid/card balance on remaining pages. */
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.two,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.three,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.four,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-grid,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-feature-grid,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-boundary-grid{
  gap:var(--vge-audit-gap) !important;
  align-items:stretch !important;
}

/* How to Apply / regular service pages: center info layouts and trust grids. */
body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .page-hero > .container{
  width:min(calc(100% - (var(--vge-audit-gutter) * 2)), var(--vge-audit-rail)) !important;
  max-width:var(--vge-audit-rail) !important;
}

body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .info-layout{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1.12fr) minmax(420px, .88fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:stretch !important;
}

body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .info-layout > *,
body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .info-block,
body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .card,
body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .trust-split-card{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Visa Info page hero and index area. */
body:has(.visa-info-hero) .visa-info-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0, .96fr) minmax(460px, 1.04fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:center !important;
}

body:has(.visa-info-hero) .urgent-visual-card{
  width:100% !important;
  max-width:640px !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

body:has(.visa-info-hero) .visa-info-index,
body:has(.visa-info-hero) .visa-info-index-grid{
  width:100% !important;
  max-width:100% !important;
}

/* Visa Requirements checker page. */
body:has(.visa-checker-hero) .visa-checker-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0, .96fr) minmax(460px, 1.04fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:center !important;
}

body:has(.visa-checker-form) .visa-checker-form,
body:has(.visa-checker-form) .visa-result-card{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Contact / simple content pages. */
body:has(.contact-hero) .contact-hero > .container{
  display:grid !important;
  grid-template-columns:minmax(0, .96fr) minmax(440px, 1.04fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:center !important;
}

body:has(.contact-hero) .policy-content,
body:has(.contact-hero) .contact-trust-section .grid.three{
  width:100% !important;
  max-width:100% !important;
}

/* Trust Center page. */
body.trust-center-page .trust-center-hero > .container,
body.trust-center-page main > .trust-center-section > .container{
  width:min(calc(100% - (var(--vge-audit-gutter) * 2)), var(--vge-audit-rail)) !important;
  max-width:var(--vge-audit-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.trust-center-page .trust-center-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0, .96fr) minmax(460px, 1.04fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:center !important;
}

/* Ads landing pages: keep hero, trust strips, split cards and CTA sections on the same rail. */
body.ads-landing .page-hero > .container,
body.ads-landing main > .section > .container{
  width:min(calc(100% - (var(--vge-audit-gutter) * 2)), var(--vge-audit-rail)) !important;
  max-width:var(--vge-audit-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

body.ads-landing .landing-grid.grid.two,
body.ads-landing .section > .container.grid.two{
  display:grid !important;
  grid-template-columns:minmax(0, .96fr) minmax(460px, 1.04fr) !important;
  gap:var(--vge-audit-gap) !important;
  align-items:center !important;
}

body.ads-landing .ads-trust-strip{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:22px !important;
}

/* Order page: do not redesign flow, only keep major shell centered and consistent. */
body:has(.order-shell) .page-hero > .container,
body:has(.order-shell) main > .section > .container,
body:has(.order-shell) .order-shell{
  width:min(calc(100% - (var(--vge-audit-gutter) * 2)), var(--vge-audit-rail)) !important;
  max-width:var(--vge-audit-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body:has(.order-shell) .order-layout{
  width:100% !important;
  max-width:100% !important;
  gap:var(--vge-audit-gap) !important;
}

body:has(.order-shell) .order-main,
body:has(.order-shell) .order-side{
  min-width:0 !important;
}

/* About / policy content: avoid narrow content floating under a wide header. */
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .policy-content{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .policy-content > p,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .policy-content > ul,
body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .policy-content > ol{
  max-width:1040px !important;
}

/* Responsive. */
@media (max-width:1180px){
  :root{
    --vge-audit-gutter: clamp(24px, 5vw, 42px);
  }

  body.service-polish-v256:not(.ads-landing):not(:has(.urgent-hero)) .info-layout,
  body:has(.visa-info-hero) .visa-info-hero-grid,
  body:has(.visa-checker-hero) .visa-checker-hero-grid,
  body:has(.contact-hero) .contact-hero > .container,
  body.trust-center-page .trust-center-hero-grid,
  body.ads-landing .landing-grid.grid.two,
  body.ads-landing .section > .container.grid.two{
    grid-template-columns:1fr !important;
  }

  body:has(.visa-info-hero) .urgent-visual-card{
    max-width:760px !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }

  body.ads-landing .ads-trust-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:700px){
  :root{
    --vge-audit-gutter:18px;
  }

  body.ads-landing .ads-trust-strip,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.two,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.three,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .grid.four,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-grid,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-feature-grid,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-boundary-grid{
    grid-template-columns:1fr !important;
  }
}
