/* ParadisoTransport V2.2AS | Mobile navigation only | Desktop remains unchanged */
#pt-mobile-bottom-nav, #pt-mobile-bottom-nav *, #pt-mobile-menu-overlay, #pt-mobile-menu-overlay * { box-sizing: border-box; }
#pt-mobile-bottom-nav,
.pt-menu-header-toggle,
#pt-mobile-menu-overlay { display: none; }
#pt-mobile-menu-overlay[hidden] { display: none !important; }

@media (max-width:1023px) {
    :root { --pt-mobile-dock-size: 70px; }
    html.pt-mobile-menu-open,
    html.pt-mobile-menu-open body.pt-public-shell { overflow: hidden !important; overscroll-behavior: none !important; }
    html body.pt-public-shell {
        padding-top: 64px !important;
        padding-bottom: calc(var(--pt-mobile-dock-size) + env(safe-area-inset-bottom, 0px) + 10px) !important;
    }
    body > header.pt-public-header:first-of-type {
        position:fixed !important; top:0 !important; left:0 !important; right:0 !important;
        z-index:2147483000 !important;
        width:100%; height:64px; min-height:64px;
        background:rgba(255,255,255,.98) !important;
        border-bottom:1px solid #e6edf3 !important;
        box-shadow:0 3px 14px rgba(18,56,75,.045) !important;
    }
    .pt-public-header > div:first-child {
        height:64px !important; padding:0 14px !important; gap:9px !important;
        display:flex !important; align-items:center !important;
    }
    .pt-public-logo { flex:1 1 auto !important; min-width:0 !important; max-width:none; }
    .pt-public-logo img { height:auto !important; max-height:40px; max-width:min(100%,155px) !important; }
    .pt-public-header > div:first-child > div:last-of-type { flex:0 0 auto; }
    .pt-public-header a[href*="penawaran/sewa-mobil"] { min-height:40px !important; padding:0 12px !important; border-radius:12px !important; font-size:12px !important; white-space:nowrap; }
    .pt-public-header a[href*="customer/dashboard"] { min-height:40px !important; padding:0 12px !important; font-size:12px !important; }
    .pt-menu-header-toggle {
        display:inline-flex !important; flex:0 0 42px; width:42px; height:42px;
        align-items:center; justify-content:center; border:1px solid #d9e4ed;
        border-radius:12px; background:#fff; color:#183B4D; cursor:pointer;
    }
    .pt-menu-header-toggle[aria-expanded="true"] { background:#edf8fc; color:#087ba9; border-color:#93cddd; }

    body > nav#pt-mobile-bottom-nav {
        position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
        display:block !important; height:calc(var(--pt-mobile-dock-size) + env(safe-area-inset-bottom, 0px));
        z-index:2147483001 !important; padding-bottom:env(safe-area-inset-bottom, 0px);
        border-top:1px solid #dde8ef; background:rgba(255,255,255,.985) !important;
        box-shadow:0 -5px 22px rgba(15,23,42,.07); backdrop-filter:blur(15px);
        -webkit-backdrop-filter:blur(15px);
    }
    .pt-mobile-dock-grid {
        height:var(--pt-mobile-dock-size); width:100%; max-width:560px; margin:0 auto;
        display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; padding:4px 10px;
    }
    #pt-mobile-bottom-nav .pt-mobile-dock-item {
        min-width:0; min-height:60px; display:flex; flex-direction:column;
        align-items:center; justify-content:center; gap:3px;
        border:0; border-radius:12px; background:transparent;
        color:#64748b; font:700 11px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
        text-decoration:none; cursor:pointer; white-space:nowrap;
    }
    #pt-mobile-bottom-nav .pt-mobile-dock-item svg { width:22px; height:22px; flex:none; }
    #pt-mobile-bottom-nav .pt-mobile-dock-item span { display:block; max-width:100%; text-align:center; overflow:hidden; text-overflow:ellipsis; }
    #pt-mobile-bottom-nav .pt-mobile-dock-item.is-current,
    #pt-mobile-bottom-nav .pt-mobile-dock-item[aria-expanded="true"] { background:#eaf7fb; color:#087ba9; }
    #pt-mobile-bottom-nav .pt-mobile-dock-item:active { background:#eef5f9; }

    body > div#pt-mobile-menu-overlay:not([hidden]) {
        display:block !important; position:fixed !important; inset:0; z-index:2147483005 !important;
    }
    #pt-mobile-menu-overlay .pt-mobile-menu-backdrop {
        display:block; position:absolute; inset:0; width:100%; height:100%;
        border:0; border-radius:0; background:rgba(8,26,40,.48); cursor:pointer;
    }
    #pt-mobile-menu-panel {
        position:absolute; top:0; right:0; bottom:0;
        display:flex; flex-direction:column;
        width:min(100%,405px); max-width:100%;
        background:#f6f9fc; box-shadow:-15px 0 45px rgba(8,26,40,.17);
        padding-top:env(safe-area-inset-top,0px);
        overflow:hidden; outline:none;
        animation:pt22as-menu-slide .2s ease-out;
    }
    @keyframes pt22as-menu-slide { from { transform:translateX(16px); opacity:.85; } to { transform:translateX(0); opacity:1; } }
    .pt-mobile-menu-top {
        flex:none; display:flex; align-items:center; justify-content:space-between;
        padding:22px 20px 18px; gap:12px; background:#fff;
        border-bottom:1px solid #e2ebf0;
    }
    .pt-mobile-menu-eyebrow { font-size:10px; font-weight:800; letter-spacing:.11em; color:#0A87B8; }
    #pt-mobile-menu-title { font-weight:850; font-size:21px; line-height:1.2; color:#183B4D; margin:5px 0 0; }
    .pt-mobile-menu-close {
        flex:0 0 44px; display:flex; align-items:center; justify-content:center;
        width:44px; height:44px; border-radius:12px; border:1px solid #dbe7ed;
        background:white; color:#183B4D; cursor:pointer;
    }
    .pt-mobile-menu-close svg { width:21px; height:21px; }
    .pt-mobile-menu-scroll {
        flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain;
        padding:19px 18px calc(25px + env(safe-area-inset-bottom,0px));
        -webkit-overflow-scrolling:touch;
    }
    .pt-mobile-menu-kicker {
        margin:0 3px 12px; color:#64748b;
        font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase;
    }
    .pt-mobile-menu-section-title { margin-top:25px; }
    .pt-mobile-menu-primary,
    .pt-mobile-menu-whatsapp {
        display:flex; align-items:center; justify-content:center; gap:10px;
        width:100%; min-height:50px; padding:12px 16px; border-radius:15px;
        text-decoration:none; font-size:14px; font-weight:850;
    }
    .pt-mobile-menu-primary { background:#ef8b13; color:#fff !important; box-shadow:0 6px 18px rgba(239,139,19,.17); }
    .pt-mobile-menu-primary svg { width:18px; height:18px; }
    .pt-mobile-menu-whatsapp { margin-top:10px; color:#16814d !important; background:#ecfbf3; border:1px solid #c4ebd7; }
    .pt-mobile-menu-whatsapp svg { width:20px; height:20px; }
    #pt-mobile-menu-panel nav { display:block !important; position:static !important; width:100%; background:white; border:1px solid #e0e9ef; border-radius:16px; overflow:hidden; }
    #pt-mobile-menu-panel nav a {
        display:flex !important; align-items:center; justify-content:space-between;
        width:100%; min-height:51px; padding:13px 15px;
        background:white; border-bottom:1px solid #edf1f5;
        color:#183B4D; font-size:14px; font-weight:740; text-decoration:none;
        white-space:normal !important;
    }
    #pt-mobile-menu-panel nav a:last-child { border-bottom:0; }
    #pt-mobile-menu-panel nav a[aria-current="page"] { color:#0A87B8; background:#f0faff; }
    #pt-mobile-menu-panel nav a span { font-size:23px; line-height:1; font-weight:400; color:#8296a3; }
    #pt-mobile-menu-panel nav a small { flex:0 0 auto; white-space:nowrap; margin-left:10px; font-size:10px; font-weight:750; color:#9aa9b4; }
    .pt-mobile-menu-account { margin-top:15px; padding:14px 16px; border-radius:15px; border:1px solid #e0e9ef; background:#fff; }
    .pt-mobile-menu-account a { min-height:37px; display:flex; justify-content:space-between; align-items:center; text-decoration:none; font-size:13px; font-weight:800; color:#183B4D; }
    .pt-mobile-menu-account a span { font-size:22px; color:#8296a3; }
    .pt-mobile-menu-account p { margin:3px 0 0; font-size:12px; color:#64748b; line-height:1.45; }
    #pt-mobile-menu-overlay button:focus-visible,
    #pt-mobile-menu-overlay a:focus-visible,
    #pt-mobile-bottom-nav a:focus-visible,
    #pt-mobile-bottom-nav button:focus-visible,
    .pt-menu-header-toggle:focus-visible { outline:3px solid #0A87B8 !important; outline-offset:2px; }
}
@media (max-width:359px) {
    .pt-public-header > div:first-child { padding:0 10px !important; gap:6px !important; }
    .pt-public-logo img { max-width:min(100%,118px) !important; }
    #pt-mobile-bottom-nav .pt-mobile-dock-item { font-size:10px; }
}
@media (min-width:1024px) {
    body > nav#pt-mobile-bottom-nav,
    body > div#pt-mobile-menu-overlay,
    .pt-menu-header-toggle { display:none !important; }
}
@media (prefers-reduced-motion:reduce) {
    #pt-mobile-menu-panel { animation:none; }
}
