/* ============================================================
   All-in-One Solution — Brand Overrides
   Primary navy: #030367  |  Accent orange: #f1611e
   ============================================================ */

:root {
    --bs-primary:   #f1611e;
    --bs-secondary: #030367;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary { background-color:#f1611e; border-color:#f1611e; }
.btn-primary:hover, .btn-primary:focus { background-color:#d4511a; border-color:#d4511a; }
.btn-border-white {
    border:2px solid #fff; color:#fff; background:transparent;
    padding:10px 28px; border-radius:4px; font-weight:600;
    transition:all .3s; display:inline-block;
}
.btn-border-white:hover { background:#fff; color:#030367; }

/* ── Header top bar ──────────────────────────────────────── */
.above-header { background-color:#030367; }

/* ── Navigation ──────────────────────────────────────────── */
.main-navigation { background-color:#fff; }
.main-mobile-nav  { background-color:#030367; }

/* ── Footer ──────────────────────────────────────────────── */
.main-footer { background-color:#0e1531; background-image:none; }
.footer-copyright { background-color:#090f22; }

/* ── CTA band ────────────────────────────────────────────── */
.flixita-call-action-section {
    background-color:#f1611e;
    background-image:url(../images/call-action-bg.png);
}

/* ── Breadcrumb overlay ──────────────────────────────────── */
.breadcrumb-area:after { background-color:#030367; opacity:.82; }

/* ── Section heading colour ──────────────────────────────── */
.color-primary, .theme-main-heading .title { color:#f1611e; }

/* ── Marquee strip ───────────────────────────────────────── */
.marquee-section { background-color:#030367; }

/* ── Hero slider overlay ─────────────────────────────────── */
.main-slider { background:rgba(3,3,103,.70); }

/* ══════════════════════════════════════════════════════════
   CUSTOM COMPONENTS
   ══════════════════════════════════════════════════════════ */

/* ── RDB badge pills (home hero) ─────────────────────────── */
.badge-pill-outline {
    display:inline-block; border-radius:50px; padding:5px 18px;
    font-size:13px; font-weight:600; margin:6px 4px;
}
.badge-pill-outline.navy  { border:2px solid #030367; color:#030367; }
.badge-pill-outline.orange{ border:2px solid #f1611e; color:#f1611e; }

/* ── Vision / Mission cards ──────────────────────────────── */
.vm-card {
    background:#eef2ff; border-radius:12px; padding:36px 30px; height:100%;
}
.vm-card h4 { color:#f1611e; font-size:20px; font-weight:700; margin-bottom:14px; }
.vm-card p  { color:#333; margin:0; font-size:15px; line-height:1.75; }

/* ── Core Value cards ────────────────────────────────────── */
.value-card {
    background:#fff; border-radius:8px; padding:32px 26px; height:100%;
    border-top:4px solid #f1611e;
    box-shadow:0 2px 20px rgba(0,0,0,.08);
    transition:transform .3s ease;
}
.value-card:hover { transform:translateY(-5px); }
.value-card .val-icon {
    width:56px; height:56px; background:#030367; border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.value-card .val-icon .fa { color:#fff; font-size:22px; }
.value-card h4 { color:#030367; font-size:19px; font-weight:700; margin-bottom:10px; }
.value-card p  { color:#555; margin:0; font-size:15px; line-height:1.65; }

/* ── How We Work steps ───────────────────────────────────── */
.how-step { text-align:center; padding:28px 18px; }
.how-step .step-num {
    width:68px; height:68px; background:#f1611e; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 18px; font-size:26px; font-weight:700; color:#fff;
}
.how-step h4 { color:#030367; font-size:17px; font-weight:700; margin-bottom:8px; }
.how-step p  { color:#666; font-size:14px; margin:0; }

/* ── Legal status cards ──────────────────────────────────── */
.legal-card {
    background:#f8f9fa; border-radius:8px; padding:24px 22px; height:100%;
    border-left:4px solid #030367;
}
.legal-card h5 { color:#030367; font-size:15px; font-weight:700; margin-bottom:8px; }
.legal-card p  { color:#555; margin:0; font-size:14px; }

/* ── Service pillar header ───────────────────────────────── */
.pillar-heading {
    color:#030367; font-size:24px; font-weight:700;
    border-left:5px solid #f1611e; padding-left:16px; margin-bottom:28px;
}

/* ── Portfolio table ─────────────────────────────────────── */
.portfolio-table thead { background-color:#030367; color:#fff; }
.portfolio-table thead th { border:none; padding:14px 18px; font-size:14px; font-weight:600; }
.portfolio-table tbody td { padding:14px 18px; vertical-align:middle; color:#333; font-size:15px; }
.portfolio-table tbody tr:hover { background-color:rgba(241,97,30,.06); }
.sector-badge {
    display:inline-block; background:#030367; color:#fff;
    border-radius:4px; padding:3px 12px; font-size:12px; font-weight:600;
}

/* ── Contact detail cards ────────────────────────────────── */
.contact-detail-card {
    display:flex; align-items:flex-start; gap:16px;
    background:#fff; border-radius:8px; padding:22px 20px;
    box-shadow:0 2px 16px rgba(0,0,0,.08); margin-bottom:20px;
}
.contact-detail-card .cd-icon {
    width:48px; height:48px; background:#030367; border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.contact-detail-card .cd-icon .fa { color:#fff; font-size:18px; }
.contact-detail-card .cd-body h6 { color:#030367; font-weight:700; margin-bottom:4px; font-size:14px; }
.contact-detail-card .cd-body p,
.contact-detail-card .cd-body a { color:#555; margin:0; text-decoration:none; font-size:15px; }
.contact-detail-card .cd-body a:hover { color:#f1611e; }

/* ── Contact form ────────────────────────────────────────── */
.contact-form-wrap { background:#f8f9fa; border-radius:10px; padding:36px 32px; }
.contact-form-wrap h3 { color:#030367; font-size:22px; font-weight:700; margin-bottom:22px; }
.contact-form-wrap .form-label { font-weight:600; color:#333; font-size:14px; }
.contact-form-wrap .form-control {
    border:1px solid #ddd; border-radius:4px; padding:10px 14px;
    font-size:15px; transition:border-color .3s;
}
.contact-form-wrap .form-control:focus { border-color:#f1611e; box-shadow:none; }
.contact-form-wrap textarea.form-control { resize:vertical; min-height:130px; }

/* ── Footer quick links ──────────────────────────────────── */
.footer-nav-list { list-style:none; padding:0; margin:0; }
.footer-nav-list li { margin-bottom:9px; }
.footer-nav-list li a {
    color:rgba(255,255,255,.72); text-decoration:none;
    font-size:14px; transition:color .3s, padding-left .2s;
}
.footer-nav-list li a:before { content:"\f105"; font-family:FontAwesome; margin-right:8px; color:#f1611e; }
.footer-nav-list li a:hover { color:#f1611e; padding-left:4px; }

/* ── Footer address ──────────────────────────────────────── */
.footer-addr { list-style:none; padding:0; margin:0; }
.footer-addr li { color:rgba(255,255,255,.72); font-size:14px; margin-bottom:10px; display:flex; gap:10px; }
.footer-addr li .fa { color:#f1611e; margin-top:3px; flex-shrink:0; }
.footer-addr li a { color:rgba(255,255,255,.72); text-decoration:none; }
.footer-addr li a:hover { color:#f1611e; }

/* ── Footer widget title ─────────────────────────────────── */
.footer-main .widget-title { color:#fff; font-size:17px; font-weight:700; margin-bottom:22px; position:relative; padding-bottom:12px; }
.footer-main .widget-title:after { content:''; position:absolute; left:0; bottom:0; width:36px; height:3px; background:#f1611e; }
.footer-main p { color:rgba(255,255,255,.72); font-size:14px; line-height:1.75; }

/* ── Social icon row (footer) ────────────────────────────── */
.social-row { display:flex; gap:10px; margin-top:16px; }
.social-row a {
    width:34px; height:34px; border:1px solid rgba(255,255,255,.3); border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.72);
    font-size:14px; text-decoration:none; transition:all .3s;
}
.social-row a:hover { background:#f1611e; border-color:#f1611e; color:#fff; }

/* ── Section spacing ─────────────────────────────────────── */
.st-section { padding:80px 0; }
.st-section-sm { padding:55px 0; }

/* ── Utility ─────────────────────────────────────────────── */
.text-orange  { color:#f1611e !important; }
.text-navy    { color:#030367 !important; }
.bg-navy      { background-color:#030367 !important; }
.bg-navy-light{ background-color:#eef2ff; }

/* ══════════════════════════════════════════════════════
   MOBILE MENU FIX — jQuery 3.x positioning
   ══════════════════════════════════════════════════════ */
.main-mobile-nav:not(.is-sticky-menu) { position:relative; overflow:visible; }
.main-mobile-nav.is-sticky-menu { overflow:visible; }
.main-mobile-wrapper { overflow:visible; }
.header-menu-active .main-mobile-wrapper { z-index:9999 !important; }
.main-mobile-build { z-index:9999; }

/* ══════════════════════════════════════════════════════
   INNER PAGE HERO (replaces small breadcrumb-area)
   ══════════════════════════════════════════════════════ */
.inner-hero {
    min-height:440px;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    position:relative;
    display:flex;
    align-items:center;
}
.inner-hero:after {
    content:'';
    position:absolute;
    inset:0;
    background-color:#030367;
    opacity:.78;
    z-index:0;
}
.inner-hero .hero-inner {
    position:relative;
    z-index:1;
    text-align:center;
    padding:80px 0 60px;
    width:100%;
}
.inner-hero .hero-inner .page-eyebrow {
    display:inline-block;
    background:#f1611e;
    color:#fff;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:4px 18px;
    border-radius:50px;
    margin-bottom:18px;
}
.inner-hero .hero-inner h1 {
    color:#fff;
    font-size:42px;
    font-weight:800;
    margin-bottom:14px;
    line-height:1.2;
}
.inner-hero .hero-inner p {
    color:rgba(255,255,255,.82);
    font-size:16px;
    max-width:560px;
    margin:0 auto 22px;
    line-height:1.7;
}
.inner-hero .hero-inner .breadcrumb {
    background:transparent;
    justify-content:center;
    margin:0;
    padding:0;
}
.inner-hero .hero-inner .breadcrumb-item a { color:#f1611e; text-decoration:none; }
.inner-hero .hero-inner .breadcrumb-item.active { color:rgba(255,255,255,.75); }
.inner-hero .hero-inner .breadcrumb-item + .breadcrumb-item::before { color:rgba(255,255,255,.4); }

@media (max-width:767px) {
    .inner-hero { min-height:320px; }
    .inner-hero .hero-inner h1 { font-size:28px; }
}
