:root{
  --brand-blue:#0056b3;
  --brand-blue-2:#007BFF;
  --brand-orange:#FF6600;
  --bg-soft:#f6f8fb;
  --text:#1f2937;
  --muted:#6b7280;
}

html{scroll-behavior:smooth}
body{font-family:Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}

h1,h2,h3,h4,.font-heading{font-family:Montserrat,Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif}

.navbar{backdrop-filter:saturate(180%) blur(8px)}
.navbar .nav-link{font-weight:600}

.btn-brand{background:var(--brand-blue-2);border-color:var(--brand-blue-2)}
.btn-brand:hover{background:var(--brand-blue);border-color:var(--brand-blue)}
.btn-accent{background:var(--brand-orange);border-color:var(--brand-orange);color:#fff}
.btn-accent:hover{filter:brightness(.95);color:#fff}

.hero{
  background:
    linear-gradient(90deg, rgba(0,86,179,.92) 0%, rgba(0,123,255,.75) 55%, rgba(0,0,0,.15) 100%),
    url('../img/photo-1590787996529-a542c86ca267.webp');
  background-size:cover;
  background-position:center;
}

.hero .hero-content{max-width:860px}
.hero .text-white-75{color:rgba(255,255,255,.8)}
.hero .hero-form{border:1px solid rgba(15,23,42,.08)}
.hero .hero-form .form-label{font-weight:600}

.trust-bar{font-size:.95rem;color:#fff}
.trust-bar span{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.35rem .65rem;border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:saturate(160%) blur(6px);
}
.trust-bar i{color:#fff;opacity:.95}

/* Make secondary CTA readable on hero */
.hero .btn-hero-ghost{
  color:#fff;
  border-color:rgba(255,255,255,.75);
  background:rgba(255,255,255,.12);
  backdrop-filter:saturate(160%) blur(8px);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.hero .btn-hero-ghost:hover{
  color:#fff;
  border-color:rgba(255,255,255,.95);
  background:rgba(255,255,255,.20);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.hero .btn-hero-ghost:focus{
  box-shadow:0 0 0 .25rem rgba(255,255,255,.18), 0 10px 26px rgba(0,0,0,.18);
}

.hero .hero-features{font-size:.95rem;color:#fff}
.hero .hero-features span{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.35rem .65rem;border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:saturate(160%) blur(6px);
}
.hero .hero-features i{color:#fff;opacity:.95}

.section{padding:64px 0}
.section-soft{background:var(--bg-soft)}

.card.icon-card{border:0;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.card.icon-card .icon{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,102,0,.12);color:var(--brand-orange)
}

.badge-brand{background:rgba(0,123,255,.12);color:var(--brand-blue)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease, transform .55s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

.floating-actions{
  position:fixed;right:16px;bottom:16px;z-index:1030;
  display:flex;flex-direction:column;gap:10px
}
.floating-actions a{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  box-shadow:0 12px 30px rgba(0,0,0,.18)
}

.floating-actions .tg{background:#229ED9;color:#fff}
.floating-actions .mx{background:#111827;color:#fff}
.floating-actions .call{background:var(--brand-orange);color:#fff}

.footer{background:#0b1220;color:#cbd5e1}
.footer a{color:#cbd5e1;text-decoration:none}
.footer a:hover{color:#fff}

.small-note{color:var(--muted);font-size:.95rem}

.route-map{height:320px;border-radius:16px;overflow:hidden}

.table thead th{background:rgba(0,123,255,.08)}

.gallery-img{aspect-ratio: 4/3;object-fit:cover}

.form-control:focus,.form-select:focus{border-color:rgba(0,123,255,.65);box-shadow:0 0 0 .25rem rgba(0,123,255,.15)}

.driver-cta-card{border:1px solid rgba(15,23,42,.08)}
.driver-cta-muted .badge-brand{background:rgba(0,123,255,.08);color:var(--muted)}
.driver-cta-muted .small-note{color:var(--muted)}

.review-card{border:1px solid rgba(15,23,42,.08);background:#fff}
.review-card p{color:#111827;font-size:1rem;line-height:1.6}
.review-stars{color:#f5b400;display:flex;gap:2px;font-size:.95rem}
.review-meta{color:var(--muted);font-size:.95rem}

.photo-card{
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 30px rgba(15,23,42,.12)
}
.photo-card img{width:100%;height:100%;object-fit:cover;min-height:240px}

.process-panel{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 30px rgba(15,23,42,.12);
  backdrop-filter:saturate(140%) blur(10px)
}

.seo-list{list-style:none;padding:0;margin:0}
.seo-list li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;color:var(--text)}
.seo-list i{color:var(--brand-blue-2)}

.price-list{list-style:none;padding:0;margin:0;color:var(--text)}
.price-list li{padding:.3rem 0}
.pricing-table th{white-space:nowrap}

/* Minimal helpers for theme pages */
.section-title{display:flex;flex-direction:column;gap:4px}
.fw-black{font-weight:800}
.prose p{line-height:1.65}
.suggest{position:relative}
.map{min-height:320px}
