/* === GLOBAL TOKENS & OVERRIDES (from app.blade.php) ===/

/* Inter replaces Poppins site-wide */
body, html {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Global token reset — dark charcoal + warm gold */
:root {
        --opuz-dark:       #0F1117;
        --opuz-dark-2:     #1A1D27;
        --opuz-gold:       #C9A84C;
        --opuz-gold-light: #E2C06B;
        --opuz-gold-dark:  #A8893A;
        --opuz-gold-soft:  #F9F3E3;
        --opuz-blue:       #C9A84C;
        --opuz-blue-dark:  #A8893A;
        --opuz-blue-soft:  #F9F3E3;
        --opuz-green:      #16A34A;
        --opuz-green-soft: #F0FDF4;
        --opuz-grey:       #F7F8FA;
        --opuz-text:       #1A1D27;
        --opuz-muted:      #6B7280;
        --opuz-border:     #E5E7EB;
        --opuz-radius:     8px;
        --opuz-shadow:     0 4px 20px rgba(0,0,0,.08);
}

/* Sub-pages: push content below fixed nav */
body.sub_page .hero_area { background: none; }
body.sub_page { padding-top: 0; }
/* Fixed nav height offset for sub-pages — the page-hero-section handles its own top padding */

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Selection colour */
::selection { background: #C9A84C; color: #0F1117; }

/* ===== Override Bootstrap btn-primary / btn-success with gold ===== */
.btn-primary,
.btn-primary:focus,
.btn-primary.focus {
        background-color: #C9A84C;
        border-color: #C9A84C;
        color: #0F1117 !important;
        font-weight: 700;
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
        background-color: #A8893A;
        border-color: #A8893A;
        color: #fff !important;
}
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(201,168,76,.4);
}
.btn-primary:disabled,
.btn-primary.disabled {
        background-color: #C9A84C;
        border-color: #C9A84C;
        color: #0F1117 !important;
        opacity: .55;
}

/* btn-success → theme: gold fill (primary CTA) */
.btn-success,
.btn-success:focus {
        background-color: #C9A84C;
        border-color: #C9A84C;
        color: #0F1117 !important;
        font-weight: 700;
}
.btn-success:hover,
.btn-success:not(:disabled):not(.disabled):active {
        background-color: #A8893A;
        border-color: #A8893A;
        color: #fff !important;
}
.btn-success:focus,
.btn-success.focus,
.btn-success:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 .2rem rgba(201,168,76,.4);
}
.btn-success:disabled,
.btn-success.disabled {
        background-color: #C9A84C;
        border-color: #C9A84C;
        color: #0F1117 !important;
        opacity: .45;
}

/* btn-secondary → muted outline for secondary actions (e.g. Back) */
.btn-secondary,
.btn-secondary:focus {
        background-color: transparent;
        border-color: #D1D5DB;
        color: #4B5563 !important;
        font-weight: 600;
}
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active {
        background-color: #F3F4F6;
        border-color: #9CA3AF;
        color: #1A1D27 !important;
}
.btn-secondary:disabled,
.btn-secondary.disabled {
        background-color: transparent;
        border-color: #E5E7EB;
        color: #9CA3AF !important;
        opacity: .7;
}

/* Input group prepend — match gold */
.input-group-text {
        background-color: #F9F3E3;
        border-color: #E5E7EB;
        color: #A8893A;
}

/* === SHARED PAGE STYLES === */

/* ===== SHARED INTERNAL PAGE STYLES — dark charcoal + gold ===== */
/* :root tokens defined above */

/* Eyebrow labels — gold, NO pill */
.page-section-eyebrow,
.opuz-section__eyebrow {
display: block;
font-size: .73rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--opuz-gold-dark);
margin-bottom: .45rem;
}

/* Page hero header — top padding clears fixed nav (~68px) */
.page-hero-section {
background: var(--opuz-dark);
border-bottom: 2px solid var(--opuz-gold);
padding: 5.5rem 0 2.25rem;
margin-top: 0;
}
.breadcrumb-simple {
display: flex;
align-items: center;
gap: .5rem;
list-style: none;
padding: 0;
margin: 0 0 .8rem;
font-size: .8rem;
color: rgba(255,255,255,.4);
}
.breadcrumb-simple a { color: rgba(255,255,255,.55); text-decoration: none; }
.breadcrumb-simple a:hover { color: var(--opuz-gold); }
.page-hero-title {
font-size: clamp(1.6rem, 3vw, 2.4rem);
font-weight: 800;
color: #fff;
margin-bottom: .4rem;
line-height: 1.2;
letter-spacing: -.02em;
}
.page-hero-sub {
color: rgba(255,255,255,.65);
font-size: 1rem;
margin: 0;
}

/* Main content */
.page-content-section { padding: 4rem 0; }

/* Section headings */
.content-heading {
font-size: 1.25rem;
font-weight: 700;
color: var(--opuz-text);
margin-bottom: .75rem;
padding-bottom: .5rem;
border-bottom: 2px solid #EBEBEB;
}

/* Lists */
.content-list {
padding-left: 1.25rem;
margin: .75rem 0 1rem;
color: var(--opuz-text);
}
.content-list li { margin-bottom: .5rem; line-height: 1.65; }
.content-list li::marker { color: var(--opuz-gold); }

/* Sidebar */
.sidebar-card {
background: #fff;
border: 1px solid var(--opuz-border);
border-top: 3px solid var(--opuz-gold);
border-radius: var(--opuz-radius);
padding: 1.5rem;
box-shadow: var(--opuz-shadow);
}
.sidebar-card__title {
font-size: 1rem;
font-weight: 700;
color: var(--opuz-text);
margin-bottom: 1rem;
}
.sidebar-divider { border-color: var(--opuz-border); margin: 1rem 0; }
.sidebar-trust-list { list-style: none; padding: 0; margin: 0; }
.sidebar-trust-list li {
display: flex;
align-items: center;
gap: .5rem;
font-size: .86rem;
color: var(--opuz-text);
margin-bottom: .45rem;
}
.sidebar-trust-list li i { color: var(--opuz-green); font-size: .95rem; }

.sidebar-contact-card {
background: #fff;
border: 1px solid var(--opuz-border);
border-radius: var(--opuz-radius);
padding: 1.5rem;
}
.sidebar-contact-label {
font-size: .72rem;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 700;
color: var(--opuz-muted);
margin-bottom: .3rem;
}
.sidebar-contact-phone {
display: flex;
align-items: center;
gap: .4rem;
font-size: 1.1rem;
font-weight: 700;
color: var(--opuz-gold-dark);
text-decoration: none;
}
.sidebar-contact-phone:hover { color: var(--opuz-gold); }
.sidebar-contact-phone i { font-size: 1.2rem; color: var(--opuz-gold); }
.sidebar-contact-email { color: var(--opuz-gold-dark); font-size: .9rem; text-decoration: none; }
.sidebar-contact-email:hover { text-decoration: underline; }
.sidebar-contact-address { font-size: .86rem; color: var(--opuz-muted); line-height: 1.6; font-style: normal; margin: 0; }

/* Page CTA band */
.page-cta-section {
background: var(--opuz-dark);
border-top: 2px solid var(--opuz-gold);
padding: 4.5rem 0;
color: #fff;
}
.page-cta-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 1.5rem;
}
.page-cta-title {
font-size: clamp(1.2rem, 2.5vw, 1.75rem);
font-weight: 800;
margin-bottom: .35rem;
letter-spacing: -.02em;
}
.page-cta-sub { color: rgba(255,255,255,.65); margin: 0; font-size: .93rem; }
.page-cta-actions { display: flex; gap: .75rem; flex-wrap: wrap; }

/* Buttons */
.opuz-btn-primary {
background: var(--opuz-gold);
border: 2px solid var(--opuz-gold);
color: #0F1117 !important;
border-radius: 5px;
font-weight: 700;
transition: background .2s, border-color .2s;
padding: .52rem 1.4rem;
}
.opuz-btn-primary:hover { background: var(--opuz-gold-dark); border-color: var(--opuz-gold-dark); color: #fff !important; }

.opuz-btn-outline-dark {
background: transparent;
border: 2px solid rgba(255,255,255,.45);
color: #fff !important;
border-radius: 5px;
font-weight: 600;
transition: background .2s, border-color .2s;
padding: .52rem 1.4rem;
}
.opuz-btn-outline-dark:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.85); }

.opuz-link {
display: inline-flex; align-items: center; gap: .3rem;
color: var(--opuz-gold-dark); font-weight: 600; font-size: .88rem;
text-decoration: none; margin-top: .5rem;
}
.opuz-link:hover { text-decoration: underline; color: var(--opuz-gold); }

@media (max-width: 767px) {
.page-content-section { padding: 2.5rem 0; }
.page-cta-inner { flex-direction: column; text-align: center; }
.page-cta-actions { justify-content: center; }
.page-hero-section { padding: 2rem 0 1.75rem; }
}

/* === AIRPORT PAGE STYLES === */

/* ===== AIRPORT PAGES SHARED STYLES ===== */
.airport-hero {
position: relative;
background-size: cover;
background-position: center;
padding: 8rem 0 4rem; /* top clears fixed nav */
color: #fff;
}
.airport-hero__overlay {
position: absolute; inset: 0;
background: linear-gradient(100deg, rgba(10,11,15,.92) 0%, rgba(10,11,15,.78) 50%, rgba(10,11,15,.35) 100%);
}
.airport-hero__inner { position: relative; z-index: 2; }
.airport-breadcrumb {
display: flex; align-items: center; gap: .5rem;
list-style: none; padding: 0; margin: 0 0 1.25rem;
font-size: .8rem; color: rgba(255,255,255,.65);
}
.airport-breadcrumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.airport-breadcrumb a:hover { color: #fff; }
.airport-hero__badge {
display: flex; align-items: center; gap: .35rem;
font-size: .73rem; font-weight: 700; letter-spacing: .1em;
text-transform: uppercase; color: #C9A84C; margin-bottom: .5rem;
}
.airport-hero__title { font-size: clamp(1.6rem, 3.5vw, 2.5rem); font-weight: 800; line-height: 1.2; margin-bottom: .65rem; text-shadow: 0 2px 10px rgba(0,0,0,.3); }
.airport-hero__sub { font-size: 1.05rem; opacity: .9; max-width: 540px; line-height: 1.6; margin-bottom: 1.75rem; }
.airport-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.airport-btn-primary { background: #C9A84C; border: 2px solid #C9A84C; color: #0F1117 !important; border-radius: 5px; font-weight: 700; padding: .55rem 1.4rem; transition: background .2s, color .2s; }
.airport-btn-primary:hover { background: #A8893A; border-color: #A8893A; color: #fff !important; }
.airport-btn-outline { background: transparent; border: 2px solid rgba(255,255,255,.55); color: #fff !important; border-radius: 5px; font-weight: 600; padding: .55rem 1.4rem; transition: background .2s; }
.airport-btn-outline:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.9); }

.airport-stats-strip { background: #0F1117; border-top: 2px solid #C9A84C; padding: 1.25rem 0; color: #fff; }
.airport-stats-strip__inner { display: flex; flex-wrap: wrap; justify-content: space-around; }
.airport-stats-strip__item { display: flex; align-items: center; gap: .75rem; padding: .5rem 1rem; flex: 1; min-width: 140px; }
.airport-stats-strip__item i { font-size: 1.5rem; color: #C9A84C; flex-shrink: 0; }
.airport-stats-strip__item strong { display: block; font-weight: 800; font-size: 1.05rem; line-height: 1; }
.airport-stats-strip__item span { font-size: .78rem; color: rgba(255,255,255,.7); }

.airport-why-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.airport-why-list li { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .65rem; color: #1A1D27; font-size: .95rem; line-height: 1.5; }
.airport-why-list li i { color: #16A34A; font-size: 1.1rem; flex-shrink: 0; margin-top: .1rem; }

.airport-reviews { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.airport-review-card { background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 8px; padding: 1.1rem; }
.airport-review-card__stars { color: #C9A84C; font-size: 1rem; margin-bottom: .5rem; }
.airport-review-card__text { font-size: .88rem; font-style: italic; color: #475569; line-height: 1.6; margin-bottom: .75rem; }
.airport-review-card__author strong { display: block; font-weight: 700; font-size: .85rem; color: #1A1D27; }
.airport-review-card__author span { font-size: .78rem; color: #94A3B8; }

.airport-faq { border: 1px solid #E2E8F0; border-radius: 8px; overflow: hidden; margin-top: 1rem; }
.airport-faq__item { border-bottom: 1px solid #E2E8F0; }
.airport-faq__item:last-child { border-bottom: none; }
.airport-faq__question { width: 100%; background: none; border: none; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; cursor: pointer; text-align: left; gap: .75rem; }
.airport-faq__question:hover { background: #F8FAFC; }
.airport-faq__q-text { margin: 0; font-size: .95rem; font-weight: 600; color: #1A1D27; flex: 1; }
.airport-faq__chevron { font-size: 1.2rem; color: #64748B; transition: transform .2s; flex-shrink: 0; }
.airport-faq__question:not(.collapsed) .airport-faq__chevron { transform: rotate(180deg); }
.airport-faq__answer { padding: .75rem 1.25rem 1rem; font-size: .9rem; color: #475569; line-height: 1.65; background: #F8FAFC; }

.airport-cta-box { display: flex; align-items: flex-start; gap: 1rem; background: #F9F3E3; border: 1px solid #E2C06B; border-radius: 8px; padding: 1.25rem 1.5rem; }
.airport-cta-box__icon { font-size: 1.5rem; color: #A8893A; flex-shrink: 0; }
.airport-cta-box strong { display: block; font-weight: 700; color: #1A1D27; margin-bottom: .3rem; font-size: .95rem; }
.airport-cta-box p { font-size: .9rem; color: #475569; }

@media (max-width: 576px) {
.airport-hero { padding: 3rem 0 2.5rem; }
.airport-hero__actions { flex-direction: column; }
.airport-hero__actions .btn { width: 100%; text-align: center; }
.airport-reviews { grid-template-columns: 1fr; }
.airport-stats-strip__item { min-width: 120px; padding: .4rem .5rem; }
}

/* === HOME PAGE === */

/* ===== DESIGN TOKENS - dark charcoal + warm gold ===== */
/* :root tokens defined above */

/* ===== HERO ===== */
.opuz-hero {
position: relative;
overflow: hidden;
min-height: 100vh;
display: flex;
flex-direction: column;
}
.opuz-hero__bg {
position: absolute;
inset: 0;
background-size: cover;
background-position: center right;
}
/* Two-layer overlay: left dark for text, right transparent for car reveal */
.opuz-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(
        100deg,
        rgba(10,11,15,.93) 0%,
        rgba(10,11,15,.82) 45%,
        rgba(10,11,15,.45) 70%,
        rgba(10,11,15,.12) 100%
);
}
.opuz-hero__inner {
position: relative;
z-index: 2;
padding-top: 6rem;
padding-bottom: 4rem;
flex: 1;
display: flex;
align-items: center;
}
.opuz-hero__text { color: #fff; }

/* Gold accent line above title */
.opuz-hero__location {
display: flex;
align-items: center;
gap: .4rem;
font-size: .78rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--opuz-gold);
margin-bottom: .75rem;
}
.opuz-hero__location i { font-size: .9rem; }

.opuz-hero__title {
font-size: clamp(1.9rem, 4vw, 3rem);
font-weight: 800;
line-height: 1.15;
margin-bottom: .75rem;
letter-spacing: -.02em;
}
/* Gold word in headline */
.opuz-hero__title .text-highlight {
color: var(--opuz-gold);
}
.opuz-hero__sub {
font-size: 1rem;
color: rgba(255,255,255,.78);
max-width: 500px;
line-height: 1.6;
margin-bottom: 1rem;
}
.opuz-hero__trust {
display: flex;
flex-wrap: wrap;
gap: .4rem 1rem;
font-size: .82rem;
color: rgba(255,255,255,.7);
margin-bottom: 1.25rem;
}
.opuz-hero__trust span { display: flex; align-items: center; gap: .35rem; }
.opuz-hero__trust i { color: var(--opuz-gold); font-size: .85rem; }
.opuz-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Gold divider accent */
.opuz-hero__text::before {
content: '';
display: block;
width: 40px;
height: 3px;
background: var(--opuz-gold);
margin-bottom: .75rem;
border-radius: 2px;
}

/* Quote Card */
.opuz-quote-card {
background: #fff;
border-radius: var(--opuz-radius);
box-shadow: 0 16px 48px rgba(0,0,0,.28);
padding: 1.75rem;
border-top: 3px solid var(--opuz-gold);
}
.opuz-quote-card__head {
display: flex;
align-items: center;
gap: .6rem;
margin-bottom: 1.1rem;
color: var(--opuz-text);
}
.opuz-quote-card__head i { font-size: 1.4rem; color: var(--opuz-gold); }
.opuz-quote-card__note { font-size: .78rem; color: var(--opuz-muted); margin-top: .75rem; margin-bottom: 0; }

/* ===== STATS BAR ===== */
.opuz-stats {
background: var(--opuz-dark);
padding: 1.4rem 0;
border-top: 2px solid var(--opuz-gold);
}
.opuz-stats__row { text-align: center; }
.opuz-stats__item {
padding: .7rem 1rem;
border-right: 1px solid rgba(255,255,255,.1);
}
.opuz-stats__item:last-child { border-right: none; }
.opuz-stats__num {
display: block;
font-size: 1.5rem;
font-weight: 800;
color: var(--opuz-gold);
line-height: 1;
}
.opuz-stats__label {
display: block;
font-size: .75rem;
color: rgba(255,255,255,.55);
margin-top: .3rem;
letter-spacing: .02em;
}

/* ===== SECTIONS ===== */
.opuz-section { padding: 4rem 0; }
.opuz-section--grey { background: var(--opuz-grey); }
.opuz-section__title {
font-size: clamp(1.5rem, 3vw, 2.1rem);
font-weight: 800;
color: var(--opuz-text);
margin-bottom: .5rem;
letter-spacing: -.02em;
}
.opuz-section__sub { color: var(--opuz-muted); max-width: 540px; margin: 0 auto; line-height: 1.65; }

/* Eyebrow - gold, no pill */
.opuz-section__eyebrow {
display: block;
font-size: .73rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--opuz-gold-dark);
margin-bottom: .5rem;
}
.opuz-section__eyebrow.text-left { text-align: left; }

/* ===== SERVICE CARDS ===== */
.opuz-service-card {
background: #fff;
border: 1px solid var(--opuz-border);
border-radius: var(--opuz-radius);
padding: 1.5rem;
height: 100%;
transition: box-shadow .25s, transform .25s;
}
.opuz-service-card:hover {
box-shadow: 0 8px 28px rgba(0,0,0,.1);
transform: translateY(-4px);
}
.opuz-service-card__icon {
width: 48px; height: 48px;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 1.4rem;
margin-bottom: 1rem;
}
.opuz-service-card__icon.bg-blue-soft  { background: var(--opuz-gold-soft); color: var(--opuz-gold-dark); }
.opuz-service-card__icon.bg-green-soft { background: var(--opuz-green-soft); color: var(--opuz-green); }
.opuz-service-card__icon.bg-orange-soft { background: #FFF8F0; color: #B45309; }
.opuz-service-card__title { font-size: 1.05rem; font-weight: 700; color: var(--opuz-text); margin-bottom: .6rem; }
.opuz-service-card__text { color: var(--opuz-muted); font-size: .9rem; line-height: 1.65; }

/* ===== AIRPORT CARDS ===== */
.opuz-airport-card {
display: flex;
align-items: center;
gap: .9rem;
background: #fff;
border: 1px solid var(--opuz-border);
border-radius: var(--opuz-radius);
padding: 1rem 1.25rem;
text-decoration: none !important;
color: var(--opuz-text);
transition: border-color .2s, box-shadow .2s, color .2s;
}
.opuz-airport-card:hover {
border-color: var(--opuz-gold);
box-shadow: 0 4px 16px rgba(201,168,76,.12);
color: var(--opuz-gold-dark);
}
.opuz-airport-card--cta { border-style: dashed; background: #FAFAFA; }
.opuz-airport-card__icon { font-size: 1.4rem; color: var(--opuz-gold); flex-shrink: 0; }
.opuz-airport-card__name { display: block; font-weight: 700; font-size: .92rem; }
.opuz-airport-card__meta { display: block; font-size: .76rem; color: var(--opuz-muted); margin-top: .1rem; }
.opuz-airport-card__arrow { font-size: 1.2rem; color: var(--opuz-muted); margin-left: auto; }

/* ===== WHY CARDS ===== */
.opuz-why-card {
background: #fff;
border: 1px solid var(--opuz-border);
border-radius: var(--opuz-radius);
padding: 1.4rem;
height: 100%;
border-left: 3px solid transparent;
transition: border-color .2s;
}
.opuz-why-card:hover { border-left-color: var(--opuz-gold); }
.opuz-why-card__icon { font-size: 1.7rem; margin-bottom: .7rem; display: block; }
.opuz-why-card__title { font-size: .95rem; font-weight: 700; color: var(--opuz-text); margin-bottom: .35rem; }
.opuz-why-card__text { font-size: .84rem; color: var(--opuz-muted); margin: 0; line-height: 1.55; }
.text-blue   { color: var(--opuz-gold-dark) !important; }
.text-green  { color: var(--opuz-green) !important; }
.text-orange { color: #B45309 !important; }
.text-purple { color: #6D3F8E !important; }

/* ===== CHECK LIST ===== */
.opuz-check-list { list-style: none; padding: 0; margin: 0; }
.opuz-check-list li { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .6rem; color: var(--opuz-text); font-size: .95rem; }
.opuz-check-list li i { color: var(--opuz-green); font-size: 1.1rem; margin-top: .1rem; flex-shrink: 0; }

/* ===== AREAS GRID ===== */
.opuz-areas-grid { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; }
.opuz-area-tag {
display: inline-flex; align-items: center; gap: .35rem;
background: #fff; border: 1px solid var(--opuz-border);
border-radius: 4px;
padding: .32rem .8rem;
font-size: .83rem;
color: var(--opuz-text);
font-weight: 500;
}
.opuz-area-tag i { color: var(--opuz-gold); font-size: .78rem; }

/* ===== REVIEWS ===== */
.opuz-review-card {
background: #fff;
border: 1px solid var(--opuz-border);
border-radius: var(--opuz-radius);
padding: 1.5rem;
height: 100%;
border-top: 3px solid var(--opuz-gold);
}
.opuz-review-card__stars { color: var(--opuz-gold); font-size: 1.05rem; margin-bottom: .75rem; letter-spacing: .04em; }
.opuz-review-card__text { color: var(--opuz-text); font-size: .9rem; line-height: 1.65; font-style: italic; margin-bottom: 1rem; }
.opuz-review-card__author strong { display: block; font-weight: 700; color: var(--opuz-text); font-size: .88rem; }
.opuz-review-card__author span { font-size: .78rem; color: var(--opuz-muted); }

/* ===== CTA BAND ===== */
.opuz-cta-band {
background: var(--opuz-dark);
border-top: 2px solid var(--opuz-gold);
padding: 3.5rem 0;
color: #fff;
}
.opuz-cta-band__title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin-bottom: .5rem; letter-spacing: -.02em; }
.opuz-cta-band__sub { color: rgba(255,255,255,.65); font-size: .97rem; }

/* ===== BUTTONS ===== */
.opuz-btn-primary {
background: var(--opuz-gold);
border: 2px solid var(--opuz-gold);
color: #0F1117 !important;
border-radius: 6px;
font-weight: 700;
transition: background .2s, border-color .2s;
letter-spacing: .01em;
}
.opuz-btn-primary:hover { background: var(--opuz-gold-dark); border-color: var(--opuz-gold-dark); color: #fff !important; }
.opuz-btn-outline {
background: transparent;
border: 2px solid rgba(255,255,255,.55);
color: #fff !important;
border-radius: 6px;
/* Inline SVG icon helpers */
.svg-icon, .icon, .opuz-icon {
        display: inline-block;
        vertical-align: middle;
        width: 1em;
        height: 1em;
        line-height: 1;
        fill: currentColor;
        stroke: currentColor;
}
.svg-icon.icon--gold, .icon--gold { color: var(--opuz-gold); }
.input-group-text .svg-icon { width: 1.05rem; height: 1.05rem; }

font-weight: 600;
transition: background .2s, border-color .2s;
}
.opuz-btn-outline:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.9); }
.opuz-btn-outline-white {
background: transparent;
border: 2px solid rgba(255,255,255,.45);
color: #fff !important;
border-radius: 6px;
font-weight: 600;
transition: background .2s, border-color .2s;
}
.opuz-btn-outline-white:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.9); }

/* Link */
.opuz-link { display: inline-flex; align-items: center; gap: .3rem; color: var(--opuz-gold-dark); font-weight: 600; font-size: .88rem; text-decoration: none; margin-top: .75rem; }
.opuz-link:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 767px) {
.opuz-hero { min-height: auto; }
.opuz-hero__bg { background-position: 70% center; }
.opuz-hero__inner { padding-top: 5rem; padding-bottom: 3rem; }
.opuz-section { padding: 2.75rem 0; }
.opuz-stats__item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); padding: .6rem; }
.opuz-stats__item:last-child { border-bottom: none; }
.opuz-cta-band { text-align: center; }
.opuz-cta-band .text-md-right { text-align: center !important; }
.opuz-hero__actions { flex-direction: column; }
.opuz-hero__actions .btn { width: 100%; text-align: center; }
.opuz-hero__text::before { display: none; }
}

/* === SERVICES PAGE === */

/* Service blocks */
.service-block {
display: flex;
gap: 1.5rem;
margin-bottom: 3rem;
padding-bottom: 2.5rem;
border-bottom: 1px solid #E2E8F0;
align-items: flex-start;
}
.service-block:last-of-type { border-bottom: none; }
.service-block__icon-wrap {
width: 52px;
height: 52px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
flex-shrink: 0;
background: #F9F3E3;
color: #C9A84C;
}
.service-block__icon-wrap--green { background: #F0FDF4; color: #16A34A; }
.service-block__icon-wrap--orange { background: #FFF7ED; color: #EA580C; }
.service-block__icon-wrap--purple { background: #F5F3FF; color: #7C3AED; }
.service-block__body { flex: 1; }
.service-block__title {
font-size: 1.2rem;
font-weight: 700;
color: #1A1D27;
margin-bottom: .6rem;
}

/* Airport grid */
.airport-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: .6rem;
margin-top: 1rem;
}
.airport-item {
display: flex;
align-items: center;
gap: .6rem;
padding: .65rem .9rem;
background: #F8FAFC;
border: 1px solid #E2E8F0;
border-radius: 7px;
text-decoration: none !important;
color: #1A1D27;
font-size: .88rem;
transition: border-color .15s, background .15s;
}
.airport-item:hover { border-color: #C9A84C; background: #F9F3E3; color: #C9A84C; }
.airport-item i { font-size: 1.1rem; color: #C9A84C; flex-shrink: 0; }
.airport-item strong { display: block; font-weight: 600; line-height: 1.2; }
.airport-item span { font-size: .75rem; color: #64748B; }

/* Pricing note */
.pricing-note-box {
display: flex;
gap: 1rem;
background: #F9F3E3;
border: 1px solid #E2C06B;
border-radius: 8px;
padding: 1.25rem 1.5rem;
margin-top: 2rem;
align-items: flex-start;
}
.pricing-note-box__icon { font-size: 1.5rem; color: #C9A84C; flex-shrink: 0; margin-top: .1rem; }
.pricing-note-box strong { display: block; font-weight: 700; color: #1A1D27; margin-bottom: .35rem; }
.pricing-note-box p { margin: 0; font-size: .9rem; color: #475569; line-height: 1.6; }

@media (max-width: 576px) {
.service-block { flex-direction: column; gap: .75rem; }
.airport-grid { grid-template-columns: 1fr; }
}

/* === ABOUT PAGE === */

.page-section-eyebrow {
font-size: .75rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: #C9A84C;
margin-bottom: .4rem;
display: block;
}

.about-promises { display: grid; gap: 1.25rem; margin-top: 1.25rem; }
.about-promise-item {
display: flex;
align-items: flex-start;
gap: 1rem;
padding: 1.1rem 1.25rem;
background: #F8FAFC;
border: 1px solid #E2E8F0;
border-radius: 8px;
}
.about-promise-item i {
font-size: 1.4rem;
color: #C9A84C;
flex-shrink: 0;
margin-top: .15rem;
}
.about-promise-item strong { display: block; font-weight: 700; color: #1A1D27; margin-bottom: .25rem; }
.about-promise-item p { margin: 0; font-size: .9rem; color: #64748B; line-height: 1.55; }

/* === CONTACT PAGE === */

.contact-info-card {
background: #fff;
border: 1px solid #E2E8F0;
border-radius: 10px;
padding: 1.5rem;
height: 100%;
}
.contact-info-card__icon {
width: 44px; height: 44px;
background: #F9F3E3;
color: #C9A84C;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 1.3rem;
margin-bottom: 1rem;
}
.contact-info-card__icon--green { background: #F0FDF4; color: #16A34A; }
.contact-info-card__icon--orange { background: #FFF7ED; color: #EA580C; }
.contact-info-card__title { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; color: #94A3B8; margin-bottom: .35rem; }
.contact-info-card__value { display: block; font-size: .95rem; font-weight: 600; color: #1A1D27; text-decoration: none; margin-bottom: .35rem; word-break: break-word; }
a.contact-info-card__value:hover { color: #C9A84C; }
.contact-info-card__note { font-size: .8rem; color: #94A3B8; margin: 0; }

.contact-map-wrap { line-height: 0; }

/* === BOOKING CONFIRMED === */
/* === BOOKING CONFIRMED === */

/* === MAP VIEW === */

/* Map-specific styles retained below (scoped selectors only) */
#map {
                        height: calc(100vh - 80px); /* Adjust height to leave space for info panel */
                        width: 100%; /* Full width */
                }
#info {
                        position: absolute;
                        top: 20px;
                        left: 20px;
                        z-index: 1000;
                        background-color: #fff;
                        border: 1px solid #ccc;
                        padding: 10px;
                        border-radius: 5px;
                        width: 300px;
                        text-align: left;
                        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
                }
#info h3 { margin-top: 0; }

/* === QUOTE FORM (theme overrides) === */
.qf-field .input-group-text {
        background: var(--opuz-gold-soft);
        border-color: var(--opuz-border);
        color: var(--opuz-gold-dark);
}
.qf-suggestions {
        background: #fff;
        border: 1px solid var(--opuz-border);
        border-radius: 6px;
        box-shadow: var(--opuz-shadow);
        z-index: 1200;
}
.qf-suggestions .list-group-item {
        border: none;
        padding: .45rem .65rem;
        font-size: .92rem;
}
.qf-suggestions .list-group-item:hover {
        background: rgba(201,168,76,0.06);
}

.qf-vehicles {
        border: 1px solid var(--opuz-border);
        background: #fff;
        border-radius: var(--opuz-radius);
        overflow: hidden;
        box-shadow: var(--opuz-shadow);
}
.qf-vehicles > .list-group-item,
.qf-vehicles > .list-group-item.list-group-item-dark {
        background: var(--opuz-dark-2);
        border: none;
        color: var(--opuz-gold);
        font-weight: 700;
        font-size: .8rem;
        letter-spacing: .06em;
        text-transform: uppercase;
        padding: .55rem .75rem;
}
.qf-vehicles .qf-vehicles-inner { max-height: 260px; overflow-y: auto; }
.qf-vehicles .qf-vehicle-item {
        border-bottom: 1px solid var(--opuz-border);
        padding: .55rem .75rem;
        transition: background .15s, transform .12s;
        color: var(--opuz-text);
}
.qf-vehicles .qf-vehicle-item:hover {
        background: #FAFAFA;
}
.qf-vehicles .qf-vehicle-item .vehicle-capacity {
        color: var(--opuz-muted);
        font-size: .82rem;
}
.qf-vehicles .qf-vehicle-item strong { color: var(--opuz-text); font-weight: 700; }
.qf-vehicles .qf-vehicle-item .text-success { color: var(--opuz-green) !important; font-weight: 700; }

/* active selection overrides - force theme colours over Bootstrap blue */
.qf-vehicles .qf-vehicle-item.active,
.qf-vehicles .qf-vehicle-item.active:hover {
        background: linear-gradient(90deg, var(--opuz-gold) 0%, var(--opuz-gold-light) 100%) !important;
        color: #0F1117 !important;
        box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
.qf-vehicles .qf-vehicle-item.active .vehicle-capacity,
.qf-vehicles .qf-vehicle-item.active .vehicle-capacity i { color: rgba(15,17,23,0.65) !important; }
.qf-vehicles .qf-vehicle-item.active .text-success { color: #0F1117 !important; }

.qf-trip-info { color: var(--opuz-muted); font-size: .9rem; }
.qf-from-label, .qf-to-label { color: var(--opuz-text); font-weight: 700; }

.quote-step .btm_input { display:flex; gap:.5rem; }
.quote-step .btm_input .btn { flex: 1; }

@media (max-width:767px) {
        .qf-vehicles .qf-vehicle-item .col-2 { display: none; }
        .qf-vehicles .qf-vehicle-item { padding: .6rem .5rem; }
}

/* Accessibility & focus: replace browser blue focus with subtle theme focus */
.qf-vehicles .qf-vehicle-item:focus {
        outline: 3px solid rgba(201,168,76,0.18) !important;
        outline-offset: 2px;
        box-shadow: none !important;
}
.qf-vehicles .qf-vehicle-item,
.qf-vehicles .qf-vehicle-item:focus,
.qf-vehicles .qf-vehicle-item.active,
.qf-vehicles .qf-vehicle-item.active:focus {
        border: none !important;
}

/* make names & capacity more legible */
.qf-vehicles .qf-vehicle-item span { font-size: 1rem; font-weight: 700; color: var(--opuz-text); display: block; }
.qf-vehicles .qf-vehicle-item .vehicle-capacity { color: #475569; font-weight: 600; font-size: .92rem; }
.qf-vehicles .qf-vehicle-item .col-2 img { max-height:48px; width:auto; }

/* allow slightly taller vehicle list so items fit without awkward scrollbar */
.qf-vehicles .qf-vehicles-inner { max-height: 340px; }

/* Journey From/To block */
.qf-journey-line { gap: 10px; }
.qf-journey-pin-col { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; width: 22px; }
.qf-journey-icon { display: flex; align-items: center; justify-content: center; line-height: 1; }
.qf-journey-icon-pickup i { color: var(--opuz-gold); }
.qf-journey-icon-drop i { color: #1a1a2e; }
.qf-journey-connector { width: 2px; flex: 1; min-height: 10px; background: repeating-linear-gradient(to bottom, var(--opuz-gold) 0, var(--opuz-gold) 4px, transparent 4px, transparent 8px); margin: 3px 0; }
.qf-journey-text { min-width: 0; padding-top: 1px; }
.qf-journey-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #888; line-height: 1; margin-bottom: 2px; }
.qf-journey .qf-from-label, .qf-journey .qf-to-label { font-size: .9rem; color: var(--opuz-text); }

/* Map markers */
.qf-map-pin {
        display: inline-flex;
        align-items: flex-end;
        justify-content: center;
        width: 36px;
        height: 44px;
}
.qf-map-pin i {
        font-size: 36px;
        line-height: 1;
        filter: drop-shadow(0 3px 4px rgba(0,0,0,.3));
}
.qf-map-pin-pickup i { color: var(--opuz-gold); }
.qf-map-pin-drop i { color: #1a1a2e; }

/* Fix horizontal overflow from Bootstrap .row inside vehicle items */
.qf-vehicles .qf-vehicle-item > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
}
.qf-vehicles .qf-vehicle-item [class*="col-"] {
        padding-left: .45rem;
        padding-right: .45rem;
}
.qf-vehicles .qf-vehicle-item { overflow: hidden; box-sizing: border-box; }
.qf-vehicles .qf-vehicle-item .col-2 { max-width: 56px; flex: 0 0 56px; }
.qf-vehicles .qf-vehicle-item .col-10 { flex: 1 1 auto; }

/* === NAVIGATION === */
/* ===== NAVIGATION — dark charcoal + gold ===== */
.opuz-navbar {
background: transparent;
border-bottom: 1px solid transparent;
padding: .85rem 0;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1030;
transition: background .3s, border-color .3s, box-shadow .3s;
}
/* Solid once scrolled OR on sub-pages */
.opuz-navbar.scrolled,
.sub_page .opuz-navbar {
background: #0F1117;
border-bottom: 1px solid #1E2030;
box-shadow: 0 4px 24px rgba(0,0,0,.45);
}

/* Brand */
.opuz-brand {
display: flex;
align-items: center;
gap: .55rem;
text-decoration: none !important;
}
.brand-name {
font-size: 1.3rem;
font-weight: 800;
color: #FFFFFF;
letter-spacing: -.5px;
line-height: 1;
}
.brand-name span { color: #C9A84C; }

/* Nav links */
.opuz-navbar .navbar-nav .nav-link {
color: rgba(255,255,255,.7);
font-weight: 500;
font-size: .88rem;
padding: .5rem .85rem;
border-radius: 4px;
transition: color .15s, background .15s;
position: relative;
}
.opuz-navbar .navbar-nav .nav-link:hover,
.opuz-navbar .navbar-nav .nav-item.active .nav-link {
color: #C9A84C;
background: rgba(201,168,76,.08);
}
.opuz-navbar .navbar-nav .nav-item.active .nav-link::after {
content: '';
position: absolute;
bottom: 0px;
left: .85rem;
right: .85rem;
height: 2px;
background: #C9A84C;
border-radius: 1px;
}

/* Dropdown */
.opuz-dropdown {
background: #1A1D27;
border: 1px solid #2A2E40;
border-radius: 8px;
box-shadow: 0 10px 30px rgba(0,0,0,.35);
padding: .4rem;
min-width: 210px;
margin-top: .35rem;
}
.opuz-dropdown .dropdown-item {
border-radius: 4px;
padding: .5rem .85rem;
font-size: .88rem;
color: rgba(255,255,255,.7);
font-weight: 500;
transition: background .15s, color .15s;
}
.opuz-dropdown .dropdown-item:hover {
background: rgba(201,168,76,.1);
color: #C9A84C;
}

/* CTA area */
.nav-phone {
display: flex;
align-items: center;
gap: .35rem;
color: rgba(255,255,255,.75);
font-weight: 600;
font-size: .88rem;
text-decoration: none;
transition: color .15s;
}
.nav-phone:hover { color: #C9A84C; text-decoration: none; }
.nav-phone i { font-size: 1rem; color: #C9A84C; }

.opuz-btn-cta {
background: #C9A84C;
border: 2px solid #C9A84C;
color: #0F1117 !important;
border-radius: 5px;
font-weight: 700;
padding: .42rem 1.1rem;
font-size: .85rem;
white-space: nowrap;
transition: background .15s, border-color .15s;
}
.opuz-btn-cta:hover { background: #A8893A; border-color: #A8893A; color: #fff !important; }

/* Toggler */
.opuz-toggler {
border: none;
padding: .4rem;
background: none;
display: flex;
flex-direction: column;
gap: 5px;
cursor: pointer;
}
.opuz-toggler:focus { outline: none; box-shadow: none; }
.toggler-bar {
display: block;
width: 22px;
height: 2px;
background: rgba(255,255,255,.7);
border-radius: 2px;
transition: all .25s;
}

/* Mobile */
@media (max-width: 991px) {
.opuz-navbar { background: #0F1117; }
#navbarMain { background: #0F1117; padding: .75rem 0 1rem; border-top: 1px solid #1E2030; }
.opuz-navbar .navbar-nav .nav-item.active .nav-link::after { display: none; }
.navbar-cta { margin-top: .75rem; padding-bottom: .25rem; }
.opuz-dropdown { background: #1A1D27; box-shadow: none; border-radius: 4px; padding: .25rem 0 .25rem .75rem; border: none; border-left: 2px solid #C9A84C; margin-left: .85rem; }
}