/* ═══════════════════════════════════════════════════════════════════
   FaithTrip Public Website — Premium Theme Layer
   Brand: Navy #0D1B5E · Gold #F5A623 · Inter

   The storefront ships two palettes: b2c.css's generic template vars
   (--b2c-*: slate primary, SKY-BLUE accent, amber CTA) and
   faithtrip.css's brand vars (--ft-*: navy/gold). Components written
   against --b2c-accent render sky blue next to brand-navy sections —
   two different websites on one page.

   Loaded LAST in b2c/layouts/master.blade.php: re-points the --b2c-*
   variables at the brand and applies the same premium component
   language as the Admin, agent-portal and customer-portal themes.
   Dark mode (darkmode-admin.css / [data-theme="dark"] !important)
   still wins wherever it defines a rule.
   ═══════════════════════════════════════════════════════════════════ */

/* :root:root — outranks both stylesheets' plain :root regardless of a
   future re-ordering of the <link> tags. */
:root:root {
    --b2c-primary: #0D1B5E;
    --b2c-primary-light: #1A3A8F;
    --b2c-primary-dark: #0A1448;
    /* The sky-blue accent is the biggest source of off-brand colour —
       links, highlights, icons all pick this up. Navy-light keeps the
       "link/interactive" role while staying in the family. */
    --b2c-accent: #1A3A8F;
    --b2c-accent-light: #3B5BC4;
    --b2c-accent-dark: #0D1B5E;
    /* CTA amber → brand gold. */
    --b2c-cta: #F5A623;
    --b2c-cta-hover: #E09515;
    --b2c-cta-glow: rgba(245, 166, 35, 0.3);
    --b2c-bg: #F5F7FB;
    --b2c-card-border: #E9EDF5;
}

body.b2c-body { -webkit-font-smoothing: antialiased; }

/* ─── Navbar ──────────────────────────────────────────────────────── */
.b2c-navbar { box-shadow: 0 1px 8px rgba(13, 27, 94, .06); }
.b2c-nav-link { font-weight: 600; }
.b2c-nav-btn { border-radius: 9px; font-weight: 700; transition: all .15s; }
.b2c-nav-btn:hover { box-shadow: 0 4px 12px rgba(13, 27, 94, .2); }
.b2c-nav-btn-outline { border-radius: 9px; }

/* ─── Hero / search card ──────────────────────────────────────────── */
.b2c-search-card {
    border-radius: 16px;
    border: 1px solid var(--b2c-card-border);
    box-shadow: 0 16px 48px rgba(13, 27, 94, .14);
}

/* ─── Generic cards and sections used across the 21 public pages ──── */
.card { border: 1px solid #E9EDF5; border-radius: 12px; }
.card-header { background: #fff; border-bottom: 1px solid #EEF1F7; font-weight: 700; color: #0D1B5E; }

/* Bootstrap buttons on content pages (deals, tours, visa, shop, blog) */
.btn { border-radius: 8px; font-weight: 600; transition: all .15s; }
.btn-primary { background: #0D1B5E; border-color: #0D1B5E; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: #1A3A8F !important;
    border-color: #1A3A8F !important;
    box-shadow: 0 4px 12px rgba(13, 27, 94, .25) !important;
}
.btn-outline-primary { color: #0D1B5E; border-color: #0D1B5E; }
.btn-outline-primary:hover { background: #0D1B5E; border-color: #0D1B5E; }
.btn-warning { background: #F5A623; border-color: #F5A623; color: #1E293B; }
.btn-info, .btn-info:hover { background: #1A3A8F; border-color: #1A3A8F; color: #fff; }

/* ─── Forms ───────────────────────────────────────────────────────── */
.form-control, .form-select {
    border: 1px solid #DFE5EF;
    border-radius: 8px;
    transition: border-color .15s, box-shadow .15s;
}
.form-control:focus, .form-select:focus {
    border-color: #0D1B5E;
    box-shadow: 0 0 0 3px rgba(13, 27, 94, .08);
}

/* ─── Tables (fare tables, PNR results, order lists on public pages) ─ */
.table thead th {
    background: #F7F9FD;
    color: #556180;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    border-bottom: 1px solid #E4E9F2;
    border-top: none;
    vertical-align: middle;
}
.table td { vertical-align: middle; }
.table-bordered, .table-bordered td, .table-bordered th { border-color: #EDF0F6; }

/* ─── Modals / badges / pagination ────────────────────────────────── */
.modal-content { border: none; border-radius: 14px; box-shadow: 0 24px 64px rgba(13, 27, 94, .22); }
.modal-title { color: #0D1B5E; font-weight: 700; }
.badge { border-radius: 20px; font-weight: 700; padding: .35em .8em; }
.page-item .page-link { border-radius: 8px !important; margin: 0 2px; color: #46506A; border-color: #E4E9F2; font-weight: 600; }
.page-item.active .page-link { background: #0D1B5E; border-color: #0D1B5E; }

/* ─── Scrollbars ──────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #C7CFDE; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #A9B4C9; }
