/* v256U — Public service pages polish.
   Scope: service information pages only. Keeps backend/admin modules untouched. */

.service-polish-v256{
  --service-ink:#0f2742;
  --service-muted:#52657a;
  --service-soft:#f7fbff;
  --service-line:rgba(15,39,66,.10);
  --service-shadow:0 18px 48px rgba(15,45,76,.10);
}

.service-polish-v256 .page-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(52px,7vw,86px) 0 !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(56,189,248,.22), transparent 35%),
    radial-gradient(circle at 84% 14%, rgba(34,197,94,.13), transparent 30%),
    linear-gradient(135deg, rgba(6,27,56,.97), rgba(8,52,82,.93) 56%, rgba(4,87,100,.88)) !important;
  color:#fff !important;
}

.service-polish-v256 .page-hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -44% 48%;
  height:260px;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  transform:rotate(-8deg);
  pointer-events:none;
}

.service-polish-v256 .page-hero .container{
  position:relative;
  z-index:1;
}

.service-polish-v256 .page-hero h1{
  max-width:860px;
  color:#fff !important;
  font-size:clamp(36px,5vw,64px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  margin-bottom:18px !important;
}

.service-polish-v256 .page-hero .muted,
.service-polish-v256 .page-hero p{
  max-width:760px;
  color:#dbeafe !important;
  font-size:clamp(16px,2vw,19px) !important;
  line-height:1.65 !important;
}

.service-polish-v256 .page-hero .eyebrow{
  color:#bae6fd !important;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:7px 12px;
  display:inline-flex;
  width:fit-content;
  margin-bottom:16px;
}

.service-polish-v256 .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.service-polish-v256 .hero-actions .btn{
  min-height:48px;
  align-items:center;
  justify-content:center;
}

.service-polish-v256 .page-hero img,
.service-polish-v256 .addon-hero img,
.service-polish-v256 .visa-info-hero img{
  border-radius:28px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 70px rgba(0,0,0,.26);
}

.service-polish-v256 .section{
  padding-top:clamp(44px,6vw,76px);
  padding-bottom:clamp(44px,6vw,76px);
}

.service-polish-v256 main > .section:nth-of-type(even){
  background:linear-gradient(180deg,#fff,#f8fbff);
}

.service-polish-v256 .card,
.service-polish-v256 .step,
.service-polish-v256 .info-block,
.service-polish-v256 .trust-split-card,
.service-polish-v256 .positive-trust-card,
.service-polish-v256 .safe-boundary-card,
.service-polish-v256 .ads-conversion-box{
  border:1px solid var(--service-line) !important;
  box-shadow:var(--service-shadow) !important;
  border-radius:24px !important;
  background:#fff !important;
}

.service-polish-v256 .grid.two,
.service-polish-v256 .grid.three{
  gap:clamp(18px,3vw,30px) !important;
}

.service-polish-v256 h2{
  color:var(--service-ink);
  letter-spacing:-.025em;
}

.service-polish-v256 main p,
.service-polish-v256 main li{
  color:#334155;
  line-height:1.7;
}

.service-polish-v256 .muted{
  color:var(--service-muted) !important;
}

.service-polish-v256 ul{
  padding-left:1.15rem;
}

.service-polish-v256 li + li{
  margin-top:8px;
}

.service-polish-v256 [data-fee-checker],
.service-polish-v256 .ads-conversion-box{
  align-self:start;
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
}

.service-polish-v256 [data-fee-checker] h2,
.service-polish-v256 .ads-conversion-box h2{
  margin-top:0 !important;
}

.service-polish-v256 [data-fee-checker] label,
.service-polish-v256 .ads-conversion-box label{
  display:block;
  margin-top:12px;
  font-weight:800;
  color:#17324d;
}

.service-polish-v256 [data-fee-checker] select,
.service-polish-v256 .ads-conversion-box select,
.airport-quote-body.service-polish-v256 select,
.airport-quote-body.service-polish-v256 input,
.airport-quote-body.service-polish-v256 textarea{
  width:100%;
  min-height:48px;
  margin-top:7px;
  border:1px solid rgba(148,163,184,.42);
  border-radius:14px;
  background:#fff;
}

.service-polish-v256 [data-fee-checker] .total,
.service-polish-v256 .ads-conversion-box .total{
  margin-top:18px;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7ed,#fef2f2);
  border:1px solid rgba(248,113,113,.30);
}

.service-polish-v256 [data-total],
.service-polish-v256 .amount{
  font-size:clamp(32px,5vw,46px) !important;
  line-height:1 !important;
  margin:0 0 8px !important;
  letter-spacing:-.04em;
  color:#991b1b;
}

.service-polish-v256 .trust-signal-bar{
  margin-top:18px;
}

.service-polish-v256 .trust-signal-bar span,
.service-polish-v256 .route-pill,
.service-polish-v256 .route-tag{
  border-radius:999px;
}

.service-polish-v256 .trust-boundary-section{
  background:linear-gradient(180deg,#f8fafc,#fff) !important;
}

.service-polish-v256 .positive-trust-card{
  border-color:rgba(34,197,94,.20) !important;
}

.service-polish-v256 .safe-boundary-card{
  border-color:rgba(245,158,11,.24) !important;
  background:#fffbeb !important;
}

.service-polish-v256 .ads-sticky-cta{
  border-top:1px solid rgba(15,39,66,.10);
  box-shadow:0 -14px 38px rgba(15,45,76,.08);
}

/* Airport quote page uses a custom class system. */
.airport-quote-body.service-polish-v256{
  background:#f7fbff;
}

.airport-quote-body.service-polish-v256 .aq-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(56,189,248,.20), transparent 34%),
    linear-gradient(135deg,#061b38,#083452 62%,#045764) !important;
  color:#fff;
  border-radius:0 0 34px 34px;
  padding:clamp(54px,7vw,90px) 0 !important;
}

.airport-quote-body.service-polish-v256 .aq-hero h1,
.airport-quote-body.service-polish-v256 .aq-hero p{
  color:#fff !important;
  max-width:820px;
}

.airport-quote-body.service-polish-v256 .aq-card,
.airport-quote-body.service-polish-v256 .aq-notice,
.airport-quote-body.service-polish-v256 .aq-disclaimer{
  border:1px solid var(--service-line) !important;
  border-radius:24px !important;
  box-shadow:var(--service-shadow) !important;
  background:#fff !important;
}

.airport-quote-body.service-polish-v256 .aq-summary{
  position:sticky;
  top:92px;
  align-self:start;
}

.airport-quote-body.service-polish-v256 .aq-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

@media (max-width: 900px){
  .service-polish-v256 .page-hero{
    padding:42px 0 46px !important;
  }

  .service-polish-v256 .page-hero h1{
    font-size:clamp(34px,10vw,48px) !important;
    line-height:1.02 !important;
  }

  .service-polish-v256 .page-hero .muted,
  .service-polish-v256 .page-hero p{
    font-size:16px !important;
  }

  .service-polish-v256 .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .service-polish-v256 .hero-actions .btn{
    width:100%;
  }

  .service-polish-v256 .grid.two,
  .service-polish-v256 .grid.three,
  .service-polish-v256 .urgent-hero-grid,
  .service-polish-v256 .addon-hero-grid,
  .service-polish-v256 .visa-info-hero-grid,
  .service-polish-v256 .ads-landing-hero-grid{
    grid-template-columns:1fr !important;
  }

  .service-polish-v256 .page-hero img,
  .service-polish-v256 .page-visual-band{
    max-height:260px;
    object-fit:cover;
  }

  .service-polish-v256 .section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .service-polish-v256 .card,
  .service-polish-v256 .step,
  .service-polish-v256 .info-block,
  .service-polish-v256 .trust-split-card{
    border-radius:20px !important;
  }

  .airport-quote-body.service-polish-v256 .aq-summary{
    position:static;
  }
}

@media (max-width: 560px){
  .service-polish-v256 .page-hero{
    padding-top:34px !important;
  }

  .service-polish-v256 .page-hero h1{
    letter-spacing:-.045em !important;
  }

  .service-polish-v256 .page-hero .eyebrow{
    font-size:11px;
    padding:6px 10px;
  }

  .service-polish-v256 [data-fee-checker] .total,
  .service-polish-v256 .ads-conversion-box .total{
    padding:16px;
  }

  .service-polish-v256 .ads-sticky-cta .container{
    gap:10px;
  }
}
