/* ===========================================================================
   SILVER SERVICE TAXI — Global Premium Page Layer
   Presentation-only styling for this repository. It does not reference or
   depend on any other domain, site asset, API, tracking, or booking setting.
   =========================================================================== */

:root {
  --sst-ink: #10203c;
  --sst-muted: #586779;
  --sst-surface: #ffffff;
  --sst-soft: #f3f8fa;
  --sst-line: #d7e5ea;
  --sst-navy: #113e76;
  --sst-navy-deep: #092a52;
  --sst-aqua: #12acc1;
  --sst-shadow: 0 16px 40px rgba(9,42,82,.11);
}

html { background: var(--sst-soft); }
body {
  background: var(--sst-soft);
  color: var(--sst-ink);
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif);
  line-height: 1.65;
}

main, .main-content, .page-content, .content-area, .site-content,
.page-wrapper, .location-content, .service-content, .about-content {
  color: var(--sst-ink);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--sst-ink);
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif);
  letter-spacing: -.025em;
}
h1 { line-height: 1.08; }
h2 { line-height: 1.16; }
p, li { color: var(--sst-muted); }

.page-hero, .inner-hero, .page-header, .page-banner, .location-hero,
.service-hero, .about-hero, .contact-hero, .booking-hero {
  background-color: var(--sst-navy-deep);
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.page-hero h1, .inner-hero h1, .page-header h1, .page-banner h1,
.location-hero h1, .service-hero h1, .about-hero h1, .contact-hero h1,
.booking-hero h1 { color: #ffffff; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.page-hero p, .inner-hero p, .page-header p, .page-banner p,
.location-hero p, .service-hero p, .about-hero p, .contact-hero p,
.booking-hero p { color: rgba(255,255,255,.88); }

.breadcrumb, .breadcrumbs, .breadcrumb-nav {
  background: #ffffff;
  border-bottom: 1px solid var(--sst-line);
  color: var(--sst-muted);
}
.breadcrumb a, .breadcrumbs a, .breadcrumb-nav a { color: var(--sst-navy); }

.card, .service-card, .location-card, .fleet-card, .feature-card,
.info-card, .contact-card, .pricing-card, .testimonial-card,
.location-item, .service-item {
  background: var(--sst-surface);
  border: 1px solid var(--sst-line);
  box-shadow: 0 8px 24px rgba(9,42,82,.06);
}
.card:hover, .service-card:hover, .location-card:hover, .fleet-card:hover,
.feature-card:hover, .info-card:hover, .contact-card:hover,
.location-item:hover, .service-item:hover {
  border-color: rgba(18,172,193,.55);
  box-shadow: var(--sst-shadow);
}

button, input, select, textarea {
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif);
}
input, select, textarea {
  background: #ffffff;
  border-color: #b8cad3;
  color: var(--sst-ink);
}
input::placeholder, textarea::placeholder { color: #718096; opacity: 1; }
input:focus, select:focus, textarea:focus {
  border-color: var(--sst-aqua);
  box-shadow: 0 0 0 3px rgba(18,172,193,.16);
  outline: none;
}

.btn-primary, .button-primary, .primary-btn, .cta-button,
.book-now, .book-btn, a.btn-primary, a.button-primary {
  background: var(--sst-navy);
  color: #ffffff;
  border-color: var(--sst-navy);
}
.btn-primary:hover, .button-primary:hover, .primary-btn:hover,
.cta-button:hover, .book-now:hover, .book-btn:hover,
a.btn-primary:hover, a.button-primary:hover {
  background: var(--sst-aqua);
  color: #062744;
}

/* Desktop mega menus remain opaque and readable without dimming every page. */
@media (min-width: 1025px) {
  .pnav-mega-backdrop,
  .pnav-mega-backdrop.pnav-mega-active {
    background: transparent !important;
    backdrop-filter: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .pnav-mega-wrap { overflow: visible; }
  .pnav-mega-panel,
  .pnav-mega-panel.pnav-panel-active {
    background: #ffffff !important;
    color: #111827 !important;
  }
  .pnav-mega-panel a,
  .pnav-mega-panel .pnav-service-title,
  .pnav-mega-panel .pnav-region-link,
  .pnav-mega-panel .pnav-fleet-card-name {
    color: #111827 !important;
  }
  .pnav-mega-panel a:hover,
  .pnav-mega-panel .pnav-service-link:hover .pnav-service-title,
  .pnav-mega-panel .pnav-region-link:hover {
    color: var(--sst-navy) !important;
  }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  .pnav-header { box-shadow: 0 2px 12px rgba(9,42,82,.10); }
  .page-hero, .inner-hero, .page-header, .page-banner, .location-hero,
  .service-hero, .about-hero, .contact-hero, .booking-hero {
    background-image: none !important;
  }
}


/* ===========================================================================
   UNIFIED PUBLIC-PAGE SYSTEM — second-site presentation layer only.
   =========================================================================== */
/* Keep one clean white header on every template; do not combine it with the
   legacy announcement strip on internal pages. */
.pnav-topbar { display: none !important; }
.pnav-header { top: 0 !important; }
.pnav-header + * { scroll-margin-top: 88px; }

body { background: #f4f8fa !important; }
main, #main-content, .main-content, .page-content, .content-area,
.site-content, .page-wrapper { background: transparent; }
.section {
  padding: clamp(48px, 6vw, 88px) 0;
  background: transparent;
}
.section:not(.section-dark) { color: var(--sst-ink); }
.section-dark {
  background: var(--sst-navy-deep) !important;
  color: #ffffff !important;
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4,
.section-dark p, .section-dark li { color: #ffffff !important; }
.section-dark p, .section-dark li { color: rgba(255,255,255,.82) !important; }

.loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
.location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(240px, 32vw, 390px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(125deg, var(--sst-navy-deep), var(--sst-navy)) !important;
  color: #ffffff !important;
}
.loc-hero::before, .page-hero::before, .inner-hero::before, .page-header::before,
.page-banner::before, .location-hero::before, .service-hero::before,
.about-hero::before, .contact-hero::before, .booking-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(5,31,61,.94), rgba(5,31,61,.56));
}
.loc-hero h1, .loc-hero h2, .loc-hero p,
.page-hero h1, .page-hero h2, .page-hero p,
.inner-hero h1, .inner-hero h2, .inner-hero p,
.page-header h1, .page-header h2, .page-header p,
.page-banner h1, .page-banner h2, .page-banner p,
.location-hero h1, .service-hero h1, .about-hero h1, .contact-hero h1, .booking-hero h1,
.location-hero p, .service-hero p, .about-hero p, .contact-hero p, .booking-hero p {
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor;
}
.loc-hero p, .page-hero p, .inner-hero p, .page-header p, .page-banner p,
.location-hero p, .service-hero p, .about-hero p, .contact-hero p, .booking-hero p {
  color: rgba(255,255,255,.86) !important;
}

.container, .container-wide, .content-container, .section-inner,
.page-container, .location-container, .service-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}
.card, .service-card, .location-card, .fleet-card, .feature-card, .info-card,
.contact-card, .pricing-card, .testimonial-card, .location-item, .service-item,
.fare-card, .booking-card, .faq-item, .route-card {
  border-radius: 16px !important;
  border-color: var(--sst-line) !important;
  overflow: hidden;
}
.card:hover, .service-card:hover, .location-card:hover, .fleet-card:hover,
.feature-card:hover, .info-card:hover, .contact-card:hover, .pricing-card:hover,
.testimonial-card:hover, .location-item:hover, .service-item:hover,
.fare-card:hover, .booking-card:hover, .faq-item:hover, .route-card:hover {
  transform: translateY(-2px);
}
button, input, select, textarea, .btn, .button, .cta-button, .book-now,
.book-btn, .primary-btn, .btn-primary, .button-primary {
  border-radius: 10px !important;
}
.btn, .button, .cta-button, .book-now, .book-btn, .primary-btn, .btn-primary,
.button-primary {
  font-weight: 750 !important;
  letter-spacing: .025em;
}

.footer, .footer-premium, footer.footer, footer.footer-premium {
  background: linear-gradient(145deg, #061a33, var(--sst-navy-deep)) !important;
  color: rgba(255,255,255,.78) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
.footer h1, .footer h2, .footer h3, .footer h4, .footer a,
.footer-premium h1, .footer-premium h2, .footer-premium h3, .footer-premium h4,
.footer-premium a { color: #ffffff !important; }
.footer p, .footer li, .footer-premium p, .footer-premium li {
  color: rgba(255,255,255,.7) !important;
}
.footer a:hover, .footer-premium a:hover { color: var(--sst-aqua) !important; }

@media (max-width: 760px) {
  .section { padding: 42px 0; }
  .container, .container-wide, .content-container, .section-inner,
  .page-container, .location-container, .service-container {
    width: min(100% - 28px, 1180px);
  }
  .loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
  .location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
    min-height: 220px;
    padding-block: 42px;
  }
}


/* Legacy location/service template normalization — second-site palette. */
.loc-section, .loc-section-white {
  background: transparent !important;
  color: var(--sst-ink) !important;
}
.loc-section-header, .loc-section-title, .loc-section-sub {
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif) !important;
}
.loc-section-title { color: var(--sst-ink) !important; }
.loc-section-sub { color: var(--sst-muted) !important; }
.loc-badge, .route-chip, .tab, .tab-button, [role="tab"] {
  background: #e7f5f7 !important;
  border: 1px solid var(--sst-line) !important;
  color: var(--sst-navy-deep) !important;
  border-radius: 999px !important;
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif) !important;
  font-weight: 700 !important;
}
.loc-badge, .route-chip { letter-spacing: .04em; }
.tab.active, .tab-button.active, [role="tab"][aria-selected="true"] {
  background: var(--sst-navy) !important;
  border-color: var(--sst-navy) !important;
  color: #ffffff !important;
}
.loc-feature-card, .loc-fare-card, .loc-route-card, .loc-faq-item,
.route-card, .route-chip, .fare-card, .faq-item {
  background: #ffffff !important;
  border: 1px solid var(--sst-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(9,42,82,.07) !important;
}
.loc-feature-card:hover, .loc-fare-card:hover, .loc-route-card:hover,
.loc-faq-item:hover, .route-card:hover, .fare-card:hover, .faq-item:hover {
  border-color: rgba(18,172,193,.58) !important;
  box-shadow: var(--sst-shadow) !important;
}
.loc-feature-icon, .premium-svg-icon {
  color: var(--sst-navy) !important;
  background: #e7f5f7 !important;
  border: 1px solid rgba(18,172,193,.22) !important;
  border-radius: 12px !important;
}
.loc-feature-icon svg, .premium-svg-icon svg { stroke: currentColor !important; }
.loc-route-dest, .loc-route-km, .loc-route-price, .loc-fare-card-title,
.loc-faq-q, .faq-question { color: var(--sst-ink) !important; }
.loc-route-price { color: var(--sst-navy) !important; font-weight: 800 !important; }
.loc-faq-a, .faq-answer { color: var(--sst-muted) !important; }
.loc-route-cta, .loc-fare-cta, .loc-hero-btn-primary, .loc-hero-btn-ghost,
.mob-call-btn, .footer-cta, .footer-premium .footer-cta {
  border-radius: 10px !important;
  font-family: var(--pnav-font, 'Plus Jakarta Sans', Arial, sans-serif) !important;
  font-weight: 750 !important;
}
.loc-hero-btn-primary, .loc-route-cta, .loc-fare-cta, .footer-cta {
  background: var(--sst-navy) !important;
  border-color: var(--sst-navy) !important;
  color: #ffffff !important;
}
.loc-hero-btn-ghost {
  background: #ffffff !important;
  border: 1px solid #bdd5dd !important;
  color: var(--sst-navy-deep) !important;
}
.footer-col-title, .footer-col-title-premium { color: #ffffff !important; }
.footer-links a, .footer-contact-item, .footer-brand-desc,
.footer-bottom-disclaimer { color: rgba(255,255,255,.72) !important; }
.footer-links a:hover { color: var(--sst-aqua) !important; }

@media (max-width: 760px) {
  .loc-feature-card, .loc-fare-card, .loc-route-card, .loc-faq-item,
  .route-card, .fare-card, .faq-item { border-radius: 14px !important; }
  .tab, .tab-button, [role="tab"] { min-height: 42px; }
}


/* Final desktop menu opacity guard: an active panel must never expose page copy
   underneath its white navigation surface. */
@media (min-width: 1025px) {
  .pnav-mega-wrap,
  .pnav-mega-wrap.pnav-mega-active,
  .pnav-mega-panel,
  .pnav-mega-panel.pnav-panel-active {
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .pnav-mega-panel,
  .pnav-mega-panel.pnav-panel-active { background-color: #ffffff !important; }
}
