/*
 * ============================================================
 * ONE TAP CAR RENTAL — styles.css
 * ============================================================
 * BRAND PALETTE
 *   Primary   : #1A3C5E  (deep navy  — trust, reliability)
 *   Accent    : #E8A020  (amber gold — energy, premium)
 *   Dark      : #0D1F30  (near-black for sections)
 *   Light     : #F4F7FB  (off-white backgrounds)
 *   Text      : #1E2A38
 *   Muted     : #6B7A8A
 *
 * TYPOGRAPHY
 *   Display   : "Bebas Neue" — bold, impactful headings
 *   Body      : "DM Sans"   — clean, highly legible body text
 *
 * TO CHANGE COLORS: edit the :root variables below.
 * ============================================================
 */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── Design Tokens ────────────────────────────────────────── */
:root {
  --clr-primary   : #1A3C5E;
  --clr-primary-d : #112B45;
  --clr-accent    : #E8A020;
  --clr-accent-d  : #C8861A;
  --clr-dark      : #0D1F30;
  --clr-light     : #F4F7FB;
  --clr-white     : #FFFFFF;
  --clr-text      : #1E2A38;
  --clr-muted     : #6B7A8A;
  --clr-border    : #D8E2EC;
  --clr-success   : #22A86A;
  --clr-danger    : #E84040;

  --font-display  : 'Bebas Neue', cursive;
  --font-body     : 'DM Sans', sans-serif;

  --radius-sm     : 6px;
  --radius-md     : 12px;
  --radius-lg     : 20px;
  --shadow-sm     : 0 2px 8px rgba(0,0,0,.07);
  --shadow-md     : 0 6px 24px rgba(0,0,0,.10);
  --shadow-lg     : 0 16px 48px rgba(0,0,0,.14);
  --transition    : .25s cubic-bezier(.4,0,.2,1);
}

/* ── Reset / Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family : var(--font-body);
  color       : var(--clr-text);
  background  : var(--clr-white);
  line-height : 1.65;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5 {
  font-family : var(--font-display);
  letter-spacing: .02em;
  line-height : 1.1;
}

a { color: var(--clr-accent); text-decoration: none; }
a:hover { color: var(--clr-accent-d); }

img { max-width: 100%; height: auto; display: block; }

/* ── Utility ──────────────────────────────────────────────── */
.text-accent   { color: var(--clr-accent) !important; }
.bg-primary-brand { background-color: var(--clr-primary) !important; }
.section-pad   { padding: 90px 0; }
.section-pad-sm { padding: 60px 0; }

.section-label {
  display       : inline-block;
  background    : rgba(232,160,32,.12);
  color         : var(--clr-accent);
  font-family   : var(--font-body);
  font-size     : .75rem;
  font-weight   : 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding       : .3rem .9rem;
  border-radius : 50px;
  margin-bottom : .75rem;
}

.section-title {
  font-size   : clamp(2.2rem, 4vw, 3.2rem);
  color       : var(--clr-primary);
  margin-bottom: .5rem;
}

.section-sub {
  color       : var(--clr-muted);
  font-size   : 1.05rem;
  max-width   : 600px;
}

/* ── NAVBAR ───────────────────────────────────────────────── */
.site-navbar {
  background  : var(--clr-dark);
  padding     : .85rem 0;
  transition  : box-shadow var(--transition), padding var(--transition);
  position    : sticky;
  top         : 0;
  z-index     : 1040;
}

.navbar-scrolled {
  box-shadow  : var(--shadow-md);
  padding     : .5rem 0;
}

.navbar-brand-wrap {
  display    : flex;
  align-items: center;
  gap        : .6rem;
}

.brand-icon {
  width        : 42px;
  height       : 42px;
  background   : var(--clr-accent);
  border-radius: var(--radius-sm);
  display      : flex;
  align-items  : center;
  justify-content: center;
  flex-shrink  : 0;
}

.brand-icon i { font-size: 1.4rem; color: var(--clr-dark); }

.brand-text-wrap { display: flex; flex-direction: column; line-height: 1; }
.brand-name {
  font-family   : var(--font-display);
  font-size     : 1.15rem;
  color         : var(--clr-white);
  letter-spacing: .05em;
}
.brand-tagline {
  font-size  : .65rem;
  color      : var(--clr-accent);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.site-navbar .nav-link {
  color       : rgba(255,255,255,.78) !important;
  font-size   : .88rem;
  font-weight : 500;
  padding     : .4rem .75rem !important;
  transition  : color var(--transition);
  position    : relative;
}
.site-navbar .nav-link::after {
  content     : '';
  position    : absolute;
  bottom      : 0; left: .75rem; right: .75rem;
  height      : 2px;
  background  : var(--clr-accent);
  transform   : scaleX(0);
  transition  : transform var(--transition);
}
.site-navbar .nav-link:hover,
.site-navbar .nav-link.active { color: var(--clr-white) !important; }
.site-navbar .nav-link:hover::after { transform: scaleX(1); }

.navbar-toggler { border: none; color: var(--clr-white); }
.navbar-toggler:focus { box-shadow: none; }

.btn-nav-book {
  background    : var(--clr-accent);
  color         : var(--clr-dark) !important;
  font-weight   : 700 !important;
  border-radius : var(--radius-sm);
  padding       : .45rem 1.1rem !important;
  transition    : background var(--transition), transform var(--transition);
}
.btn-nav-book:hover {
  background : var(--clr-accent-d);
  transform  : translateY(-1px);
}
.btn-nav-book::after { display: none !important; }

/* ── HERO ─────────────────────────────────────────────────── */
.hero-section {
  background   : linear-gradient(135deg, var(--clr-dark) 0%, var(--clr-primary) 100%);
  min-height   : 90vh;
  display      : flex;
  align-items  : center;
  position     : relative;
  overflow     : hidden;
  padding      : 80px 0;
}

.hero-section::before {
  content    : '';
  position   : absolute;
  inset      : 0;
  background : url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1' fill='%23ffffff' fill-opacity='.04'/%3E%3C/svg%3E");
  pointer-events: none;
}

.hero-badge {
  display      : inline-flex;
  align-items  : center;
  gap          : .4rem;
  background   : rgba(232,160,32,.15);
  border       : 1px solid rgba(232,160,32,.3);
  color        : var(--clr-accent);
  font-size    : .78rem;
  font-weight  : 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding      : .35rem .9rem;
  border-radius: 50px;
  margin-bottom: 1.25rem;
}

.hero-title {
  font-size   : clamp(2.8rem, 7vw, 5rem);
  color       : var(--clr-white);
  line-height : 1.05;
  margin-bottom: 1rem;
}

.hero-title .highlight {
  color             : var(--clr-accent);
  -webkit-text-stroke: 0;
}

.hero-sub {
  color      : rgba(255,255,255,.72);
  font-size  : 1.1rem;
  max-width  : 520px;
  margin-bottom: 2.2rem;
}

.btn-hero-primary {
  background    : var(--clr-accent);
  color         : var(--clr-dark);
  font-weight   : 700;
  font-size     : 1rem;
  padding       : .85rem 2rem;
  border-radius : var(--radius-sm);
  border        : none;
  display       : inline-flex;
  align-items   : center;
  gap           : .5rem;
  transition    : background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow    : 0 4px 20px rgba(232,160,32,.35);
}
.btn-hero-primary:hover {
  background : var(--clr-accent-d);
  transform  : translateY(-2px);
  box-shadow : 0 8px 28px rgba(232,160,32,.45);
  color      : var(--clr-dark);
}

.btn-hero-secondary {
  background    : transparent;
  color         : var(--clr-white);
  font-weight   : 600;
  font-size     : .95rem;
  padding       : .85rem 2rem;
  border-radius : var(--radius-sm);
  border        : 1px solid rgba(255,255,255,.3);
  display       : inline-flex;
  align-items   : center;
  gap           : .5rem;
  transition    : border-color var(--transition), background var(--transition);
}
.btn-hero-secondary:hover {
  border-color : rgba(255,255,255,.7);
  background   : rgba(255,255,255,.06);
  color        : var(--clr-white);
}

.hero-stats {
  display   : flex;
  gap       : 2rem;
  flex-wrap : wrap;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.12);
}

.hero-stat-item { text-align: left; }
.hero-stat-num {
  font-family : var(--font-display);
  font-size   : 2.2rem;
  color       : var(--clr-accent);
  line-height : 1;
}
.hero-stat-label {
  font-size  : .78rem;
  color      : rgba(255,255,255,.55);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.hero-img-wrap {
  position  : relative;
  text-align: center;
}
.hero-car-img {
  max-height : 400px;
  object-fit : contain;
  filter     : drop-shadow(0 20px 40px rgba(0,0,0,.4));
  animation  : heroFloat 4s ease-in-out infinite;
}
@keyframes heroFloat {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-14px); }
}

.hero-floating-card {
  position     : absolute;
  background   : rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  border       : 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-md);
  padding      : .75rem 1rem;
  display      : flex;
  align-items  : center;
  gap          : .6rem;
  color        : var(--clr-white);
  font-size    : .82rem;
  font-weight  : 500;
  min-width    : 150px;
}
.hero-floating-card .card-icon {
  width        : 36px; height: 36px;
  background   : var(--clr-accent);
  border-radius: var(--radius-sm);
  display      : flex;
  align-items  : center;
  justify-content: center;
  flex-shrink  : 0;
  font-size    : 1rem;
  color        : var(--clr-dark);
}
.hero-floating-card--tl { top: 10%; left: -5%; }
.hero-floating-card--br { bottom: 15%; right: -5%; }

/* ── STATS BAR ────────────────────────────────────────────── */
.stats-bar {
  background : var(--clr-primary);
  padding    : 50px 0;
}
.stat-item { text-align: center; }
.stat-number {
  font-family : var(--font-display);
  font-size   : 2.8rem;
  color       : var(--clr-accent);
  line-height : 1;
  display     : block;
}
.stat-label {
  font-size  : .85rem;
  color      : rgba(255,255,255,.65);
  font-weight: 500;
  margin-top : .3rem;
  display    : block;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* ── FLEET ────────────────────────────────────────────────── */
.fleet-section { background: var(--clr-light); }

.car-card {
  background    : var(--clr-white);
  border-radius : var(--radius-lg);
  overflow      : hidden;
  box-shadow    : var(--shadow-sm);
  transition    : box-shadow var(--transition), transform var(--transition);
  border        : 1px solid var(--clr-border);
}
.car-card:hover {
  box-shadow : var(--shadow-lg);
  transform  : translateY(-6px);
}

.car-card__img-wrap {
  position   : relative;
  overflow   : hidden;
  height     : 200px;
}
.car-card__img {
  width      : 100%;
  height     : 100%;
  object-fit : cover;
  transition : transform .5s ease;
}
.car-card:hover .car-card__img { transform: scale(1.05); }

.car-card__badge {
  position     : absolute;
  top          : .75rem; left: .75rem;
  background   : var(--clr-accent);
  color        : var(--clr-dark);
  font-size    : .68rem;
  font-weight  : 700;
  padding      : .2rem .6rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.car-card__category {
  position     : absolute;
  top          : .75rem; right: .75rem;
  background   : rgba(10,31,48,.7);
  color        : rgba(255,255,255,.9);
  font-size    : .68rem;
  font-weight  : 600;
  padding      : .2rem .6rem;
  border-radius: 4px;
}

.car-card__body { padding: 1.25rem 1.4rem 1.4rem; }
.car-card__name {
  font-size    : 1.35rem;
  color        : var(--clr-primary);
  margin-bottom: .5rem;
}
.car-card__specs {
  display      : flex;
  gap          : 1rem;
  color        : var(--clr-muted);
  font-size    : .85rem;
  margin-bottom: .9rem;
}
.car-card__specs i { color: var(--clr-accent); }

.car-card__price {
  margin-bottom : 1rem;
  border-top    : 1px solid var(--clr-border);
  padding-top   : .75rem;
}
.price-amount {
  font-family : var(--font-display);
  font-size   : 1.8rem;
  color       : var(--clr-primary);
}
.price-unit {
  font-size  : .85rem;
  color      : var(--clr-muted);
  margin-left: .2rem;
}

.btn-book-car {
  width        : 100%;
  background   : var(--clr-primary);
  color        : var(--clr-white);
  border       : none;
  border-radius: var(--radius-sm);
  padding      : .65rem;
  font-weight  : 600;
  font-size    : .9rem;
  display      : flex;
  align-items  : center;
  justify-content: center;
  gap          : .4rem;
  transition   : background var(--transition), transform var(--transition);
}
.btn-book-car:hover {
  background : var(--clr-accent);
  color      : var(--clr-dark);
  transform  : translateY(-1px);
}
.btn-book-car i { color: #25D366; font-size: 1rem; }

/* ── PRICING ──────────────────────────────────────────────── */
.pricing-section { background: var(--clr-white); }

.pricing-table {
  border-radius : var(--radius-lg);
  overflow      : hidden;
  box-shadow    : var(--shadow-md);
  border        : 1px solid var(--clr-border);
}
.pricing-table thead th {
  background   : var(--clr-primary);
  color        : var(--clr-white);
  font-family  : var(--font-body);
  font-weight  : 600;
  font-size    : .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding      : 1rem 1.2rem;
  border       : none;
}
.pricing-table tbody td {
  padding    : .9rem 1.2rem;
  font-size  : .92rem;
  border-color: var(--clr-border);
  vertical-align: middle;
}
.pricing-row-even td { background: var(--clr-light); }
.pricing-row-popular td { background: rgba(232,160,32,.07); }

/* Group label cell (navy or orange, rowspan) */
.pricing-group-cell {
  font-family  : var(--font-display);
  font-size    : 1rem;
  letter-spacing: .04em;
  text-align   : center;
  white-space  : nowrap;
  width        : 130px;
  border-right : 2px solid rgba(255,255,255,.2) !important;
}

/* Min price column */
.pricing-min {
  color      : var(--clr-accent);
  font-weight: 700;
}

/* Popular badge inside table */
.pricing-badge-popular {
  background   : var(--clr-accent);
  color        : var(--clr-dark);
  font-size    : .62rem;
  font-weight  : 700;
  padding      : .15rem .5rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .06em;
  vertical-align: middle;
}

/* Transfer & Extras grid */
.pricing-extras-wrap {
  border-radius : var(--radius-lg);
  overflow      : hidden;
  box-shadow    : var(--shadow-md);
  border        : 1px solid var(--clr-border);
}
.pricing-extras-header {
  background   : var(--clr-primary);
  color        : var(--clr-white);
  font-family  : var(--font-body);
  font-weight  : 600;
  font-size    : .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding      : 1rem 1.2rem;
}
.pricing-extras-grid {
  display      : grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap          : 0;
  background   : var(--clr-white);
}
.pricing-extra-item {
  display      : flex;
  align-items  : center;
  gap          : .85rem;
  padding      : 1.1rem 1.4rem;
  border-right : 1px solid var(--clr-border);
  border-bottom: 1px solid var(--clr-border);
}
.pricing-extra-item:last-child { border-right: none; }
.pricing-extra-icon {
  font-size    : 1.5rem;
  color        : var(--clr-accent);
  flex-shrink  : 0;
}

/* Important notes box */
.pricing-notes {
  background   : rgba(26,60,94,.06);
  border       : 1px solid rgba(26,60,94,.15);
  border-radius: var(--radius-md);
  padding      : 1.2rem 1.5rem;
  font-size    : .88rem;
  color        : var(--clr-text);
}
.pricing-notes ul { padding-left: 1.2rem; }
.pricing-notes i  { color: var(--clr-primary); }

.badge-include {
  background   : rgba(34,168,106,.1);
  color        : var(--clr-success);
  font-size    : .78rem;
  font-weight  : 600;
  padding      : .2rem .6rem;
  border-radius: 4px;
}
.badge-exclude {
  background   : rgba(232,64,64,.08);
  color        : var(--clr-danger);
  font-size    : .78rem;
  font-weight  : 600;
  padding      : .2rem .6rem;
  border-radius: 4px;
}

/* ── HOW IT WORKS ─────────────────────────────────────────── */
.how-section { background: var(--clr-dark); }

.step-card {
  text-align  : center;
  padding     : 2rem 1.5rem;
  position    : relative;
}
.step-number {
  font-family : var(--font-display);
  font-size   : 5rem;
  color       : rgba(232,160,32,.12);
  line-height : 1;
  position    : absolute;
  top         : 0; left: 50%;
  transform   : translateX(-50%);
  pointer-events: none;
  user-select : none;
}
.step-icon-wrap {
  width          : 72px;
  height         : 72px;
  background     : rgba(232,160,32,.12);
  border         : 1px solid rgba(232,160,32,.25);
  border-radius  : 50%;
  display        : flex;
  align-items    : center;
  justify-content: center;
  margin         : 0 auto 1.25rem;
  font-size      : 1.8rem;
  color          : var(--clr-accent);
  position       : relative;
  z-index        : 1;
  transition     : background var(--transition), border-color var(--transition);
}
.step-card:hover .step-icon-wrap {
  background : rgba(232,160,32,.22);
  border-color: var(--clr-accent);
}
.step-title {
  font-size    : 1.4rem;
  color        : var(--clr-white);
  margin-bottom: .5rem;
}
.step-desc {
  color    : rgba(255,255,255,.55);
  font-size: .92rem;
}

/* ── BOOKING FORM ─────────────────────────────────────────── */
.book-section { background: var(--clr-light); }

.booking-card {
  background    : var(--clr-white);
  border-radius : var(--radius-lg);
  box-shadow    : var(--shadow-lg);
  padding       : 2.5rem 2rem;
  border        : 1px solid var(--clr-border);
}
@media (min-width: 768px) { .booking-card { padding: 3rem; } }

.form-label {
  font-size  : .85rem;
  font-weight: 600;
  color      : var(--clr-text);
  margin-bottom: .35rem;
}
.form-control, .form-select {
  border       : 1.5px solid var(--clr-border);
  border-radius: var(--radius-sm);
  padding      : .65rem .9rem;
  font-size    : .92rem;
  color        : var(--clr-text);
  transition   : border-color var(--transition), box-shadow var(--transition);
  background   : var(--clr-white);
}
.form-control:focus, .form-select:focus {
  border-color : var(--clr-accent);
  box-shadow   : 0 0 0 3px rgba(232,160,32,.12);
  outline      : none;
}
.form-check-input:checked {
  background-color: var(--clr-primary);
  border-color    : var(--clr-primary);
}

.form-highlight {
  animation: formPulse .8s ease;
}
@keyframes formPulse {
  0%,100% { box-shadow: var(--shadow-lg); }
  50%      { box-shadow: 0 0 0 6px rgba(232,160,32,.25), var(--shadow-lg); }
}

.btn-submit-booking {
  background   : var(--clr-accent);
  color        : var(--clr-dark);
  font-weight  : 700;
  font-size    : 1.05rem;
  padding      : .9rem;
  border       : none;
  border-radius: var(--radius-sm);
  width        : 100%;
  display      : flex;
  align-items  : center;
  justify-content: center;
  gap          : .5rem;
  transition   : background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow   : 0 4px 16px rgba(232,160,32,.3);
}
.btn-submit-booking:hover {
  background : var(--clr-accent-d);
  transform  : translateY(-2px);
  box-shadow : 0 8px 24px rgba(232,160,32,.4);
}
.btn-submit-booking i { color: #25D366; font-size: 1.2rem; }

.booking-info-panel {
  background   : var(--clr-primary);
  border-radius: var(--radius-lg);
  padding      : 2.5rem;
  color        : var(--clr-white);
  height       : 100%;
}
.booking-info-panel h3 {
  font-size    : 1.8rem;
  color        : var(--clr-white);
  margin-bottom: 1.5rem;
}
.info-item {
  display      : flex;
  gap          : .8rem;
  align-items  : flex-start;
  margin-bottom: 1.25rem;
}
.info-item-icon {
  width          : 38px; height: 38px;
  background     : rgba(232,160,32,.15);
  border-radius  : var(--radius-sm);
  display        : flex;
  align-items    : center;
  justify-content: center;
  font-size      : 1rem;
  color          : var(--clr-accent);
  flex-shrink    : 0;
}
.info-item-text strong { display: block; font-size: .9rem; margin-bottom: .1rem; }
.info-item-text span   { font-size: .82rem; color: rgba(255,255,255,.6); }

.whatsapp-direct-btn {
  display        : flex;
  align-items    : center;
  justify-content: center;
  gap            : .5rem;
  background     : #25D366;
  color          : var(--clr-white);
  font-weight    : 700;
  font-size      : .95rem;
  padding        : .8rem;
  border-radius  : var(--radius-sm);
  border         : none;
  width          : 100%;
  margin-top     : 2rem;
  text-decoration: none;
  transition     : background var(--transition);
}
.whatsapp-direct-btn:hover { background: #1ebe5d; color: var(--clr-white); }

/* ── FAQ ──────────────────────────────────────────────────── */
.faq-section { background: var(--clr-white); }

.faq-item {
  border       : 1px solid var(--clr-border) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: .75rem;
  overflow     : hidden;
}
.faq-item .accordion-button {
  background   : var(--clr-white);
  color        : var(--clr-text);
  font-weight  : 600;
  font-size    : .95rem;
  padding      : 1.1rem 1.4rem;
  border-radius: var(--radius-md) !important;
}
.faq-item .accordion-button:not(.collapsed) {
  background : var(--clr-light);
  color      : var(--clr-primary);
  box-shadow : none;
}
.faq-item .accordion-button::after {
  filter: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23E8A020' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.faq-item .accordion-body {
  color    : var(--clr-muted);
  font-size: .92rem;
  padding  : .75rem 1.4rem 1.2rem;
}

/* ── FOOTER ───────────────────────────────────────────────── */
.site-footer {
  background : var(--clr-dark);
  color      : rgba(255,255,255,.65);
  padding    : 70px 0 0;
}
.footer-brand-name {
  font-family   : var(--font-display);
  font-size     : 1.6rem;
  color         : var(--clr-white);
  letter-spacing: .04em;
}
.footer-tagline {
  font-size  : .85rem;
  color      : rgba(255,255,255,.45);
  margin-top : .3rem;
}
.footer-heading {
  font-family   : var(--font-body);
  font-size     : .78rem;
  font-weight   : 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color         : var(--clr-accent);
  margin-bottom : 1.1rem;
}
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: .5rem; }
.footer-links a {
  color      : rgba(255,255,255,.55);
  font-size  : .88rem;
  transition : color var(--transition);
}
.footer-links a:hover { color: var(--clr-accent); }

.footer-contact-item {
  display    : flex;
  align-items: flex-start;
  gap        : .6rem;
  margin-bottom: .75rem;
  font-size  : .88rem;
}
.footer-contact-item i {
  color      : var(--clr-accent);
  margin-top : .15rem;
  font-size  : 1rem;
  flex-shrink: 0;
}

.social-icons { display: flex; gap: .6rem; margin-top: .75rem; }
.social-icon {
  width          : 36px; height: 36px;
  background     : rgba(255,255,255,.07);
  border-radius  : var(--radius-sm);
  display        : flex;
  align-items    : center;
  justify-content: center;
  color          : rgba(255,255,255,.6);
  font-size      : 1rem;
  transition     : background var(--transition), color var(--transition);
}
.social-icon:hover { background: var(--clr-accent); color: var(--clr-dark); }

.footer-bottom {
  border-top  : 1px solid rgba(255,255,255,.08);
  margin-top  : 50px;
  padding     : 1.25rem 0;
  text-align  : center;
  font-size   : .8rem;
  color       : rgba(255,255,255,.35);
}
.footer-bottom a { color: rgba(255,255,255,.45); }
.footer-bottom a:hover { color: var(--clr-accent); }

/* ── MODAL ────────────────────────────────────────────────── */
.modal-header { background: var(--clr-primary); color: var(--clr-white); }
.modal-header .btn-close { filter: invert(1); }
#fallbackMessage {
  background   : var(--clr-light);
  border       : 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  padding      : 1rem;
  font-size    : .82rem;
  white-space  : pre-wrap;
  max-height   : 250px;
  overflow-y   : auto;
  font-family  : monospace;
  color        : var(--clr-text);
}

/* ── TOAST ────────────────────────────────────────────────── */
.toast-container { z-index: 1090; }
#successToast { background: var(--clr-primary); color: var(--clr-white); }
#successToast .toast-header { background: var(--clr-success); color: var(--clr-white); }
#successToast .btn-close { filter: invert(1); }

/* ── RESPONSIVE TWEAKS ────────────────────────────────────── */
@media (max-width: 991.98px) {
  .hero-floating-card { display: none; }
  .hero-car-img { max-height: 260px; }
  .hero-stats { gap: 1.25rem; }
}
@media (max-width: 767.98px) {
  .section-pad { padding: 60px 0; }
  .booking-card { padding: 1.75rem 1.25rem; }
  .hero-section { min-height: auto; }
  .pricing-table { font-size: .78rem; }
  .pricing-table thead th, .pricing-table tbody td { padding: .65rem .6rem; }
}