/* Reserve image space and keep mobile service-card text in normal flow. */
@media (max-width: 800px) {
    .wapp_services-postcard-mobile:not(.swiper-initialized) .post-card { width: 100% !important; flex: 0 0 100% !important; }
    .wapp_services-postcard-mobile > .swiper-wrapper { height: auto !important; align-items: stretch !important; }
    .wapp_services-postcard-mobile .post-card { height: auto !important; }
    .wapp_services-postcard-mobile .post-card > .fusion-carousel-item-wrapper {
        display: flex !important; flex-direction: column !important;
        height: auto !important; min-height: 0 !important; padding: 0 !important;
    }
    .wapp_services-postcard-mobile .fusion-image-element {
        width: 100%; flex: none; aspect-ratio: 4 / 3; --awb-aspect-ratio: 4 / 3 !important;
    }
    .wapp_services-postcard-mobile .fusion-imageframe {
        display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3;
    }
    .wapp_services-postcard-mobile .fusion-imageframe img {
        display: block; width: 100% !important; height: 100% !important; object-fit: cover;
    }
    .wapp_services-postcard-mobile .fusion-carousel-item-wrapper > .fusion-builder-row-inner {
        width: 100% !important; max-width: 100% !important; margin: 0 !important;
        height: auto !important; flex: 1 0 auto; justify-content: flex-start !important;
    }
    .wapp_services-postcard-mobile .wapp_services-postcard-service-slider-content-box { display: none !important; }
    .wapp_services-postcard-mobile .wapp_services-postcard-service-slider-content-box-mobile {
        display: flex !important; position: relative !important; inset: auto !important;
        /* The builder's row has an inline !important 104% width. Cancel that expansion. */
        width: calc(100% / 1.04) !important; margin: 0 !important; transform: none !important;
    }
    .wapp_services-postcard-mobile .wapp_services-postcard-service-slider-content-box-mobile > .fusion-column-wrapper {
        width: 100%; margin: 0 !important; padding: 20px !important; box-sizing: border-box;
    }
}
/* Side-by-side mobile actions fixed to the bottom of the screen. */
.prestige-mobile-ctas { display: none; }
@media (max-width: 800px) {
    body { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
    .prestige-mobile-ctas {
        position: fixed; bottom: 0; left: 0; right: 0; z-index: 20000;
        display: flex; flex-direction: row; gap: 8px;
        padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
        background: #141416; box-shadow: 0 -3px 16px #0005;
    }
    .prestige-mobile-ctas > a {
        display: flex; align-items: center; justify-content: center;
        box-sizing: border-box; flex: 1 1 0; min-width: 0; min-height: 52px; height: 52px;
        margin: 0; padding: 12px 8px; border-radius: 28px; white-space: nowrap;
        border: 1px solid #e6e5df; color: #e6e5df; background: #141416;
        font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.25; text-decoration: none;
    }
    .prestige-mobile-ctas > a:first-child {
        background: #e6e5df; color: #141416;
    }
    .prestige-mobile-ctas a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
    #toTop { bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* Essential content must not depend on a successful animation/load event. */
.fusion-tb-header .fusion-animated,
#main .fusion-animated,
.fusion-tb-footer .fusion-animated {
    visibility: visible !important;
    animation: none !important;
    opacity: 1 !important;
}
.prestige-video-toggle {
    position: absolute; right: 20px; bottom: 16px; z-index: 11;
    color: #e6e5df; background: #141416; border: 1px solid #e6e5df;
    border-radius: 24px; padding: 10px 16px; min-height: 44px; cursor: pointer;
}
.home .wappservices-header-video-slider {
    min-height: 100vh;
    background-image: url("https://prestigeclassicautocare.com.au/wp-content/uploads/2026/01/65c0e83edd798acb4fb1ba91_66d7e2d4a897c3b873833c0a_PCAC-Website-Video-Compressed-V3-poster-00001.jpg") !important;
}
.wappservices-header-video-slider .prestige-hero-media,
.wappservices-header-video-slider .fullwidth-video {
    width: 100%; height: 100%; pointer-events: none;
}
.wappservices-header-video-slider .prestige-hero-media {
    position: absolute; inset: 0; z-index: 1; overflow: hidden;
}
.wappservices-header-video-slider .prestige-hero-media video,
.wappservices-header-video-slider .fullwidth-video video {
    width: 100% !important; height: 100% !important;
    object-fit: cover; min-width: 0; min-height: 0;
}
.wappservices-header-video-slider .fullwidth-video-image {
    display: block !important; z-index: 2 !important;
    position: absolute; inset: 0; background-size: cover; background-position: center;
}
.wappservices-header-video-slider.prestige-video-playing .fullwidth-video-image {
    display: none !important;
}
/* The builder assigned only 20% width to the tablet footer details. */
@media (min-width: 641px) and (max-width: 1024px) {
    .fusion-tb-footer .fusion_builder_column {
        --awb-width-medium: 100% !important;
        width: 100% !important;
        --awb-spacing-left-medium: 0px !important;
        --awb-spacing-right-medium: 0px !important;
    }
    .fusion-tb-footer .fusion_builder_column_inner {
        position: relative !important;
        --awb-container-position: relative;
        --awb-absolute-left: auto;
        left: auto !important;
        min-width: 0;
    }
    .fusion-tb-footer .fusion_builder_column_2_3 {
        margin-top: 32px;
    }
    .fusion-tb-footer .fusion-row-inner { flex-wrap: wrap !important; }
    .fusion-tb-footer a { overflow-wrap: anywhere; }
}
@media (max-width: 800px) {
    #main .wappservices-header-video-slider { background-attachment: scroll !important; }
    /* These six story card headings have no separate phone counterparts. */
    .page-id-6547 #main .fusion-title-size-three.fusion-no-small-visibility {
        display: flex !important;
    }
    .page-id-6547 #main .fusion-title-size-three .fusion-title-heading {
        font-size: clamp(24px, 6vw, 36px) !important;
        line-height: 1.15 !important;
    }
    #main .fusion-title-size-one .fusion-title-heading {
        font-size: clamp(30px, 8.5vw, 60px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere;
        max-width: 100%;
    }
    .fusion-tb-header .wapp-services-main-menu { display: none !important; }
    .fusion-tb-header nav[aria-label="Cart menu"] { display: none !important; }
    .prestige-mobile-nav > details > summary::before { content: none; }
    .prestige-mobile-menu-panel {
        position: absolute; top: 100%; right: 0; box-sizing: border-box;
        width: min(92vw, 390px); max-height: 70vh; max-height: 70svh;
        overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    }
    /* Keep navigation discoverable even after the non-sticky header scrolls away. */
    .fusion-tb-header .prestige-mobile-nav {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        top: 8px;
        top: max(8px, env(safe-area-inset-top));
        right: 12px;
        right: max(12px, env(safe-area-inset-right));
        width: auto !important;
        z-index: 21001;
    }
    .prestige-mobile-nav > details > summary {
        display: flex !important;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-width: 44px;
        width: 44px;
        min-height: 44px;
        padding: 10px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #e6e5df !important;
        font-size: 16px;
        font-weight: 600;
        line-height: 22px;
    }
    .prestige-mobile-menu-panel {
        margin-top: 8px;
        width: min(390px, calc(100vw - 40px)) !important;
        box-sizing: border-box !important;
    }
    .fusion-tb-header img.wp-image-5667 {
        max-width: min(215px, calc(100vw - 143px)) !important;
        height: auto !important;
    }
    .fusion-tb-header .prestige-mobile-cart {
        display: flex !important;
        position: fixed;
        top: 8px;
        top: max(8px, env(safe-area-inset-top));
        right: 64px;
        right: calc(52px + max(12px, env(safe-area-inset-right)));
        width: 44px;
        height: 44px;
        box-sizing: border-box;
        padding: 10px;
        justify-content: center;
        align-items: center;
        z-index: 21001;
        color: #e6e5df !important;
    }
    .prestige-mobile-nav > details > summary svg,
    .prestige-mobile-cart svg {
        display: block;
        flex: none;
        filter: drop-shadow(0 1px 2px #000);
    }
    body.admin-bar .prestige-mobile-nav,
    body.admin-bar .prestige-mobile-cart {
        top: 54px;
        top: calc(46px + max(8px, env(safe-area-inset-top)));
    }
    .fusion-tb-header .fusion-column-wrapper { overflow: visible; }
    .home .wappservices-header-video-slider { min-height: 100vh; }
    /* The second shop title already exists in the page content. */
    .post-type-archive-product .fusion-page-title-bar .fusion-page-title-row { visibility: hidden; }
}

/* Branded full-screen mobile navigation. */
@media (max-width: 800px) {
    html:has(.prestige-mobile-nav > details[open]),
    body:has(.prestige-mobile-nav > details[open]) { overflow: hidden !important; }
    body:has(.prestige-mobile-nav > details[open]) .prestige-mobile-ctas { display: none; }
    .fusion-tb-header .prestige-mobile-menu-panel {
        position: fixed !important; inset: 0 !important; width: 100% !important;
        height: 100vh; height: 100dvh; max-height: none; margin: 0; border: 0;
        padding: max(24px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
        background: radial-gradient(ellipse at 100% 0%, #342126 0%, #141416 48%, #101011 100%);
        color: #e6e5df; overflow-y: auto; overscroll-behavior: contain;
        z-index: -1; text-align: left;
    }
    .prestige-mobile-nav > details[open] > summary { position: relative; z-index: 2; }
    .prestige-mobile-nav > details[open] > summary svg { display: none; }
    .prestige-mobile-nav > details[open] > summary::after {
        content: '\00d7'; font: 300 36px/1 Arial, sans-serif; color: #e6e5df;
    }
    .prestige-mobile-menu-panel .prestige-menu-brand { padding: 0 86px 28px 0; border-bottom: 1px solid #e6e5df26; }
    .prestige-mobile-menu-panel .prestige-menu-brand a { padding: 0; min-height: 0; }
    .prestige-mobile-menu-panel .prestige-menu-brand img { display: block; width: 100%; max-width: 230px; height: auto; }
    .prestige-mobile-menu-panel .prestige-menu-eyebrow {
        margin: 32px 0 16px; font-size: 10px; font-weight: 500; line-height: 1.6;
        text-transform: uppercase; letter-spacing: .22em; color: #aba6a7;
    }
    .prestige-mobile-menu-panel .prestige-menu-links > details { border-bottom: 1px solid #e6e5df26; }
    .prestige-mobile-menu-panel .prestige-menu-links > details > summary,
    .prestige-mobile-menu-panel .prestige-menu-links > a {
        padding: 18px 0; margin: 0; min-height: 44px; font-size: clamp(27px, 7vw, 36px);
        font-weight: 400; letter-spacing: -.035em; line-height: 1.25; text-decoration: none;
    }
    .prestige-mobile-menu-panel .prestige-menu-links > a { border-bottom: 1px solid #e6e5df26; }
    .prestige-mobile-menu-panel .prestige-menu-links summary::after { font-size: 24px; color: #b78085; font-weight: 300; }
    .prestige-mobile-menu-panel .prestige-menu-links details a {
        padding: 12px 0 12px 16px; border-left: 1px solid #803e48; font-size: 15px;
        line-height: 1.5; margin: 0 0 4px 2px; min-height: 44px; box-sizing: border-box;
    }
    .prestige-mobile-menu-panel .prestige-menu-links details a:last-child { margin-bottom: 18px; }
    .prestige-mobile-menu-panel .prestige-menu-footer { margin-top: 36px; padding-top: 8px; }
    .prestige-mobile-menu-panel .prestige-menu-contact {
        display: flex; align-items: center; justify-content: space-between; padding: 15px 20px;
        border: 1px solid #e6e5df8c; border-radius: 30px; font-size: 15px; text-decoration: none;
    }
    .prestige-mobile-menu-panel .prestige-menu-phone { padding: 22px 0 4px; font-size: 15px; }
    .prestige-mobile-menu-panel .prestige-menu-footer p { margin: 0; font-size: 12px; color: #aba6a7; }
    body.admin-bar .prestige-mobile-menu-panel { padding-top: 70px; }
}
