/* ==========================================================================
   MYCARGO — custom-cargo.css  (v3.5)
   --------------------------------------------------------------------------
   Single consolidated stylesheet for every frontend page. All page-level
   styles that used to live in inline <style> blocks were moved here and are
   included globally through the shared web/header.blade.php (and the login
   page, which renders its own <head>).

   Layout of this file (one clearly-marked section per page):
     01  Global header, navigation & banner
     02  Footer & floating call widget
     03  Login / OTP page
     04+ One section per page, in site order

   Scoping notes:
     * Rules that could collide between pages (or that restyle global
       Bootstrap classes such as .form-control) are prefixed with a pg-*
       page class that is set on that page's root <section>.
     * The four "My Requests" pages share one section (pg-leads); the
       three thank-you pages share one section; the edit pages reuse the
       shared .pg-edit form skin.
     * Only the admin-controlled theme variables (dynamic colours from
       Site Settings) remain inline in the shared header — everything
       else lives in this file.
   ========================================================================== */


/* [01] GLOBAL HEADER, NAVIGATION & BANNER (shared layout)
   ==========================================================================
   Extracted from: web/header.blade.php — everything below this line is the
   static part of the old inline <style> blocks (services mega menu, banner
   scene backdrops, user/booking chips, banner pagination). Only the
   admin-controlled theme colour variables stay inline in the shared header
   so a Site Settings save re-skins the site instantly. */
        /* ================= COMPLETE SERVICES MEGA DROPDOWN (v3.4) =================
           One nav entry listing every service, grouped by category in a
           two-column panel on desktop. Mobile keeps the theme's native
           slide-down behaviour (dropdown-icon + slideToggle). */
        @media (min-width: 1200px) {
            header.style-1 .main-menu > ul > li:hover > ul.sub-menu.services-mega-menu,
            header.style-1 .main-menu > ul > li:focus-within > ul.sub-menu.services-mega-menu {
                display: grid;
                grid-template-columns: 1fr 1fr;
                left: 0;
                right: auto;
                width: 500px;
                max-width: calc(100vw - 48px);
                padding: 10px 8px 12px;
                column-gap: 4px;
            }

            .services-mega-menu .mega-group-head {
                grid-column: 1 / -1;
                padding: 10px 14px 6px;
            }

            .services-mega-menu li > a {
                font-size: 13.5px;
                line-height: 1.35;
                padding: 11px 14px;
            }
        }

        .services-mega-menu .mega-group-head {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
            color: var(--ot-muted, #756a5f);
        }

        /* Group-head icons: inline (the theme absolutely positions and
           hides plain icons inside sub-menu items — overridden here with
           matching selector weight so they render as inline glyphs). */
        header.style-1 .main-menu > ul > li ul.sub-menu > li.mega-group-head i,
        header.style-1 .main-menu > ul > li ul.sub-menu.services-mega-menu > li.mega-group-head i {
            position: static;
            display: inline-block;
            color: var(--ot-green, #d81f06);
            font-size: 12.5px;
            margin-right: 5px;
            top: auto;
            right: auto;
        }

        /* Mobile: single column inside the theme's slide-down, group heads
           become section dividers. Display is left to the theme + JS. */
        @media (max-width: 1199px) {
            header.style-1 .main-menu > ul > li ul.sub-menu.services-mega-menu {
                width: auto;
                max-width: none;
            }

            .services-mega-menu .mega-group-head {
                margin-top: 8px;
                padding: 10px 0 6px;
                border-bottom: 1px solid rgba(233, 228, 228, .5);
            }

            .services-mega-menu .mega-group-head:first-child { margin-top: 0; }

            .services-mega-menu li > a {
                padding: 12px 0;
                font-size: 13px;
            }
        }
    </style>
    <style>
        .home1-banner-section .banner-wrapper,
        .home1-banner-section .banner-img-area,
        .home1-banner-section .banner-video-area,
        .home1-banner-section .shipment-gif-bg {
            min-height: 640px;
        }

        .home1-banner-section .banner-img-area img,
        .home1-banner-section .banner-video-area video {
            width: 100%;
            height: 100%;
            min-height: 640px;
            object-fit: cover;
            object-position: center;
        }

        .shipment-gif-bg {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(circle at 78% 18%, rgba(255, 122, 69, .34), transparent 14%),
                linear-gradient(135deg, #10212b 0%, #1e4f5f 48%, #183024 100%);
        }

        .shipment-gif-bg.alt {
            background:
                radial-gradient(circle at 22% 20%, rgba(57, 162, 255, .32), transparent 16%),
                linear-gradient(135deg, #13203b 0%, #285066 50%, #123327 100%);
        }

        .shipment-gif-bg.green {
            background:
                radial-gradient(circle at 80% 16%, rgba(216, 31, 6, .35), transparent 14%),
                linear-gradient(135deg, #14100c 0%, #3a1810 52%, #1a1008 100%);
        }

        .shipment-gif-bg.air-scene {
            background:
                radial-gradient(circle at 18% 18%, rgba(255, 122, 69, .3), transparent 13%),
                linear-gradient(135deg, #12345f 0%, #21718b 48%, #163d55 100%);
        }

        .shipment-gif-bg.bike-scene {
            background:
                radial-gradient(circle at 82% 18%, rgba(255, 122, 69, .28), transparent 13%),
                linear-gradient(135deg, #1a2732 0%, #2d5d62 48%, #183924 100%);
        }

        .shipment-gif-bg.bike-scene .gif-truck,
        .shipment-gif-bg.bike-scene .gif-car {
            display: none;
        }

        .gif-bike {
            position: absolute;
            left: -150px;
            bottom: 102px;
            width: 130px;
            height: 58px;
            animation: bikeRide 3.8s linear infinite;
            z-index: 3;
        }

        .gif-bike .body {
            position: absolute;
            left: 30px;
            top: 18px;
            width: 72px;
            height: 18px;
            border-radius: 18px 38px 8px 8px;
            background: #f5b400;
            transform: skewX(-12deg);
        }

        .gif-bike .seat {
            position: absolute;
            left: 54px;
            top: 9px;
            width: 36px;
            height: 10px;
            border-radius: 12px;
            background: #111;
        }

        .gif-bike .handle {
            position: absolute;
            right: 20px;
            top: 12px;
            width: 28px;
            height: 14px;
            border-top: 4px solid #111;
            border-right: 4px solid #111;
            transform: rotate(-12deg);
        }

        .gif-bike .bike-wheel {
            position: absolute;
            bottom: 0;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #0c1114;
            border: 6px solid #cbd5d9;
            animation: wheelSpin .45s linear infinite;
        }

        .gif-bike .bike-wheel.left { left: 12px; }
        .gif-bike .bike-wheel.right { right: 8px; }

        .shipment-gif-bg.warehouse-scene {
            background:
                linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) 0 0/80px 80px,
                linear-gradient(135deg, #18252b 0%, #385148 52%, #202a30 100%);
        }

        .shipment-gif-bg.warehouse-scene .gif-sun,
        .shipment-gif-bg.warehouse-scene .gif-cloud,
        .shipment-gif-bg.warehouse-scene .gif-city,
        .shipment-gif-bg.warehouse-scene .gif-car,
        .shipment-gif-bg.warehouse-scene .gif-truck {
            display: none;
        }

        .gif-box-stack {
            position: absolute;
            right: 12%;
            bottom: 120px;
            width: 168px;
            height: 126px;
            background:
                linear-gradient(#c8792a 0 0) 0 54px/74px 72px no-repeat,
                linear-gradient(#e7a13b 0 0) 82px 34px/76px 92px no-repeat,
                linear-gradient(#b86a25 0 0) 38px 0/74px 54px no-repeat;
            filter: drop-shadow(0 16px 28px rgba(0,0,0,.26));
            animation: boxPulse 1.4s ease-in-out infinite;
            z-index: 2;
        }

        .gif-forklift {
            position: absolute;
            left: -170px;
            bottom: 98px;
            width: 154px;
            height: 74px;
            animation: forkliftMove 4.6s linear infinite;
            z-index: 3;
        }

        .gif-forklift .base {
            position: absolute;
            left: 16px;
            bottom: 16px;
            width: 86px;
            height: 38px;
            border-radius: 10px 18px 6px 6px;
            background: #f5b400;
        }

        .gif-forklift .mast {
            position: absolute;
            right: 30px;
            bottom: 18px;
            width: 8px;
            height: 58px;
            background: #111;
        }

        .gif-forklift .fork {
            position: absolute;
            right: 0;
            bottom: 22px;
            width: 44px;
            height: 6px;
            background: #111;
        }

        .gif-forklift .fork-wheel {
            position: absolute;
            bottom: 0;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: #0c1114;
            border: 5px solid #cbd5d9;
            animation: wheelSpin .5s linear infinite;
        }

        .gif-forklift .fork-wheel.left { left: 24px; }
        .gif-forklift .fork-wheel.right { right: 42px; }

        .shipment-gif-bg.payment-scene {
            background:
                radial-gradient(circle at 78% 18%, rgba(14, 143, 122, .36), transparent 14%),
                linear-gradient(135deg, #10212b 0%, #3b5260 48%, #172e25 100%);
        }

        @keyframes wheelSpin {
            to { transform: rotate(360deg); }
        }

        @keyframes bikeRide {
            0% { transform: translateX(0) translateY(0); }
            50% { transform: translateX(calc(50vw + 80px)) translateY(-4px); }
            100% { transform: translateX(calc(100vw + 230px)) translateY(0); }
        }

        @keyframes forkliftMove {
            0% { transform: translateX(0); }
            45% { transform: translateX(45vw); }
            62% { transform: translateX(45vw); }
            100% { transform: translateX(calc(100vw + 240px)); }
        }

        @keyframes boxPulse {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }

        @media (max-width: 767px) {
            .home1-banner-section .banner-wrapper,
            .home1-banner-section .banner-img-area,
            .home1-banner-section .banner-video-area,
            .home1-banner-section .shipment-gif-bg,
            .home1-banner-section .banner-img-area img,
            .home1-banner-section .banner-video-area video {
                min-height: 520px;
            }
        }

        .web-user-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .web-user-chip,
        .web-cart-chip {
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .94);
            color: #10212b;
            box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
            line-height: 1;
        }

        .web-user-chip:hover,
        .web-cart-chip:hover {
            color: #8f1503;
        }

        .web-user-avatar {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 13px;
            font-weight: 700;
            background: linear-gradient(135deg, #d81f06, #f5b400);
        }

        .web-user-name {
            max-width: 118px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 14px;
            font-weight: 700;
        }

        .web-cart-chip {
            position: relative;
            width: 42px;
            justify-content: center;
            padding: 0;
            font-size: 18px;
        }

        .web-cart-count {
            position: absolute;
            top: -6px;
            right: -6px;
            min-width: 20px;
            height: 20px;
            padding: 0 6px;
            border-radius: 999px;
            background: #d81f06;
            color: #fff;
            font-size: 11px;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 2px solid #fff;
        }

        @media (max-width: 575px) {
            .web-user-name {
                display: none;
            }
        }

        .home1-banner-section .banner-pagination {
            position: absolute;
            left: 50%;
            bottom: 34px;
            transform: translateX(-50%);
            z-index: 5;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
        }

        .home1-banner-section .banner-pagination .swiper-pagination-bullet {
            width: 11px;
            height: 11px;
            margin: 0;
            opacity: 1;
            background: rgba(255, 255, 255, .58);
            border: 2px solid rgba(255, 255, 255, .86);
        }

        .home1-banner-section .banner-pagination .swiper-pagination-bullet-active {
            width: 32px;
            border-radius: 999px;
            background: #f5b400;
            border-color: #f5b400;
        }

        /* ================= v3.6 — RESTORED FULL BANNER SLIDER =================
           Every page renders the complete slider: centre-aligned eyebrow,
           title and middle paragraph (.banner-lead), plus the shared
           three-button action row (Book Your Shipment / Get a Quote /
           Track & Trace) rendered by web/partials/banner-actions.blade.php. */
        .home1-banner-section .banner-content .banner-lead {
            max-width: 680px;
            margin: 0 auto 26px;
            color: rgba(255, 255, 255, .9);
            font-weight: 600;
            text-shadow: 0 10px 24px rgba(0, 0, 0, .35);
        }

        @media (max-width: 767px) {
            .home1-banner-section .banner-content .banner-lead {
                font-size: 15px;
                margin-bottom: 20px;
            }
        }

        .home1-banner-section .banner-content .banner-actions {
            gap: 16px;
            justify-content: center;
        }

        @media (max-width: 575px) {
            .home1-banner-section .banner-content .banner-actions {
                gap: 12px;
            }

            .home1-banner-section .banner-content .banner-actions .primary-btn1 {
                min-width: 150px;
            }
        }


/* [37] v3.7 — HOME HERO SLIDER (2 slides) + INNER-PAGE TITLE SECTION
   ==========================================================================
   Replaces the old full-slider-on-every-page banner:
     * .hero37  — homepage-only two-slide slider. Flex-based sizing (no
       absolute content wrapper), so the eyebrow + title + centred middle
       paragraph + three-button action row are ALWAYS fully visible, from
       small phones to very large desktop screens. The old banner clipped
       its content behind a fixed 640px min-height + overflow:hidden.
     * .pt37    — every other page shows this compact Title section whose
       background colour always follows the admin theme palette. When a
       banner image was uploaded in Site Settings it is layered over a
       theme-tinted overlay; a missing/not-uploaded image simply leaves the
       theme colour gradient visible (never a broken/empty section).
   Theme hooks (injected by the shared header's dynamic <style> block):
     --hero37-bg-a / --hero37-bg-b : hero slide backdrop gradient
     --pt37-bg-a  / --pt37-bg-b    : title-section background gradient
     --pt37-overlay                : rgba() wash of the primary theme colour */
.hero37 {
    position: relative;
    overflow: hidden;
    background: #10212b;
}

.hero37 .hero37-slide {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(540px, 78vh, 860px);
    padding: 132px 0 96px;
}

.hero37 .hero37-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 84% 14%, rgba(255, 255, 255, .10), transparent 18%),
        radial-gradient(circle at 10% 90%, rgba(255, 255, 255, .06), transparent 24%),
        linear-gradient(135deg, var(--hero37-bg-a, #14100c) 0%, var(--hero37-bg-b, #1e4f5f) 100%);
}

/* Soft moving container silhouettes keep the logistics mood of the old
   scene backgrounds without depending on uploaded images. */
.hero37 .hero37-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 220px 90px at 78% 82%, rgba(255, 255, 255, .07), transparent 70%),
        radial-gradient(ellipse 300px 110px at 18% 24%, rgba(255, 255, 255, .05), transparent 70%);
}

.hero37 .hero37-inner {
    position: relative;
    z-index: 2;
    width: 100%;
}

.hero37 .hero37-content {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 18px;
}

.hero37 .hero37-eyebrow {
    display: block;
    color: #f5b400;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 16px;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .4);
}

.hero37 .hero37-title {
    color: #fff;
    font-family: var(--ot-display, inherit);
    font-size: clamp(34px, 5.2vw, 68px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
    margin-bottom: 22px;
    text-shadow: 0 18px 42px rgba(0, 0, 0, .35);
}

/* The middle paragraph — centre-aligned on every device (v3.6 request,
   preserved by the v3.7 rebuild). */
.hero37 .hero37-lead {
    max-width: 680px;
    margin: 0 auto 30px;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(15px, 1.4vw, 18px);
    font-weight: 600;
    line-height: 1.7;
    text-align: center;
    text-shadow: 0 10px 24px rgba(0, 0, 0, .35);
}

.hero37 .hero37-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    cursor: pointer;
    transition: background .25s ease, transform .25s ease;
}

.hero37 .hero37-arrow svg path {
    stroke: currentColor;
    fill: none;
}

.hero37 .hero37-arrow:hover {
    background: rgba(255, 255, 255, .3);
}

.hero37 .hero37-prev { left: 22px; }
.hero37 .hero37-next { right: 22px; }

.hero37 .hero37-pagination {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.hero37 .hero37-pagination .swiper-pagination-bullet {
    width: 11px;
    height: 11px;
    margin: 0;
    opacity: 1;
    background: rgba(255, 255, 255, .55);
    border: 2px solid rgba(255, 255, 255, .85);
}

.hero37 .hero37-pagination .swiper-pagination-bullet-active {
    width: 34px;
    border-radius: 999px;
    background: #f5b400;
    border-color: #f5b400;
}

@media (max-width: 767px) {
    .hero37 .hero37-slide {
        min-height: clamp(480px, 92vw, 640px);
        padding: 118px 0 92px;
    }

    .hero37 .hero37-arrow {
        display: none;
    }

    .hero37 .hero37-pagination {
        bottom: 22px;
    }
}

/* ---------- Inner-page Title section (.pt37) ---------- */
.pt37 {
    position: relative;
    overflow: hidden;
    background: var(--pt37-bg-a, #d81f06);
}

.pt37 .pt37-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 86% 10%, rgba(255, 255, 255, .12), transparent 20%),
        linear-gradient(135deg, var(--pt37-bg-a, #d81f06) 0%, var(--pt37-bg-b, #8f1503) 100%);
}

/* When a banner image exists the partial sets an inline background-image
   on .pt37-bg (theme-tinted overlay + the image, cover-sized). No image →
   the theme colour gradient above simply shows on its own. */

.pt37 .pt37-inner {
    position: relative;
    z-index: 2;
    padding: clamp(120px, 15vh, 178px) 0 clamp(40px, 6vh, 64px);
}

.pt37 .pt37-content {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 18px;
}

.pt37 .pt37-breadcrumb {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 7px 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .3);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, .95);
    text-decoration: none;
}

.pt37 .pt37-breadcrumb a {
    color: rgba(255, 255, 255, .95);
    text-decoration: none;
}

.pt37 .pt37-breadcrumb a:hover {
    text-decoration: underline;
}

.pt37 .pt37-crumb-sep {
    opacity: .7;
}

.pt37 .pt37-crumb-current {
    color: #fff;
}

.pt37 .pt37-title {
    color: #fff;
    font-family: var(--ot-display, inherit);
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    margin-bottom: 10px;
    text-shadow: 0 14px 34px rgba(0, 0, 0, .3);
}

.pt37 .pt37-subtitle {
    max-width: 640px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(14px, 1.3vw, 17px);
    font-weight: 600;
    line-height: 1.65;
    text-shadow: 0 8px 20px rgba(0, 0, 0, .28);
}

@media (max-width: 767px) {
    .pt37 .pt37-inner {
        padding: 104px 0 36px;
    }
}


/* [02] FOOTER & FLOATING CALL WIDGET (shared layout)
   ==========================================================================
   Extracted from: web/footer.blade.php — footer layout overrides plus the
   floating "Request a Callback" widget and its pulse animations. */
      .footer-section .footer-content-menu {
          border-top: 0;
          padding: 0;
      }

      .footer-section .footer-content-bottom {
          border-top: 0;
          padding: 40px 0 0;
      }
  

        .floating-call-widget {
            position: fixed;
            right: 24px;
            bottom: 100px;
            z-index: 999;
        }

        .floating-call-btn {
            position: relative;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            border: none;
            background: var(--ot-green, #d81f06);
            color: #fff;
            font-size: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 10px 25px rgba(216, 31, 6, .4);
            cursor: pointer;
            animation: floatingCallBounce 2.4s ease-in-out infinite;
        }

        .floating-call-btn i {
            position: relative;
            z-index: 2;
        }

        .floating-call-btn .floating-call-ring {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            border: 2px solid var(--ot-green, #d81f06);
            animation: floatingCallWave 2.2s ease-out infinite;
            pointer-events: none;
        }

        .floating-call-btn .floating-call-ring-delay {
            animation-delay: 1.1s;
        }

        @keyframes floatingCallWave {
            0% { transform: scale(1); opacity: .7; }
            100% { transform: scale(1.9); opacity: 0; }
        }

        @keyframes floatingCallBounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-4px); }
        }

        @media (max-width: 576px) {
            .floating-call-widget { right: 16px; bottom: 100px; }
            .floating-call-btn { width: 52px; height: 52px; font-size: 20px; }
        }
    


/* [03] LOGIN / OTP PAGE
   ==========================================================================
   Extracted from: web/login.blade.php — the standalone mobile-OTP login
   screen (auth panel, brand scene, OTP boxes, alerts). The bare `body`
   backdrop rules are scoped to body.login-page so they only paint the
   login page; the dynamic admin theme variables stay inline in the page. */
        body.login-page {
            min-height: 100vh;
            background:
                linear-gradient(135deg, var(--ot-bar-ink) 0%, var(--ot-bar-ink-2) 52%, var(--ot-bar-ink) 100%);
        }

        /* Amber/red brand glows on the backdrop — rebuilt from the admin
           palette via color-mix on modern browsers. */
        @supports (background: color-mix(in srgb, red 10%, transparent)) {
            body.login-page {
                background:
                    radial-gradient(circle at 85% 14%, color-mix(in srgb, var(--ot-amber) 14%, transparent), transparent 18%),
                    radial-gradient(circle at 12% 88%, color-mix(in srgb, var(--ot-green) 16%, transparent), transparent 20%),
                    linear-gradient(135deg, var(--ot-bar-ink) 0%, var(--ot-bar-ink-2) 52%, var(--ot-bar-ink) 100%);
            }

            .auth-scene {
                background:
                    radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--ot-amber) 28%, transparent), transparent 26%),
                    linear-gradient(160deg, var(--ot-bar-ink) 0%, var(--ot-bar-ink-2) 55%, var(--ot-bar-ink) 100%);
            }

            .auth-perk {
                background: color-mix(in srgb, var(--ot-amber) 14%, transparent);
                border: 1px solid color-mix(in srgb, var(--ot-amber) 35%, transparent);
            }

            .auth-primary-btn {
                box-shadow: 0 16px 30px -10px color-mix(in srgb, var(--ot-green) 55%, transparent);
            }

            .auth-primary-btn:hover {
                box-shadow: 0 20px 38px -10px color-mix(in srgb, var(--ot-green) 60%, transparent);
            }

            .otp-box:focus {
                box-shadow: 0 0 0 4px color-mix(in srgb, var(--ot-green) 14%, transparent);
            }
        }

        .auth-shell {
            min-height: 100vh;
            display: flex;
            align-items: center;
            padding: 40px 0;
            width: 100%!important;
        }

        .auth-panel {
            background: #fff;
            border-radius: 22px;
            box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
            overflow: hidden;
        }

        /* ---------- Brand scene (left) ---------- */
        .auth-scene {
            height: 100%;
            min-height: 560px;
            background:
                linear-gradient(160deg, var(--ot-bar-ink) 0%, var(--ot-bar-ink-2) 55%, var(--ot-bar-ink) 100%);
            position: relative;
            overflow: hidden;
            color: #fff;
            padding: 46px 42px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .auth-scene h1 {
            color: #fff;
            font-family: var(--ot-display);
            font-size: clamp(30px, 3.4vw, 46px);
            line-height: 1.08;
            margin-top: 18px;
            letter-spacing: .01em;
        }

        .auth-scene h1 em {
            font-style: normal;
            color: var(--ot-amber);
        }

        .auth-scene p {
            color: rgba(255, 255, 255, .72);
            max-width: 420px;
            font-size: 15px;
            line-height: 1.7;
        }

        .auth-perks {
            display: grid;
            gap: 12px;
            margin: 26px 0 0;
            position: relative;
            z-index: 3;
        }

        .auth-perk {
            display: flex;
            align-items: center;
            gap: 12px;
            color: rgba(255, 255, 255, .85);
            font-size: 14px;
            font-weight: 600;
        }

        .auth-perk i {
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            background: rgba(245, 180, 0, .14);
            border: 1px solid rgba(245, 180, 0, .35);
            color: var(--ot-amber);
            font-size: 15px;
        }

        .auth-service-chips {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            position: relative;
            z-index: 3;
        }

        .auth-service-chip {
            font-family: var(--ot-mono);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .06em;
            color: rgba(255, 255, 255, .78);
            border: 1px solid rgba(255, 255, 255, .18);
            background: rgba(255, 255, 255, .06);
            padding: 5px 10px;
            border-radius: 7px;
        }

        /* Road + truck animation */
        .auth-road {
            position: absolute;
            left: -8%;
            right: -8%;
            bottom: 0;
            height: 150px;
            background: linear-gradient(180deg, #2c241d, #100b08);
            transform: skewY(-2deg);
            box-shadow: inset 0 8px 0 rgba(255, 255, 255, .05);
        }

        .auth-road:before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 66px;
            height: 6px;
            background: repeating-linear-gradient(90deg, var(--ot-amber) 0 58px, transparent 58px 102px);
            opacity: .8;
            animation: authLane 1s linear infinite;
        }

        .auth-truck {
            position: absolute;
            left: 50%;
            bottom: 84px;
            width: 228px;
            height: 82px;
            transform: translateX(-50%);
            animation: authTruck 1.1s ease-in-out infinite;
            z-index: 2;
            filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .4));
        }

        .auth-truck .box {
            position: absolute;
            left: 0;
            top: 15px;
            width: 138px;
            height: 58px;
            border-radius: 9px;
            background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--ot-display);
            font-weight: 700;
            letter-spacing: .1em;
            color: rgba(255, 255, 255, .9);
            font-size: 13px;
        }

        .auth-truck .cab {
            position: absolute;
            right: 8px;
            top: 28px;
            width: 78px;
            height: 45px;
            border-radius: 9px 24px 7px 5px;
            background: linear-gradient(135deg, var(--ot-amber), var(--ot-amber-dark));
        }

        .auth-truck .cab:before {
            content: "";
            position: absolute;
            right: 18px;
            top: 8px;
            width: 28px;
            height: 17px;
            border-radius: 5px;
            background: #c9f3ff;
        }

        .auth-truck .wheel {
            position: absolute;
            bottom: 0;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: #080c0f;
            border: 6px solid #aab5bb;
            animation: authWheel .55s linear infinite;
        }

        .auth-truck .wheel.left { left: 34px; }
        .auth-truck .wheel.right { right: 36px; }

        /* ---------- Form side ---------- */
        .auth-form-area {
            padding: 48px 46px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 560px;
        }

        .auth-eyebrow {
            color: var(--ot-green-dark);
            font-size: 12.5px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .auth-title h2 {
            margin: 6px 0 4px;
            font-size: 30px;
        }

        .auth-subtitle {
            color: var(--ot-muted);
            font-size: 14.5px;
            margin-bottom: 26px;
        }

        .step-dots {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 22px;
        }

        .step-dot {
            width: 34px;
            height: 4px;
            border-radius: 99px;
            background: #eee5d4;
            transition: background .25s ease;
        }

        .step-dot.active { background: var(--ot-green); }
        .step-dot.done { background: var(--ot-amber); }

        .otp-mobile-inputGroup {
            display: flex;
            align-items: stretch;
            border: 1px solid var(--ot-line);
            border-radius: 12px;
            background: #fdfaf3;
            overflow: hidden;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .otp-mobile-inputGroup:focus-within {
            border-color: rgba(245, 180, 0, .6);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(245, 180, 0, .16);
        }

        .otp-mobile-prefix {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 0 14px;
            border-right: 1px solid var(--ot-line);
            color: var(--ot-ink-soft);
            font-weight: 700;
            font-size: 14.5px;
            background: #f7f1e4;
            white-space: nowrap;
        }

        #mobileInput {
            border: 0;
            background: transparent;
            flex: 1;
            min-width: 0;
            padding: 14px 16px;
            font-size: 16px;
            font-weight: 600;
            letter-spacing: .04em;
            font-family: var(--ot-mono);
            outline: none;
            color: var(--ot-ink);
        }

        .otp-boxes {
            display: flex;
            gap: 10px;
            justify-content: space-between;
        }

        .otp-box {
            width: 100%;
            max-width: 56px;
            aspect-ratio: 1 / 1.12;
            text-align: center;
            font-size: 24px;
            font-weight: 700;
            font-family: var(--ot-mono);
            color: var(--ot-ink);
            border: 1.5px solid var(--ot-line);
            border-radius: 12px;
            background: #fdfaf3;
            outline: none;
            transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
            caret-color: var(--ot-green);
        }

        .otp-box:focus {
            border-color: var(--ot-green);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(216, 31, 6, .14);
            transform: translateY(-2px);
        }

        .otp-box.filled {
            border-color: var(--ot-gold-line);
            background: #fff8e8;
        }

        .otp-boxes.shake {
            animation: authShake .4s ease;
        }

        .auth-primary-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: 100%;
            border: 0;
            border-radius: 999px;
            padding: 14px 22px;
            font-family: var(--ot-display);
            font-size: 15px;
            font-weight: 600;
            letter-spacing: .03em;
            text-transform: uppercase;
            color: #fff !important;
            background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
            box-shadow: 0 16px 30px -10px rgba(216, 31, 6, .55);
            transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
        }

        .auth-primary-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 38px -10px rgba(216, 31, 6, .6); }
        .auth-primary-btn:disabled { opacity: .65; transform: none; cursor: not-allowed; }

        .btn-spinner {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, .4);
            border-top-color: #fff;
            animation: authSpin .7s linear infinite;
            display: none;
        }

        .is-loading .btn-spinner { display: inline-block; }

        .auth-inline-alert {
            display: none;
            align-items: flex-start;
            gap: 10px;
            border-radius: 12px;
            padding: 12px 14px;
            font-size: 13.5px;
            line-height: 1.5;
            margin-bottom: 18px;
        }

        .auth-inline-alert.show { display: flex; }
        .auth-inline-alert.is-error { background: #fdecea; color: #a9322c; }
        .auth-inline-alert.is-success { background: #e8f7ee; color: #0b6a3c; }
        .auth-inline-alert.is-info { background: #eaf6fc; color: #1d6687; }

        .auth-meta-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin: 16px 0 22px;
            font-size: 13.5px;
        }

        .auth-meta-row .link-btn {
            background: none;
            border: 0;
            padding: 0;
            color: var(--ot-green-dark);
            font-weight: 700;
            font-size: 13.5px;
            cursor: pointer;
            text-decoration: none;
        }

        .auth-meta-row .link-btn:hover { text-decoration: underline; }
        .auth-meta-row .link-btn:disabled { color: var(--ot-muted); cursor: not-allowed; text-decoration: none; }

        .otp-expiry {
            color: var(--ot-muted);
            font-family: var(--ot-mono);
            font-variant-numeric: tabular-nums;
            font-size: 12.5px;
        }

        .sent-to-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--ot-panel-tint);
            border: 1px solid var(--ot-gold-line);
            color: var(--ot-amber-dark);
            border-radius: 999px;
            padding: 6px 14px;
            font-weight: 700;
            font-size: 13.5px;
            margin-bottom: 18px;
            font-family: var(--ot-mono);
        }

        .auth-note {
            margin-top: 26px;
            padding: 14px 16px;
            border-radius: 12px;
            background: #faf6ec;
            border: 1px dashed var(--ot-gold-line);
            color: #7a6a4d;
            font-size: 13px;
            line-height: 1.6;
        }

        .auth-admin-toggle {
            margin-top: 18px;
            text-align: center;
        }

        .auth-admin-toggle button {
            background: none;
            border: 0;
            color: var(--ot-muted);
            font-size: 12.5px;
            letter-spacing: .02em;
            cursor: pointer;
            text-decoration: underline dotted;
        }

        .auth-admin-toggle button:hover { color: var(--ot-ink); }

        .auth-admin-form { display: none; }
        .auth-admin-form.show { display: block; }

        .auth-admin-form label {
            font-size: 13px;
            font-weight: 800;
            color: var(--ot-ink-soft);
        }

        .auth-admin-form .form-control {
            min-height: 46px;
            border: 1px solid var(--ot-line);
            border-radius: 10px;
            background: #fdfaf3;
        }

        .auth-footer-brand {
            text-align: center;
            color: rgba(255, 255, 255, .55);
            font-size: 12.5px;
            margin-top: 26px;
        }

        .auth-footer-brand a { color: rgba(255, 255, 255, .75); text-decoration: none; }

        .step-pane { display: none; }
        .step-pane.active { display: block; animation: authFadeIn .35s ease; }

        @keyframes authFadeIn {
            from { opacity: 0; transform: translateY(8px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes authShake {
            0%, 100% { transform: translateX(0); }
            20%, 60% { transform: translateX(-8px); }
            40%, 80% { transform: translateX(8px); }
        }

        @keyframes authLane { to { background-position: -102px 0; } }
        @keyframes authTruck {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(-6px); }
        }
        @keyframes authWheel { to { transform: rotate(360deg); } }
        @keyframes authSpin { to { transform: rotate(360deg); } }

        @media (max-width: 991px) {
            .auth-scene { min-height: 0; padding: 34px 28px 120px; }
            .auth-scene p { display: none; }
            .auth-perks { display: none; }
            .auth-form-area { padding: 34px 24px; min-height: 0; }
            .auth-shell { padding: 24px 0; }
            .otp-box { max-width: none; }
        }

        @media (max-width: 400px) {
            .otp-boxes { gap: 7px; }
            .otp-box { font-size: 19px; border-radius: 10px; }
        }
    


/* [04] HOME PAGE
   --------------------------------------------------------------------------
   Extracted from: web/index.blade.php */

    .transport-home-content {
        background: #f7f9f8;
    }

    .home-band {
        padding: 82px 0;
    }

    .home-section-title span {
        color: #d81f06;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: 1px;
    }

    .home-section-title h2 {
        margin: 8px 0 0;
        font-size: clamp(30px, 4vw, 46px);
        line-height: 1.12;
        color: #10212b;
    }

    .home-section-title p {
        max-width: 680px;
        margin: 14px 0 0;
        color: #5d6b72;
    }

    .service-tile,
    .step-tile,
    .stat-tile {
        height: 100%;
        border: 1px solid #e1e8e5;
        background: #fff;
        border-radius: 8px;
        padding: 24px;
        box-shadow: 0 16px 38px rgba(16, 33, 43, .06);
    }

    .tile-icon {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: #d81f06;
        font-size: 22px;
        margin-bottom: 18px;
    }

    .service-tile h4,
    .step-tile h4 {
        margin-bottom: 10px;
        color: #10212b;
    }

    .service-tile p,
    .step-tile p {
        margin-bottom: 0;
        color: #627179;
    }

    .route-panel {
        background: #10212b;
        color: #fff;
        border-radius: 8px;
        padding: 38px;
        position: relative;
        overflow: hidden;
    }

    .route-panel:before {
        content: "";
        position: absolute;
        inset: auto -12% -46px -12%;
        height: 150px;
        background: linear-gradient(180deg, #333f45, #151b1f);
        transform: skewY(-2deg);
    }

    .route-panel > * {
        position: relative;
        z-index: 1;
    }

    .route-panel h2 {
        color: #fff;
        margin-bottom: 12px;
    }

    .route-panel p {
        color: rgba(255,255,255,.76);
        margin-bottom: 0;
    }

    .route-line {
        margin-top: 28px;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 18px;
        align-items: center;
    }

    .route-city {
        background: rgba(255,255,255,.1);
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 8px;
        padding: 16px;
    }

    .route-city small {
        display: block;
        color: rgba(255,255,255,.62);
        margin-bottom: 4px;
    }

    .stat-tile strong {
        display: block;
        color: #10212b;
        font-size: 34px;
        line-height: 1;
    }

    .stat-tile span {
        display: block;
        margin-top: 8px;
        color: #627179;
    }

    .home-cta {
        background: #d81f06;
        color: #fff;
        padding: 54px 0;
    }

    .home-cta h2 {
        color: #fff;
        margin: 0;
    }

    .home-cta p {
        margin: 10px 0 0;
        color: rgba(255,255,255,.82);
    }

    .call-request-panel {
        background: #fff;
        border: 1px solid #e1e8e5;
        border-radius: 8px;
        padding: 38px;
        box-shadow: 0 16px 38px rgba(16, 33, 43, .06);
    }

    .call-request-panel span {
        font-weight: 700;
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: 1px;
    }

    .call-request-panel h2 {
        margin: 8px 0 0;
        font-size: clamp(26px, 3.4vw, 34px);
        color: #10212b;
    }

    .call-request-panel p {
        margin: 12px 0 0;
        color: #5d6b72;
    }

    .call-request-form .form-control {
        min-height: 48px;
        border: 1px solid #e1e8e5;
        border-radius: 6px;
    }

    @media (max-width: 767px) {
        .home-band {
            padding: 58px 0;
        }

        .route-panel {
            padding: 26px;
        }

        .route-line {
            grid-template-columns: 1fr;
        }
    }


/* [05] ABOUT PAGE
   --------------------------------------------------------------------------
   Extracted from: web/about.blade.php */

    .about-section {
        padding: 120px 0 90px;
        background:
            radial-gradient(ellipse 900px 420px at 90% 0%, rgba(255, 122, 69, .08), transparent 60%),
            linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .98));
    }

    .about-intro {
        max-width: 760px;
        margin-bottom: 36px;
    }

    .about-eyebrow {
        color: var(--ot-amber-dark);
        display: inline-block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        margin-bottom: 10px;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(255, 122, 69, .09);
    }

    .about-section h1 {
        font-size: clamp(28px, 3.2vw, 40px);
        font-weight: 800;
        margin: 0 0 16px;
        line-height: 1.2;
        color: var(--ot-ink);
    }

    .about-lede {
        color: var(--ot-ink-soft);
        font-size: 16px;
        line-height: 1.8;
        margin: 0;
    }

    .about-services {
        margin-bottom: 34px;
    }

    .about-services-head {
        margin-bottom: 22px;
        max-width: 720px;
    }

    .about-services-head h2 {
        font-size: clamp(22px, 2.1vw, 28px);
        font-weight: 800;
        margin: 0 0 8px;
        color: var(--ot-ink);
    }

    .about-services-head p {
        color: var(--ot-ink-soft);
        font-size: 15px;
        line-height: 1.7;
        margin: 0;
    }

    .service-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 18px;
    }

    .service-panel {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 24px;
        box-shadow: var(--ot-shadow-sm);
        position: relative;
        overflow: hidden;
        min-height: 200px;
        transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
        animation: serviceFadeUp .7s ease both;
    }

    .service-panel:hover {
        transform: translateY(-5px);
        box-shadow: var(--ot-shadow-md);
        border-color: rgba(255, 122, 69, .26);
    }

    .service-panel::before {
        content: '';
        position: absolute;
        inset: auto -20px -20px auto;
        width: 140px;
        height: 140px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 122, 69, .12), transparent 70%);
        transition: transform .35s ease;
    }

    .service-panel:hover::before {
        transform: scale(1.15);
    }

    .service-panel:nth-child(2) { animation-delay: .06s; }
    .service-panel:nth-child(3) { animation-delay: .12s; }
    .service-panel:nth-child(4) { animation-delay: .18s; }
    .service-panel:nth-child(5) { animation-delay: .24s; }
    .service-panel:nth-child(6) { animation-delay: .3s; }

    .service-index {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--ot-amber-dark), var(--ot-emerald));
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        margin-bottom: 14px;
        letter-spacing: .08em;
    }

    .service-panel h3 {
        font-size: 18px;
        font-weight: 700;
        margin: 0 0 9px;
        color: var(--ot-ink);
    }

    .service-panel p {
        color: var(--ot-muted);
        font-size: 14px;
        line-height: 1.75;
        margin: 0;
    }

    .service-panel--ptl { border-top: 3px solid #f5b400; }
    .service-panel--ftl { border-top: 3px solid #d81f06; }
    .service-panel--freight { border-top: 3px solid #3b82f6; }
    .service-panel--pm { border-top: 3px solid #8b5cf6; }
    .service-panel--warehouse { border-top: 3px solid #f59e0b; }
    .service-panel--vehicle { border-top: 3px solid #14b8a6; }

    @keyframes serviceFadeUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes scrollLogo {
        from {
            transform: translateX(0);
        }
        to {
            transform: translateX(-50%);
        }
    }

    .about-logo-slider {
        margin-top: 28px;
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        background: rgba(255, 255, 255, .75);
        overflow: hidden;
        box-shadow: var(--ot-shadow-sm);
    }

    .about-logo-track {
        display: flex;
        align-items: center;
        gap: 18px;
        padding: 16px 0;
        width: max-content;
        animation: scrollLogo 20s linear infinite;
    }

    .about-logo-item {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 150px;
        padding: 12px 16px;
        border-radius: 999px;
        background: var(--ot-panel);
        border: 1px solid rgba(255, 122, 69, .16);
        color: var(--ot-ink-soft);
        font-weight: 700;
        font-size: 13px;
        letter-spacing: .08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .about-cta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        background: linear-gradient(135deg, rgba(14, 143, 122, .08), rgba(255, 122, 69, .08));
        border: 1px solid rgba(14, 143, 122, .18);
        border-radius: 16px;
        padding: 24px 28px;
    }

    .about-cta strong {
        display: block;
        margin-bottom: 6px;
        color: var(--ot-ink);
        font-size: 16px;
    }

    .about-cta p {
        margin: 0;
        color: var(--ot-ink-soft);
        font-size: 14px;
        flex: 1;
        min-width: 240px;
    }


/* [06] TRANSPORT SERVICES PAGE
   --------------------------------------------------------------------------
   Extracted from: web/transport.blade.php */

    /* v3.7 — the dark page-hero styling is retired: the shared Title
       section (breadcrumb + headline, theme-coloured) now introduces the
       page, so this block is a light intro with the marketing copy. */
    .svc-intro {
        padding: 56px 0 40px;
        background:
            radial-gradient(ellipse 900px 380px at 90% 0%, rgba(245, 180, 0, .10), transparent 60%),
            var(--ot-bg);
    }

    .svc-intro h2 {
        font-size: clamp(26px, 3.2vw, 40px);
        font-weight: 800;
        line-height: 1.15;
    }

    .svc-intro .eyebrow {
        display: inline-block;
        color: var(--ot-amber-dark);
        letter-spacing: .14em;
        text-transform: uppercase;
        font-size: 12.5px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .svc-intro p {
        color: var(--ot-ink-soft, #4a4238);
        max-width: 720px;
        font-size: 16px;
        line-height: 1.75;
    }

    .svc-section { padding: 80px 0; background: var(--ot-bg, #f8f4ea); }

    .svc-card {
        background: var(--ot-panel, #fff);
        border: 1px solid var(--ot-line, #e8e1d3);
        border-radius: 18px;
        padding: 34px 30px;
        height: 100%;
        box-shadow: var(--ot-shadow-sm);
        transition: transform .25s ease, box-shadow .25s ease;
        display: flex;
        flex-direction: column;
    }

    .svc-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--ot-shadow);
    }

    .svc-card .icon {
        width: 58px;
        height: 58px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        font-size: 26px;
        color: #fff;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        margin-bottom: 20px;
    }

    .svc-card h2 {
        font-size: 24px;
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 12px;
    }

    .svc-card p { color: var(--ot-ink-soft); line-height: 1.7; font-size: 15px; }

    .svc-card ul {
        list-style: none;
        padding: 0;
        margin: 18px 0 26px;
    }

    .svc-card ul li {
        padding: 7px 0 7px 30px;
        position: relative;
        color: var(--ot-ink-soft);
        font-size: 14.5px;
    }

    .svc-card ul li::before {
        content: '\F26E';
        font-family: 'bootstrap-icons';
        position: absolute;
        left: 0;
        top: 7px;
        color: var(--ot-green);
        font-weight: 700;
    }

    .svc-card .cta {
        margin-top: auto;
    }

    .svc-points { padding: 70px 0; }

    .point-tile {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 14px;
        padding: 26px 22px;
        height: 100%;
    }

    .point-tile h3 { font-size: 17px; font-weight: 800; color: var(--ot-ink); margin: 14px 0 8px; }
    .point-tile p { color: var(--ot-muted); font-size: 14px; line-height: 1.65; margin: 0; }
    .point-tile .num {
        width: 40px; height: 40px; border-radius: 10px;
        display: grid; place-items: center;
        background: rgba(245, 180, 0, .16);
        color: var(--ot-amber-dark);
        font-weight: 800;
    }

    .svc-faq h5 { font-weight: 700; color: var(--ot-ink); }
    .svc-faq p { color: var(--ot-ink-soft); font-size: 14.5px; line-height: 1.7; }


/* [07] PART LOAD PAGE
   --------------------------------------------------------------------------
   Extracted from: web/part-load.blade.php */

    /* v3.7 — retired dark hero, same as the transport page: the Title
       section introduces the page, this is now a light intro block. */
    .pl-intro {
        padding: 56px 0 40px;
        background:
            radial-gradient(ellipse 900px 380px at 12% 0%, rgba(245, 180, 0, .12), transparent 60%),
            var(--ot-bg);
    }

    .pl-intro h2 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; line-height: 1.15; }

    .pl-intro .eyebrow {
        display: inline-block;
        color: var(--ot-amber-dark);
        letter-spacing: .14em;
        text-transform: uppercase;
        font-size: 12.5px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .pl-intro p { color: var(--ot-ink-soft, #4a4238); max-width: 720px; font-size: 16px; line-height: 1.75; }

    .pl-section { padding: 80px 0; background: var(--ot-bg); }

    .pl-feature {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        padding: 28px 24px;
        height: 100%;
    }

    .pl-feature .fi {
        width: 50px; height: 50px; border-radius: 12px;
        display: grid; place-items: center; font-size: 22px;
        color: #fff; margin-bottom: 16px;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
    }

    .pl-feature h3 { font-size: 18px; font-weight: 800; color: var(--ot-ink); margin-bottom: 8px; }
    .pl-feature p { color: var(--ot-muted); font-size: 14px; line-height: 1.7; margin: 0; }

    .how-step { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 26px; }

    .how-step .n {
        flex: none; width: 44px; height: 44px; border-radius: 12px;
        display: grid; place-items: center; font-weight: 800;
        background: rgba(245, 180, 0, .18); color: var(--ot-amber-dark);
    }

    .how-step h4 { font-size: 17px; font-weight: 800; color: var(--ot-ink); margin-bottom: 4px; }
    .how-step p { color: var(--ot-ink-soft); font-size: 14.5px; line-height: 1.65; margin: 0; }


/* [08] CONTACT PAGE
   --------------------------------------------------------------------------
   Extracted from: web/contact.blade.php */

    .contact-section {
        padding: 100px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(255, 122, 69, .06), transparent 60%),
            var(--ot-bg);
    }

    .contact-eyebrow {
        color: var(--ot-amber-dark);
        display: block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .contact-section h1 {
        font-size: 34px;
        font-weight: 700;
        margin: 0 0 14px;
        max-width: 18ch;
    }

    .contact-lede {
        color: var(--ot-ink-soft);
        font-size: 15px;
        line-height: 1.7;
        max-width: 56ch;
        margin: 0 0 40px;
    }

    .contact-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 18px;
        margin-bottom: 52px;
    }

    .contact-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 14px;
        padding: 24px;
        box-shadow: var(--ot-shadow-sm);
        display: flex;
        align-items: flex-start;
        gap: 16px;
    }

    .contact-card .icon {
        width: 42px;
        height: 42px;
        border-radius: 10px;
        background: var(--ot-panel-tint);
        display: grid;
        place-items: center;
        flex: none;
    }

    .contact-card .icon svg {
        width: 19px;
        height: 19px;
        stroke: var(--ot-green-dark);
    }

    .contact-card h3 {
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: var(--ot-muted);
        margin: 0 0 6px;
    }

    .contact-card a,
    .contact-card p {
        font-size: 15px;
        font-weight: 600;
        color: var(--ot-ink);
        margin: 0;
        text-decoration: none;
    }

    .contact-card a:hover { color: var(--ot-green-dark); }

    .contact-card .contact-call-button {
        border: 0;
        border-radius: 8px;
        background: var(--ot-green-dark);
        color: #fff;
        cursor: pointer;
        font-size: 14px;
        font-weight: 700;
        padding: 10px 16px;
    }

    .contact-card .contact-call-button:hover {
        background: var(--ot-green);
        color: #fff;
    }

    /* ======================== Branch offices ======================== */
    .branches-head { margin-bottom: 26px; }

    .branches-head h2 {
        font-size: 24px;
        font-weight: 800;
        color: var(--ot-ink);
        margin: 0;
    }

    .branches-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
        gap: 20px;
    }

    .branch-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        padding: 26px 24px;
        box-shadow: var(--ot-shadow-sm);
        display: flex;
        flex-direction: column;
        gap: 12px;
        position: relative;
        overflow: hidden;
    }

    .branch-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--ot-green), var(--ot-amber));
    }

    .branch-card .b-type {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--ot-amber-dark);
    }

    .branch-card .b-name {
        font-size: 19px;
        font-weight: 800;
        color: var(--ot-ink);
        line-height: 1.3;
    }

    .branch-card .b-row {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        font-size: 14px;
        color: var(--ot-ink-soft);
        line-height: 1.55;
    }

    .branch-card .b-row i {
        color: var(--ot-green-dark);
        margin-top: 2px;
        flex: none;
    }

    .branch-card .b-row a {
        color: var(--ot-ink-soft);
        text-decoration: none;
    }

    .branch-card .b-row a:hover { color: var(--ot-green-dark); }

    .branch-card .b-actions {
        margin-top: auto;
        padding-top: 8px;
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .branch-card .b-actions a {
        font-size: 13px;
        font-weight: 700;
        padding: 8px 14px;
        border-radius: 8px;
        text-decoration: none;
        border: 1px solid var(--ot-line);
        color: var(--ot-ink);
    }

    .branch-card .b-actions a.primary {
        background: var(--ot-green-dark);
        border-color: var(--ot-green-dark);
        color: #fff;
    }

    .branch-card .b-actions a:hover { filter: brightness(1.08); }

    .branch-map {
        width: 100%;
        height: 220px;
        border: 0;
        border-radius: 12px;
    }


/* [09] BLOG LISTING PAGE
   --------------------------------------------------------------------------
   Extracted from: web/blog/index.blade.php */

    .blog-section {
        padding: 80px 0 90px;
        background: var(--ot-bg);
    }

    .blog-head { max-width: 760px; margin-bottom: 44px; }

    .blog-head .eyebrow {
        color: var(--ot-amber-dark);
        display: inline-block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .blog-head h1 {
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 10px;
    }

    /* v3.7 — the post page's in-article headline (the shared Title
       section above already carries the post title as the page h1). */
    .blog-post-title {
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 800;
        color: var(--ot-ink);
        line-height: 1.2;
        margin: 6px 0 14px;
    }

    .blog-head p { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.75; margin: 0; }

    .blog-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        overflow: hidden;
        height: 100%;
        box-shadow: var(--ot-shadow-sm);
        transition: transform .22s ease, box-shadow .22s ease;
        display: flex;
        flex-direction: column;
    }

    .blog-card:hover { transform: translateY(-5px); box-shadow: var(--ot-shadow); }

    .blog-card .thumb {
        height: 190px;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        display: grid;
        place-items: center;
        color: rgba(255, 255, 255, .85);
        font-size: 42px;
    }

    .blog-card .thumb img { width: 100%; height: 100%; object-fit: cover; }

    .blog-card .body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }

    .blog-card .meta {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .06em;
        color: var(--ot-amber-dark);
        font-weight: 700;
        margin-bottom: 8px;
    }

    .blog-card h2 { font-size: 19px; font-weight: 800; color: var(--ot-ink); margin-bottom: 8px; line-height: 1.35; }
    .blog-card h2 a { color: inherit; text-decoration: none; }
    .blog-card h2 a:hover { color: var(--ot-green-dark); }

    .blog-card p { color: var(--ot-muted); font-size: 14px; line-height: 1.65; }

    .blog-card .more {
        margin-top: auto;
        padding-top: 14px;
        color: var(--ot-green-dark);
        font-weight: 700;
        font-size: 14px;
        text-decoration: none;
    }

    .blog-featured {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 20px;
        overflow: hidden;
        margin-bottom: 44px;
        box-shadow: var(--ot-shadow-sm);
    }

    .blog-featured .row { align-items: stretch; }

    .blog-featured .thumb-lg {
        min-height: 280px;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        display: grid;
        place-items: center;
        color: rgba(255,255,255,.85);
        font-size: 60px;
    }

    .blog-featured .thumb-lg img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

    .blog-featured .content { padding: 34px; }

    .empty-blog {
        text-align: center;
        padding: 60px 20px;
        color: var(--ot-muted);
    }


/* [10] BLOG ARTICLE PAGE
   --------------------------------------------------------------------------
   Extracted from: web/blog/show.blade.php */

    .post-section {
        padding: 70px 0 90px;
        background: var(--ot-bg);
    }

    .post-paper {
        max-width: 860px;
        margin: 0 auto;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 44px 42px;
        box-shadow: var(--ot-shadow-sm);
    }

    .post-paper .meta {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        font-size: 13px;
        color: var(--ot-amber-dark);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .05em;
        margin-bottom: 12px;
    }

    .post-paper h1 {
        font-size: clamp(26px, 3vw, 36px);
        font-weight: 800;
        color: var(--ot-ink);
        line-height: 1.25;
        margin-bottom: 18px;
    }

    .post-hero {
        border-radius: 14px;
        overflow: hidden;
        margin: 22px 0 26px;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        min-height: 240px;
        display: grid;
        place-items: center;
        color: rgba(255,255,255,.85);
        font-size: 56px;
    }

    .post-hero img { width: 100%; max-height: 380px; object-fit: cover; }

    .post-body { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.85; }
    .post-body h2 { color: var(--ot-ink); font-weight: 800; font-size: 22px; margin: 30px 0 12px; }
    .post-body h3 { color: var(--ot-ink); font-weight: 700; font-size: 18px; margin: 24px 0 10px; }
    .post-body p { margin-bottom: 16px; }
    .post-body ul, .post-body ol { padding-left: 22px; margin-bottom: 16px; }
    .post-body img { max-width: 100%; border-radius: 10px; }
    .post-body a { color: var(--ot-green-dark); font-weight: 600; }

    .post-related h3 { font-size: 20px; font-weight: 800; color: var(--ot-ink); margin-bottom: 18px; }


/* [11] CMS PAGE
   --------------------------------------------------------------------------
   Extracted from: web/page.blade.php */

    .cms-section {
        padding: 80px 0 90px;
        background: var(--ot-bg);
    }

    .cms-paper {
        max-width: 900px;
        margin: 0 auto;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 44px 40px;
        box-shadow: var(--ot-shadow-sm);
    }

    .cms-paper h1,
    .cms-paper h2.cms-title {
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 14px;
    }

    .cms-lead { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.75; }

    .cms-content { margin-top: 26px; color: var(--ot-ink-soft); font-size: 15px; line-height: 1.85; }
    .cms-content h2 { color: var(--ot-ink); font-weight: 800; font-size: 22px; margin: 30px 0 12px; }
    .cms-content h3 { color: var(--ot-ink); font-weight: 700; font-size: 18px; margin: 24px 0 10px; }
    .cms-content p { margin-bottom: 14px; }
    .cms-content ul, .cms-content ol { padding-left: 22px; margin-bottom: 14px; }
    .cms-content img { max-width: 100%; border-radius: 10px; }
    .cms-content a { color: var(--ot-green-dark); font-weight: 600; }


/* [12] TRACK & TRACE PAGE
   --------------------------------------------------------------------------
   Extracted from: web/track.blade.php */

.track-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(47, 143, 224, .06), transparent 60%),
            var(--ot-bg);
    }
.track-panel {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow);
        padding: 30px;
    }
.track-eyebrow {
        color: var(--ot-amber-dark);
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
.track-panel h2 {
        font-size: 27px;
        font-weight: 700;
        margin: 5px 0 26px;
    }
.track-form {
        display: flex;
        gap: 12px;
        margin-bottom: 28px;
        flex-wrap: wrap;
    }
.track-form input[type="text"] {
        flex: 1 1 320px;
        min-height: 48px;
        border: 1px solid var(--ot-line);
        border-radius: 8px;
        padding: 0 16px;
        background: #fbfdfc;
        font-family: var(--ot-mono);
    }
.track-form input[type="text"]:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 3px rgba(14, 143, 122, .12);
        outline: none;
        background: #fff;
    }
.track-alert {
        border-radius: 10px;
        padding: 14px 16px;
        margin-bottom: 20px;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 9px;
    }
.track-alert svg { width: 16px; height: 16px; stroke: currentColor; flex: none; }
.track-alert-danger {
        background: #fef3f2;
        color: #b42318;
        border: 1px solid #fecdca;
    }
.track-alert-success {
        background: #eaf9f0;
        color: #1c7c40;
        border: 1px solid #bfe8cd;
    }
.track-alert-info {
        background: #eaf6fc;
        color: #1d6687;
        border: 1px solid #bfe3f2;
    }
.track-type-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
        color: var(--ot-ink-soft);
        background: var(--ot-bg);
        border: 1px solid var(--ot-line);
        padding: 4px 10px;
        border-radius: 999px;
        margin-bottom: 8px;
    }
.track-result-head {
        align-items: flex-start;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: space-between;
        margin-bottom: 24px;
        padding-bottom: 22px;
        border-bottom: 1px solid var(--ot-line);
    }
.track-result-head h4 {
        font-size: 19px;
        font-weight: 600;
        margin: 0 0 5px;
    }
.track-result-head p {
        color: var(--ot-muted);
        font-family: var(--ot-mono);
        font-size: 13px;
        margin: 0;
    }
.track-status-actions {
        text-align: right;
    }
.pg-track .status-badge {
        border-radius: 999px;
        display: inline-block;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .04em;
        padding: 6px 14px;
        text-transform: uppercase;
    }
.pg-track .status-badge.ongoing {
        align-items: center;
        background: var(--ot-gold-bg);
        color: var(--ot-gold);
        border: 1px solid var(--ot-gold-line);
        display: inline-flex;
        gap: 6px;
    }
.pg-track .status-badge .live-dot {
        background: currentColor;
        border-radius: 50%;
        display: inline-block;
        height: 6px;
        width: 6px;
    }
@media (prefers-reduced-motion: no-preference) {
    .pg-track .status-badge.ongoing .live-dot {
            animation: trackPulse 1.6s ease-in-out infinite;
        }
}
@keyframes trackPulse {
        0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(181, 117, 12, .35); }
        50% { opacity: .55; box-shadow: 0 0 0 5px rgba(181, 117, 12, 0); }
    }
.pg-track .status-badge.done {
        background: #ecfdf3;
        color: #067647;
        border: 1px solid #abefc6;
    }
.pg-track .status-badge.stopped {
        background: #fef3f2;
        color: #b42318;
        border: 1px solid #fecdca;
    }
.track-invoice-btn {
        align-items: center;
        border: 1px solid #abefc6;
        border-radius: 8px;
        color: #067647;
        display: inline-flex;
        font-family: var(--ot-display);
        font-size: 12.5px;
        font-weight: 600;
        gap: 6px;
        margin-top: 10px;
        padding: 7px 12px;
        text-decoration: none;
    }
.track-invoice-btn svg { width: 13px; height: 13px; stroke: currentColor; }
.track-invoice-btn:hover {
        background: #ecfdf3;
        color: #067647;
    }
.track-invoice-note {
        color: var(--ot-muted);
        font-size: 12px;
        margin-top: 10px;
    }
.tracking-line {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        position: relative;
        margin-bottom: 30px;
        padding-top: 6px;
    }
.tracking-line::before {
        content: "";
        position: absolute;
        left: 12%;
        right: 12%;
        top: 19px;
        height: 3px;
        background: var(--ot-line);
    }
.tracking-fill {
        background: linear-gradient(90deg, var(--ot-green-dark), var(--ot-green));
        border-radius: 2px;
        height: 3px;
        left: 12%;
        position: absolute;
        top: 19px;
        transition: width 1.1s cubic-bezier(.22, .9, .3, 1);
        width: 0%;
    }
.tracking-pkg {
        align-items: center;
        background: #fff;
        border: 2px solid var(--ot-green);
        border-radius: 50%;
        box-shadow: 0 6px 14px rgba(14, 143, 122, .28);
        display: flex;
        height: 24px;
        justify-content: center;
        left: 12%;
        position: absolute;
        top: 7px;
        transform: translateX(-50%);
        transition: left 1.1s cubic-bezier(.22, .9, .3, 1);
        width: 24px;
        z-index: 2;
    }
.tracking-pkg svg { width: 13px; height: 13px; stroke: var(--ot-green-dark); }
.tracking-line.rejected .tracking-fill, .tracking-line.rejected .tracking-pkg {
        display: none;
    }
.tracking-step {
        position: relative;
        text-align: center;
        z-index: 1;
    }
.tracking-step span {
        background: var(--ot-line);
        border: 4px solid #fff;
        border-radius: 50%;
        box-shadow: 0 0 0 1px var(--ot-line);
        display: inline-block;
        height: 24px;
        margin-bottom: 10px;
        transition: background-color .2s ease, box-shadow .2s ease;
        width: 24px;
    }
.tracking-step strong {
        color: var(--ot-muted);
        display: block;
        font-size: 12px;
        font-weight: 700;
        transition: color .2s ease;
    }
.tracking-step.active span {
        background: var(--ot-green);
        box-shadow: 0 0 0 1px var(--ot-green);
    }
.tracking-step.active strong {
        color: var(--ot-ink);
    }
.tracking-line.rejected::before {
        background: var(--ot-red);
    }
.tracking-line.rejected .tracking-step span {
        background: var(--ot-red);
        box-shadow: 0 0 0 1px var(--ot-red);
    }
.tracking-line.rejected .tracking-step strong {
        color: #b42318;
    }
@media (max-width: 576px) {
    .tracking-step strong {
            font-size: 10.5px;
        }
}
.track-meta-grid {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-bottom: 20px;
    }
.track-meta {
        border-left: 2px solid var(--ot-line);
        padding: 2px 0 2px 12px;
    }
.track-meta span {
        color: var(--ot-muted);
        display: block;
        font-size: 11px;
        letter-spacing: .04em;
        margin-bottom: 4px;
        text-transform: uppercase;
    }
.track-meta strong {
        display: block;
        font-size: 13.5px;
        font-weight: 700;
    }
.track-summary {
        background: var(--ot-panel-tint);
        border: 1px solid rgba(14, 143, 122, .2);
        border-radius: 12px;
        margin-bottom: 20px;
        padding: 18px 20px;
    }
.track-summary-line {
        align-items: center;
        color: var(--ot-ink-soft);
        display: flex;
        font-size: 13.5px;
        justify-content: space-between;
        padding: 6px 0;
    }
.track-summary-line + .track-summary-line {
        border-top: 1px dashed rgba(14, 143, 122, .2);
    }
.track-summary-line strong {
        font-family: var(--ot-mono);
        color: var(--ot-ink);
    }
.track-summary-line.total {
        margin-top: 4px;
        padding-top: 14px;
    }
.track-summary-line.total strong {
        font-size: 19px;
        color: var(--ot-green-dark);
    }
.recent-heading {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 15px;
        font-weight: 600;
        margin-bottom: 14px;
    }
.recent-list {
        display: grid;
        gap: 10px;
    }
.recent-item {
        align-items: center;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 12px;
        display: flex;
        gap: 14px;
        justify-content: space-between;
        padding: 14px 16px;
        text-decoration: none;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
.recent-item:hover {
        border-color: rgba(14, 143, 122, .35);
        box-shadow: var(--ot-shadow-sm);
    }
.recent-item-left {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }
.recent-item-icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: var(--ot-panel-tint);
        border: 1px solid var(--ot-line);
        display: grid;
        place-items: center;
        flex: none;
    }
.recent-item-icon svg { width: 18px; height: 18px; stroke: var(--ot-green-dark); }
.recent-item strong {
        display: block;
        font-size: 14px;
        overflow-wrap: anywhere;
    }
.recent-item small {
        color: var(--ot-muted);
        font-family: var(--ot-mono);
        font-size: 11.5px;
    }
.recent-item-type {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
        color: var(--ot-muted);
    }
@media (max-width: 767px) {
    .track-meta-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}
@media (max-width: 575px) {
    .track-result-head {
            flex-direction: column;
        }
.track-status-actions {
            text-align: left;
        }
.track-meta-grid {
            grid-template-columns: 1fr;
        }
}


/* [13] BOOKING HISTORY PAGE
   --------------------------------------------------------------------------
   Extracted from: web/booking-history.blade.php */

    .history-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(14, 143, 122, .05), transparent 60%),
            var(--ot-bg);
    }

    .history-page-head {
        max-width: 640px;
        margin-bottom: 28px;
    }

    .history-eyebrow {
        display: block;
        color: var(--ot-amber-dark);
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .history-page-head h2 {
        margin: 0 0 8px;
        font-size: 32px;
        font-weight: 700;
        letter-spacing: .01em;
    }

    .history-page-subtitle {
        color: var(--ot-muted);
        margin: 0;
        font-size: 14px;
        line-height: 1.6;
    }

    .history-stat-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
        margin-bottom: 26px;
    }

    .history-stat {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 12px;
        padding: 16px 18px;
        box-shadow: var(--ot-shadow-sm);
    }

    .history-stat span {
        color: var(--ot-muted);
        display: block;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .04em;
        margin-bottom: 8px;
    }

    .history-stat strong {
        display: block;
        font-family: var(--ot-mono);
        font-size: 24px;
        line-height: 1.1;
    }

    .history-stat.is-active strong { color: var(--ot-gold); }
    .history-stat.is-delivered strong { color: var(--ot-green-dark); }
    .history-stat.is-stopped strong { color: var(--ot-red); }

    .history-mode-switch {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 6px;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 12px;
        padding: 6px;
        margin-bottom: 28px;
        box-shadow: var(--ot-shadow-sm);
    }

    .history-mode-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: var(--ot-display);
        font-size: 13px;
        font-weight: 600;
        letter-spacing: .01em;
        color: var(--ot-ink-soft);
        background: transparent;
        border: 0;
        border-radius: 8px;
        padding: 10px 18px;
        cursor: pointer;
        transition: all .2s ease;
    }

    .history-mode-btn svg { width: 15px; height: 15px; stroke: currentColor; }

    .history-mode-btn.active {
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        color: #fff;
        box-shadow: 0 8px 18px rgba(14, 143, 122, .25);
    }

    .history-mode-count {
        font-family: var(--ot-mono);
        font-size: 11px;
        font-weight: 700;
        background: rgba(0, 0, 0, .08);
        border-radius: 999px;
        padding: 1px 8px;
    }

    .history-mode-btn.active .history-mode-count { background: rgba(255, 255, 255, .25); }

    .history-section-block[data-history-panel] { display: none; }
    .history-section-block[data-history-panel].active { display: block; }

    .history-section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 18px;
    }

    .history-section-head h3 {
        font-size: 20px;
        font-weight: 700;
        margin: 0;
    }

    .history-section-count {
        color: var(--ot-muted);
        font-size: 12.5px;
        font-weight: 600;
    }

    .history-empty {
        background: var(--ot-panel);
        border: 1px dashed var(--ot-line);
        border-radius: 14px;
        padding: 40px 24px;
        text-align: center;
    }

    .history-empty svg {
        width: 34px;
        height: 34px;
        stroke: var(--ot-muted);
        margin-bottom: 12px;
    }

    .history-empty p {
        color: var(--ot-muted);
        margin: 0 0 16px;
        font-size: 14px;
        max-width: 46ch;
        margin-left: auto;
        margin-right: auto;
    }

    .history-empty-btn {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: var(--ot-panel-tint);
        border: 1px solid var(--ot-line);
        color: var(--ot-green-dark);
        font-weight: 700;
        font-size: 13px;
        padding: 10px 18px;
        border-radius: 999px;
        text-decoration: none;
    }

    .history-empty-btn svg { width: 14px; height: 14px; stroke: currentColor; }
    .history-empty-btn:hover { background: var(--ot-green); color: #fff; }

    .history-list {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .history-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow-sm);
        padding: 20px 22px;
        transition: box-shadow .2s ease;
    }

    .history-card:hover { box-shadow: var(--ot-shadow); }
    .history-card.is-stopped { border-color: #f3d3d0; background: #fffbfa; }

    .history-card-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 18px;
    }

    .history-card-title {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    .history-card-icon {
        width: 44px;
        height: 44px;
        border-radius: 11px;
        background: var(--ot-panel-tint);
        border: 1px solid var(--ot-line);
        display: grid;
        place-items: center;
        flex: none;
    }

    .history-card-icon svg { width: 22px; height: 22px; stroke: var(--ot-green-dark); fill: none; }

    .history-card-title h5 {
        margin: 0 0 3px;
        font-size: 16px;
        font-weight: 600;
        overflow-wrap: anywhere;
    }

    .history-tracking {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-family: var(--ot-mono);
        font-size: 12px;
        color: var(--ot-muted);
    }

    .history-tracking svg { width: 12px; height: 12px; stroke: currentColor; }

    .history-badge {
        display: inline-flex;
        align-items: center;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
        padding: 6px 13px;
        border-radius: 999px;
        white-space: nowrap;
    }

    .history-badge-ongoing { color: var(--ot-gold); background: var(--ot-gold-bg); border: 1px solid var(--ot-gold-line); }
    .history-badge-done { color: var(--ot-green-dark); background: var(--ot-panel-tint); border: 1px solid #bfe3d8; }
    .history-badge-stopped { color: #B42318; background: #FEF3F2; border: 1px solid #FECDCA; }

    .history-stepper {
        display: flex;
        align-items: flex-start;
        margin: 0 0 20px;
        padding: 0 4px;
    }

    .history-step {
        flex: 1;
        position: relative;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .history-step::before {
        content: "";
        position: absolute;
        top: 5px;
        left: -50%;
        width: 100%;
        height: 2px;
        background: var(--ot-line);
        z-index: 0;
    }

    .history-step:first-child::before { display: none; }

    .history-step.is-reached::before { background: var(--ot-green); }

    .history-step-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--ot-panel);
        border: 2px solid var(--ot-line);
        position: relative;
        z-index: 1;
    }

    .history-step.is-reached .history-step-dot { background: var(--ot-green); border-color: var(--ot-green); }
    .history-step.is-current .history-step-dot { background: var(--ot-amber); border-color: var(--ot-amber); box-shadow: 0 0 0 4px rgba(255, 122, 69, .18); }

    .history-step-label {
        font-size: 10.5px;
        font-weight: 600;
        color: var(--ot-muted);
        margin-top: 8px;
        letter-spacing: .01em;
    }

    .history-step.is-reached .history-step-label { color: var(--ot-ink); }

    .history-stopped-note {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #FEF3F2;
        border: 1px solid #FECDCA;
        color: #B42318;
        font-size: 12.5px;
        font-weight: 600;
        padding: 10px 14px;
        border-radius: 10px;
        margin-bottom: 18px;
    }

    .history-stopped-note svg { width: 15px; height: 15px; stroke: currentColor; flex: none; }

    .history-meta-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 10px;
        margin-bottom: 16px;
    }

    .history-meta {
        border-left: 2px solid var(--ot-line);
        padding: 2px 0 2px 10px;
    }

    .history-meta span {
        color: var(--ot-muted);
        display: block;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .03em;
        margin-bottom: 4px;
    }

    .history-meta strong {
        display: block;
        font-size: 13.5px;
        font-weight: 700;
        overflow-wrap: anywhere;
    }

    .history-payment-paid { color: var(--ot-green-dark); }
    .history-payment-unpaid { color: var(--ot-muted); }
    .history-payment-partial { color: var(--ot-gold); }
    .history-payment-refunded { color: var(--ot-red); }

    .history-card-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
        padding-top: 14px;
        border-top: 1px solid var(--ot-line);
        font-size: 12.5px;
        color: var(--ot-muted);
    }

    .history-card-foot b {
        font-family: var(--ot-mono);
        color: var(--ot-ink);
        font-size: 15px;
    }

    .history-track-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: var(--ot-green-dark);
        font-weight: 700;
        text-decoration: none;
    }

    .history-track-link svg { width: 13px; height: 13px; stroke: currentColor; }
    .history-track-link:hover { color: var(--ot-green); }

    @media (max-width: 991px) {
        .history-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 575px) {
        .history-section { padding: 90px 0 60px; }
        .history-card { padding: 18px 16px; }
        .history-step-label { display: none; }
    }


/* [14] FTL QUOTE PAGE
   --------------------------------------------------------------------------
   Extracted from: web/ftl-quote.blade.php */

    .ftl-section {
        padding: 80px 0 90px;
        background:
            radial-gradient(ellipse 900px 420px at 88% 0%, rgba(245, 180, 0, .08), transparent 60%),
            var(--ot-bg);
    }

    .ftl-intro { max-width: 780px; margin-bottom: 40px; }

    .ftl-intro .eyebrow {
        color: var(--ot-amber-dark);
        display: inline-block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .ftl-intro h1 {
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 12px;
    }

    .ftl-intro p { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.75; margin: 0; }

    .ftl-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 34px;
        box-shadow: var(--ot-shadow-sm);
    }

    .ftl-card label.form-label { font-weight: 600; color: var(--ot-ink); font-size: 14px; margin-bottom: 6px; }

    .ftl-card .form-control,
    .ftl-card .form-select {
        border-radius: 10px;
        padding: 11px 14px;
        border-color: var(--ot-line);
    }

    .ftl-card .form-control:focus,
    .ftl-card .form-select:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 .2rem rgba(216, 31, 6, .10);
    }

    .ftl-submit {
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        border: 0;
        color: #fff;
        font-weight: 700;
        padding: 13px 34px;
        border-radius: 999px;
    }

    .ftl-submit:hover { color: #fff; filter: brightness(1.08); }

    .truck-chip {
        border: 2px solid var(--ot-line);
        border-radius: 12px;
        padding: 12px 8px;
        text-align: center;
        cursor: pointer;
        transition: all .18s ease;
        height: 100%;
    }

    .truck-chip:hover { border-color: var(--ot-amber); }

    .truck-chip input { display: none; }

    .truck-chip.selected {
        border-color: var(--ot-green);
        background: rgba(216, 31, 6, .05);
    }

    .truck-chip .size { font-weight: 800; color: var(--ot-ink); font-size: 15px; }
    .truck-chip .cap { font-size: 12px; color: var(--ot-muted); }


/* [15] THANK-YOU PAGES (shared: bike / FTL / car success)
   --------------------------------------------------------------------------
   Extracted from: web/ftl-success.blade.php */

    .thanks-section {
        padding: 90px 0;
        background: var(--ot-bg);
        min-height: 60vh;
    }

    .thanks-card {
        max-width: 640px;
        margin: 0 auto;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 20px;
        padding: 44px 38px;
        text-align: center;
        box-shadow: var(--ot-shadow-sm);
    }

    .thanks-card .tick {
        width: 74px;
        height: 74px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        margin: 0 auto 22px;
        background: rgba(25, 135, 84, .12);
        color: #198754;
        font-size: 36px;
    }

    .thanks-card h1 { font-size: 26px; font-weight: 800; color: var(--ot-ink); }

    .tracking-pill {
        display: inline-block;
        margin: 18px 0;
        padding: 10px 22px;
        border-radius: 999px;
        background: rgba(216, 31, 6, .08);
        border: 1px dashed var(--ot-green);
        color: var(--ot-green-dark);
        font-weight: 800;
        letter-spacing: .04em;
        font-size: 17px;
    }


/* [16] BIKE TRANSPORT PAGE
   --------------------------------------------------------------------------
   Extracted from: web/bike-transport.blade.php */

    .bike-section {
        padding: 80px 0 90px;
        background:
            radial-gradient(ellipse 900px 420px at 88% 0%, rgba(245, 180, 0, .08), transparent 60%),
            var(--ot-bg);
    }

    .bike-intro { max-width: 780px; margin-bottom: 40px; }

    .bike-intro .eyebrow {
        color: var(--ot-amber-dark);
        display: inline-block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .bike-intro h1 {
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 12px;
    }

    .bike-intro p { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.75; margin: 0; }

    .bike-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 34px;
        box-shadow: var(--ot-shadow-sm);
    }

    .bike-card label.form-label { font-weight: 600; color: var(--ot-ink); font-size: 14px; margin-bottom: 6px; }

    .bike-card .form-control,
    .bike-card .form-select {
        border-radius: 10px;
        padding: 11px 14px;
        border-color: var(--ot-line);
    }

    .bike-card .form-control:focus,
    .bike-card .form-select:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 .2rem rgba(216, 31, 6, .10);
    }

    .bike-submit {
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        border: 0;
        color: #fff;
        font-weight: 700;
        padding: 13px 34px;
        border-radius: 999px;
    }

    .bike-submit:hover { color: #fff; filter: brightness(1.08); }
    .bike-submit:disabled { opacity: .65; }

    .price-panel {
        border: 2px solid var(--ot-line);
        border-radius: 16px;
        padding: 24px;
        text-align: center;
        background: linear-gradient(180deg, rgba(245, 180, 0, .07), rgba(255, 255, 255, .6));
        position: sticky;
        top: 90px;
    }

    .price-panel .label { text-transform: uppercase; letter-spacing: .1em; font-size: 11.5px; font-weight: 700; color: var(--ot-muted); }

    .price-panel .amount {
        font-size: clamp(30px, 3vw, 42px);
        font-weight: 800;
        color: var(--ot-ink);
        font-variant-numeric: tabular-nums;
        margin: 8px 0 4px;
    }

    .price-panel .amount.loading { color: var(--ot-muted); }

    .price-panel .note { font-size: 13px; color: var(--ot-muted); min-height: 20px; }

    /* v3.5 — approx. transit time chip under the live price
       (admin-set per route in Bike Transport Route Prices). */
    .price-panel .transit-chip {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        margin: 4px auto 2px;
        padding: 7px 15px;
        border-radius: 999px;
        background: var(--ot-panel-tint, #fdf0d2);
        border: 1px solid var(--ot-line, #e8e1d3);
        color: var(--ot-ink-soft, #5c5344);
        font-size: 13px;
        font-weight: 600;
    }

    .price-panel .transit-chip i { color: var(--ot-green-dark, #8f1503); font-size: 15px; }
    .price-panel .transit-chip strong { color: var(--ot-green-dark, #8f1503); }

    /* Per-slab transit hint inside the route price board. */
    .price-board .board-row .slab em.slab-transit {
        display: block;
        font-style: normal;
        font-size: 11px;
        font-weight: 600;
        color: var(--ot-muted, #756a5f);
        margin-top: 1px;
    }
    .price-panel.ready { border-color: var(--ot-green); }
    .price-board { border: 1px solid var(--ot-line); border-radius: 10px; overflow: hidden; }
    .price-board .board-row {
        display: flex; justify-content: space-between; align-items: center;
        padding: 7px 12px; font-size: 13px; gap: 10px;
        border-bottom: 1px solid var(--ot-line); background: #fff;
    }
    .price-board .board-row:last-child { border-bottom: none; }
    .price-board .board-row .slab { font-weight: 600; color: var(--ot-ink-soft); }
    .price-board .board-row .rate { font-weight: 700; color: var(--ot-green-dark); white-space: nowrap; }
    .price-board .board-row.on-request .rate { color: var(--ot-muted); font-weight: 600; }
    .price-board .board-row.selected { background: var(--ot-gold-bg, #fdf0d2); box-shadow: inset 3px 0 0 var(--ot-green); }
    .price-board .board-title {
        background: var(--ot-bar-ink, #14100c); color: #fff;
        font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
        font-weight: 700; padding: 6px 12px;
    }


/* [17] VEHICLE TRANSPORT PAGE
   --------------------------------------------------------------------------
   Extracted from: web/vehicle-transport/index.blade.php */

    /* v3.7 — retired dark hero: the shared Title section introduces the
       page, this is a light intro block (h2 headline). */
    .vt-intro {
        padding: 56px 0 40px;
        background:
            radial-gradient(ellipse 900px 380px at 88% 0%, rgba(245, 180, 0, .10), transparent 60%),
            var(--ot-bg);
    }

    .vt-intro h2 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; line-height: 1.15; }

    .vt-intro .eyebrow {
        display: inline-block;
        color: var(--ot-amber);
        letter-spacing: .14em;
        text-transform: uppercase;
        font-size: 12.5px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .vt-intro p { color: var(--ot-ink-soft, #4a4238); max-width: 720px; font-size: 16px; line-height: 1.75; }

    .vt-section { padding: 80px 0; background: var(--ot-bg); }

    .vt-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 34px 30px;
        height: 100%;
        box-shadow: var(--ot-shadow-sm);
        transition: transform .25s ease, box-shadow .25s ease;
        display: flex;
        flex-direction: column;
    }

    .vt-card:hover { transform: translateY(-6px); box-shadow: var(--ot-shadow); }

    .vt-card .icon {
        width: 58px; height: 58px; border-radius: 14px;
        display: grid; place-items: center; font-size: 26px; color: #fff;
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        margin-bottom: 20px;
    }

    .vt-card h2 { font-size: 24px; font-weight: 800; color: var(--ot-ink); margin-bottom: 12px; }
    .vt-card p { color: var(--ot-ink-soft); line-height: 1.7; font-size: 15px; }

    .vt-card ul { list-style: none; padding: 0; margin: 18px 0 26px; }

    .vt-card ul li {
        padding: 7px 0 7px 30px; position: relative;
        color: var(--ot-ink-soft); font-size: 14.5px;
    }

    .vt-card ul li::before {
        content: '\F26E'; font-family: 'bootstrap-icons';
        position: absolute; left: 0; top: 7px;
        color: var(--ot-green); font-weight: 700;
    }

    .vt-card .cta { margin-top: auto; }


/* [18] CAR TRANSPORT PAGE
   --------------------------------------------------------------------------
   Extracted from: web/vehicle-transport/car.blade.php */

    .car-section {
        padding: 80px 0 90px;
        background:
            radial-gradient(ellipse 900px 420px at 88% 0%, rgba(245, 180, 0, .08), transparent 60%),
            var(--ot-bg);
    }

    .car-intro { max-width: 780px; margin-bottom: 40px; }

    .car-intro .eyebrow {
        color: var(--ot-amber-dark);
        display: inline-block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .car-intro h1 {
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        color: var(--ot-ink);
        margin-bottom: 12px;
    }

    .car-intro p { color: var(--ot-ink-soft); font-size: 15.5px; line-height: 1.75; margin: 0; }

    .car-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 18px;
        padding: 34px;
        box-shadow: var(--ot-shadow-sm);
    }

    .car-card label.form-label { font-weight: 600; color: var(--ot-ink); font-size: 14px; margin-bottom: 6px; }

    .car-card .form-control,
    .car-card .form-select {
        border-radius: 10px;
        padding: 11px 14px;
        border-color: var(--ot-line);
    }

    .car-card .form-control:focus,
    .car-card .form-select:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 .2rem rgba(216, 31, 6, .10);
    }

    .car-submit {
        background: linear-gradient(135deg, var(--ot-green), var(--ot-green-dark));
        border: 0;
        color: #fff;
        font-weight: 700;
        padding: 13px 34px;
        border-radius: 999px;
    }

    .car-submit:hover { color: #fff; filter: brightness(1.08); }


/* [19] BOOKING (CART) PAGE — REMOVED IN v3.6
   --------------------------------------------------------------------------
   The part-load/cart review page was removed (every service now submits
   straight to a lead; "My Booking" opens the booking history instead),
   so its page-scoped styles went with it. */

/* [20] ADD SHIPMENT ITEM PAGE
   --------------------------------------------------------------------------
   Extracted from: web/shipment-add-item.blade.php */

.select2-container {
        box-sizing: border-box;
        display: inline-block;
        margin: 0;
        position: relative;
        vertical-align: middle;
    }
.select2-container .select2-selection--single {
        box-sizing: border-box;
        cursor: pointer;
        display: block;
        user-select: none;
    }
.select2-container .select2-selection__rendered {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
.select2-container .select2-selection__arrow {
        position: absolute;
        top: 0;
        width: 20px;
    }
.select2-dropdown {
        background-color: #fff;
        border: 1px solid #aaa;
        box-sizing: border-box;
        display: block;
        left: -100000px;
        position: absolute;
        width: 100%;
        z-index: 1051;
    }
.select2-container--open .select2-dropdown {
        left: 0;
    }
.select2-results {
        display: block;
    }
.select2-results__options {
        list-style: none;
        margin: 0;
        max-height: 220px;
        overflow-y: auto;
        padding: 0;
    }
.select2-results__option {
        cursor: pointer;
        padding: 8px 10px;
        user-select: none;
    }
.select2-results__option--highlighted[aria-selected] {
        background-color: var(--ot-green);
        color: #fff;
    }
.select2-search--dropdown {
        display: block;
        padding: 8px;
    }
.select2-search--dropdown .select2-search__field {
        box-sizing: border-box;
        width: 100%;
    }
.select2-hidden-accessible {
        border: 0 !important;
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
    }
.shipment-city-select + .select2-container {
        width: 100% !important;
    }
.shipment-city-select + .select2-container .select2-selection--single {
        height: 48px;
        border: 1px solid var(--ot-line);
        border-radius: 8px;
    }
.shipment-city-select + .select2-container .select2-selection__rendered {
        line-height: 48px;
        padding-left: 12px;
        padding-right: 34px;
    }
.shipment-city-select + .select2-container .select2-selection__arrow {
        height: 48px;
        right: 8px;
    }
.select2-dropdown.shipment-city-dropdown {
        border-color: var(--ot-line);
    }
.select2-dropdown.shipment-city-dropdown .select2-search__field {
        min-height: 40px;
        border: 1px solid var(--ot-line);
        border-radius: 4px;
        outline: none;
    }
.booking-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(255, 122, 69, .06), transparent 60%),
            var(--ot-bg);
    }
.booking-panel {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow);
        padding: 30px;
    }
.booking-head {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: space-between;
        margin-bottom: 24px;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--ot-line);
    }
.booking-eyebrow {
        color: var(--ot-amber-dark);
        display: block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
.booking-head h2 {
        font-size: 27px;
        font-weight: 700;
        margin: 5px 0 0;
    }
.booking-panel .form-label {
        color: var(--ot-ink-soft);
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .01em;
    }
.booking-panel .form-control, .booking-panel select.form-control {
        border: 1px solid var(--ot-line);
        border-radius: 8px;
        min-height: 48px;
        background: #fbfdfc;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
.booking-panel textarea.form-control {
        min-height: 92px;
    }
.booking-panel .form-control:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 3px rgba(14, 143, 122, .12);
        outline: none;
        background: #fff;
    }
.booking-section-title {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .07em;
        text-transform: uppercase;
        color: var(--ot-muted);
        margin: 30px 0 16px;
    }
.booking-section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--ot-line);
    }
.pg-shipment-add .item-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 14px;
        margin-bottom: 14px;
        padding: 18px 20px;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
.pg-shipment-add .item-card:hover {
        border-color: rgba(14, 143, 122, .35);
        box-shadow: var(--ot-shadow-sm);
    }
@media (prefers-reduced-motion: no-preference) {
    .pg-shipment-add .item-card.item-card-enter {
            animation: itemCardEnter .35s cubic-bezier(.22, .9, .3, 1);
        }
}
@keyframes itemCardEnter {
        from { opacity: 0; transform: translateY(-8px); }
        to { opacity: 1; transform: translateY(0); }
    }
.item-card-head {
        align-items: center;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        margin-bottom: 16px;
    }
.item-card-title {
        display: flex;
        align-items: center;
        gap: 11px;
    }
.item-card-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        background: var(--ot-panel-tint);
        border: 1px solid var(--ot-line);
        display: grid;
        place-items: center;
        flex: none;
    }
.item-card-icon svg { width: 19px; height: 19px; stroke: var(--ot-green-dark); fill: none; }
.item-card-head h5 {
        font-family: var(--ot-display);
        font-size: 15px;
        font-weight: 600;
        margin: 0;
    }
.btn-outline-teal {
        align-items: center;
        background: transparent;
        border: 1px solid var(--ot-green);
        border-radius: 9px;
        color: var(--ot-green-dark);
        display: inline-flex;
        font-family: var(--ot-display);
        font-size: 13px;
        font-weight: 600;
        gap: 8px;
        min-height: 46px;
        padding: 0 18px;
        transition: background .15s ease, color .15s ease;
    }
.btn-outline-teal svg { width: 15px; height: 15px; stroke: currentColor; }
.btn-outline-teal:hover {
        background: var(--ot-green);
        color: #fff;
    }
.btn-spinner {
        display: none;
        width: 15px;
        height: 15px;
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: 50%;
        opacity: .75;
        flex: none;
    }
@media (prefers-reduced-motion: no-preference) {
    .btn-spinner { animation: btnSpin .7s linear infinite; }
}
@keyframes btnSpin {
        to { transform: rotate(360deg); }
    }
#calculateEstimateBtn.is-loading {
        cursor: default;
        opacity: .85;
    }
#calculateEstimateBtn.is-loading .btn-spinner { display: inline-block; }
#calculateEstimateBtn.is-loading .btn-icon { display: none; }
.btn-remove-item {
        align-items: center;
        background: #fef3f2;
        border: 1px solid #fecdca;
        border-radius: 8px;
        color: #b42318;
        display: inline-flex;
        font-size: 11.5px;
        font-weight: 700;
        gap: 5px;
        padding: 6px 12px;
    }
.btn-remove-item svg { width: 11px; height: 11px; stroke: currentColor; }
.btn-remove-item:hover {
        background: #b42318;
        border-color: #b42318;
        color: #fff;
    }
.btn-neutral-outline {
        align-items: center;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 9px;
        color: var(--ot-ink);
        display: inline-flex;
        font-family: var(--ot-display);
        font-weight: 600;
        font-size: 13.5px;
        gap: 8px;
        justify-content: center;
        min-height: 46px;
        padding: 0 18px;
    }
.btn-neutral-outline svg { width: 14px; height: 14px; stroke: currentColor; }
.btn-neutral-outline:hover {
        background: var(--ot-panel-tint);
        color: var(--ot-green-dark);
    }
.estimate-panel {
        margin-top: 18px;
        background: var(--ot-panel-tint);
        border: 1px solid rgba(14, 143, 122, .25);
        border-radius: 14px;
        padding: 20px 22px;
    }
@media (prefers-reduced-motion: no-preference) {
    .estimate-panel:not(.d-none) {
            animation: estimateReveal .45s cubic-bezier(.22, .9, .3, 1);
        }
}
@keyframes estimateReveal {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: translateY(0); }
    }
.estimate-skeleton {
        margin-top: 16px;
    }
.estimate-skeleton-row {
        height: 44px;
        border-radius: 10px;
        margin-bottom: 10px;
        background: linear-gradient(90deg, #EEF1F6 25%, #E4E8F0 37%, #EEF1F6 63%);
        background-size: 400% 100%;
    }
.estimate-skeleton-row:last-child {
        width: 70%;
        margin-bottom: 0;
    }
@media (prefers-reduced-motion: no-preference) {
    .estimate-skeleton-row {
            animation: estimateShimmer 1.4s ease infinite;
        }
}
@keyframes estimateShimmer {
        0% { background-position: 100% 50%; }
        100% { background-position: 0 50%; }
    }
.estimate-panel-header {
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: var(--ot-display);
        font-size: 14.5px;
        font-weight: 600;
        color: var(--ot-amber-dark);
        margin-bottom: 14px;
    }
.estimate-panel-header svg { width: 16px; height: 16px; stroke: currentColor; }
.estimate-item-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        padding: 9px 0;
        border-bottom: 1px dashed rgba(14, 143, 122, .2);
        font-size: 13.5px;
    }
.estimate-item-row:last-child {
        border-bottom: none;
    }
.estimate-item-index {
        font-weight: 700;
        min-width: 56px;
        font-size: 12.5px;
        color: var(--ot-ink-soft);
    }
.estimate-item-figure {
        color: var(--ot-ink-soft);
        font-family: var(--ot-mono);
        font-size: 12.5px;
    }
.estimate-item-charge {
        font-family: var(--ot-mono);
        font-weight: 700;
    }
.estimate-summary {
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid rgba(14, 143, 122, .25);
    }
.estimate-summary-line {
        display: flex;
        justify-content: space-between;
        font-size: 13px;
        color: var(--ot-muted);
        padding: 4px 0;
    }
.estimate-summary-line span:last-child {
        font-family: var(--ot-mono);
        color: var(--ot-ink-soft);
    }
.estimate-summary-total {
        margin-top: 4px;
        padding-top: 8px;
        border-top: 1px dashed rgba(14, 143, 122, .25);
    }
.estimate-summary-total span:first-child {
        font-weight: 700;
        color: var(--ot-ink);
        font-size: 14px;
    }
.estimate-summary-total span:last-child {
        color: var(--ot-green-dark) !important;
        font-weight: 700;
        font-size: 17px;
    }
.pg-shipment-add .basis-chip {
        display: inline-flex;
        align-items: center;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .04em;
        padding: 3px 9px;
        border-radius: 999px;
        white-space: nowrap;
    }
.pg-shipment-add .basis-chip.weight {
        color: var(--ot-sky);
        background: rgba(47, 143, 224, .12);
        border: 1px solid rgba(47, 143, 224, .3);
    }
.pg-shipment-add .basis-chip.volume {
        color: var(--ot-green-dark);
        background: rgba(14, 143, 122, .1);
        border: 1px solid rgba(14, 143, 122, .3);
    }


/* [21] EDIT SHIPMENT ITEM PAGE
   --------------------------------------------------------------------------
   Extracted from: web/shipment-edit-cart-item.blade.php */

.shipment-edit-section {
        background: #f5f7fb;
        padding: 110px 0 80px;
    }
.edit-panel {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
        padding: 28px;
    }
.edit-head {
        align-items: center;
        display: flex;
        gap: 18px;
        justify-content: space-between;
        margin-bottom: 24px;
    }
.edit-head span {
        color: #a56b00;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
.edit-head h2 {
        color: #14100c;
        font-size: 30px;
        font-weight: 800;
        margin: 4px 0 0;
    }
.edit-card {
        border: 1px solid #eef2f7;
        border-radius: 8px;
        padding: 18px;
    }
.edit-card-title {
        color: #14100c;
        font-size: 17px;
        font-weight: 800;
        margin-bottom: 16px;
    }
.pg-edit .form-label {
        color: #374151;
        font-size: 13px;
        font-weight: 800;
    }
.pg-edit .form-control {
        border-color: #d1d5db;
        border-radius: 6px;
        min-height: 46px;
    }
.pg-edit textarea.form-control {
        min-height: 92px;
    }
.edit-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        justify-content: flex-end;
        margin-top: 22px;
    }
.edit-back-btn {
        align-items: center;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        color: #14100c;
        display: inline-flex;
        font-weight: 800;
        gap: 8px;
        min-height: 46px;
        padding: 0 16px;
        text-decoration: none;
    }
.edit-back-btn:hover {
        background: #f9fafb;
        color: #14100c;
    }
@media (max-width: 575px) {
    .edit-head, .edit-actions {
            align-items: stretch;
            flex-direction: column;
        }
.edit-head h2 {
            font-size: 26px;
        }
}


/* [22] MY REQUESTS / LEADS PAGES (shared: transport / warehouse / packers / vehicle)
   --------------------------------------------------------------------------
   Extracted from: web/shipment-leads.blade.php */

.leads-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 12% 0%, rgba(14, 143, 122, .05), transparent 60%),
            var(--ot-bg);
    }
.leads-head {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: space-between;
        margin-bottom: 26px;
    }
.leads-eyebrow {
        color: var(--ot-amber-dark);
        display: block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
.leads-head h2 {
        font-size: 30px;
        font-weight: 700;
        margin: 5px 0 0;
    }
.lead-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow-sm);
        height: 100%;
        overflow: hidden;
        transition: box-shadow .2s ease;
    }
.pg-leads-hover .lead-card:hover { box-shadow: var(--ot-shadow); }
.lead-card-head {
        align-items: flex-start;
        display: flex;
        gap: 14px;
        justify-content: space-between;
        padding: 18px 20px;
        background: linear-gradient(180deg, var(--ot-panel-tint), transparent);
        border-bottom: 1px solid var(--ot-line);
    }
.lead-card-title {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }
.lead-card-icon {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        display: grid;
        place-items: center;
        flex: none;
    }
.lead-card-icon svg { width: 20px; height: 20px; stroke: var(--ot-green-dark); }
.lead-card-head h5 {
        font-size: 15.5px;
        font-weight: 600;
        margin: 0 0 3px;
        overflow-wrap: anywhere;
    }
.lead-card-head small {
        color: var(--ot-muted);
        font-family: var(--ot-mono);
        font-size: 11.5px;
    }
.pg-leads .status-badge {
        border-radius: 999px;
        display: inline-block;
        font-size: 10.5px;
        font-weight: 800;
        letter-spacing: .03em;
        padding: 5px 12px;
        text-transform: uppercase;
        white-space: nowrap;
    }
.pg-leads .status-badge.ongoing {
        background: var(--ot-gold-bg);
        color: var(--ot-gold);
        border: 1px solid var(--ot-gold-line);
    }
.pg-leads .status-badge.done {
        background: #ecfdf3;
        color: #067647;
        border: 1px solid #abefc6;
    }
.pg-leads .status-badge.stopped {
        background: #fef3f2;
        color: #b42318;
        border: 1px solid #fecdca;
    }
.lead-card-body {
        padding: 18px 20px 20px;
    }
.lead-meta-grid {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 16px;
    }
.lead-meta {
        border-left: 2px solid var(--ot-line);
        padding: 1px 0 1px 10px;
    }
.lead-meta span {
        color: var(--ot-muted);
        display: block;
        font-size: 10px;
        letter-spacing: .04em;
        margin-bottom: 3px;
        text-transform: uppercase;
    }
.lead-meta strong {
        display: block;
        font-size: 13px;
        font-weight: 700;
    }
.lead-total {
        align-items: baseline;
        display: flex;
        justify-content: space-between;
        margin-bottom: 18px;
        padding-bottom: 16px;
        border-bottom: 1px dashed var(--ot-line);
    }
.lead-total span {
        color: var(--ot-muted);
        font-size: 12px;
        font-weight: 600;
    }
.lead-total strong {
        font-family: var(--ot-mono);
        font-size: 19px;
        font-weight: 700;
        color: var(--ot-green-dark);
    }
/* ===== Tracking stepper (mirrors track-and-trace) ===== */ .lead-stepper {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        margin-bottom: 16px;
        position: relative;
    }
.lead-stepper::before {
        background: var(--ot-line);
        content: "";
        height: 3px;
        left: 10%;
        position: absolute;
        right: 10%;
        top: 12px;
    }
.lead-step {
        position: relative;
        text-align: center;
        z-index: 1;
    }
.lead-step span {
        background: var(--ot-line);
        border: 3px solid #fff;
        border-radius: 50%;
        box-shadow: 0 0 0 1px var(--ot-line);
        display: inline-block;
        height: 18px;
        margin-bottom: 6px;
        width: 18px;
    }
.lead-step strong {
        color: var(--ot-muted);
        display: block;
        font-size: 10px;
        font-weight: 700;
    }
.lead-step.active span {
        background: var(--ot-green);
        box-shadow: 0 0 0 1px var(--ot-green);
    }
.lead-step.active strong {
        color: var(--ot-ink);
    }
.lead-stepper.rejected::before {
        background: var(--ot-red);
    }
.lead-stepper.rejected .lead-step span {
        background: var(--ot-red);
        box-shadow: 0 0 0 1px var(--ot-red);
    }
.lead-stepper.rejected .lead-step strong {
        color: #b42318;
    }
.lead-note {
        background: #eaf6fc;
        border: 1px solid #bfe3f2;
        border-radius: 10px;
        color: #1d6687;
        font-size: 12.5px;
        margin-bottom: 14px;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
.lead-note svg { width: 14px; height: 14px; stroke: currentColor; flex: none; }
.lead-note.danger {
        background: #fef3f2;
        border-color: #fecdca;
        color: #b42318;
    }
.lead-track-link {
        align-items: center;
        border: 1px solid #abefc6;
        border-radius: 9px;
        color: #067647;
        display: inline-flex;
        font-family: var(--ot-display);
        font-size: 12.5px;
        font-weight: 600;
        gap: 7px;
        padding: 8px 14px;
        text-decoration: none;
    }
.lead-track-link svg { width: 13px; height: 13px; stroke: currentColor; }
.lead-track-link:hover {
        background: #ecfdf3;
        color: #067647;
    }
.leads-empty {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow-sm);
        padding: 56px 24px;
        text-align: center;
    }
.leads-empty i {
        align-items: center;
        background: var(--ot-panel-tint);
        border-radius: 50%;
        color: var(--ot-green-dark);
        display: inline-flex;
        font-size: 32px;
        height: 68px;
        justify-content: center;
        margin-bottom: 16px;
        width: 68px;
    }
.leads-empty h4 {
        font-weight: 600;
        margin-bottom: 6px;
    }
.leads-empty p {
        color: var(--ot-muted);
        margin: 0 auto;
        max-width: 420px;
        font-size: 14px;
    }
@media (max-width: 575px) {
    .leads-head {
            align-items: stretch;
            flex-direction: column;
        }
}


/* [23] ADD STORAGE ITEM PAGE
   --------------------------------------------------------------------------
   Extracted from: web/warehouse/add-item.blade.php */

    .booking-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(255, 122, 69, .06), transparent 60%),
            var(--ot-bg);
    }

    .booking-panel {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow);
        padding: 30px;
    }

    .booking-head {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: space-between;
        margin-bottom: 24px;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--ot-line);
    }

    .booking-eyebrow {
        color: var(--ot-amber-dark);
        display: block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .booking-head h2 {
        font-size: 27px;
        font-weight: 700;
        margin: 5px 0 0;
    }

    .booking-panel .form-label {
        color: var(--ot-ink-soft);
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .01em;
    }

    .booking-panel .form-control {
        border: 1px solid var(--ot-line);
        border-radius: 8px;
        min-height: 48px;
        background: #fbfdfc;
        transition: border-color .15s ease, box-shadow .15s ease;
    }

    .booking-panel textarea.form-control {
        min-height: 92px;
    }

    .booking-panel .form-control:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 3px rgba(14, 143, 122, .12);
        outline: none;
        background: #fff;
    }

    .booking-note {
        background: var(--ot-panel-tint);
        border: 1px solid rgba(14, 143, 122, .25);
        border-radius: 12px;
        padding: 14px 16px;
        margin-top: 22px;
        font-size: 13px;
        color: var(--ot-ink-soft);
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    .booking-note svg {
        width: 17px;
        height: 17px;
        stroke: var(--ot-green-dark);
        flex: none;
        margin-top: 1px;
    }


/* [24] EDIT STORAGE ITEM PAGE
   --------------------------------------------------------------------------
   Extracted from: web/warehouse/edit-cart-item.blade.php */

.shipment-edit-section {
        background: #f5f7fb;
        padding: 110px 0 80px;
    }
.edit-panel {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
        padding: 28px;
    }
.edit-head {
        align-items: center;
        display: flex;
        gap: 18px;
        justify-content: space-between;
        margin-bottom: 24px;
    }
.edit-head span {
        color: #a56b00;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
.edit-head h2 {
        color: #14100c;
        font-size: 30px;
        font-weight: 800;
        margin: 4px 0 0;
    }
.edit-card {
        border: 1px solid #eef2f7;
        border-radius: 8px;
        padding: 18px;
    }
.edit-card-title {
        color: #14100c;
        font-size: 17px;
        font-weight: 800;
        margin-bottom: 16px;
    }
.pg-edit .form-label {
        color: #374151;
        font-size: 13px;
        font-weight: 800;
    }
.pg-edit .form-control {
        border-color: #d1d5db;
        border-radius: 6px;
        min-height: 46px;
    }
.pg-edit textarea.form-control {
        min-height: 92px;
    }
.edit-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        justify-content: flex-end;
        margin-top: 22px;
    }
.edit-back-btn {
        align-items: center;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        color: #14100c;
        display: inline-flex;
        font-weight: 800;
        gap: 8px;
        min-height: 46px;
        padding: 0 16px;
        text-decoration: none;
    }
.edit-back-btn:hover {
        background: #f9fafb;
        color: #14100c;
    }
@media (max-width: 575px) {
    .edit-head, .edit-actions {
            align-items: stretch;
            flex-direction: column;
        }
.edit-head h2 {
            font-size: 26px;
        }
}


/* [25] ADD PACKERS & MOVERS REQUEST PAGE
   --------------------------------------------------------------------------
   Extracted from: web/packers-mover/add-item.blade.php */

.booking-section {
        padding: 110px 0 80px;
        background:
            radial-gradient(ellipse 900px 400px at 88% 0%, rgba(255, 122, 69, .06), transparent 60%),
            var(--ot-bg);
    }
.booking-panel {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 16px;
        box-shadow: var(--ot-shadow);
        padding: 30px;
    }
.booking-head {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: space-between;
        margin-bottom: 24px;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--ot-line);
    }
.booking-eyebrow {
        color: var(--ot-amber-dark);
        display: block;
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
.booking-head h2 {
        font-size: 27px;
        font-weight: 700;
        margin: 5px 0 0;
    }
.booking-panel .form-label {
        color: var(--ot-ink-soft);
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: .01em;
    }
.booking-panel .form-control {
        border: 1px solid var(--ot-line);
        border-radius: 8px;
        min-height: 48px;
        background: #fbfdfc;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
.booking-panel textarea.form-control {
        min-height: 92px;
    }
.booking-panel .form-control:focus {
        border-color: var(--ot-green);
        box-shadow: 0 0 0 3px rgba(14, 143, 122, .12);
        outline: none;
        background: #fff;
    }
.booking-section-title {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .07em;
        text-transform: uppercase;
        color: var(--ot-muted);
        margin: 30px 0 16px;
    }
.booking-section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--ot-line);
    }
.cat-tab-bar {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding: 2px 2px 10px;
        scrollbar-width: thin;
    }
.cat-tab {
        display: flex;
        align-items: center;
        gap: 9px;
        flex: none;
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 999px;
        padding: 6px 18px 6px 6px;
        cursor: pointer;
        white-space: nowrap;
        transition: border-color .15s ease, background .15s ease, color .15s ease;
    }
.cat-tab:hover {
        border-color: rgba(14, 143, 122, .4);
    }
.cat-tab.active {
        border-color: var(--ot-green);
        background: var(--ot-panel-tint);
        color: var(--ot-green-dark);
    }
.cat-tab-thumb {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        overflow: hidden;
        background: var(--ot-panel-tint);
        display: grid;
        place-items: center;
        flex: none;
    }
.cat-tab-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
.cat-tab-thumb svg {
        width: 17px;
        height: 17px;
        stroke: var(--ot-green-dark);
    }
.cat-tab-name {
        font-family: var(--ot-display);
        font-size: 13px;
        font-weight: 600;
    }
.item-panels {
        margin-top: 18px;
    }
.item-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(126px, 1fr));
        gap: 14px;
    }
.pg-packers-add .item-card {
        background: var(--ot-panel);
        border: 1px solid var(--ot-line);
        border-radius: 14px;
        padding: 12px 10px;
        text-align: center;
        transition: border-color .15s ease, background .15s ease;
    }
.pg-packers-add .item-card.has-selection {
        border-color: var(--ot-green);
        background: var(--ot-panel-tint);
    }
.item-card-thumb {
        width: 54px;
        height: 54px;
        margin: 0 auto 8px;
        border-radius: 10px;
        overflow: hidden;
        background: var(--ot-panel-tint);
        display: grid;
        place-items: center;
    }
.item-card-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
.item-card-thumb svg {
        width: 22px;
        height: 22px;
        stroke: var(--ot-green-dark);
    }
.item-card-name {
        font-size: 12.5px;
        font-weight: 600;
        color: var(--ot-ink);
        margin-bottom: 9px;
        min-height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
.item-card-stepper {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
.item-card-stepper.is-empty .qty-btn.decrement, .item-card-stepper.is-empty .item-card-qty {
        display: none;
    }
.custom-item-row {
        display: flex;
        gap: 10px;
        margin-top: 16px;
    }
.custom-item-row .form-control {
        flex: 1;
        min-height: 44px;
    }
.custom-item-add-btn {
        flex: none;
        white-space: nowrap;
        border-radius: 8px;
        border: 1px dashed var(--ot-green);
        background: var(--ot-panel-tint);
        color: var(--ot-green-dark);
        font-weight: 600;
        font-size: 13px;
        padding: 0 18px;
    }
.custom-item-add-btn:hover {
        background: var(--ot-green);
        border-style: solid;
        color: #fff;
    }
.pg-packers-add .selected-list {
        margin-top: 18px;
    }
.pg-packers-add .selected-list-empty {
        color: var(--ot-muted);
        font-size: 13px;
    }
.pg-packers-add .selected-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 9px 14px;
        background: var(--ot-panel-tint);
        border: 1px solid var(--ot-line);
        border-radius: 10px;
        margin-bottom: 8px;
    }
.selected-row-thumb {
        width: 34px;
        height: 34px;
        border-radius: 8px;
        overflow: hidden;
        background: var(--ot-panel);
        display: grid;
        place-items: center;
        flex: none;
    }
.selected-row-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
.selected-row-thumb svg {
        width: 16px;
        height: 16px;
        stroke: var(--ot-green-dark);
    }
.selected-row-info {
        display: flex;
        flex-direction: column;
        gap: 1px;
        min-width: 0;
        flex: 1;
    }
.pg-packers-add .selected-row-name {
        font-weight: 600;
        font-size: 13.5px;
        overflow-wrap: anywhere;
    }
.selected-row-cat {
        font-size: 11px;
        color: var(--ot-muted);
    }
.selected-row-controls {
        display: flex;
        align-items: center;
        gap: 6px;
        flex: none;
    }
.pg-packers-add .qty-btn {
        width: 26px;
        height: 26px;
        border-radius: 7px;
        border: 1px solid var(--ot-line);
        background: #fff;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
    }
.pg-packers-add .qty-btn:hover {
        background: var(--ot-panel-tint);
    }
.pg-packers-add .qty-btn.remove-btn:hover {
        background: #FEF3F2;
        border-color: #FECDCA;
        color: #B42318;
    }
.pg-packers-add .selected-row-qty {
        min-width: 18px;
        text-align: center;
        font-family: var(--ot-mono);
        font-weight: 700;
    }
.booking-note {
        background: var(--ot-panel-tint);
        border: 1px solid rgba(14, 143, 122, .25);
        border-radius: 12px;
        padding: 14px 16px;
        margin-top: 22px;
        font-size: 13px;
        color: var(--ot-ink-soft);
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }
.booking-note svg {
        width: 17px;
        height: 17px;
        stroke: var(--ot-green-dark);
        flex: none;
        margin-top: 1px;
    }
.select2-container {
        box-sizing: border-box;
        display: inline-block;
        margin: 0;
        position: relative;
        vertical-align: middle;
    }
.select2-container .select2-selection--single {
        box-sizing: border-box;
        cursor: pointer;
        display: block;
        user-select: none;
    }
.select2-container .select2-selection__rendered {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
.select2-container .select2-selection__arrow {
        position: absolute;
        top: 0;
        width: 20px;
    }
.select2-dropdown {
        background-color: #fff;
        border: 1px solid #aaa;
        box-sizing: border-box;
        display: block;
        left: -100000px;
        position: absolute;
        width: 100%;
        z-index: 1051;
    }
.select2-container--open .select2-dropdown {
        left: 0;
    }
.select2-results {
        display: block;
    }
.select2-results__options {
        list-style: none;
        margin: 0;
        max-height: 220px;
        overflow-y: auto;
        padding: 0;
    }
.select2-results__option {
        cursor: pointer;
        padding: 8px 10px;
        user-select: none;
    }
.select2-results__option--highlighted[aria-selected] {
        background-color: var(--ot-green);
        color: #fff;
    }
.select2-search--dropdown {
        display: block;
        padding: 8px;
    }
.select2-search--dropdown .select2-search__field {
        box-sizing: border-box;
        width: 100%;
    }
.select2-hidden-accessible {
        border: 0 !important;
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
    }
.pg-packers-add .packers-city-select + .select2-container {
        width: 100% !important;
    }
.pg-packers-add .packers-city-select + .select2-container .select2-selection--single {
        height: 48px;
        border: 1px solid var(--ot-line);
        border-radius: 8px;
    }
.pg-packers-add .packers-city-select + .select2-container .select2-selection__rendered {
        line-height: 48px;
        padding-left: 12px;
        padding-right: 34px;
    }
.pg-packers-add .packers-city-select + .select2-container .select2-selection__arrow {
        height: 48px;
        right: 8px;
    }
.select2-dropdown.packers-city-dropdown {
        border-color: var(--ot-line);
    }
.select2-dropdown.packers-city-dropdown .select2-search__field {
        min-height: 40px;
        border: 1px solid var(--ot-line);
        border-radius: 4px;
        outline: none;
    }


/* [26] EDIT PACKERS REQUEST PAGE
   --------------------------------------------------------------------------
   Extracted from: web/packers-mover/edit-cart-item.blade.php */

.shipment-edit-section {
        background: #f5f7fb;
        padding: 110px 0 80px;
    }
.edit-panel {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
        padding: 28px;
    }
.edit-head {
        align-items: center;
        display: flex;
        gap: 18px;
        justify-content: space-between;
        margin-bottom: 24px;
    }
.edit-head span {
        color: #a56b00;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
.edit-head h2 {
        color: #14100c;
        font-size: 30px;
        font-weight: 800;
        margin: 4px 0 0;
    }
.edit-card {
        border: 1px solid #eef2f7;
        border-radius: 8px;
        padding: 18px;
    }
.edit-card-title {
        color: #14100c;
        font-size: 17px;
        font-weight: 800;
        margin-bottom: 16px;
    }
.pg-packers-edit .form-label {
        color: #374151;
        font-size: 13px;
        font-weight: 800;
    }
.form-control {
        border-color: #d1d5db;
        border-radius: 6px;
        min-height: 46px;
    }
textarea.form-control {
        min-height: 92px;
    }
.edit-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        justify-content: flex-end;
        margin-top: 22px;
    }
.edit-back-btn {
        align-items: center;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        color: #14100c;
        display: inline-flex;
        font-weight: 800;
        gap: 8px;
        min-height: 46px;
        padding: 0 16px;
        text-decoration: none;
    }
.edit-back-btn:hover {
        background: #f9fafb;
        color: #14100c;
    }
.category-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 14px;
    }
.category-card {
        position: relative;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 12px;
        padding: 14px 10px;
        text-align: center;
        cursor: pointer;
        user-select: none;
    }
.category-card.has-selection {
        border-color: #d81f06;
        background: #fbeae7;
    }
.category-card-image {
        width: 60px;
        height: 60px;
        margin: 0 auto 10px;
        border-radius: 10px;
        overflow: hidden;
        background: #f5f7fb;
        display: grid;
        place-items: center;
    }
.category-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
.category-card-name {
        font-size: 13px;
        font-weight: 700;
    }
.category-card-qty {
        position: absolute;
        top: -8px;
        right: -8px;
        min-width: 24px;
        height: 24px;
        padding: 0 6px;
        border-radius: 999px;
        background: #d81f06;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        display: none;
        align-items: center;
        justify-content: center;
    }
.category-card.has-selection .category-card-qty {
        display: flex;
    }
.pg-packers-edit .selected-list {
        margin-top: 18px;
    }
.pg-packers-edit .selected-list-empty {
        color: #6b7280;
        font-size: 13px;
    }
.pg-packers-edit .selected-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 14px;
        background: #f5f7fb;
        border: 1px solid #eef2f7;
        border-radius: 10px;
        margin-bottom: 8px;
    }
.pg-packers-edit .selected-row-name {
        font-weight: 700;
        font-size: 13.5px;
    }
.pg-packers-edit .qty-btn {
        width: 26px;
        height: 26px;
        border-radius: 7px;
        border: 1px solid #d1d5db;
        background: #fff;
        font-weight: 700;
        cursor: pointer;
    }
.pg-packers-edit .selected-row-qty {
        min-width: 20px;
        text-align: center;
        font-weight: 700;
    }
.select2-container {
        box-sizing: border-box;
        display: inline-block;
        margin: 0;
        position: relative;
        vertical-align: middle;
    }
.select2-container .select2-selection--single {
        box-sizing: border-box;
        cursor: pointer;
        display: block;
        user-select: none;
    }
.select2-container .select2-selection__rendered {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
.select2-container .select2-selection__arrow {
        position: absolute;
        top: 0;
        width: 20px;
    }
.select2-dropdown {
        background-color: #fff;
        border: 1px solid #aaa;
        box-sizing: border-box;
        display: block;
        left: -100000px;
        position: absolute;
        width: 100%;
        z-index: 1051;
    }
.select2-container--open .select2-dropdown {
        left: 0;
    }
.select2-results {
        display: block;
    }
.select2-results__options {
        list-style: none;
        margin: 0;
        max-height: 220px;
        overflow-y: auto;
        padding: 0;
    }
.select2-results__option {
        cursor: pointer;
        padding: 8px 10px;
        user-select: none;
    }
.select2-results__option--highlighted[aria-selected] {
        background-color: #d81f06;
        color: #fff;
    }
.select2-search--dropdown {
        display: block;
        padding: 8px;
    }
.select2-search--dropdown .select2-search__field {
        box-sizing: border-box;
        width: 100%;
    }
.select2-hidden-accessible {
        border: 0 !important;
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
    }
.pg-packers-edit .packers-city-select + .select2-container {
        width: 100% !important;
    }
.pg-packers-edit .packers-city-select + .select2-container .select2-selection--single {
        height: 46px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
    }
.pg-packers-edit .packers-city-select + .select2-container .select2-selection__rendered {
        line-height: 46px;
        padding-left: 12px;
        padding-right: 34px;
    }
.pg-packers-edit .packers-city-select + .select2-container .select2-selection__arrow {
        height: 46px;
        right: 8px;
    }
@media (max-width: 575px) {
    .edit-head, .edit-actions {
            align-items: stretch;
            flex-direction: column;
        }
.edit-head h2 {
            font-size: 26px;
        }
}


/* [27] ACCOUNT DASHBOARD PAGE
   --------------------------------------------------------------------------
   Extracted from: web/account-dashboard.blade.php */

body:has(.account-cover) {background:var(--ot-bg);}
.account-cover {height:150px;background:linear-gradient(135deg,#8f1503,#14100c 58%,#a56b00);}
.account-avatar {width:112px;height:112px;border-radius:50%;background:#fff;border:5px solid #fff;box-shadow:0 8px 25px rgba(0,0,0,.15);color:#8f1503;font-size:40px;font-weight:700;font-family:var(--ot-display);display:flex;align-items:center;justify-content:center;margin:auto;margin-top:-56px;}
.account-card {overflow:hidden;border:1px solid var(--ot-line);border-radius:16px;background:var(--ot-panel);box-shadow:var(--ot-shadow-sm);}
.account-card .card-header {background:var(--ot-panel);border-bottom:1px solid var(--ot-line);}
.account-card .card-header h5 {font-family:var(--ot-display);font-size:16px;margin:0;}
.stat-tile-mini {border:1px solid var(--ot-line);border-radius:14px;background:var(--ot-panel);padding:18px 20px;display:flex;align-items:center;gap:14px;transition:.25s;height:100%;}
.stat-tile-mini:hover {transform:translateY(-3px);box-shadow:var(--ot-shadow);}
.stat-tile-mini .ico {width:48px;height:48px;flex:0 0 48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.stat-tile-mini .ico.ink {background:#f4f1ea;color:#14100c;}
.stat-tile-mini .ico.go {background:#fdf0d2;color:#a56b00;}
.stat-tile-mini .ico.ok {background:#ecfdf3;color:#067647;}
.stat-tile-mini .ico.stop {background:#fef3f2;color:#b42318;}
.stat-tile-mini h3 {font-family:var(--ot-mono);font-variant-numeric:tabular-nums;font-size:26px;margin:0;line-height:1.1;}
.stat-tile-mini small {color:var(--ot-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.quick-action {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ot-line);border-radius:14px;background:var(--ot-panel);padding:16px 10px;text-decoration:none;color:var(--ot-ink);transition:.22s;height:100%;}
.quick-action i {width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#d81f06,#8f1503);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;}
.quick-action span {font-size:12.5px;font-weight:700;font-family:var(--ot-display);letter-spacing:.02em;}
.quick-action:hover {transform:translateY(-3px);box-shadow:var(--ot-shadow);color:#8f1503;}
.booking-row {display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px dashed var(--ot-line);}
.booking-row>div {min-width:0;}
.booking-row:last-child {border-bottom:0;}
.booking-row .bico {width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#fdf0d2;color:#a56b00;display:flex;align-items:center;justify-content:center;font-size:19px;}
.booking-row h6 {margin:0 0 2px;font-weight:700;font-size:14.5px;}
.booking-row .meta {color:var(--ot-muted);font-size:12.5px;display:flex;gap:10px;flex-wrap:wrap;}
.booking-row .meta .tn {font-family:var(--ot-mono);color:var(--ot-amber-dark);font-weight:700;}
.pg-account .status-badge {border-radius:999px;display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:5px 12px;text-transform:uppercase;white-space:nowrap;}
.pg-account .status-badge.ongoing {background:#fdf0d2;color:#a56b00;border:1px solid #f0c869;}
.pg-account .status-badge.done {background:#ecfdf3;color:#067647;border:1px solid #abefc6;}
.pg-account .status-badge.stopped {background:#fef3f2;color:#b42318;border:1px solid #fecdca;}
.verified-chip {display:inline-flex;align-items:center;gap:5px;background:#ecfdf3;color:#067647;border:1px solid #abefc6;border-radius:999px;font-size:11px;font-weight:800;padding:3px 10px;letter-spacing:.03em;text-transform:uppercase;}
.onboard-banner {border:1px solid var(--ot-gold-line);background:linear-gradient(135deg,#fdf0d2,#fff8e8);border-radius:16px;padding:20px 22px;}
.onboard-banner h5 {font-family:var(--ot-display);margin:0 0 6px;}
.pg-account .progress {height:9px;border-radius:99px;background:#f1e9d6;}
.pg-account .progress-bar {background:linear-gradient(90deg,#f5b400,#d81f06);border-radius:99px;}
.onboard-field-chip {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:4px 12px;margin:3px 4px 0 0;border:1px solid var(--ot-line);background:#fff;color:var(--ot-muted);}
.onboard-field-chip.ok {background:#ecfdf3;border-color:#abefc6;color:#067647;}
.info-label {font-size:12px;color:var(--ot-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;}
.info-value {font-weight:600;color:var(--ot-ink);word-break:break-word;font-size:14.5px;}
.pg-account .form-label {font-size:12.5px;font-weight:800;color:var(--ot-ink-soft);}
.mobile-locked {display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--ot-gold-line);background:#fff8e8;border-radius:10px;padding:11px 14px;}
.empty-state {text-align:center;padding:34px 16px;color:var(--ot-muted);}
.empty-state i {font-size:38px;color:var(--ot-gold-line);}
@media (max-width:575px) {
    .booking-row .meta {font-size:11.5px;}
}

/* [38] v3.8 — ADMIN-MANAGED SLIDES + SERVICES QUICK-ACCESS GRID
   ==========================================================================
   Two pieces:
     * .hero37 additions — each homepage slide may now carry an uploaded
       image and/or a solid background colour managed from the admin panel
       (Website → Homepage Sliders). Layering, bottom → top: the slide's
       background colour (or the theme gradient when no colour is set) →
       the uploaded image (.hero37-img, full-bleed cover — the colour
       never covers it) → a light legibility scrim → the slide content.
       A missing image simply leaves the colour / gradient visible.
     * .svc38 — the all-services quick-access card rendered on the
       homepage directly below the slider: 85% width, card format with a
       small shadow, and a gapless grid of hairline-bordered service
       tiles (icon + name + link). Responsive: 2 columns on phones with
       the card at 80–100% width, 4 columns on tablets, up to 6 columns
       on large screens with rows flowing automatically. */

/* ---------- Hero slide image + solid background colour ---------- */

/* A solid colour replaces the theme gradient so the inline
   background-color (set per slide by the header) shows on its own. */
.hero37 .hero37-slide.solid-bg {
    background-color: #10212b; /* overridden by the inline colour */
}

.hero37 .hero37-slide.solid-bg .hero37-bg {
    /* Keep only the soft decorative radial washes — no gradient on top
       of the admin's chosen colour. */
    background:
        radial-gradient(circle at 84% 14%, rgba(255, 255, 255, .10), transparent 18%),
        radial-gradient(circle at 10% 90%, rgba(255, 255, 255, .06), transparent 24%);
}

/* The uploaded slide image renders full-bleed, ON TOP of the slide's
   background colour (the colour never covers the image). */
.hero37 .hero37-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border: 0;
    z-index: 0;
}

/* Gentle dark wash that keeps the white headline readable over busy
   photos — semi-transparent, so the image stays clearly visible. */
.hero37 .hero37-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse 90% 70% at 50% 45%, rgba(16, 33, 43, .52), rgba(16, 33, 43, .18) 72%),
        linear-gradient(180deg, rgba(16, 33, 43, .10) 0%, rgba(16, 33, 43, .42) 100%);
}

/* Content already sits at z-index: 2 (v3.7) — above image and scrim. */

/* ---------- Services quick-access grid (.svc38) ---------- */

.svc38 {
    position: relative;
    background: #f7f9f8; /* matches the home content bands */
    padding: 46px 0 10px;
}

.svc38 .svc38-card {
    width: 85%;
    margin: 0 auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(2, 21, 34, .09);
    padding: 34px 28px 28px;
    position: relative;
    margin-top: -115px;
    z-index: 1;
}

.svc38 .svc38-head {
    max-width: 640px;
    margin: 0 auto 24px;
}

.svc38 .svc38-eyebrow {
    display: block;
    color: var(--primary-color2, #d81f06);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.svc38 .svc38-title {
    margin: 8px 0 0;
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.15;
    color: #10212b;
    font-family: var(--ot-display, inherit);
}

.svc38 .svc38-sub {
    margin: 10px 0 0;
    color: #5b6b74;
    font-size: 15px;
    line-height: 1.6;
}

/* Gapless grid: 1px "borders" are the grid's own background showing
   through the gaps between the white tiles — no double borders, and the
   outer hairline frame completes the small-border look. */
.svc38 .svc38-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-flow: row;
    grid-auto-rows: auto;
    gap: 1px;
    background: #e7e9ee;
    border: 1px solid #e7e9ee;
    border-radius: 12px;
    overflow: hidden;
}

.svc38 .svc38-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    background: #fff;
    padding: 24px 10px 18px;
    text-decoration: none;
    transition: background .2s ease;
}

.svc38 .svc38-cell:hover,
.svc38 .svc38-cell:focus-visible {
    background: rgba(216, 31, 6, .05);
    text-decoration: none;
}

.svc38 .svc38-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    font-size: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--primary-color2, #d81f06) 0%, var(--ot-green-dark, #8f1503) 100%);
    box-shadow: 0 6px 14px rgba(2, 21, 34, .14);
    transition: transform .2s ease;
}

.svc38 .svc38-cell:hover .svc38-icon {
    transform: translateY(-3px) scale(1.05);
}

.svc38 .svc38-name {
    margin-top: 12px;
    color: #10212b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.svc38 .svc38-hint {
    margin-top: 6px;
    color: var(--primary-color2, #d81f06);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .2px;
    opacity: 0;
    transform: translateY(2px);
    transition: opacity .2s ease, transform .2s ease;
}

.svc38 .svc38-cell:hover .svc38-hint,
.svc38 .svc38-cell:focus-visible .svc38-hint {
    opacity: 1;
    transform: translateY(0);
}

/* ---------- Services grid responsive behaviour ----------
   Large screens (>=1200px): up to 6 columns, rows flow automatically.
   Tablets (768–1199px): 4 columns.
   Phones (<768px): 2 columns, the card widens into the 80–100% range. */
@media (max-width: 1199px) {
    .svc38 .svc38-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .svc38 .svc38-card {
        width: 92%;
    }
}

@media (max-width: 767px) {
    .svc38 {
        padding: 34px 0 6px;
    }

    .svc38 .svc38-card {
        width: 90%; /* inside the requested 80–100% band */
        border-radius: 14px;
        padding: 26px 16px 20px;
    }

    .svc38 .svc38-grid {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 10px;
    }

    .svc38 .svc38-cell {
        padding: 20px 8px 16px;
        min-height: 128px;
    }

    .svc38 .svc38-icon {
        width: 46px;
        height: 46px;
        font-size: 21px;
    }

    .svc38 .svc38-name {
        font-size: 13px;
    }

    /* Phones show the "Book Now" hint without hover (touch has none). */
    .svc38 .svc38-hint {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 400px) {
    .svc38 .svc38-card {
        width: 94%;
    }
}
