/*
Theme Name: Andrew's Driving GeneratePress Child
Theme URI: https://andrewsdriving.com
Author: Andrew's Driving School
Author URI: https://andrewsdriving.com
Description: GeneratePress child theme for Andrew's Driving School Gutenberg rebuild.
Version: 1.0.0
Template: generatepress
*/
/* Header variables */
:root {
    --ads-navy: #12141a;
    --ads-orange: #f37423;
    --ads-white: #ffffff;
    --ads-grey: #d7d9df;
}


/* Mobile controls hidden on desktop */
.ads-mobile-controls,
.ads-mobile-drawer {
    display: none;
}

/* Mobile layout */
@media (max-width: 1024px) {
    .ads-nav {
        display: none;
    }

    .ads-mobile-controls {
        display: flex;
    }

    .ads-mobile-drawer {
        display: none;
    }

    .ads-mobile-drawer.open {
        display: flex;
    }
}
/* ==================================================
   gp-ads-header
   GeneratePress Header / Navigation Styling
================================================== */

.site-header {
    background: #12141a;
    border-bottom: 4px solid #f37423;
}

.inside-header {
    padding: 18px 30px;
}

.site-branding .main-title,
.site-branding .main-title a {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
}

.site-branding .main-title a:hover {
    color: #ffffff;
}

.main-navigation {
    background: #12141a;
}

.main-navigation .main-nav ul li a {
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 14px;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: #f37423;
    background: transparent;
}

.main-navigation .main-nav ul ul {
    background: #12141a;
}

.main-navigation .main-nav ul ul li a {
    color: #ffffff;
}

.menu-toggle {
    color: #ffffff;
}
/* ==================================================
   gb-ads-area-hero
   Gutenberg Area Page Hero
================================================== */

/* =========================================================
   Shared Area Page Hero
   ========================================================= */


/* =========================================================
   Individual Area Hero Images
   ========================================================= */


/* Replace with a Bangor image later */


/* Replace with a Telford image later */


/* Replace with a Mold and Buckley image later */


/* Replace filename when the final Llandudno image is uploaded */


/* =========================================================
   Hero Content
   ========================================================= */


/* =========================================================
   Mobile Area Hero
   ========================================================= */


/* =========================================================
   Llandudno Area Page
   Shared hero image styling is handled in the main area CSS
   ========================================================= */

/* Llandudno hero image */


/* Llandudno secondary heading */


/* Back to all areas link */


/* ==================================================
   gb-ads-intro-section
   Gutenberg Area Page Intro / Trust Cards
================================================== */


/* ==================================================
   gb-ads-choice-section
   Manual vs Automatic Lesson Cards
================================================== */


/* ==================================================
   gb-ads-choice-section
   Manual vs Automatic Lesson Cards
================================================== */


/* ==================================================
   gb-ads-areas-section
   Local Areas Covered Section
================================================== */


/* ==================================================
   gb-ads-local-section
   Local Roads / Test Preparation Section
================================================== */


/* ==================================================
   gb-ads-faq-section
   Area Page FAQ Section
================================================== */


/* ==================================================
   gb-ads-final-cta
   Area Page Final Call To Action
================================================== */


/* ==================================================
   gb-ads-proof-section
   Recent Passes / Reviews with Images
================================================== */


/* ==================================================
   CUSTOM HEADER DROPDOWN FIX
================================================== */

.ads-custom-header,
.ads-custom-header * {
    box-sizing: border-box;
}

.ads-custom-header ul {
    margin: 0;
    padding: 0;
}

.ads-logo {
    flex: 0 0 auto;
    margin-right: 24px;
}

.ads-logo a {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.05;
    text-decoration: none;
    white-space: nowrap;
}

.ads-logo a span {
    color: #f37423;
}

.ads-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    height: 80px;
}

.ads-nav-list {
    display: flex;
    align-items: center;
    gap: 18px;
    list-style: none;
}

.ads-nav-item {
    position: relative;
    display: flex;
    align-items: center;
    height: 80px;
}

.ads-nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Hide dropdowns until hovered */
.ads-dropdown {
    position: absolute;
    top: 80px;
    left: 0;
    z-index: 999999;
    min-width: 220px;
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: #181b2c;
    border-top: 3px solid #f37423;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.ads-nav-item:hover > .ads-dropdown,
.ads-nav-item:focus-within > .ads-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.ads-dropdown li {
    position: relative;
    display: block;
    list-style: none !important;
}

.ads-dropdown li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 11px 16px;
    color: #d7d9df !important;
    font-size: 13px;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ads-dropdown li a:hover {
    color: #f37423 !important;
    background: rgba(255, 255, 255, 0.06);
}

/* Third-level submenu */
.ads-submenu {
    position: absolute;
    top: -10px;
    left: 100%;
    z-index: 1000000;
    min-width: 210px;
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: #181b2c;
    border-left: 3px solid #f37423;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.ads-dropdown li:hover > .ads-submenu,
.ads-dropdown li:focus-within > .ads-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Keep mobile elements hidden on desktop */
.ads-mobile-controls,
.ads-mobile-drawer {
    display: none;
}
/* ==================================================
   CUSTOM HEADER ACTIONS FIX
================================================== */

.ads-social-desktop {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 18px;
}

.ads-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #ffffff;
    text-decoration: none;
}

.ads-social-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.ads-desktop-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 14px;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.ads-desktop-phone:hover {
    color: #f37423 !important;
}

.ads-desktop-phone svg {
    display: block;
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    fill: #f37423;
}

.ads-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-left: 14px;
    padding: 10px 16px;
    color: #ffffff !important;
    background: #f37423;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.ads-cta-btn:hover {
    color: #ffffff !important;
    background: #d95f12;
}

.ads-header-inner {
    gap: 20px;
}

.ads-nav-list {
    flex: 0 1 auto;
}

.ads-nav {
    min-width: 0;
}
/* ==================================================
   CUSTOM HEADER FINAL SPACING
================================================== */

.ads-header-inner {
    max-width: 1400px;
    width: 92%;
    min-height: 90px;
    gap: 28px;
}

.ads-logo {
    margin-right: auto;
}

.ads-nav {
    gap: 14px;
}

.ads-nav-list {
    gap: 18px !important;
    flex-shrink: 0;
}

.ads-social-desktop {
    gap: 10px;
    margin-left: 8px;
    flex-shrink: 0;
}

.ads-desktop-phone {
    margin-left: 8px;
    gap: 6px;
    flex-shrink: 0;
}

.ads-cta-btn {
    margin-left: 10px;
    padding: 11px 18px;
    flex-shrink: 0;
}

.ads-desktop-phone,
.ads-cta-btn {
    white-space: nowrap;
}
/* ==================================================
   CUSTOM GLOBAL HEADER
================================================== */

.ads-custom-header {
    width: 100vw !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #12141a !important;
    border-bottom: 3px solid #f37423 !important;
}

.ads-custom-header::after {
    display: none !important;
    content: none !important;
}

.ads-header-inner {
    width: 100% !important;
    max-width: 1400px !important;
    height: 90px !important;
    min-height: 90px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
}

.ads-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 !important;
    min-width: 0 !important;
    height: 90px !important;
    gap: 14px !important;
}

.ads-nav-list {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ads-nav-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 90px !important;
    list-style: none !important;
}

.ads-custom-header .ads-cta-btn {
    color: #ffffff !important;
    background-color: #f37423 !important;
    border: 2px solid #f37423 !important;
    border-radius: 5px !important;
    text-decoration: none !important;
}

.ads-custom-header .ads-cta-btn:hover {
    color: #ffffff !important;
    background-color: #d95f12 !important;
    border-color: #d95f12 !important;
}

.ads-mobile-controls,
.ads-mobile-drawer {
    display: none;
}

/* Hide the original GeneratePress header and navigation */
.site-header,
#site-navigation,
.main-navigation {
    display: none !important;
}
.ads-mobile-book-btn {
    display: none;
}
/* ==================================================
   CUSTOM HEADER MOBILE LAYOUT
================================================== */

@media (max-width: 1024px) {

    .ads-custom-header {
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .ads-header-inner {
        width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        padding: 0 18px !important;
        gap: 12px !important;
    }

    .ads-logo {
        margin: 0 !important;
        flex: 1 1 auto !important;
    }

    .ads-logo a {
        font-size: 18px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* Hide the entire desktop navigation */
    .ads-nav {
        display: none !important;
    }

    /* Show mobile call and hamburger controls */
    .ads-mobile-controls {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        flex: 0 0 auto !important;
    }

    .ads-mobile-call {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        height: 38px !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .ads-mobile-call svg {
        width: 21px !important;
        height: 21px !important;
        fill: #f37423 !important;
    }

    .ads-mobile-toggle {
        width: 42px !important;
        height: 42px !important;
        padding: 9px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 5px !important;
        background: #f37423 !important;
        border: 0 !important;
        border-radius: 4px !important;
        cursor: pointer !important;
    }

    .ads-mobile-toggle span {
        display: block !important;
        width: 100% !important;
        height: 3px !important;
        background: #ffffff !important;
        border-radius: 2px !important;
    }

    /* Mobile drawer */
    .ads-mobile-drawer {
        position: absolute !important;
        top: 72px !important;
        left: 0 !important;
        z-index: 999999 !important;
        width: 100% !important;
        max-height: calc(100vh - 72px) !important;
        padding: 18px !important;
        overflow-y: auto !important;
        background: #12141a !important;
        border-top: 3px solid #f37423 !important;
        flex-direction: column !important;
    }

    .ads-mobile-drawer.open {
        display: flex !important;
    }

    .ads-mobile-menu-section {
        width: 100% !important;
    }

    .ads-mobile-accordion-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    }

    .ads-mobile-section-link,
    .ads-mobile-drawer a {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    .ads-mobile-accordion-btn {
        flex: 0 0 auto !important;
        color: #f37423 !important;
        background: transparent !important;
        border: 0 !important;
    }

    .ads-mobile-hidden-menu {
        display: none !important;
        padding: 6px 0 12px 18px !important;
    }

    .ads-mobile-hidden-menu.show {
        display: block !important;
    }

    .ads-mobile-hidden-menu a {
        display: block !important;
        padding: 10px 0 !important;
        font-size: 14px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

.ads-mobile-btn {
    display: block !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 14px 18px !important;
    color: #ffffff !important;
    background: #f37423 !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}
}
/* Hide the original GeneratePress footer */
.site-footer {
    display: none !important;
}
/* 1. CUSTOM FOOTER STYLES */

/* Main Container - Full Width Reset */
/* ==================================================
   GLOBAL FOOTER
================================================== */

.adsfoot-wrapper,
.adsfoot-wrapper * {
    box-sizing: border-box;
}

.adsfoot-wrapper {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    background-color: var(--ads-navy, #12141a);
    color: var(--ads-grey, #d7d9df);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

.adsfoot-inner {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

/* ==================================================
   FOOTER CTA
================================================== */

.adsfoot-cta-bar {
    padding: 30px 0;
    color: #ffffff;
    background-color: var(--ads-orange, #f37423);
}

.adsfoot-cta-bar .adsfoot-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.adsfoot-cta-content h3 {
    margin: 0;
    color: #ffffff !important;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.adsfoot-cta-content p {
    margin: 5px 0 0;
    color: #ffffff !important;
    font-size: 14px;
    opacity: 0.95;
}

.adsfoot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 12px 30px;
    color: var(--ads-orange, #f37423) !important;
    background-color: #ffffff;
    border-radius: 50px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.adsfoot-btn:hover {
    color: #ffffff !important;
    background-color: var(--ads-navy, #12141a);
    transform: translateY(-2px);
}

/* ==================================================
   MAIN FOOTER GRID
================================================== */

.adsfoot-main {
    padding: 60px 0 45px;
}

.adsfoot-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 0.9fr;
    align-items: start;
    gap: 55px;
}

.adsfoot-col {
    min-width: 0;
}

.adsfoot-logo-wrapper {
    margin: 0 0 18px !important;
}

.adsfoot-logo-wrapper img {
    display: block !important;
    width: 100%;
    max-width: 180px !important;
    height: auto !important;
}

.adsfoot-col h4.adsfoot-heading,
.adsfoot-col h4 {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 11px;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 800 !important;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 1 !important;
}

.adsfoot-col h4.adsfoot-heading::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 3px;
    content: "";
    background-color: var(--ads-orange, #f37423);
}

.adsfoot-desc {
    max-width: 280px;
    margin: 0;
    color: var(--ads-grey, #d7d9df);
}

/* ==================================================
   FOOTER LINKS
================================================== */

.adsfoot-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.adsfoot-links li {
    margin: 0 0 11px;
}

.adsfoot-links a {
    display: inline-block;
    color: var(--ads-grey, #d7d9df) !important;
    text-decoration: none !important;
    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.adsfoot-links a:hover {
    color: var(--ads-orange, #f37423) !important;
    transform: translateX(4px);
}

/* ==================================================
   CONTACT DETAILS
================================================== */

.adsfoot-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    margin-top: 20px;
}

.adsfoot-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #ffffff !important;
    font-size: 19px;
    font-weight: 800;
    text-decoration: none !important;
}

.adsfoot-phone:hover,
.adsfoot-email:hover {
    color: var(--ads-orange, #f37423) !important;
}

.adsfoot-email {
    color: var(--ads-grey, #d7d9df) !important;
    font-size: 14px;
    overflow-wrap: anywhere;
    text-decoration: none !important;
}

/* ==================================================
   SOCIAL ICONS
================================================== */

.adsfoot-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
}

.adsfoot-soc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #ffffff !important;
    background-color: #2a2d36;
    border-radius: 5px;
    text-decoration: none !important;
    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}

.adsfoot-soc-icon svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.adsfoot-soc-icon:hover {
    color: #ffffff !important;
    background-color: var(--ads-orange, #f37423);
    transform: translateY(-2px);
}

/* ==================================================
   PAYMENT BADGES
================================================== */

.adsfoot-payment > span {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    opacity: 0.8;
}

.adsfoot-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.adsfoot-cards .card {
    display: inline-block;
    margin: 0;
    padding: 4px 8px;
    color: #333333;
    background: #ffffff;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
    opacity: 1;
}

/* ==================================================
   DISCLAIMER
================================================== */

.adsfoot-disclaimer {
    padding: 18px 0;
    background-color: #0e1014;
    border-top: 1px solid #2a2d36;
}

.adsfoot-disclaimer p {
    margin: 0;
    color: #9a9da5;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

/* ==================================================
   COPYRIGHT
================================================== */

.adsfoot-copyright {
    padding: 22px 0;
    border-top: 1px solid #2a2d36;
    font-size: 13px;
}

.adsfoot-copyright .adsfoot-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.adsfoot-copyright p {
    margin: 0;
    color: var(--ads-grey, #d7d9df);
}

.adsfoot-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 20px;
}

.adsfoot-legal a {
    margin: 0;
    color: #9a9da5 !important;
    white-space: nowrap;
    text-decoration: none !important;
}

.adsfoot-legal a:hover {
    color: var(--ads-orange, #f37423) !important;
}

/* ==================================================
   TABLET FOOTER
================================================== */

@media (max-width: 980px) {

    .adsfoot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px 55px;
    }

    .adsfoot-copyright .adsfoot-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .adsfoot-legal {
        justify-content: flex-start;
    }
}

/* ==================================================
   MOBILE FOOTER
================================================== */

@media (max-width: 600px) {

    .adsfoot-inner {
        width: calc(100% - 36px);
    }

    .adsfoot-cta-bar {
        padding: 28px 0;
    }

    .adsfoot-cta-bar .adsfoot-inner {
        align-items: stretch;
        flex-direction: column;
        text-align: center;
    }

    .adsfoot-cta-content h3 {
        font-size: 21px;
    }

    .adsfoot-btn {
        width: 100%;
    }

.adsfoot-main {
    padding: 45px 0 35px;
}
.adsfoot-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 0.9fr;
    align-items: start;
    gap: 40px;
}

    .adsfoot-col {
        text-align: center;
    }

    .adsfoot-logo-wrapper img {
        margin: 0 auto;
    }

    .adsfoot-desc {
        max-width: none;
    }

    .adsfoot-col h4.adsfoot-heading::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .adsfoot-contact {
        align-items: center;
    }

    .adsfoot-social-row,
    .adsfoot-cards {
        justify-content: center;
    }

    .adsfoot-links a:hover {
        transform: none;
    }

    .adsfoot-copyright .adsfoot-inner {
        align-items: center;
        text-align: center;
    }

    .adsfoot-legal {
        justify-content: center;
        gap: 10px 18px;
    }
}
/* ==================================================
   FOOTER MOBILE OVERRIDE
================================================== */

@media screen and (max-width: 767px) {

    .adsfoot-main {
        padding: 40px 0 30px !important;
    }
.adsfoot-logo-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto 18px !important;
    text-align: center !important;
}

.adsfoot-logo-wrapper img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 !important;
}

.adsfoot-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    width: 100% !important;
}

.adsfoot-col {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
}

.adsfoot-desc {
    max-width: 320px !important;
    margin: 0 auto !important;
}

.adsfoot-col h4.adsfoot-heading::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.adsfoot-contact {
    align-items: center !important;
}

.adsfoot-social-row,
.adsfoot-cards {
    justify-content: center !important;
}

.adsfoot-phone {
    justify-content: center !important;
}

.adsfoot-email {
    overflow-wrap: anywhere !important;
}
}


.ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 14px 24px;
    border: 2px solid transparent;
    border-radius: 5px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}

.ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border-color: #f37423;
}

.ads-btn-primary:hover {
    color: #ffffff !important;
    background: #d95f12;
    border-color: #d95f12;
}

.ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border-color: #ffffff;
}

.ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

.ads-btn-outline {
    color: #12141a !important;
    background: transparent;
    border-color: #12141a;
}

.ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}


.ads-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-option-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e5e8ed;
    border-radius: 8px;
}


.ads-test-centres {
    background: #ffffff;
}


/* FAQ */


.ads-faq-list {
    display: grid;
    gap: 14px;
}

.ads-faq-item {
    background: #f4f7f9;
    border: 1px solid #e2e6eb;
    border-radius: 6px;
}

.ads-faq-item summary {
    position: relative;
    padding: 20px 52px 20px 22px;
    color: #12141a;
    font-size: 17px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    content: "+";
    color: #f37423;
    font-size: 24px;
    line-height: 1;
    transform: translateY(-50%);
}

.ads-faq-item[open] summary::after {
    content: "−";
}

.ads-faq-answer {
    padding: 0 22px 20px;
}

.ads-faq-answer p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* FINAL CTA */


/* TABLET */


/* MOBILE */


{

    .ads-areas-container {
        width: calc(100% - 36px);
    }

    .ads-areas-section {
        padding: 58px 0;
    }

    .ads-areas-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-areas-hero h1 {
        font-size: 42px;
    }

    .ads-areas-hero p {
        font-size: 18px;
    }

    .ads-areas-hero-actions,
    .ads-postcode-actions,
    .ads-areas-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-btn {
        width: 100%;
    }

    .ads-areas-card-grid,
    .ads-options-grid {
        grid-template-columns: 1fr;
    }

    .ads-area-card-content,
    .ads-option-card,
    .ads-test-centre-card {
        padding: 24px;
    }

    .ads-areas-final-cta {
        padding: 54px 0;
    }
}


.ads-checker-heading-mobile {
    display: none;
}

@media (max-width: 700px) {

    .ads-checker-heading-desktop {
        display: none !important;
    }

    .ads-checker-heading-mobile {
        display: block !important;
        margin: 0 0 10px !important;
        color: #12141a !important;
        font-size: 18px !important;
        line-height: 1.25 !important;
    }
}
.ads-checker-heading-mobile {
    display: none !important;
}

.ads-checker-heading-desktop {
    display: block !important;
}


/* Desktop */
.ads-checker-heading-mobile {
    display: none !important;
}

/* Mobile heading override */

/* Force postcode checker to the right on desktop */

/* ==================================================
   DRIVING LESSON PRICES PAGE
================================================== */

.ads-prices-page,
.ads-prices-page * {
    box-sizing: border-box;
}

.ads-prices-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-prices-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-prices-narrow {
    max-width: 820px;
}

.ads-prices-section {
    padding: 80px 0;
}

.ads-prices-intro,
.ads-payment-info {
    text-align: center;
}

.ads-prices-intro h2,
.ads-payment-info h2,
.ads-prices-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-prices-intro p,
.ads-payment-info p,
.ads-prices-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


.ads-prices-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 540px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.8), rgba(18, 20, 26, 0.8)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-prices-hero-content {
    max-width: 760px;
}

.ads-prices-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.05;
}

.ads-prices-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-prices-hero-actions,
.ads-payment-actions,
.ads-prices-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-prices-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-prices-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

/* PRICING CARDS */

.ads-pricing-section {
    background: #f4f7f9;
}

.ads-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.ads-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 9px;
    box-shadow: 0 12px 30px rgba(18, 20, 26, 0.07);
}

.ads-price-card-featured {
    border: 2px solid #f37423;
    transform: translateY(-10px);
}

.ads-price-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    padding: 7px 14px;
    color: #ffffff;
    background: #f37423;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ads-price-label,
.ads-transmission-label {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-price-card h3,
.ads-included-card h3,
.ads-transmission-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 22px;
    line-height: 1.3;
}

.ads-price-summary {
    margin: 0;
    color: #606671;
    line-height: 1.65;
}

.ads-price-amount {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    margin: 28px 0 8px;
    color: #12141a;
}

.ads-price-currency {
    margin-bottom: 12px;
    font-size: 24px;
    font-weight: 800;
}

.ads-price-amount strong {
    font-size: 56px;
    line-height: 0.95;
}

.ads-price-unit {
    margin-bottom: 8px;
    color: #6b717b;
    font-size: 14px;
    font-weight: 700;
}

.ads-price-saving {
    margin: 0 0 20px;
    color: #d95f12;
    font-size: 14px;
    font-weight: 800;
}

.ads-price-features {
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}

.ads-price-features li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 25px;
    color: #525965;
    line-height: 1.55;
}

.ads-price-features li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

.ads-price-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: auto;
    padding: 13px 18px;
    color: #ffffff !important;
    background: #12141a;
    border-radius: 5px;
    font-weight: 800;
    text-align: center;
    text-decoration: none !important;
}

.ads-price-btn:hover {
    color: #ffffff !important;
    background: #f37423;
}

.ads-pricing-note {
    max-width: 760px;
    margin: 28px auto 0;
    color: #6a707a;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

/* INCLUDED */

.ads-included-section {
    background: #ffffff;
}

.ads-included-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-included-card {
    padding: 28px;
    background: #f4f7f9;
    border-top: 4px solid #f37423;
    border-radius: 6px;
}

.ads-included-number {
    display: block;
    margin-bottom: 16px;
    color: rgba(243, 116, 35, 0.35);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

.ads-included-card p,
.ads-transmission-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* TRANSMISSION */

.ads-transmission-section {
    background: #f4f7f9;
}

.ads-transmission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-transmission-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-transmission-card .ads-text-link {
    display: inline-block;
    margin-top: 20px;
}

.ads-prices-guide {
    margin-top: 26px;
    text-align: center;
}

.ads-prices-guide p {
    margin: 0;
}

.ads-prices-guide a {
    color: #d95f12 !important;
    font-weight: 800;
}

/* PAYMENT */

.ads-payment-info {
    background: #ffffff;
}

.ads-payment-points {
    display: grid;
    gap: 14px;
    margin: 34px 0;
    text-align: left;
}

.ads-payment-point {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    padding: 18px 20px;
    background: #f4f7f9;
    border-left: 4px solid #f37423;
    border-radius: 5px;
}

.ads-payment-point strong {
    color: #12141a;
}

.ads-payment-point span {
    color: #5b616c;
}

.ads-payment-actions {
    justify-content: center;
}

/* FAQ */

.ads-prices-faq {
    background: #f4f7f9;
}

/* FINAL CTA */

.ads-prices-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-prices-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-prices-final-cta h2,
.ads-prices-final-cta p {
    color: #ffffff;
}

.ads-prices-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-pricing-grid {
        grid-template-columns: 1fr;
        max-width: 680px;
        margin: 0 auto;
    }

    .ads-price-card-featured {
        transform: none;
    }

    .ads-included-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-prices-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-prices-container {
        width: calc(100% - 36px);
    }

    .ads-prices-section {
        padding: 58px 0;
    }

    .ads-prices-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-prices-hero h1 {
        font-size: 42px;
    }

    .ads-prices-hero p {
        font-size: 18px;
    }

    .ads-prices-hero-actions,
    .ads-payment-actions,
    .ads-prices-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-pricing-grid,
    .ads-included-grid,
    .ads-transmission-grid {
        grid-template-columns: 1fr;
    }

    .ads-price-card,
    .ads-included-card,
    .ads-transmission-card {
        padding: 24px;
    }

    .ads-price-amount strong {
        font-size: 48px;
    }

    .ads-payment-point {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .ads-prices-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   AUTOMATIC PRICES PAGE
================================================== */

.ads-auto-prices-page .ads-prices-hero {
    background:
        linear-gradient(rgba(18, 20, 26, 0.8), rgba(18, 20, 26, 0.8)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-auto-single-price-grid {
    grid-template-columns: minmax(0, 620px);
    justify-content: center;
}

.ads-auto-single-price-grid .ads-price-card-featured {
    transform: none;
}

.ads-auto-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-auto-area-card {
    padding: 26px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

.ads-auto-area-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-auto-area-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

.ads-auto-availability-section {
    background: #f4f7f9;
}

.ads-auto-availability-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 30px;
}

@media (max-width: 980px) {
    .ads-auto-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .ads-auto-area-grid {
        grid-template-columns: 1fr;
    }

    .ads-auto-availability-actions {
        align-items: stretch;
        flex-direction: column;
    }
}
/* ==================================================
   AUTOMATIC DRIVING LESSONS PAGE
================================================== */

.ads-auto-page,
.ads-auto-page * {
    box-sizing: border-box;
}

.ads-auto-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-auto-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-auto-narrow {
    max-width: 820px;
}

.ads-auto-section {
    padding: 80px 0;
}

.ads-auto-intro {
    text-align: center;
}

.ads-auto-intro h2,
.ads-auto-price-copy h2,
.ads-auto-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-auto-intro p,
.ads-auto-price-copy p,
.ads-auto-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


/* ==========================================================
   AUTOMATIC DRIVING LESSONS HERO
   Slanted banner style only
   Paste at the very bottom of the automatic lessons page CSS
   ========================================================== */

.ads-auto-page .ads-auto-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background-color: var(--ads-navy);
    background-image:
        linear-gradient(
            to right,
            rgba(18, 20, 26, 0.97) 18%,
            rgba(18, 20, 26, 0.78) 56%,
            rgba(18, 20, 26, 0.34) 100%
        ),
        url("/wp-content/uploads/2026/01/Automatic-Driving-Lessons-Andrew.webp");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    color: var(--ads-white);
}

.ads-auto-page .ads-auto-hero-content {
    max-width: 700px;
}

.ads-auto-page .ads-auto-hero-content > .ads-section-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-auto-page .ads-auto-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 16px;
    padding: 15px 30px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-auto-page .ads-auto-hero-content > p {
    max-width: 620px;
    margin-bottom: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-auto-page .ads-auto-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-auto-page .ads-auto-hero .ads-btn {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
}

.ads-auto-page .ads-auto-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-auto-page .ads-auto-hero-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

@media (max-width: 850px) {
    .ads-auto-page .ads-auto-hero {
        background-position: center;
        background-size: cover;
    }
}

@media (max-width: 700px) {
    .ads-auto-page .ads-auto-hero {
        min-height: 270px;
        padding: 42px 0;
    }

    .ads-auto-page .ads-auto-hero h1 {
        padding: 13px 20px;
    }

    .ads-auto-page .ads-auto-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .ads-auto-page .ads-auto-hero .ads-btn {
        width: 100%;
    }
}

/* BENEFITS */

.ads-auto-benefits {
    background: #f4f7f9;
}

.ads-auto-benefits-grid,
.ads-auto-suitable-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-auto-benefit-card,
.ads-auto-suitable-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
}

.ads-auto-benefit-number {
    display: block;
    margin-bottom: 16px;
    color: rgba(243, 116, 35, 0.35);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

.ads-auto-benefit-card h3,
.ads-auto-suitable-card h3,
.ads-auto-learning-card h3,
.ads-auto-area-card h3,
.ads-auto-comparison-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-auto-benefit-card p,
.ads-auto-suitable-card p,
.ads-auto-learning-card p,
.ads-auto-area-card p,
.ads-auto-comparison-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* SUITABLE FOR */

.ads-auto-suitable {
    background: #ffffff;
}

.ads-auto-suitable-card {
    background: #f4f7f9;
    border-top: 4px solid #f37423;
}

/* WHAT YOU WILL LEARN */

.ads-auto-learning {
    background: #f4f7f9;
}

.ads-auto-learning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-auto-learning-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
}

/* AREAS */

.ads-auto-areas {
    background: #ffffff;
}

.ads-auto-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-auto-area-card {
    padding: 26px;
    background: #f4f7f9;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

.ads-auto-area-card .ads-text-link {
    display: inline-block;
    margin-top: 18px;
}

.ads-auto-area-actions {
    justify-content: center;
    margin-top: 30px;
}

/* PRICE PANEL */

.ads-auto-price-section {
    background: #12141a;
}

.ads-auto-price-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    align-items: center;
    gap: 50px;
    padding: 48px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-auto-price-copy h2 {
    margin-bottom: 16px;
}

.ads-auto-price-list {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-auto-price-list li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 25px;
    color: #525965;
}

.ads-auto-price-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

.ads-auto-price-action {
    text-align: center;
}

.ads-auto-price-figure {
    margin-bottom: 22px;
    color: #12141a;
}

.ads-auto-price-figure span {
    font-size: 28px;
    font-weight: 800;
    vertical-align: top;
}

.ads-auto-price-figure strong {
    font-size: 66px;
    line-height: 1;
}

.ads-auto-price-figure small {
    display: block;
    margin-top: 6px;
    color: #6b717b;
    font-size: 14px;
    font-weight: 700;
}

/* COMPARISON */

.ads-auto-comparison {
    background: #f4f7f9;
}

.ads-auto-comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-auto-comparison-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-auto-comparison-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-auto-comparison-card .ads-text-link {
    display: inline-block;
    margin-top: 18px;
}

.ads-auto-guide-link {
    margin-top: 26px;
    text-align: center;
}

.ads-auto-guide-link p {
    margin: 0;
}

.ads-auto-guide-link a {
    color: #d95f12 !important;
    font-weight: 800;
}

/* FAQ */

.ads-auto-faq {
    background: #ffffff;
}

/* FINAL CTA */

.ads-auto-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-auto-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-auto-final-cta h2,
.ads-auto-final-cta p {
    color: #ffffff;
}

.ads-auto-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-auto-benefits-grid,
    .ads-auto-suitable-grid,
    .ads-auto-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-auto-learning-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-auto-price-panel {
        grid-template-columns: 1fr;
    }

    .ads-auto-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-auto-container {
        width: calc(100% - 36px);
    }

    .ads-auto-section {
        padding: 58px 0;
    }

    .ads-auto-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-auto-hero h1 {
        font-size: 42px;
    }

    .ads-auto-hero p {
        font-size: 18px;
    }

    .ads-auto-hero-actions,
    .ads-auto-area-actions,
    .ads-auto-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-auto-benefits-grid,
    .ads-auto-suitable-grid,
    .ads-auto-learning-grid,
    .ads-auto-area-grid,
    .ads-auto-comparison-grid {
        grid-template-columns: 1fr;
    }

    .ads-auto-benefit-card,
    .ads-auto-suitable-card,
    .ads-auto-learning-card,
    .ads-auto-area-card,
    .ads-auto-comparison-card {
        padding: 24px;
    }

    .ads-auto-price-panel {
        padding: 26px;
    }

    .ads-auto-price-figure strong {
        font-size: 54px;
    }

    .ads-auto-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   DRIVING LESSONS PAGE
================================================== */

.ads-lessons-page,
.ads-lessons-page * {
    box-sizing: border-box;
}

.ads-lessons-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-lessons-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-lessons-narrow {
    max-width: 820px;
}

.ads-lessons-section {
    padding: 80px 0;
}

.ads-lessons-intro,
.ads-lessons-intensive {
    text-align: center;
}

.ads-lessons-intro h2,
.ads-lessons-intensive h2,
.ads-lessons-price-copy h2,
.ads-lessons-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-lessons-intro p,
.ads-lessons-intensive p,
.ads-lessons-price-copy p,
.ads-lessons-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


.ads-lessons-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.8), rgba(18, 20, 26, 0.8)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-lessons-hero-content {
    max-width: 760px;
}

.ads-lessons-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.05;
}

.ads-lessons-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-lessons-hero-actions,
.ads-lessons-area-actions,
.ads-lessons-final-actions,
.ads-lessons-price-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-lessons-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-lessons-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

/* LESSON TYPES */

.ads-lessons-types {
    background: #f4f7f9;
}

.ads-lessons-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-lessons-type-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-lessons-type-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-lessons-type-card h3,
.ads-lessons-learning-card h3,
.ads-lessons-why-card h3,
.ads-lessons-area-card h3,
.ads-lessons-guide-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-lessons-type-card p,
.ads-lessons-learning-card p,
.ads-lessons-why-card p,
.ads-lessons-area-card p,
.ads-lessons-guide-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

.ads-lessons-check-list {
    margin: 22px 0;
    padding: 0;
    list-style: none;
}

.ads-lessons-check-list li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 25px;
}

.ads-lessons-check-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

.ads-lessons-guide-link {
    margin-top: 26px;
    text-align: center;
}

.ads-lessons-guide-link p {
    margin: 0;
}

.ads-lessons-guide-link a {
    color: #d95f12 !important;
    font-weight: 800;
}

/* LEARNING */

.ads-lessons-learning {
    background: #ffffff;
}

.ads-lessons-learning-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-lessons-learning-card {
    padding: 26px;
    background: #f4f7f9;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-lessons-number {
    display: block;
    margin-bottom: 16px;
    color: rgba(243, 116, 35, 0.35);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

/* WHY CHOOSE US */

.ads-lessons-why {
    background: #f4f7f9;
}

.ads-lessons-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-lessons-why-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
}

/* PRICES PANEL */

.ads-lessons-prices {
    background: #12141a;
}

.ads-lessons-price-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: center;
    gap: 50px;
    padding: 48px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-lessons-price-summary {
    display: grid;
    gap: 12px;
}

.ads-lessons-price-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    background: #f4f7f9;
    border-left: 4px solid #f37423;
    border-radius: 5px;
}

.ads-lessons-price-row span {
    color: #5b616c;
}

.ads-lessons-price-row strong {
    color: #12141a;
    text-align: right;
}

/* AREAS */

.ads-lessons-areas {
    background: #ffffff;
}

.ads-lessons-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-lessons-area-card {
    padding: 26px;
    background: #f4f7f9;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

.ads-lessons-area-actions {
    justify-content: center;
    margin-top: 30px;
}

/* INTENSIVE */

.ads-lessons-intensive {
    background: #f4f7f9;
}

.ads-lessons-intensive .ads-btn {
    margin-top: 12px;
}

/* GUIDES */

.ads-lessons-guides {
    background: #ffffff;
}

.ads-lessons-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-lessons-guide-card {
    display: block;
    padding: 28px;
    color: inherit !important;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-lessons-guide-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

/* FAQ */

.ads-lessons-faq {
    background: #f4f7f9;
}

/* FINAL CTA */

.ads-lessons-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-lessons-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-lessons-final-cta h2,
.ads-lessons-final-cta p {
    color: #ffffff;
}

.ads-lessons-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-lessons-learning-grid,
    .ads-lessons-why-grid,
    .ads-lessons-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-lessons-price-panel {
        grid-template-columns: 1fr;
    }

    .ads-lessons-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-lessons-container {
        width: calc(100% - 36px);
    }

    .ads-lessons-section {
        padding: 58px 0;
    }

    .ads-lessons-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-lessons-hero h1 {
        font-size: 42px;
    }

    .ads-lessons-hero p {
        font-size: 18px;
    }

    .ads-lessons-hero-actions,
    .ads-lessons-area-actions,
    .ads-lessons-final-actions,
    .ads-lessons-price-links {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-lessons-type-grid,
    .ads-lessons-learning-grid,
    .ads-lessons-why-grid,
    .ads-lessons-area-grid,
    .ads-lessons-guide-grid {
        grid-template-columns: 1fr;
    }

    .ads-lessons-type-card,
    .ads-lessons-learning-card,
    .ads-lessons-why-card,
    .ads-lessons-area-card,
    .ads-lessons-guide-card {
        padding: 24px;
    }

    .ads-lessons-price-panel {
        padding: 26px;
    }

    .ads-lessons-price-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .ads-lessons-price-row strong {
        text-align: left;
    }

    .ads-lessons-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   INTENSIVE DRIVING COURSES PAGE
================================================== */

.ads-intensive-page,
.ads-intensive-page * {
    box-sizing: border-box;
}

.ads-intensive-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-intensive-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-intensive-narrow {
    max-width: 820px;
}

.ads-intensive-section {
    padding: 80px 0;
}

.ads-intensive-intro,
.ads-intensive-expectations {
    text-align: center;
}

.ads-intensive-intro h2,
.ads-intensive-expectations h2,
.ads-intensive-assessment-copy h2,
.ads-intensive-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-intensive-intro p,
.ads-intensive-expectations p,
.ads-intensive-assessment-copy p,
.ads-intensive-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


.ads-intensive-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.8), rgba(18, 20, 26, 0.8)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-intensive-hero-content {
    max-width: 760px;
}

.ads-intensive-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.05;
}

.ads-intensive-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-intensive-hero-actions,
.ads-intensive-options-actions,
.ads-intensive-area-actions,
.ads-intensive-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-intensive-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-intensive-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

/* SUITABLE FOR */

.ads-intensive-suitable {
    background: #f4f7f9;
}

.ads-intensive-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-intensive-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
}

.ads-intensive-number {
    display: block;
    margin-bottom: 16px;
    color: rgba(243, 116, 35, 0.35);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

.ads-intensive-card h3,
.ads-intensive-option-card h3,
.ads-intensive-learning-card h3,
.ads-intensive-transmission-card h3,
.ads-intensive-area-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-intensive-card p,
.ads-intensive-option-card p,
.ads-intensive-learning-card p,
.ads-intensive-transmission-card p,
.ads-intensive-area-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* ASSESSMENT */

.ads-intensive-assessment {
    background: #ffffff;
}

.ads-intensive-assessment-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 48px;
    align-items: center;
    padding: 46px;
    background: #12141a;
    border-radius: 10px;
}

.ads-intensive-assessment-copy h2,
.ads-intensive-assessment-copy p {
    color: #ffffff;
}

.ads-intensive-assessment-points {
    display: grid;
    gap: 14px;
}

.ads-intensive-assessment-point {
    padding: 18px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 6px;
}

.ads-intensive-assessment-point strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-intensive-assessment-point span {
    color: #5b616c;
    line-height: 1.6;
}

/* COURSE OPTIONS */

.ads-intensive-options {
    background: #f4f7f9;
}

.ads-intensive-options-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-intensive-option-card {
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-intensive-option-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-intensive-check-list {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.ads-intensive-check-list li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 25px;
    color: #525965;
}

.ads-intensive-check-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

.ads-intensive-options-actions {
    justify-content: center;
    margin-top: 30px;
}

/* LEARNING */

.ads-intensive-learning {
    background: #ffffff;
}

.ads-intensive-learning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-intensive-learning-card {
    padding: 28px;
    background: #f4f7f9;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

/* EXPECTATIONS */

.ads-intensive-expectations {
    background: #f4f7f9;
}

/* TRANSMISSION */

.ads-intensive-transmission {
    background: #ffffff;
}

.ads-intensive-transmission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-intensive-transmission-card {
    padding: 34px;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-intensive-transmission-card .ads-text-link {
    display: inline-block;
    margin-top: 18px;
}

/* AVAILABILITY */

.ads-intensive-availability {
    background: #f4f7f9;
}

.ads-intensive-area-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-intensive-area-card {
    padding: 28px;
    background: #ffffff;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-intensive-area-actions {
    justify-content: center;
    margin-top: 30px;
}

/* FAQ */

.ads-intensive-faq {
    background: #ffffff;
}

/* FINAL CTA */

.ads-intensive-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-intensive-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-intensive-final-cta h2,
.ads-intensive-final-cta p {
    color: #ffffff;
}

.ads-intensive-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-intensive-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-intensive-options-grid,
    .ads-intensive-learning-grid,
    .ads-intensive-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-intensive-assessment-panel {
        grid-template-columns: 1fr;
    }

    .ads-intensive-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-intensive-container {
        width: calc(100% - 36px);
    }

    .ads-intensive-section {
        padding: 58px 0;
    }

    .ads-intensive-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-intensive-hero h1 {
        font-size: 42px;
    }

    .ads-intensive-hero p {
        font-size: 18px;
    }

    .ads-intensive-hero-actions,
    .ads-intensive-options-actions,
    .ads-intensive-area-actions,
    .ads-intensive-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-intensive-card-grid,
    .ads-intensive-options-grid,
    .ads-intensive-learning-grid,
    .ads-intensive-transmission-grid,
    .ads-intensive-area-grid {
        grid-template-columns: 1fr;
    }

    .ads-intensive-card,
    .ads-intensive-option-card,
    .ads-intensive-learning-card,
    .ads-intensive-transmission-card,
    .ads-intensive-area-card {
        padding: 24px;
    }

    .ads-intensive-assessment-panel {
        padding: 26px;
    }

    .ads-intensive-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   MANUAL INTENSIVE COURSE PRICES PAGE
================================================== */

.ads-intensive-prices-page,
.ads-intensive-prices-page * {
    box-sizing: border-box;
}

.ads-intensive-prices-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-intensive-prices-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-intensive-prices-narrow {
    max-width: 820px;
}

.ads-intensive-prices-section {
    padding: 80px 0;
}

.ads-intensive-prices-intro,
.ads-intensive-prices-test-day {
    text-align: center;
}

.ads-intensive-prices-intro h2,
.ads-intensive-prices-test-day h2,
.ads-intensive-prices-assessment-panel h2,
.ads-intensive-prices-automatic-panel h2,
.ads-intensive-prices-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-intensive-prices-intro p,
.ads-intensive-prices-test-day p,
.ads-intensive-prices-assessment-panel p,
.ads-intensive-prices-automatic-panel p,
.ads-intensive-prices-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


.ads-intensive-prices-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.82), rgba(18, 20, 26, 0.82)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-intensive-prices-hero-content {
    max-width: 760px;
}

.ads-intensive-prices-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.05;
}

.ads-intensive-prices-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-intensive-prices-hero-actions,
.ads-intensive-prices-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-intensive-prices-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-intensive-prices-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}


.ads-intensive-prices-intro {
    background: #ffffff;
}

/* PRICE PACKAGES */

.ads-intensive-prices-packages {
    background: #f4f7f9;
}

.ads-intensive-test-notice {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 18px;
    max-width: 900px;
    margin: 0 auto 36px;
    padding: 24px;
    background: #fff7f1;
    border: 1px solid rgba(243, 116, 35, 0.3);
    border-left: 5px solid #f37423;
    border-radius: 8px;
}

.ads-intensive-test-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 21px;
    font-weight: 900;
}

.ads-intensive-test-notice h3 {
    margin: 0 0 8px;
    color: #12141a;
    font-size: 20px;
}

.ads-intensive-test-notice p {
    margin: 0 0 8px;
    color: #555c67;
    line-height: 1.7;
}

.ads-intensive-test-notice p:last-child {
    margin-bottom: 0;
}

.ads-intensive-prices-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.ads-intensive-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 9px;
}

.ads-intensive-price-featured {
    border-color: #f37423;
    box-shadow: 0 18px 38px rgba(18, 20, 26, 0.1);
}

.ads-intensive-price-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 6px 10px;
    color: #ffffff;
    background: #f37423;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.ads-intensive-price-label {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-intensive-price-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 24px;
    line-height: 1.25;
}

.ads-intensive-price-audience {
    min-height: 82px;
    margin: 0 0 22px;
    color: #5b616c;
    line-height: 1.7;
}

.ads-intensive-price-figure {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    color: #12141a;
}

.ads-intensive-price-currency {
    margin-top: 6px;
    font-size: 28px;
    font-weight: 800;
}

.ads-intensive-price-figure strong {
    font-size: 62px;
    line-height: 1;
}

.ads-intensive-price-detail {
    display: block;
    margin-bottom: 22px;
    color: #6a717b;
    font-size: 14px;
    font-weight: 700;
}

.ads-intensive-price-list {
    flex-grow: 1;
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}

.ads-intensive-price-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 25px;
    color: #525965;
    line-height: 1.55;
}

.ads-intensive-price-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

/* ASSESSMENT */

.ads-intensive-prices-assessment {
    background: #ffffff;
}

.ads-intensive-prices-assessment-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 48px;
    align-items: center;
    padding: 46px;
    color: #ffffff;
    background: #12141a;
    border-radius: 10px;
}

.ads-intensive-prices-assessment-panel h2,
.ads-intensive-prices-assessment-panel p {
    color: #ffffff;
}

.ads-intensive-prices-assessment-list {
    display: grid;
    gap: 14px;
}

.ads-intensive-prices-assessment-list > div {
    padding: 18px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 6px;
}

.ads-intensive-prices-assessment-list strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-intensive-prices-assessment-list span {
    color: #5b616c;
    line-height: 1.6;
}

/* INCLUDED */

.ads-intensive-prices-included {
    background: #f4f7f9;
}

.ads-intensive-prices-included-grid,
.ads-intensive-prices-excluded-grid,
.ads-intensive-prices-payment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-intensive-prices-included-card,
.ads-intensive-prices-excluded-card,
.ads-intensive-prices-payment-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
}

.ads-intensive-prices-included-card {
    border-top: 4px solid #f37423;
}

.ads-intensive-prices-included-card h3,
.ads-intensive-prices-excluded-card h3,
.ads-intensive-prices-payment-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-intensive-prices-included-card p,
.ads-intensive-prices-excluded-card p,
.ads-intensive-prices-payment-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* NOT INCLUDED */

.ads-intensive-prices-excluded {
    background: #ffffff;
}

.ads-intensive-prices-excluded-card {
    background: #fff7f1;
    border-left: 4px solid #f37423;
}

/* TEST DAY */

.ads-intensive-prices-test-day {
    background: #f4f7f9;
}

/* PAYMENT */

.ads-intensive-prices-payment {
    background: #ffffff;
}

.ads-intensive-prices-payment-card span {
    display: inline-block;
    margin-bottom: 14px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

/* AUTOMATIC COURSES */

.ads-intensive-prices-automatic {
    background: #12141a;
}

.ads-intensive-prices-automatic-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding: 44px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-intensive-prices-automatic-panel p {
    max-width: 700px;
    margin-bottom: 0;
}

/* FAQ */

.ads-intensive-prices-faq {
    background: #f4f7f9;
}

/* FINAL CTA */

.ads-intensive-prices-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-intensive-prices-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-intensive-prices-final-cta h2,
.ads-intensive-prices-final-cta p {
    color: #ffffff;
}

.ads-intensive-prices-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-intensive-prices-included-grid,
    .ads-intensive-prices-excluded-grid,
    .ads-intensive-prices-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-intensive-prices-assessment-panel {
        grid-template-columns: 1fr;
    }

    .ads-intensive-prices-automatic-panel,
    .ads-intensive-prices-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-intensive-prices-container {
        width: calc(100% - 36px);
    }

    .ads-intensive-prices-section {
        padding: 58px 0;
    }

    .ads-intensive-prices-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-intensive-prices-hero h1 {
        font-size: 42px;
    }

    .ads-intensive-prices-hero p {
        font-size: 18px;
    }

    .ads-intensive-prices-hero-actions,
    .ads-intensive-prices-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-intensive-prices-grid,
    .ads-intensive-prices-included-grid,
    .ads-intensive-prices-excluded-grid,
    .ads-intensive-prices-payment-grid {
        grid-template-columns: 1fr;
    }

    .ads-intensive-price-card,
    .ads-intensive-prices-included-card,
    .ads-intensive-prices-excluded-card,
    .ads-intensive-prices-payment-card {
        padding: 24px;
    }

    .ads-intensive-price-audience {
        min-height: auto;
    }

    .ads-intensive-price-figure strong {
        font-size: 54px;
    }

    .ads-intensive-price-badge {
        position: static;
        align-self: flex-start;
        margin-bottom: 12px;
    }

    .ads-intensive-test-notice {
        grid-template-columns: 1fr;
    }

    .ads-intensive-prices-assessment-panel,
    .ads-intensive-prices-automatic-panel {
        padding: 26px;
    }

    .ads-intensive-prices-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   AUTOMATIC INTENSIVE COURSE PRICES PAGE
================================================== */

.ads-auto-intensive-prices-page,
.ads-auto-intensive-prices-page * {
    box-sizing: border-box;
}

.ads-auto-intensive-prices-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}


.ads-auto-intensive-prices-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.82), rgba(18, 20, 26, 0.82)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-auto-intensive-prices-hero-content {
    max-width: 760px;
}

.ads-auto-intensive-prices-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.05;
}

.ads-auto-intensive-prices-hero p {
    max-width: 680px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-auto-intensive-prices-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-auto-intensive-prices-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-auto-intensive-prices-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}


.ads-auto-intensive-prices-intro {
    text-align: center;
    background: #ffffff;
}

.ads-auto-intensive-prices-intro h2,
.ads-auto-intensive-test-day h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-auto-intensive-prices-intro p,
.ads-auto-intensive-test-day p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}

/* PRICE PACKAGES */

.ads-auto-intensive-prices-packages {
    background: #f4f7f9;
}

/* ASSESSMENT */

.ads-auto-intensive-assessment {
    background: #ffffff;
}

/* AUTOMATIC BENEFITS */

.ads-auto-intensive-benefits {
    background: #f4f7f9;
}

/* INCLUDED */

.ads-auto-intensive-included {
    background: #ffffff;
}

/* EXCLUDED */

.ads-auto-intensive-excluded {
    background: #f4f7f9;
}

/* TEST-DAY VEHICLE */

.ads-auto-intensive-test-day {
    text-align: center;
    background: #ffffff;
}

/* PAYMENT */

.ads-auto-intensive-payment {
    background: #f4f7f9;
}

/* MANUAL COURSE PANEL */

.ads-auto-intensive-manual {
    background: #12141a;
}

/* FAQ */

.ads-auto-intensive-faq {
    background: #ffffff;
}

/* FINAL CTA */

.ads-auto-intensive-prices-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-auto-intensive-prices-final-cta h2 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-auto-intensive-prices-final-cta p {
    max-width: 650px;
    margin: 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.75;
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-auto-intensive-prices-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-auto-intensive-prices-hero h1 {
        font-size: 42px;
    }

    .ads-auto-intensive-prices-hero p {
        font-size: 18px;
    }

    .ads-auto-intensive-prices-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-auto-intensive-prices-final-cta {
        padding: 54px 0;
    }
}
.ads-choice-image-block {
    max-width: 360px;
    margin: 36px auto 0;
    text-align: center;
}

.ads-choice-image-block img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.12);
}

.ads-choice-image-block figcaption {
    margin-top: 12px;
    color: #666d77;
    font-size: 14px;
    line-height: 1.6;
}
/* ==================================================
   AUTOMATIC OR MANUAL COMPARISON PAGE
================================================== */

.ads-choice-page,
.ads-choice-page * {
    box-sizing: border-box;
}

.ads-choice-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-choice-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-choice-narrow {
    max-width: 820px;
}

.ads-choice-section {
    padding: 80px 0;
}

.ads-choice-intro,
.ads-choice-test {
    text-align: center;
}

.ads-choice-intro h2,
.ads-choice-test h2,
.ads-choice-licence-panel h2,
.ads-choice-intensive-panel h2,
.ads-choice-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-choice-intro p,
.ads-choice-test p,
.ads-choice-licence-panel p,
.ads-choice-intensive-panel p,
.ads-choice-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}


.ads-choice-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 90px 0;
    color: #ffffff;
    background:
        linear-gradient(rgba(18, 20, 26, 0.8), rgba(18, 20, 26, 0.8)),
        url("http://localhost/ads-local/wp-content/uploads/2026/01/Andrews-Driving-Colwyn-Bay.webp")
        center / cover no-repeat;
}

.ads-choice-hero-content {
    max-width: 780px;
}

.ads-choice-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(42px, 5.5vw, 66px);
    line-height: 1.05;
}

.ads-choice-hero p {
    max-width: 700px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.ads-choice-hero-actions,
.ads-choice-card-actions,
.ads-choice-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads-choice-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.ads-choice-hero-pills span {
    padding: 7px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}


.ads-choice-intro {
    background: #ffffff;
}

/* MAIN COMPARISON */

.ads-choice-comparison {
    background: #f4f7f9;
}

.ads-choice-comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-choice-card {
    display: flex;
    flex-direction: column;
    padding: 36px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 9px;
}

.ads-choice-card-featured {
    border-color: #f37423;
    box-shadow: 0 18px 38px rgba(18, 20, 26, 0.1);
}

.ads-choice-label {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-choice-card h3,
.ads-choice-reason-card h3,
.ads-choice-cost-card h3,
.ads-choice-switching-card h3,
.ads-choice-decision-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 22px;
    line-height: 1.3;
}

.ads-choice-card p,
.ads-choice-reason-card p,
.ads-choice-cost-card p,
.ads-choice-switching-card p,
.ads-choice-decision-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

.ads-choice-list {
    margin: 24px 0 28px;
    padding: 0;
    list-style: none;
}

.ads-choice-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 25px;
    color: #525965;
    line-height: 1.6;
}

.ads-choice-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: #f37423;
    font-weight: 900;
}

.ads-choice-card-actions {
    margin-top: auto;
}

/* LICENCE PANEL */

.ads-choice-licence {
    background: #ffffff;
}

.ads-choice-licence-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 48px;
    align-items: center;
    padding: 46px;
    color: #ffffff;
    background: #12141a;
    border-radius: 10px;
}

.ads-choice-licence-panel h2,
.ads-choice-licence-panel p {
    color: #ffffff;
}

.ads-choice-licence-points {
    display: grid;
    gap: 14px;
}

.ads-choice-licence-points > div {
    padding: 20px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 6px;
}

.ads-choice-licence-points strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-choice-licence-points span {
    color: #5b616c;
    line-height: 1.6;
}

/* REASONS */

.ads-choice-manual-suit {
    background: #f4f7f9;
}

.ads-choice-auto-suit {
    background: #ffffff;
}

.ads-choice-reasons-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-choice-reason-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-choice-auto-suit .ads-choice-reason-card {
    background: #f4f7f9;
}

/* IMAGES */

.ads-choice-image-block {
    max-width: 900px;
    margin: 38px auto 0;
    text-align: center;
}

.ads-choice-image-block img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.12);
}

.ads-choice-image-block figcaption {
    margin-top: 12px;
    color: #666d77;
    font-size: 14px;
    line-height: 1.6;
}

/* COSTS */

.ads-choice-costs {
    background: #f4f7f9;
}

.ads-choice-cost-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-choice-cost-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-choice-price {
    margin: 22px 0 14px;
    color: #12141a;
}

.ads-choice-price strong {
    display: block;
    font-size: 48px;
    line-height: 1;
}

.ads-choice-price span {
    display: block;
    margin-top: 7px;
    color: #686f79;
    font-weight: 700;
}

.ads-choice-cost-card .ads-text-link {
    display: inline-block;
    margin-top: 18px;
}

.ads-choice-cost-note {
    max-width: 850px;
    margin: 28px auto 0;
    padding: 20px 24px;
    background: #fff7f1;
    border-left: 4px solid #f37423;
    border-radius: 6px;
    text-align: center;
}

.ads-choice-cost-note p {
    margin: 0;
    color: #555c67;
    line-height: 1.7;
}

/* PRACTICAL TEST */

.ads-choice-test {
    background: #ffffff;
}

/* SWITCHING */

.ads-choice-switching {
    background: #f4f7f9;
}

.ads-choice-switching-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-choice-switching-card {
    padding: 28px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

/* QUICK DECISION */

.ads-choice-decision {
    background: #ffffff;
}

.ads-choice-decision-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ads-choice-decision-card {
    padding: 34px;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
}

.ads-choice-decision-card .ads-choice-list {
    margin-bottom: 0;
}

/* INTENSIVE PANEL */

.ads-choice-intensive {
    background: #12141a;
}

.ads-choice-intensive-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding: 44px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-choice-intensive-panel p {
    max-width: 700px;
    margin-bottom: 0;
}

/* FAQ */

.ads-choice-faq {
    background: #f4f7f9;
}

/* FINAL CTA */

.ads-choice-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-choice-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-choice-final-cta h2,
.ads-choice-final-cta p {
    color: #ffffff;
}

.ads-choice-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-choice-reasons-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-choice-licence-panel {
        grid-template-columns: 1fr;
    }

    .ads-choice-intensive-panel,
    .ads-choice-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-choice-container {
        width: calc(100% - 36px);
    }

    .ads-choice-section {
        padding: 58px 0;
    }

    .ads-choice-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-choice-hero h1 {
        font-size: 40px;
    }

    .ads-choice-hero p {
        font-size: 18px;
    }

    .ads-choice-hero-actions,
    .ads-choice-card-actions,
    .ads-choice-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-choice-comparison-grid,
    .ads-choice-reasons-grid,
    .ads-choice-cost-grid,
    .ads-choice-switching-grid,
    .ads-choice-decision-grid {
        grid-template-columns: 1fr;
    }

    .ads-choice-card,
    .ads-choice-reason-card,
    .ads-choice-cost-card,
    .ads-choice-switching-card,
    .ads-choice-decision-card {
        padding: 24px;
    }

    .ads-choice-licence-panel,
    .ads-choice-intensive-panel {
        padding: 26px;
    }

    .ads-choice-price strong {
        font-size: 42px;
    }

    .ads-choice-final-cta {
        padding: 54px 0;
    }
}
.ads-choice-page .ads-choice-image-block {
    width: 100%;
    max-width: 560px !important;
    margin: 32px auto 0;
}

.ads-choice-page .ads-choice-image-block img {
    width: 100%;
    max-width: 560px !important;
    height: auto;
    margin: 0 auto;
}
/* DRIVING INFO HUB */

.ads-choice-info-hub {
    background: #ffffff;
}

.ads-choice-info-hub-panel {
    padding: 42px 34px;
    color: #ffffff;
    background: #12141a;
    border-radius: 18px;
    text-align: center;
}

.ads-choice-info-hub-panel h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(26px, 3.5vw, 36px);
    line-height: 1.2;
}

.ads-choice-info-hub-panel p {
    max-width: 900px;
    margin: 0 auto 22px;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.7;
}

@media (max-width: 700px) {
    .ads-choice-info-hub-panel {
        padding: 32px 22px;
        border-radius: 12px;
    }

    .ads-choice-info-hub-panel h2 {
        font-size: 27px;
    }
}
/* ==================================================
   AUTOMATIC OR MANUAL: EXTRA SEO SECTIONS
================================================== */

/* ELECTRIC CARS */

.ads-choice-electric {
    background: #ffffff;
}

.ads-choice-split-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    align-items: center;
    gap: 48px;
    padding: 46px;
    color: #ffffff;
    background: #12141a;
    border-radius: 10px;
}

.ads-choice-split-panel h2 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-choice-split-panel p {
    margin: 0 0 16px;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.75;
}

.ads-choice-split-points {
    display: grid;
    gap: 14px;
}

.ads-choice-split-points > div {
    padding: 20px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 6px;
}

.ads-choice-split-points strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-choice-split-points span {
    color: #5b616c;
    line-height: 1.6;
}

/* WORK AND VEHICLE CHOICE */

.ads-choice-work {
    background: #f4f7f9;
}

.ads-choice-work-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-choice-work-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-choice-work-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-choice-work-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* RELATED GUIDES */

.ads-choice-related {
    background: #ffffff;
}

.ads-choice-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-choice-related-card {
    display: block;
    padding: 28px;
    color: inherit !important;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-choice-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-choice-related-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
}

.ads-choice-related-card p {
    margin: 0 0 18px;
    color: #5b616c;
    line-height: 1.7;
}

.ads-choice-related-card span {
    color: #d95f12;
    font-weight: 800;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-choice-split-panel {
        grid-template-columns: 1fr;
    }

    .ads-choice-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-choice-split-panel {
        padding: 26px;
    }

    .ads-choice-work-grid,
    .ads-choice-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-choice-work-card,
    .ads-choice-related-card {
        padding: 24px;
    }
}
/* ==================================================
   DRIVING INFO HUB PAGE
================================================== */

.ads-info-hub-page,
.ads-info-hub-page * {
    box-sizing: border-box;
}

.ads-info-hub-page {
    overflow: hidden;
    color: #2f3540;
    background: #ffffff;
}

.ads-info-hub-container {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

.ads-info-hub-narrow {
    max-width: 820px;
}

.ads-info-hub-section {
    padding: 80px 0;
}

.ads-info-hub-intro {
    text-align: center;
}

.ads-info-hub-intro h2,
.ads-info-hub-feature-panel h2,
.ads-info-hub-services-panel h2,
.ads-info-hub-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.ads-info-hub-intro p,
.ads-info-hub-feature-panel p,
.ads-info-hub-services-panel p,
.ads-info-hub-final-cta p {
    margin: 0 0 16px;
    color: #5b616c;
    font-size: 17px;
    line-height: 1.75;
}

/* =========================================================
   DRIVING INFORMATION HUB HERO
   Compact slanted style
   ========================================================= */

.ads-info-hub-hero {
    min-height: 255px;
    display: flex;
    align-items: center;
    padding: 40px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(243, 116, 35, 0.18),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #12141a 0%,
            #1d2028 62%,
            #2c3039 100%
        );
    color: var(--ads-white);
}

.ads-info-hub-hero .ads-info-hub-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-info-hub-hero-content {
    max-width: 800px;
}

.ads-info-hub-hero-content > .ads-section-kicker {
    display: inline-block;
    margin: 0 0 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-info-hub-hero h1 {
    width: fit-content;
    max-width: 900px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.7rem, 3.4vw, 2.85rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-info-hub-hero-content > p {
    max-width: 700px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-info-hub-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 19px;
}

.ads-info-hub-hero .ads-btn {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
}

.ads-info-hub-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-info-hub-hero-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

@media (max-width: 700px) {
    .ads-info-hub-hero {
        min-height: auto;
        padding: 34px 0;
    }

    .ads-info-hub-hero .ads-info-hub-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-info-hub-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.45rem, 6.8vw, 1.95rem);
        line-height: 1.12;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        transform: rotate(0.3deg);
    }

    .ads-info-hub-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-info-hub-hero .ads-btn {
        width: 100%;
    }
}


.ads-info-hub-hero p {
    max-width: 700px;
    margin: 0 0 28px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}


.ads-info-hub-feature-actions,
.ads-info-hub-services-actions,
.ads-info-hub-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}


/* QUICK LINKS */

.ads-info-hub-quick-links {
    background: #f4f7f9;
}

.ads-info-hub-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-info-hub-quick-card {
    display: block;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 8px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-info-hub-quick-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-info-hub-quick-card > span {
    display: block;
    margin-bottom: 14px;
    color: rgba(243, 116, 35, 0.4);
    font-size: 30px;
    font-weight: 900;
}

.ads-info-hub-quick-card h3,
.ads-info-hub-guide-card h3,
.ads-info-hub-option-card h3,
.ads-info-hub-skill-card h3,
.ads-info-hub-new-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-info-hub-quick-card p,
.ads-info-hub-guide-card p,
.ads-info-hub-option-card p,
.ads-info-hub-skill-card p,
.ads-info-hub-new-card p {
    margin: 0;
    color: #5b616c;
    line-height: 1.7;
}

/* GUIDE CARDS */

.ads-info-hub-guides {
    background: #ffffff;
}

.ads-info-hub-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-info-hub-guide-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ads-info-hub-guide-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-radius: 8px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-info-hub-guide-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-info-hub-guide-tag,
.ads-info-hub-option-label {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-info-hub-guide-card strong {
    display: inline-block;
    margin-top: auto;
    padding-top: 20px;
    color: #d95f12;
}

/* LESSON OPTIONS */

.ads-info-hub-options {
    background: #f4f7f9;
}

.ads-info-hub-option-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-info-hub-option-card {
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 8px;
}

.ads-info-hub-option-card .ads-text-link {
    display: inline-block;
    margin-top: 18px;
}

/* THEORY FEATURE */

.ads-info-hub-theory {
    background: #ffffff;
}

.ads-info-hub-feature-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    align-items: center;
    gap: 48px;
    padding: 46px;
    color: #ffffff;
    background: #12141a;
    border-radius: 10px;
}

.ads-info-hub-feature-panel h2,
.ads-info-hub-feature-panel p {
    color: #ffffff;
}

.ads-info-hub-feature-points {
    display: grid;
    gap: 14px;
}

.ads-info-hub-feature-points > div {
    padding: 20px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 6px;
}

.ads-info-hub-feature-points strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-info-hub-feature-points span {
    color: #5b616c;
    line-height: 1.6;
}

/* PRACTICAL TEST */

.ads-info-hub-practical {
    background: #f4f7f9;
}

.ads-info-hub-test-notice {
    max-width: 900px;
    margin: 32px auto 0;
    padding: 24px;
    background: #fff7f1;
    border: 1px solid rgba(243, 116, 35, 0.3);
    border-left: 5px solid #f37423;
    border-radius: 8px;
}

.ads-info-hub-test-notice h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
}

.ads-info-hub-test-notice p {
    margin: 0;
    color: #555c67;
    line-height: 1.7;
}

/* DRIVING SKILLS */

.ads-info-hub-skills {
    background: #ffffff;
}

.ads-info-hub-skills-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-info-hub-skill-card {
    padding: 26px;
    background: #f4f7f9;
    border-top: 4px solid #f37423;
    border-radius: 7px;
}

.ads-info-hub-skill-card > span {
    display: block;
    margin-bottom: 14px;
    color: rgba(243, 116, 35, 0.4);
    font-size: 30px;
    font-weight: 900;
}

/* NEW DRIVERS */

.ads-info-hub-new-drivers {
    background: #f4f7f9;
}

.ads-info-hub-new-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.ads-info-hub-new-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e3e7ec;
    border-left: 4px solid #f37423;
    border-radius: 7px;
}

/* SERVICES PANEL */

.ads-info-hub-services {
    background: #12141a;
}

.ads-info-hub-services-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding: 44px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-info-hub-services-panel p {
    max-width: 700px;
    margin-bottom: 0;
}

/* FAQ */

.ads-info-hub-faq {
    background: #ffffff;
}

/* FINAL CTA */

.ads-info-hub-final-cta {
    padding: 64px 0;
    color: #ffffff;
    background: #12141a;
}

.ads-info-hub-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ads-info-hub-final-cta h2,
.ads-info-hub-final-cta p {
    color: #ffffff;
}

.ads-info-hub-final-cta p {
    max-width: 650px;
    margin-bottom: 0;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-info-hub-quick-grid,
    .ads-info-hub-guide-grid,
    .ads-info-hub-option-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-info-hub-skills-grid,
    .ads-info-hub-new-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-info-hub-feature-panel {
        grid-template-columns: 1fr;
    }

    .ads-info-hub-services-panel,
    .ads-info-hub-final-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-info-hub-container {
        width: calc(100% - 36px);
    }

    .ads-info-hub-section {
        padding: 58px 0;
    }

    .ads-info-hub-hero {
        min-height: auto;
        padding: 72px 0;
    }

    .ads-info-hub-hero h1 {
        font-size: 40px;
    }

    .ads-info-hub-hero p {
        font-size: 18px;
    }

    .ads-info-hub-hero-actions,
    .ads-info-hub-feature-actions,
    .ads-info-hub-services-actions,
    .ads-info-hub-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-info-hub-quick-grid,
    .ads-info-hub-guide-grid,
    .ads-info-hub-option-grid,
    .ads-info-hub-skills-grid,
    .ads-info-hub-new-grid {
        grid-template-columns: 1fr;
    }

    .ads-info-hub-quick-card,
    .ads-info-hub-guide-card,
    .ads-info-hub-option-card,
    .ads-info-hub-skill-card,
    .ads-info-hub-new-card {
        padding: 24px;
    }

    .ads-info-hub-feature-panel,
    .ads-info-hub-services-panel {
        padding: 26px;
    }

    .ads-info-hub-final-cta {
        padding: 54px 0;
    }
}
/* ==================================================
   LEARNER RESOURCE LIBRARY
================================================== */

.ads-resource-library {
    background: #ffffff;
}

.ads-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.ads-resource-bucket {
    padding: 30px;
    background: #f4f7f9;
    border: 1px solid #e3e7ec;
    border-top: 4px solid #f37423;
    border-radius: 9px;
}

.ads-resource-bucket h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    color: #12141a;
    font-size: 22px;
    line-height: 1.3;
}

.ads-resource-bucket h3 span {
    font-size: 24px;
}

.ads-resource-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-resource-list li {
    margin: 0;
    border-bottom: 1px solid #dfe4e8;
}

.ads-resource-list li:last-child {
    border-bottom: 0;
}

.ads-resource-list a {
    position: relative;
    display: block;
    padding: 12px 24px 12px 0;
    color: #343a44 !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
    text-decoration: none !important;
    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.ads-resource-list a::after {
    position: absolute;
    top: 50%;
    right: 2px;
    content: "›";
    color: #f37423;
    font-size: 22px;
    font-weight: 800;
    transform: translateY(-52%);
}

.ads-resource-list a:hover,
.ads-resource-list a:focus-visible {
    padding-left: 5px;
    color: #d95f12 !important;
}

.ads-resource-list a:focus-visible {
    outline: 2px solid #f37423;
    outline-offset: 3px;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-resource-grid {
        grid-template-columns: 1fr;
    }

    .ads-resource-bucket {
        padding: 24px;
    }

    .ads-resource-bucket h3 {
        font-size: 20px;
    }
}
/* ==================================================
   HOW TO BOOK YOUR DRIVING TEST
================================================== */

.ads-book-test-page,
.ads-book-test-page * {
    box-sizing: border-box;
}

.ads-book-test-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-book-test-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-book-test-hero {
    padding: 80px 0 70px;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.98),
            rgba(35, 39, 48, 0.96)
        );
    color: #ffffff;
}

.ads-book-test-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-book-test-hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(40px, 6vw, 64px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-book-test-hero h1 span {
    color: #f37423;
}

.ads-book-test-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 19px;
    line-height: 1.65;
}

.ads-book-test-hero-line {
    width: 90px;
    height: 5px;
    margin-top: 22px;
    background: #f37423;
    border-radius: 999px;
}

/* MAIN */

.ads-book-test-main {
    padding: 70px 0 80px;
}

.ads-book-test-main section {
    margin-bottom: 34px;
}

/* RULES PANEL */

.ads-book-test-rules-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 36px;
    padding: 38px;
    color: #ffffff;
    background: #12141a;
    border: 1px solid rgba(243, 116, 35, 0.55);
    border-radius: 15px;
    box-shadow: 0 18px 40px rgba(18, 20, 26, 0.14);
}

.ads-book-test-panel-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #f37423;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-book-test-rules-panel h2 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: clamp(26px, 4vw, 36px);
    line-height: 1.2;
}

.ads-book-test-rules-panel p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.7;
}

.ads-book-test-rules-panel p:last-child {
    margin-bottom: 0;
}

.ads-book-test-rules-action {
    min-width: 220px;
    text-align: center;
}

/* NOTICES */

.ads-book-test-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: flex-start;
    padding: 26px;
    border-radius: 13px;
}

.ads-book-test-notice-orange {
    background: #fff7ee;
    border: 2px solid #f37423;
}

.ads-book-test-notice-warning {
    background: #ffffff;
    border: 2px solid #e24a4a;
}

.ads-book-test-notice-icon {
    font-size: 38px;
    line-height: 1;
}

.ads-book-test-notice h2 {
    margin: 0 0 8px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
    text-transform: uppercase;
}

.ads-book-test-notice-orange h2 {
    color: #d95f12;
}

.ads-book-test-notice-warning h2 {
    color: #d63f3f;
}

.ads-book-test-notice p {
    margin: 0 0 10px;
    color: #4f5661;
    line-height: 1.65;
}

.ads-book-test-notice p:last-child {
    margin-bottom: 0;
}

.ads-book-test-notice a {
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-book-test-notice a:hover {
    text-decoration: underline;
}

/* CONTENT CARDS */

.ads-book-test-card {
    padding: 34px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 5px solid #f37423;
    border-radius: 13px;
    box-shadow: 0 10px 28px rgba(18, 20, 26, 0.06);
}

.ads-book-test-card h2,
.ads-book-test-official h2,
.ads-book-test-related h2,
.ads-book-test-steps h2 {
    margin: 0 0 14px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.2;
}

.ads-book-test-card p,
.ads-book-test-official p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.7;
}

.ads-book-test-checklist {
    display: grid;
    gap: 12px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.ads-book-test-checklist li {
    position: relative;
    padding-left: 32px;
    color: #3f4650;
    line-height: 1.6;
}

.ads-book-test-checklist li::before {
    position: absolute;
    top: 1px;
    left: 0;
    content: "✓";
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* STEPS */

.ads-book-test-steps {
    padding: 50px 0 10px;
}

.ads-book-test-step-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-book-test-step {
    position: relative;
    padding: 30px 26px 26px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(18, 20, 26, 0.05);
}

.ads-book-test-step-number {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
}

.ads-book-test-step h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-book-test-step p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* OFFICIAL LINKS */

.ads-book-test-official {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 36px;
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-book-test-official-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

/* RELATED GUIDES */

.ads-book-test-related {
    padding-top: 24px;
}

.ads-book-test-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-book-test-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-book-test-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-book-test-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-book-test-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-book-test-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-book-test-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-book-test-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-book-test-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-book-test-back a:hover {
    color: #d95f12;
}

/* BUTTON SUPPORT */

.ads-book-test-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-book-test-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-book-test-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-book-test-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-book-test-page .ads-btn-outline {
    color: #12141a !important;
    background: #ffffff;
    border: 2px solid #12141a;
}

.ads-book-test-page .ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-book-test-rules-panel,
    .ads-book-test-official {
        grid-template-columns: 1fr;
    }

    .ads-book-test-rules-action {
        min-width: 0;
        text-align: left;
    }

    .ads-book-test-official-actions {
        justify-content: flex-start;
    }

    .ads-book-test-step-grid,
    .ads-book-test-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-book-test-container {
        width: calc(100% - 34px);
    }

    .ads-book-test-hero {
        padding: 64px 0 56px;
    }

    .ads-book-test-hero h1 {
        font-size: 39px;
        letter-spacing: -1.4px;
    }

    .ads-book-test-hero p {
        font-size: 17px;
    }

    .ads-book-test-main {
        padding: 50px 0 60px;
    }

    .ads-book-test-rules-panel,
    .ads-book-test-card,
    .ads-book-test-official {
        padding: 26px;
    }

    .ads-book-test-notice {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .ads-book-test-notice-icon {
        font-size: 32px;
    }

    .ads-book-test-step-grid,
    .ads-book-test-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-book-test-official-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-book-test-official-actions .ads-btn,
    .ads-book-test-rules-action .ads-btn {
        width: 100%;
    }

    .ads-book-test-step {
        padding: 26px 22px;
    }
}
/* ==================================================
   AMEND DRIVING TEST BOOKING
================================================== */

.ads-amend-test-page,
.ads-amend-test-page * {
    box-sizing: border-box;
}

.ads-amend-test-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-amend-test-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


/* =========================================================
   AMEND DRIVING TEST HERO
   Compact slanted style
   ========================================================= */

.ads-amend-test-hero {
    min-height: 265px;
    display: flex;
    align-items: center;
    padding: 42px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(243, 116, 35, 0.18),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #12141a 0%,
            #1d2028 62%,
            #2c3039 100%
        );
    color: var(--ads-white);
}

.ads-amend-test-hero .ads-amend-test-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-amend-test-label {
    display: inline-block;
    margin: 0 0 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-amend-test-hero h1 {
    width: fit-content;
    max-width: 850px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-amend-test-hero h1 span {
    color: var(--ads-white);
}

.ads-amend-test-hero > .ads-amend-test-container > p {
    max-width: 720px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-amend-test-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 19px;
}

.ads-amend-test-hero .ads-btn {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
}

.ads-amend-test-hero-line {
    display: none;
}

@media (max-width: 700px) {
    .ads-amend-test-hero {
        min-height: auto;
        padding: 36px 0;
    }

    .ads-amend-test-hero .ads-amend-test-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-amend-test-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.55rem, 7.5vw, 2.1rem);
        line-height: 1.12;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        transform: rotate(0.3deg);
    }

    .ads-amend-test-hero h1 span {
        display: block;
    }

    .ads-amend-test-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-amend-test-hero .ads-btn {
        width: 100%;
    }
}


.ads-amend-test-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}


/* MAIN */

.ads-amend-test-main {
    padding: 72px 0 84px;
}

.ads-amend-test-main section {
    margin-bottom: 38px;
}

/* SHARED HEADINGS */

.ads-amend-test-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-amend-test-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-amend-test-page .ads-section-heading h2,
.ads-amend-test-content-card h2,
.ads-amend-test-rule-panel h2,
.ads-amend-test-warning h2,
.ads-amend-test-cancellation-panel h2,
.ads-amend-test-official h2,
.ads-amend-test-advice h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-amend-test-page .ads-section-heading p,
.ads-amend-test-content-card p,
.ads-amend-test-rule-panel p,
.ads-amend-test-warning p,
.ads-amend-test-cancellation-panel p,
.ads-amend-test-official p,
.ads-amend-test-advice p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}

/* SUMMARY CARDS */

.ads-amend-test-summary {
    padding-bottom: 10px;
}

.ads-amend-test-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-amend-test-summary-card {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    box-shadow: 0 10px 26px rgba(18, 20, 26, 0.06);
}

.ads-amend-test-date {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ads-amend-test-summary-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-amend-test-summary-card p {
    margin: 0;
    color: #606773;
    line-height: 1.68;
}

/* MAIN RULE PANEL */

.ads-amend-test-rule-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
    gap: 46px;
    align-items: center;
    padding: 42px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 16px;
    box-shadow: 0 16px 34px rgba(18, 20, 26, 0.07);
}

.ads-amend-test-rule-visual {
    padding: 28px;
    background: #12141a;
    border-radius: 14px;
}

.ads-amend-test-route-point {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
}

.ads-amend-test-route-point span,
.ads-amend-test-route-options span {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-weight: 900;
}

.ads-amend-test-route-line {
    width: 3px;
    height: 32px;
    margin: 0 auto;
    background: #f37423;
}

.ads-amend-test-route-options {
    display: grid;
    gap: 12px;
}

.ads-amend-test-route-options div {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 9px;
}

/* CHECKLIST */

.ads-amend-test-checklist {
    display: grid;
    gap: 12px;
    margin: 20px 0;
    padding: 0;
    list-style: none;
}

.ads-amend-test-checklist li {
    position: relative;
    padding-left: 32px;
    color: #3f4650;
    line-height: 1.62;
}

.ads-amend-test-checklist li::before {
    position: absolute;
    top: 1px;
    left: 0;
    content: "✓";
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* CONTENT CARDS */

.ads-amend-test-content-card {
    padding: 36px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 5px solid #f37423;
    border-radius: 13px;
    box-shadow: 0 10px 28px rgba(18, 20, 26, 0.05);
}

.ads-amend-test-content-soft {
    background: #fffaf6;
}

/* WARNING */

.ads-amend-test-warning {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: flex-start;
    padding: 30px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 14px;
}

.ads-amend-test-warning-icon {
    font-size: 38px;
    line-height: 1;
}

/* CANCELLATION PANEL */

.ads-amend-test-cancellation-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
    gap: 36px;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-amend-test-cancellation-panel h2,
.ads-amend-test-cancellation-panel p {
    color: #ffffff;
}

.ads-amend-test-question-list {
    padding: 26px;
    background: #ffffff;
    border-radius: 12px;
}

.ads-amend-test-question-list h3 {
    margin: 0 0 14px;
    color: #12141a;
    font-size: 20px;
}

.ads-amend-test-question-list ul {
    display: grid;
    gap: 11px;
    margin: 0;
    padding-left: 20px;
    color: #4f5661;
    line-height: 1.6;
}

/* TEST CENTRE DROPDOWNS */

.ads-amend-test-centres {
    padding-top: 20px;
}

.ads-amend-test-centre-list {
    display: grid;
    gap: 13px;
}

.ads-amend-test-centre {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 11px;
}

.ads-amend-test-centre summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    color: #ffffff;
    background: #12141a;
    cursor: pointer;
    font-size: 18px;
    font-weight: 800;
    list-style: none;
}

.ads-amend-test-centre summary::-webkit-details-marker {
    display: none;
}

.ads-amend-test-centre summary:hover {
    background: #1e222b;
}

.ads-amend-test-centre[open] summary {
    background: #f37423;
}

.ads-amend-test-centre-icon {
    position: relative;
    width: 22px;
    height: 22px;
}

.ads-amend-test-centre-icon::before,
.ads-amend-test-centre-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    background: #ffffff;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
}

.ads-amend-test-centre-icon::before {
    width: 18px;
    height: 2px;
}

.ads-amend-test-centre-icon::after {
    width: 2px;
    height: 18px;
}

.ads-amend-test-centre[open] .ads-amend-test-centre-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.ads-amend-test-centre-content {
    padding: 24px;
}

.ads-amend-test-centre-content p {
    margin: 0 0 14px;
    color: #555c67;
    line-height: 1.65;
}

.ads-amend-test-table-wrap {
    overflow-x: auto;
    margin-top: 16px;
    border-radius: 9px;
}

.ads-amend-test-centre table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    background: #ffffff;
}

.ads-amend-test-centre th,
.ads-amend-test-centre td {
    padding: 13px 14px;
    border: 1px solid #dfe3e7;
    text-align: left;
}

.ads-amend-test-centre th {
    color: #12141a;
    background: #fff3ea;
    font-size: 14px;
    font-weight: 800;
}

.ads-amend-test-centre td {
    color: #4d5560;
}

.ads-amend-test-source-note {
    margin-top: 24px;
    padding: 22px;
    background: #eef2f5;
    border-left: 5px solid #f37423;
    border-radius: 9px;
}

.ads-amend-test-source-note p {
    margin: 0 0 10px;
    color: #555c67;
    line-height: 1.65;
}

.ads-amend-test-source-note a {
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-amend-test-source-note a:hover {
    text-decoration: underline;
}

/* STEPS */

.ads-amend-test-steps {
    padding-top: 20px;
}

.ads-amend-test-step-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-amend-test-step {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-amend-test-step > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 17px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-weight: 900;
}

.ads-amend-test-step h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-amend-test-step p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* OFFICIAL ACTION */

.ads-amend-test-official {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-amend-test-official-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

/* ADVICE */

.ads-amend-test-advice {
    padding: 38px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 14px;
}

/* FAQ */

.ads-amend-test-faq {
    padding-top: 20px;
}

/* RELATED GUIDES */

.ads-amend-test-related {
    padding-top: 20px;
}

.ads-amend-test-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-amend-test-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-amend-test-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-amend-test-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-amend-test-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-amend-test-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-amend-test-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-amend-test-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-amend-test-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-amend-test-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-amend-test-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-amend-test-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-amend-test-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-amend-test-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-amend-test-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-amend-test-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

.ads-amend-test-page .ads-btn-outline {
    color: #12141a !important;
    background: #ffffff;
    border: 2px solid #12141a;
}

.ads-amend-test-page .ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-amend-test-summary-grid,
    .ads-amend-test-step-grid,
    .ads-amend-test-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-amend-test-rule-panel,
    .ads-amend-test-cancellation-panel,
    .ads-amend-test-official {
        grid-template-columns: 1fr;
    }

    .ads-amend-test-official-actions {
        justify-content: flex-start;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-amend-test-container {
        width: calc(100% - 34px);
    }

    .ads-amend-test-hero {
        padding: 66px 0 58px;
    }

    .ads-amend-test-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-amend-test-hero p {
        font-size: 17px;
    }

    .ads-amend-test-hero-actions,
    .ads-amend-test-official-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-amend-test-main {
        padding: 52px 0 64px;
    }

    .ads-amend-test-summary-grid,
    .ads-amend-test-step-grid,
    .ads-amend-test-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-amend-test-rule-panel,
    .ads-amend-test-content-card,
    .ads-amend-test-cancellation-panel,
    .ads-amend-test-official,
    .ads-amend-test-advice {
        padding: 26px;
    }

    .ads-amend-test-warning {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ads-amend-test-warning-icon {
        font-size: 32px;
    }

    .ads-amend-test-centre summary {
        padding: 16px 18px;
        font-size: 16px;
    }

    .ads-amend-test-centre-content {
        padding: 18px;
    }

    .ads-amend-test-centre th,
    .ads-amend-test-centre td {
        padding: 10px;
        font-size: 14px;
    }

    .ads-amend-test-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   DRIVING TEST DAY CHECKLIST
================================================== */

.ads-test-checklist-page,
.ads-test-checklist-page * {
    box-sizing: border-box;
}

.ads-test-checklist-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-test-checklist-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-test-checklist-hero {
    padding: 86px 0 76px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.97),
            rgba(34, 38, 48, 0.94)
        );
}

.ads-test-checklist-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-test-checklist-hero h1 {
    max-width: 840px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-test-checklist-hero h1 span {
    color: #f37423;
}

.ads-test-checklist-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-test-checklist-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-test-checklist-hero-line {
    width: 90px;
    height: 5px;
    margin-top: 26px;
    background: #f37423;
    border-radius: 999px;
}

/* MAIN */

.ads-test-checklist-main {
    padding: 72px 0 84px;
}

.ads-test-checklist-main section {
    margin-bottom: 40px;
}

/* SHARED HEADINGS */

.ads-test-checklist-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-test-checklist-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-test-checklist-page .ads-section-heading h2,
.ads-test-checklist-essential h2,
.ads-test-checklist-card h2,
.ads-test-checklist-first-minutes h2,
.ads-test-checklist-own-car h2,
.ads-test-checklist-calm h2,
.ads-test-checklist-result h2,
.ads-test-checklist-reading h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-test-checklist-page .ads-section-heading p,
.ads-test-checklist-essential p,
.ads-test-checklist-card p,
.ads-test-checklist-first-minutes p,
.ads-test-checklist-own-car p,
.ads-test-checklist-calm p,
.ads-test-checklist-result p,
.ads-test-checklist-reading p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}

/* ESSENTIAL REQUIREMENTS */

.ads-test-checklist-essential {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: start;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-left: 7px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 16px 34px rgba(18, 20, 26, 0.12);
}

.ads-test-checklist-essential h2,
.ads-test-checklist-essential p {
    color: #ffffff;
}

.ads-test-checklist-essential-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-test-checklist-essential-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: flex-start;
    padding: 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
}

.ads-test-checklist-essential-list li > span {
    font-size: 26px;
    line-height: 1;
}

.ads-test-checklist-essential-list strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 17px;
}

.ads-test-checklist-essential-list p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* GENERAL CARD */

.ads-test-checklist-card {
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 5px solid #f37423;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(18, 20, 26, 0.05);
}

.ads-test-checklist-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-top: 26px;
}

.ads-test-checklist-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ads-test-checklist-grid article {
    padding: 24px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 11px;
}

.ads-test-checklist-number {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

.ads-test-checklist-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-test-checklist-grid p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* TIMELINE */

.ads-test-checklist-timeline {
    padding-top: 10px;
}

.ads-test-checklist-timeline-list {
    display: grid;
    gap: 20px;
}

.ads-test-checklist-timeline-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 26px;
    align-items: flex-start;
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 13px;
}

.ads-test-checklist-time {
    display: grid;
    place-items: center;
    align-content: center;
    width: 90px;
    height: 90px;
    color: #ffffff;
    background: #12141a;
    border: 5px solid #f37423;
    border-radius: 50%;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
}

.ads-test-checklist-time small {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ads-test-checklist-stage {
    display: inline-block;
    margin-bottom: 8px;
    color: #d95f12;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ads-test-checklist-timeline-item h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 24px;
    line-height: 1.3;
}

.ads-test-checklist-timeline-item p {
    margin: 0 0 10px;
    color: #5f6671;
    line-height: 1.68;
}

.ads-test-checklist-timeline-item p:last-child {
    margin-bottom: 0;
}

/* FIRST MINUTES */

.ads-test-checklist-first-minutes {
    padding: 38px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 14px;
}

.ads-test-checklist-first-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 24px;
}

.ads-test-checklist-first-grid article {
    padding: 26px;
    background: #ffffff;
    border: 1px solid #eadfd7;
    border-radius: 11px;
}

.ads-test-checklist-first-grid article > span {
    display: block;
    margin-bottom: 14px;
    font-size: 30px;
}

.ads-test-checklist-first-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
}

.ads-test-checklist-first-grid p {
    margin: 0 0 12px;
    color: #5f6671;
    line-height: 1.65;
}

.ads-test-checklist-first-grid strong {
    display: block;
    color: #d95f12;
    line-height: 1.55;
}

/* OWN CAR */

.ads-test-checklist-own-car {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 36px;
    align-items: start;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-test-checklist-tick-list {
    display: grid;
    gap: 11px;
    margin: 22px 0;
    padding: 0;
    list-style: none;
}

.ads-test-checklist-tick-list li {
    position: relative;
    padding-left: 31px;
    color: #434a54;
    line-height: 1.6;
}

.ads-test-checklist-tick-list li::before {
    position: absolute;
    top: 1px;
    left: 0;
    content: "✓";
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

.ads-test-checklist-own-car-warning {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
}

.ads-test-checklist-own-car-warning > span {
    display: block;
    margin-bottom: 14px;
    font-size: 34px;
}

.ads-test-checklist-own-car-warning h3 {
    margin: 0 0 10px;
    color: #f37423;
    font-size: 22px;
}

.ads-test-checklist-own-car-warning p {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
}

.ads-test-checklist-page .ads-text-link {
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-test-checklist-page .ads-text-link:hover {
    text-decoration: underline;
}

/* CALM PANEL */

.ads-test-checklist-calm {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
    gap: 36px;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-test-checklist-calm h2,
.ads-test-checklist-calm p {
    color: #ffffff;
}

.ads-test-checklist-calm-list {
    display: grid;
    gap: 12px;
}

.ads-test-checklist-calm-list div {
    padding: 18px;
    background: #ffffff;
    border-left: 4px solid #f37423;
    border-radius: 9px;
}

.ads-test-checklist-calm-list strong {
    display: block;
    margin-bottom: 4px;
    color: #12141a;
}

.ads-test-checklist-calm-list span {
    color: #5d6470;
    line-height: 1.55;
}

/* RESULT */

.ads-test-checklist-result {
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 5px solid #f37423;
    border-radius: 13px;
}

/* RELATED GUIDES */

.ads-test-checklist-related {
    padding-top: 10px;
}

.ads-test-checklist-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-test-checklist-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-test-checklist-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-test-checklist-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-test-checklist-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-test-checklist-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-test-checklist-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* RECOMMENDED READING */

.ads-test-checklist-reading {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-test-checklist-reading-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
}

.ads-test-checklist-reading-grid article {
    display: flex;
    flex-direction: column;
    padding: 26px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 11px;
}

.ads-test-checklist-reading-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-test-checklist-reading-grid p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-test-checklist-reading-grid .ads-btn {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 12px;
}

.ads-test-checklist-affiliate-note {
    margin: 22px 0 0 !important;
    padding: 16px 18px;
    color: #555c67 !important;
    background: #fff7ee;
    border-left: 4px solid #f37423;
    border-radius: 8px;
    font-size: 14px;
}

/* BACK LINK */

.ads-test-checklist-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-test-checklist-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-test-checklist-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-test-checklist-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-test-checklist-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-test-checklist-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-test-checklist-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-test-checklist-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-test-checklist-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-test-checklist-essential,
    .ads-test-checklist-own-car,
    .ads-test-checklist-calm {
        grid-template-columns: 1fr;
    }

    .ads-test-checklist-grid,
    .ads-test-checklist-reading-grid,
    .ads-test-checklist-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-test-checklist-grid-three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-test-checklist-container {
        width: calc(100% - 34px);
    }

    .ads-test-checklist-hero {
        padding: 66px 0 58px;
    }

    .ads-test-checklist-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-test-checklist-hero p {
        font-size: 17px;
    }

    .ads-test-checklist-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-test-checklist-main {
        padding: 52px 0 64px;
    }

    .ads-test-checklist-essential,
    .ads-test-checklist-card,
    .ads-test-checklist-first-minutes,
    .ads-test-checklist-own-car,
    .ads-test-checklist-calm,
    .ads-test-checklist-result,
    .ads-test-checklist-reading {
        padding: 26px;
    }

    .ads-test-checklist-grid,
    .ads-test-checklist-grid-three,
    .ads-test-checklist-first-grid,
    .ads-test-checklist-reading-grid,
    .ads-test-checklist-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-test-checklist-timeline-item {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ads-test-checklist-time {
        width: 78px;
        height: 78px;
        font-size: 24px;
    }

    .ads-test-checklist-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   SHOW ME, TELL ME QUESTIONS
================================================== */

.ads-smt-page,
.ads-smt-page * {
    box-sizing: border-box;
}

.ads-smt-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-smt-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-smt-hero {
    padding: 86px 0 76px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.97),
            rgba(34, 38, 48, 0.95)
        );
}

.ads-smt-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-smt-hero h1 {
    max-width: 860px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-smt-hero h1 span {
    color: #f37423;
}

.ads-smt-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-smt-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-smt-hero-line {
    width: 90px;
    height: 5px;
    margin-top: 26px;
    background: #f37423;
    border-radius: 999px;
}

/* MAIN */

.ads-smt-main {
    padding: 72px 0 84px;
}

.ads-smt-main section {
    margin-bottom: 40px;
}

/* SHARED HEADINGS */

.ads-smt-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-smt-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-smt-page .ads-section-heading h2,
.ads-smt-intro h2,
.ads-smt-bonnet-panel h2,
.ads-smt-wrong-answer h2,
.ads-smt-safety-panel h2,
.ads-smt-test-day h2,
.ads-smt-official h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-smt-page .ads-section-heading p,
.ads-smt-intro p,
.ads-smt-bonnet-panel p,
.ads-smt-wrong-answer p,
.ads-smt-safety-panel p,
.ads-smt-test-day p,
.ads-smt-official p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-smt-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-smt-intro-cards {
    display: grid;
    gap: 14px;
}

.ads-smt-intro-cards article {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 20px;
    color: #ffffff;
    background: #12141a;
    border-radius: 11px;
}

.ads-smt-intro-cards article > span {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 900;
}

.ads-smt-intro-cards strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 18px;
}

.ads-smt-intro-cards p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    line-height: 1.55;
}

/* SECTION NAV */

.ads-smt-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 18px;
    background: #ffffff;
    border: 1px solid #e3e6ea;
    border-radius: 999px;
}

.ads-smt-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    color: #12141a !important;
    background: #f2f4f6;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease;
}

.ads-smt-nav a:hover {
    color: #ffffff !important;
    background: #f37423;
    transform: translateY(-2px);
}

/* QUESTION SECTIONS */

.ads-smt-section {
    scroll-margin-top: 110px;
}

.ads-smt-question-list {
    display: grid;
    gap: 13px;
}

.ads-smt-question {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 11px;
}

.ads-smt-question summary {
    position: relative;
    padding: 19px 58px 19px 22px;
    color: #ffffff;
    background: #12141a;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.45;
    list-style: none;
}

.ads-smt-question summary::-webkit-details-marker {
    display: none;
}

.ads-smt-question summary::before,
.ads-smt-question summary::after {
    position: absolute;
    top: 50%;
    right: 22px;
    content: "";
    background: #ffffff;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.ads-smt-question summary::before {
    width: 18px;
    height: 2px;
}

.ads-smt-question summary::after {
    width: 2px;
    height: 18px;
    right: 30px;
}

.ads-smt-question[open] summary {
    background: #f37423;
}

.ads-smt-question[open] summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.ads-smt-answer {
    padding: 24px;
}

.ads-smt-answer p {
    margin: 0 0 12px;
    color: #555c67;
    line-height: 1.68;
}

.ads-smt-answer p:last-child {
    margin-bottom: 0;
}

.ads-smt-bonnet-question {
    border-left: 5px solid #f37423;
}

/* TEXT LINK */

.ads-smt-page .ads-text-link {
    display: inline-block;
    margin-top: 8px;
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-smt-page .ads-text-link:hover {
    text-decoration: underline;
}

/* BONNET PANEL */

.ads-smt-bonnet-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    color: #ffffff;
    background: #12141a;
    border-radius: 14px;
}

.ads-smt-bonnet-panel h2,
.ads-smt-bonnet-panel p {
    color: #ffffff;
}

/* WRONG ANSWER */

.ads-smt-wrong-answer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 36px;
    align-items: start;
    padding: 40px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 15px;
}

.ads-smt-fault-cards {
    display: grid;
    gap: 14px;
}

.ads-smt-fault-cards article {
    padding: 24px;
    background: #ffffff;
    border: 1px solid #eadfd7;
    border-radius: 11px;
}

.ads-smt-fault-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-smt-fault-label-warning {
    color: #b52e2e;
    background: rgba(214, 63, 63, 0.1);
}

.ads-smt-fault-cards h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
}

.ads-smt-fault-cards p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* SAFETY PANEL */

.ads-smt-safety-panel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: flex-start;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 13px;
}

.ads-smt-safety-icon {
    font-size: 38px;
    line-height: 1;
}

/* TEST-DAY CTA */

.ads-smt-test-day,
.ads-smt-official {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-smt-official {
    background: #eef2f5;
}

/* RELATED GUIDES */

.ads-smt-related {
    padding-top: 10px;
}

.ads-smt-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-smt-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-smt-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-smt-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-smt-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-smt-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-smt-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-smt-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-smt-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-smt-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-smt-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-smt-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-smt-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-smt-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-smt-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-smt-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

.ads-smt-page .ads-btn-outline {
    color: #12141a !important;
    background: #ffffff;
    border: 2px solid #12141a;
}

.ads-smt-page .ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-smt-intro,
    .ads-smt-wrong-answer {
        grid-template-columns: 1fr;
    }

    .ads-smt-bonnet-panel,
    .ads-smt-test-day,
    .ads-smt-official {
        grid-template-columns: 1fr;
    }

    .ads-smt-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-smt-container {
        width: calc(100% - 34px);
    }

    .ads-smt-hero {
        padding: 66px 0 58px;
    }

    .ads-smt-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-smt-hero p {
        font-size: 17px;
    }

    .ads-smt-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-smt-main {
        padding: 52px 0 64px;
    }

    .ads-smt-intro,
    .ads-smt-bonnet-panel,
    .ads-smt-wrong-answer,
    .ads-smt-safety-panel,
    .ads-smt-test-day,
    .ads-smt-official {
        padding: 26px;
    }

    .ads-smt-nav {
        align-items: stretch;
        flex-direction: column;
        border-radius: 14px;
    }

    .ads-smt-nav a {
        width: 100%;
    }

    .ads-smt-question summary {
        padding: 17px 52px 17px 18px;
        font-size: 15px;
    }

    .ads-smt-question summary::before {
        right: 18px;
    }

    .ads-smt-question summary::after {
        right: 26px;
    }

    .ads-smt-answer {
        padding: 20px;
    }

    .ads-smt-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-smt-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   ENGINE BAY DIAGRAMS HUB
================================================== */

.ads-engine-page,
.ads-engine-page * {
    box-sizing: border-box;
}

.ads-engine-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-engine-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-engine-hero {
    padding: 86px 0 76px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.97),
            rgba(34, 38, 48, 0.95)
        );
}

.ads-engine-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-engine-hero h1 {
    max-width: 820px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-engine-hero h1 span {
    color: #f37423;
}

.ads-engine-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-engine-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-engine-hero-line {
    width: 90px;
    height: 5px;
    margin-top: 26px;
    background: #f37423;
    border-radius: 999px;
}

/* MAIN */

.ads-engine-main {
    padding: 72px 0 84px;
}

.ads-engine-main section {
    margin-bottom: 40px;
}

/* SHARED HEADINGS */

.ads-engine-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-engine-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-engine-page .ads-section-heading h2,
.ads-engine-intro h2,
.ads-engine-warning h2,
.ads-engine-how-to h2,
.ads-engine-note h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-engine-page .ads-section-heading p,
.ads-engine-intro p,
.ads-engine-warning p,
.ads-engine-how-to p,
.ads-engine-note p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-engine-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-engine-check-list {
    display: grid;
    gap: 14px;
}

.ads-engine-check-list > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: flex-start;
    padding: 18px;
    color: #ffffff;
    background: #12141a;
    border-radius: 11px;
}

.ads-engine-check-list > div > span {
    font-size: 28px;
    line-height: 1;
}

.ads-engine-check-list strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 18px;
}

.ads-engine-check-list p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    line-height: 1.55;
}

/* SAFETY WARNING */

.ads-engine-warning {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: flex-start;
    padding: 30px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 14px;
}

.ads-engine-warning-icon {
    font-size: 38px;
    line-height: 1;
}

/* VEHICLE GRID */

.ads-engine-vehicles {
    scroll-margin-top: 110px;
}

.ads-engine-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-engine-card {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 13px;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(18, 20, 26, 0.05);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-engine-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 34px rgba(18, 20, 26, 0.12);
}

.ads-engine-card-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #eceff2;
}

.ads-engine-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.ads-engine-card:hover .ads-engine-card-image img {
    transform: scale(1.04);
}

.ads-engine-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}

.ads-engine-card-tag {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 12px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-engine-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-engine-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-engine-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* HOW TO USE */

.ads-engine-how-to {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-engine-how-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ads-engine-how-grid article {
    padding: 24px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 11px;
}

.ads-engine-how-grid article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

.ads-engine-how-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-engine-how-grid p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* NOTE */

.ads-engine-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: flex-start;
    padding: 30px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 13px;
}

.ads-engine-note-icon {
    font-size: 36px;
    line-height: 1;
}

/* RELATED GUIDES */

.ads-engine-related {
    padding-top: 10px;
}

.ads-engine-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-engine-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-engine-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-engine-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-engine-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-engine-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-engine-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-engine-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-engine-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-engine-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-engine-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-engine-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-engine-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-engine-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-engine-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-engine-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-engine-intro {
        grid-template-columns: 1fr;
    }

    .ads-engine-grid,
    .ads-engine-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-engine-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-engine-container {
        width: calc(100% - 34px);
    }

    .ads-engine-hero {
        padding: 66px 0 58px;
    }

    .ads-engine-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-engine-hero p {
        font-size: 17px;
    }

    .ads-engine-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-engine-main {
        padding: 52px 0 64px;
    }

    .ads-engine-intro,
    .ads-engine-warning,
    .ads-engine-how-to,
    .ads-engine-note {
        padding: 26px;
    }

    .ads-engine-grid,
    .ads-engine-how-grid,
    .ads-engine-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-engine-warning,
    .ads-engine-note {
        grid-template-columns: 1fr;
    }

    .ads-engine-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   DRIVING TEST FAULTS EXPLAINED
================================================== */

.ads-faults-page,
.ads-faults-page * {
    box-sizing: border-box;
}

.ads-faults-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-faults-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-faults-hero {
    padding: 86px 0 70px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.98),
            rgba(38, 42, 52, 0.95)
        );
}

.ads-faults-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-faults-hero h1 {
    max-width: 900px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-faults-hero h1 span {
    color: #f37423;
}

.ads-faults-hero > .ads-faults-container > p {
    max-width: 780px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-faults-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-faults-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.ads-faults-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

/* MAIN */

.ads-faults-main {
    padding: 72px 0 84px;
}

.ads-faults-main section {
    margin-bottom: 42px;
}

/* SHARED HEADINGS */

.ads-faults-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-faults-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-faults-page .ads-section-heading h2,
.ads-faults-intro h2,
.ads-faults-clarification h2,
.ads-faults-scenario h2,
.ads-faults-repeated h2,
.ads-faults-tips h2,
.ads-faults-retest h2,
.ads-faults-official h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-faults-page .ads-section-heading p,
.ads-faults-intro p,
.ads-faults-clarification p,
.ads-faults-scenario p,
.ads-faults-repeated p,
.ads-faults-tips p,
.ads-faults-retest p,
.ads-faults-official p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-faults-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-faults-pass-mark {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-faults-pass-mark span {
    display: block;
    margin-bottom: 8px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-faults-pass-mark strong {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 36px;
    line-height: 1;
}

.ads-faults-pass-mark p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* FAULT TYPES */

.ads-faults-types {
    scroll-margin-top: 110px;
}

.ads-faults-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-faults-type-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e3e6ea;
    border-top: 5px solid #f37423;
    border-radius: 13px;
    box-shadow: 0 10px 24px rgba(18, 20, 26, 0.05);
}

.ads-faults-type-serious {
    border-top-color: #c98300;
}

.ads-faults-type-dangerous {
    border-top-color: #b52e2e;
}

.ads-faults-type-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
}

.ads-faults-type-label {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 12px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-faults-type-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 22px;
    line-height: 1.3;
}

.ads-faults-type-card p {
    margin: 0 0 13px;
    color: #5d6470;
    line-height: 1.65;
}

.ads-faults-type-card strong {
    margin-top: auto;
    padding-top: 14px;
    color: #d95f12;
}

/* CLARIFICATION */

.ads-faults-clarification {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: flex-start;
    padding: 32px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 13px;
}

.ads-faults-clarification-icon {
    font-size: 38px;
    line-height: 1;
}

/* SAME MISTAKE SCENARIO */

.ads-faults-scenario {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-faults-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ads-faults-scenario-grid article {
    padding: 24px;
    background: #f7f8fa;
    border-radius: 11px;
}

.ads-faults-scenario-tag {
    display: inline-block;
    margin-bottom: 13px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-faults-tag-driving {
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
}

.ads-faults-tag-serious {
    color: #9a6300;
    background: rgba(201, 131, 0, 0.12);
}

.ads-faults-tag-dangerous {
    color: #a62323;
    background: rgba(181, 46, 46, 0.1);
}

.ads-faults-scenario-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
}

.ads-faults-scenario-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* COMMON FAILS */

.ads-faults-common {
    scroll-margin-top: 110px;
}

.ads-faults-common-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ads-faults-common-grid article {
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-faults-common-grid article > span {
    display: block;
    margin-bottom: 14px;
    color: #f37423;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.ads-faults-common-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 19px;
    line-height: 1.3;
}

.ads-faults-common-grid p {
    margin: 0;
    color: #5f6671;
    line-height: 1.62;
}

/* REPEATED FAULTS */

.ads-faults-repeated {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
    gap: 36px;
    align-items: center;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-faults-repeated h2,
.ads-faults-repeated p {
    color: #ffffff;
}

.ads-faults-repeated-example {
    padding: 26px;
    background: #ffffff;
    border-left: 5px solid #f37423;
    border-radius: 11px;
}

.ads-faults-repeated-example > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ads-faults-repeated-example h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
}

.ads-faults-repeated-example p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* EXAMPLES */

.ads-faults-example-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads-faults-example-grid article {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 13px;
}

.ads-faults-example-heading {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}

.ads-faults-example-heading span {
    font-size: 28px;
    line-height: 1;
}

.ads-faults-example-heading h3 {
    margin: 0;
    color: #12141a;
    font-size: 22px;
}

.ads-faults-example-grid p {
    margin: 0 0 12px;
    color: #5d6470;
    line-height: 1.67;
}

.ads-faults-example-grid p:last-child {
    margin-bottom: 0;
}

/* TIPS */

.ads-faults-tips {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 38px;
    padding: 40px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 15px;
}

.ads-faults-tip-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-faults-tip-list li {
    position: relative;
    padding: 18px 18px 18px 52px;
    background: #ffffff;
    border-radius: 10px;
}

.ads-faults-tip-list li::before {
    position: absolute;
    top: 18px;
    left: 18px;
    content: "✓";
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

.ads-faults-tip-list strong {
    display: block;
    margin-bottom: 4px;
    color: #12141a;
}

.ads-faults-tip-list span {
    color: #5d6470;
    line-height: 1.55;
}

/* RETEST */

.ads-faults-retest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-faults-retest-card {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-faults-retest-card > span {
    display: block;
    margin-bottom: 8px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ads-faults-retest-card > strong {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 30px;
    line-height: 1.1;
}

.ads-faults-retest-card p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* FAQ */

.ads-faults-faq {
    scroll-margin-top: 110px;
}

.ads-faults-page .ads-faq-list {
    display: grid;
    gap: 13px;
}

.ads-faults-page .ads-faq-item {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 11px;
}

.ads-faults-page .ads-faq-item summary {
    position: relative;
    padding: 19px 58px 19px 22px;
    color: #ffffff;
    background: #12141a;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.45;
    list-style: none;
}

.ads-faults-page .ads-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-faults-page .ads-faq-item summary::before,
.ads-faults-page .ads-faq-item summary::after {
    position: absolute;
    top: 50%;
    content: "";
    background: #ffffff;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.ads-faults-page .ads-faq-item summary::before {
    right: 22px;
    width: 18px;
    height: 2px;
}

.ads-faults-page .ads-faq-item summary::after {
    right: 30px;
    width: 2px;
    height: 18px;
}

.ads-faults-page .ads-faq-item[open] summary {
    background: #f37423;
}

.ads-faults-page .ads-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.ads-faults-page .ads-faq-item > div {
    padding: 24px;
}

.ads-faults-page .ads-faq-item p {
    margin: 0 0 12px;
    color: #555c67;
    line-height: 1.68;
}

.ads-faults-page .ads-faq-item p:last-child {
    margin-bottom: 0;
}

.ads-faults-page .ads-text-link {
    display: inline-block;
    margin-top: 7px;
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-faults-page .ads-text-link:hover {
    text-decoration: underline;
}

/* RELATED GUIDES */

.ads-faults-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-faults-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-faults-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-faults-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-faults-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-faults-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-faults-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* OFFICIAL GUIDANCE */

.ads-faults-official {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #eef2f5;
    border-radius: 14px;
}

/* BACK LINK */

.ads-faults-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-faults-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-faults-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-faults-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-faults-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-faults-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-faults-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-faults-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-faults-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

.ads-faults-page .ads-btn-outline {
    color: #12141a !important;
    background: #ffffff;
    border: 2px solid #12141a;
}

.ads-faults-page .ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-faults-intro,
    .ads-faults-repeated,
    .ads-faults-tips,
    .ads-faults-retest {
        grid-template-columns: 1fr;
    }

    .ads-faults-type-grid,
    .ads-faults-scenario-grid,
    .ads-faults-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-faults-common-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-faults-pass-mark,
    .ads-faults-retest-card {
        max-width: 420px;
    }

    .ads-faults-official {
        grid-template-columns: 1fr;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-faults-container {
        width: calc(100% - 34px);
    }

    .ads-faults-hero {
        padding: 66px 0 58px;
    }

    .ads-faults-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-faults-hero > .ads-faults-container > p {
        font-size: 17px;
    }

    .ads-faults-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-faults-main {
        padding: 52px 0 64px;
    }

    .ads-faults-intro,
    .ads-faults-clarification,
    .ads-faults-scenario,
    .ads-faults-repeated,
    .ads-faults-tips,
    .ads-faults-retest,
    .ads-faults-official {
        padding: 26px;
    }

    .ads-faults-type-grid,
    .ads-faults-scenario-grid,
    .ads-faults-common-grid,
    .ads-faults-example-grid,
    .ads-faults-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-faults-clarification {
        grid-template-columns: 1fr;
    }

    .ads-faults-pass-mark,
    .ads-faults-retest-card {
        max-width: none;
    }

    .ads-faults-page .ads-faq-item summary {
        padding: 17px 52px 17px 18px;
        font-size: 15px;
    }

    .ads-faults-page .ads-faq-item summary::before {
        right: 18px;
    }

    .ads-faults-page .ads-faq-item summary::after {
        right: 26px;
    }

    .ads-faults-page .ads-faq-item > div {
        padding: 20px;
    }

    .ads-faults-page .ads-btn {
        width: 100%;
    }
}
/* DRIVING PRIORITY WITH IMAGE */

.ads-faults-driving-priority {
    display: grid;
    grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr);
    gap: 38px;
    align-items: stretch;
    overflow: hidden;
    padding: 0;
    background: #12141a;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

.ads-faults-driving-priority-image {
    position: relative;
    min-height: 430px;
    background:
        linear-gradient(
            135deg,
            rgba(243, 116, 35, 0.18),
            rgba(18, 20, 26, 0.45)
        ),
        #292d35;
}


.ads-faults-driving-priority-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
}

.ads-faults-driving-priority-content {
    align-self: center;
    padding: 42px 42px 42px 0;
}

.ads-faults-driving-priority h2 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.18;
}

.ads-faults-driving-priority p {
    margin: 0 0 13px;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
}

.ads-faults-driving-priority p:last-child {
    margin-bottom: 0;
}

.ads-faults-driving-priority .ads-section-kicker {
    color: #f37423;
}

@media (max-width: 800px) {

    .ads-faults-driving-priority {
        grid-template-columns: 1fr;
    }

    .ads-faults-driving-priority-image,
    .ads-faults-driving-priority-image img {
        min-height: 280px;
    }

    .ads-faults-driving-priority-content {
        padding: 4px 26px 30px;
    }
}
/* ==================================================
   REBOOK DRIVING TEST AFTER FAILING
================================================== */

.ads-rebook-page,
.ads-rebook-page * {
    box-sizing: border-box;
}

.ads-rebook-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-rebook-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-rebook-hero {
    padding: 86px 0 70px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.98),
            rgba(38, 42, 52, 0.95)
        );
}

.ads-rebook-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-rebook-hero h1 {
    max-width: 940px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-rebook-hero h1 span {
    color: #f37423;
}

.ads-rebook-hero > .ads-rebook-container > p {
    max-width: 790px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-rebook-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-rebook-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.ads-rebook-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

/* MAIN */

.ads-rebook-main {
    padding: 72px 0 84px;
}

.ads-rebook-main section {
    margin-bottom: 42px;
}

/* SHARED HEADINGS */

.ads-rebook-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-rebook-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-rebook-page .ads-section-heading h2,
.ads-rebook-intro h2,
.ads-rebook-image-content h2,
.ads-rebook-booking-update h2,
.ads-rebook-next h2,
.ads-rebook-private-practice h2,
.ads-rebook-readiness h2,
.ads-rebook-support h2,
.ads-rebook-cta h2,
.ads-rebook-official h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-rebook-page .ads-section-heading p,
.ads-rebook-intro p,
.ads-rebook-image-content p,
.ads-rebook-booking-update p,
.ads-rebook-next p,
.ads-rebook-private-practice p,
.ads-rebook-readiness p,
.ads-rebook-support p,
.ads-rebook-cta p,
.ads-rebook-official p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-rebook-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-rebook-stat {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-rebook-stat span {
    display: block;
    margin-bottom: 8px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-rebook-stat strong {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 36px;
    line-height: 1;
}

.ads-rebook-stat p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* TEXT LINKS */

.ads-rebook-page .ads-text-link {
    display: inline-block;
    margin-top: 7px;
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-rebook-page .ads-text-link:hover {
    text-decoration: underline;
}

/* IMAGE FEATURES */

.ads-rebook-image-feature {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: 38px;
    align-items: stretch;
    overflow: hidden;
    background: #12141a;
    border-left: 6px solid #f37423;
    border-radius: 15px;
}

.ads-rebook-image-feature-reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
}

.ads-rebook-image-feature-reverse .ads-rebook-image-placeholder {
    order: 2;
}

.ads-rebook-image-feature-reverse .ads-rebook-image-content {
    order: 1;
    padding: 42px 0 42px 42px;
}

.ads-rebook-image-placeholder {
    position: relative;
    min-height: 430px;
    background:
        linear-gradient(
            135deg,
            rgba(243, 116, 35, 0.18),
            rgba(18, 20, 26, 0.5)
        ),
        #292d35;
}

.ads-rebook-image-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
}

.ads-rebook-image-placeholder > span {
    position: absolute;
    right: 18px;
    bottom: 18px;
    padding: 7px 11px;
    color: #ffffff;
    background: rgba(18, 20, 26, 0.84);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-rebook-image-content {
    align-self: center;
    padding: 42px 42px 42px 0;
}

.ads-rebook-image-content h2,
.ads-rebook-image-content p {
    color: #ffffff;
}

.ads-rebook-image-content p {
    color: rgba(255, 255, 255, 0.84);
}

.ads-rebook-image-content .ads-section-kicker {
    color: #f37423;
}

/* TEN-DAY RULE */

.ads-rebook-rule {
    scroll-margin-top: 110px;
}

.ads-rebook-rule-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-rebook-rule-grid article {
    padding: 28px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 5px solid #f37423;
    border-radius: 13px;
    box-shadow: 0 10px 24px rgba(18, 20, 26, 0.05);
}

.ads-rebook-card-label {
    display: inline-block;
    margin-bottom: 15px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-rebook-rule-number {
    margin-bottom: 16px;
    color: #f37423;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.ads-rebook-rule-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-rebook-rule-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

.ads-rebook-tip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 24px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 12px;
}

.ads-rebook-tip > span {
    font-size: 30px;
    line-height: 1;
}

.ads-rebook-tip strong {
    display: block;
    margin-bottom: 5px;
    color: #12141a;
}

.ads-rebook-tip p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* 2026 BOOKING UPDATE */

.ads-rebook-booking-update {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
    padding: 34px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 14px;
}

.ads-rebook-update-icon {
    font-size: 40px;
    line-height: 1;
}

/* NEXT STEPS */

.ads-rebook-next {
    scroll-margin-top: 110px;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-rebook-next-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ads-rebook-next-grid article {
    padding: 24px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 11px;
}

.ads-rebook-next-grid article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

.ads-rebook-next-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
    line-height: 1.3;
}

.ads-rebook-next-grid p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* COMMON FAULTS */

.ads-rebook-fault-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-rebook-fault-grid article {
    padding: 25px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
}

.ads-rebook-fault-grid article > span {
    display: block;
    margin-bottom: 13px;
    font-size: 30px;
    line-height: 1;
}

.ads-rebook-fault-grid h3 {
    margin: 0 0 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-rebook-fault-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

.ads-rebook-fault-link {
    margin-top: 28px;
    text-align: center;
}

/* PRIVATE PRACTICE */

.ads-rebook-private-practice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-rebook-insurance-card {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
}

.ads-rebook-insurance-card > span {
    display: inline-block;
    margin-bottom: 11px;
    padding: 6px 10px;
    color: #f37423;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-rebook-insurance-card h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 23px;
}

.ads-rebook-insurance-card p {
    color: rgba(255, 255, 255, 0.8);
}

.ads-rebook-insurance-card small {
    display: block;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 11px;
    line-height: 1.5;
}

/* READINESS */

.ads-rebook-readiness {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 38px;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-rebook-readiness h2,
.ads-rebook-readiness p {
    color: #ffffff;
}

.ads-rebook-readiness-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-rebook-readiness-list li {
    position: relative;
    padding: 17px 18px 17px 51px;
    color: #434a54;
    background: #ffffff;
    border-radius: 10px;
    line-height: 1.55;
}

.ads-rebook-readiness-list li::before {
    position: absolute;
    top: 16px;
    left: 18px;
    content: "✓";
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* SUPPORT */

.ads-rebook-support {
    padding: 40px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

/* CTA */

.ads-rebook-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

/* FAQ */

.ads-rebook-faq {
    scroll-margin-top: 110px;
}

.ads-rebook-page .ads-faq-list {
    display: grid;
    gap: 13px;
}

.ads-rebook-page .ads-faq-item {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 11px;
}

.ads-rebook-page .ads-faq-item summary {
    position: relative;
    padding: 19px 58px 19px 22px;
    color: #ffffff;
    background: #12141a;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.45;
    list-style: none;
}

.ads-rebook-page .ads-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-rebook-page .ads-faq-item summary::before,
.ads-rebook-page .ads-faq-item summary::after {
    position: absolute;
    top: 50%;
    content: "";
    background: #ffffff;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.ads-rebook-page .ads-faq-item summary::before {
    right: 22px;
    width: 18px;
    height: 2px;
}

.ads-rebook-page .ads-faq-item summary::after {
    right: 30px;
    width: 2px;
    height: 18px;
}

.ads-rebook-page .ads-faq-item[open] summary {
    background: #f37423;
}

.ads-rebook-page .ads-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.ads-rebook-page .ads-faq-item > div {
    padding: 24px;
}

.ads-rebook-page .ads-faq-item p {
    margin: 0 0 12px;
    color: #555c67;
    line-height: 1.68;
}

.ads-rebook-page .ads-faq-item p:last-child {
    margin-bottom: 0;
}

/* OFFICIAL LINKS */

.ads-rebook-official {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #eef2f5;
    border-radius: 14px;
}

.ads-rebook-official-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* RELATED GUIDES */

.ads-rebook-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-rebook-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-rebook-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-rebook-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-rebook-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-rebook-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-rebook-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-rebook-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-rebook-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-rebook-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-rebook-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-rebook-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-rebook-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-rebook-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-rebook-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-rebook-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

.ads-rebook-page .ads-btn-outline {
    color: #12141a !important;
    background: #ffffff;
    border: 2px solid #12141a;
}

.ads-rebook-page .ads-btn-outline:hover {
    color: #ffffff !important;
    background: #12141a;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-rebook-intro,
    .ads-rebook-image-feature,
    .ads-rebook-image-feature-reverse,
    .ads-rebook-private-practice,
    .ads-rebook-readiness {
        grid-template-columns: 1fr;
    }

    .ads-rebook-image-feature-reverse .ads-rebook-image-placeholder,
    .ads-rebook-image-feature-reverse .ads-rebook-image-content {
        order: initial;
    }

    .ads-rebook-image-content,
    .ads-rebook-image-feature-reverse .ads-rebook-image-content {
        padding: 38px;
    }

    .ads-rebook-rule-grid,
    .ads-rebook-next-grid,
    .ads-rebook-fault-grid,
    .ads-rebook-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-rebook-stat,
    .ads-rebook-insurance-card {
        max-width: 430px;
    }

    .ads-rebook-cta,
    .ads-rebook-official {
        grid-template-columns: 1fr;
    }

    .ads-rebook-official-actions {
        justify-content: flex-start;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-rebook-container {
        width: calc(100% - 34px);
    }

    .ads-rebook-hero {
        padding: 66px 0 58px;
    }

    .ads-rebook-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-rebook-hero > .ads-rebook-container > p {
        font-size: 17px;
    }

    .ads-rebook-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-rebook-main {
        padding: 52px 0 64px;
    }

    .ads-rebook-intro,
    .ads-rebook-booking-update,
    .ads-rebook-next,
    .ads-rebook-private-practice,
    .ads-rebook-readiness,
    .ads-rebook-support,
    .ads-rebook-cta,
    .ads-rebook-official {
        padding: 26px;
    }

    .ads-rebook-image-placeholder,
    .ads-rebook-image-placeholder img {
        min-height: 280px;
    }

    .ads-rebook-image-content,
    .ads-rebook-image-feature-reverse .ads-rebook-image-content {
        padding: 4px 26px 30px;
    }

    .ads-rebook-rule-grid,
    .ads-rebook-next-grid,
    .ads-rebook-fault-grid,
    .ads-rebook-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-rebook-booking-update,
    .ads-rebook-tip {
        grid-template-columns: 1fr;
    }

    .ads-rebook-stat,
    .ads-rebook-insurance-card {
        max-width: none;
    }

    .ads-rebook-page .ads-faq-item summary {
        padding: 17px 52px 17px 18px;
        font-size: 15px;
    }

    .ads-rebook-page .ads-faq-item summary::before {
        right: 18px;
    }

    .ads-rebook-page .ads-faq-item summary::after {
        right: 26px;
    }

    .ads-rebook-page .ads-faq-item > div {
        padding: 20px;
    }

    .ads-rebook-official-actions {
        flex-direction: column;
    }

    .ads-rebook-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   HOW TO PASS YOUR DRIVING TEST FIRST TIME
================================================== */

.ads-first-pass-page,
.ads-first-pass-page * {
    box-sizing: border-box;
}

.ads-first-pass-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-first-pass-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-first-pass-hero {
    padding: 86px 0 70px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.98),
            rgba(38, 42, 52, 0.95)
        );
}

.ads-first-pass-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-first-pass-hero h1 {
    max-width: 940px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.04;
    text-transform: uppercase;
}

.ads-first-pass-hero h1 span {
    color: #f37423;
}

.ads-first-pass-hero > .ads-first-pass-container > p {
    max-width: 790px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-first-pass-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-first-pass-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.ads-first-pass-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

/* MAIN */

.ads-first-pass-main {
    padding: 72px 0 84px;
}

.ads-first-pass-main section {
    margin-bottom: 42px;
}

/* SHARED HEADINGS */

.ads-first-pass-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-first-pass-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-first-pass-page .ads-section-heading h2,
.ads-first-pass-intro h2,
.ads-first-pass-image-content h2,
.ads-first-pass-arrival h2,
.ads-first-pass-examiner h2,
.ads-first-pass-car h2,
.ads-first-pass-routes h2,
.ads-first-pass-mistakes h2,
.ads-first-pass-direction h2,
.ads-first-pass-weather h2,
.ads-first-pass-centre h2,
.ads-first-pass-result h2,
.ads-first-pass-checklist h2,
.ads-first-pass-cta h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-first-pass-page .ads-section-heading p,
.ads-first-pass-intro p,
.ads-first-pass-image-content p,
.ads-first-pass-arrival p,
.ads-first-pass-examiner p,
.ads-first-pass-car p,
.ads-first-pass-routes p,
.ads-first-pass-mistakes p,
.ads-first-pass-direction p,
.ads-first-pass-weather p,
.ads-first-pass-centre p,
.ads-first-pass-result p,
.ads-first-pass-checklist p,
.ads-first-pass-cta p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-first-pass-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-first-pass-intro-card {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-first-pass-intro-card span {
    display: block;
    margin-bottom: 8px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-first-pass-intro-card strong {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 28px;
    line-height: 1.1;
}

.ads-first-pass-intro-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* IMAGE FEATURE */

.ads-first-pass-image-feature {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: 38px;
    align-items: stretch;
    overflow: hidden;
    background: #12141a;
    border-left: 6px solid #f37423;
    border-radius: 15px;
}

.ads-first-pass-image {
    min-height: 430px;
    background: #292d35;
}

.ads-first-pass-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
}

.ads-first-pass-image-content {
    align-self: center;
    padding: 42px 42px 42px 0;
}

.ads-first-pass-image-content h2 {
    color: #ffffff;
}

.ads-first-pass-image-content p {
    color: rgba(255, 255, 255, 0.84);
}

.ads-first-pass-image-content .ads-section-kicker {
    color: #f37423;
}

/* QUICK TIPS */

.ads-first-pass-quick-tips {
    scroll-margin-top: 110px;
}

.ads-first-pass-tip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-first-pass-tip-grid article {
    padding: 25px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-first-pass-tip-grid article > span {
    display: block;
    margin-bottom: 14px;
    font-size: 30px;
    line-height: 1;
}

.ads-first-pass-tip-grid h3 {
    margin: 0 0 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-first-pass-tip-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

/* ARRIVAL */

.ads-first-pass-arrival {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-first-pass-arrival-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ads-first-pass-arrival-grid article {
    padding: 24px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 11px;
}

.ads-first-pass-arrival-grid article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    color: #ffffff;
    background: #12141a;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

.ads-first-pass-arrival-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
}

.ads-first-pass-arrival-grid p {
    margin: 0;
    color: #606773;
    line-height: 1.65;
}

/* EXAMINER */

.ads-first-pass-examiner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
    padding: 34px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

.ads-first-pass-examiner-icon {
    font-size: 40px;
    line-height: 1;
}

/* TEST CAR */

.ads-first-pass-car {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 38px;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-first-pass-car h2,
.ads-first-pass-car p {
    color: #ffffff;
}

.ads-first-pass-check-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-first-pass-check-list li {
    position: relative;
    padding: 17px 18px 17px 51px;
    color: #434a54;
    background: #ffffff;
    border-radius: 10px;
    line-height: 1.55;
}

.ads-first-pass-check-list li::before {
    position: absolute;
    top: 16px;
    left: 18px;
    content: "✓";
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* ROUTES */

.ads-first-pass-routes {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-first-pass-route-card {
    padding: 28px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 12px;
}

.ads-first-pass-route-card > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ads-first-pass-route-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 22px;
}

.ads-first-pass-route-card p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* TEXT LINKS */

.ads-first-pass-page .ads-text-link {
    display: inline-block;
    margin-top: 7px;
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-first-pass-page .ads-text-link:hover {
    text-decoration: underline;
}

/* MISTAKES */

.ads-first-pass-mistakes {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 15px;
}

.ads-first-pass-mistake-card {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
}

.ads-first-pass-mistake-card > span {
    display: block;
    margin-bottom: 14px;
    font-size: 36px;
    line-height: 1;
}

.ads-first-pass-mistake-card h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 22px;
}

.ads-first-pass-mistake-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
}

/* WRONG DIRECTION */

.ads-first-pass-direction {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
    padding: 34px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

.ads-first-pass-direction-icon {
    font-size: 40px;
    line-height: 1;
}

/* OBSERVATIONS */

.ads-first-pass-observation-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ads-first-pass-observation-grid article {
    padding: 25px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-first-pass-observation-grid article > span {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-first-pass-observation-grid h3 {
    margin: 0 0 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-first-pass-observation-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

/* WEATHER */

.ads-first-pass-weather {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 38px;
    align-items: center;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-first-pass-weather h2,
.ads-first-pass-weather p {
    color: #ffffff;
}

.ads-first-pass-weather-icons {
    display: grid;
    grid-template-columns: repeat(2, 70px);
    gap: 14px;
}

.ads-first-pass-weather-icons span {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    background: rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    font-size: 32px;
}

/* TEST CENTRE */

.ads-first-pass-centre {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

/* MARKING */

.ads-first-pass-marking {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-first-pass-marking-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
}

.ads-first-pass-marking-image {
    overflow: hidden;
    margin: 0;
    background: #f7f8fa;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
}

.ads-first-pass-marking-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    background: #eef1f4;
}

.ads-first-pass-marking-image figcaption {
    padding: 16px 18px;
    color: #5d6470;
    font-size: 13px;
    line-height: 1.55;
}

.ads-first-pass-marking-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 20px;
    background: #eef2f5;
    border-left: 5px solid #f37423;
    border-radius: 10px;
}

.ads-first-pass-marking-note span {
    font-size: 26px;
    line-height: 1;
}

.ads-first-pass-marking-note p {
    margin: 0;
    color: #5d6470;
    line-height: 1.65;
}

/* RESULT */

.ads-first-pass-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
}

.ads-first-pass-result-card {
    padding: 28px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
}

.ads-first-pass-result-card > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ads-first-pass-result-card h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 22px;
}

.ads-first-pass-result-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
}

/* FINAL CHECKLIST */

.ads-first-pass-checklist {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 38px;
    padding: 40px;
    background: #fff7ee;
    border: 2px solid #f37423;
    border-radius: 15px;
}

.ads-first-pass-checklist ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-first-pass-checklist li {
    position: relative;
    padding: 17px 18px 17px 51px;
    color: #434a54;
    background: #ffffff;
    border-radius: 10px;
    line-height: 1.55;
}

.ads-first-pass-checklist li::before {
    position: absolute;
    top: 16px;
    left: 18px;
    content: "✓";
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* RELATED GUIDES */

.ads-first-pass-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-first-pass-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-first-pass-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-first-pass-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-first-pass-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-first-pass-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-first-pass-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* CTA */

.ads-first-pass-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 38px;
    background: #eef2f5;
    border-radius: 14px;
}

/* BACK LINK */

.ads-first-pass-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-first-pass-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-first-pass-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-first-pass-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-first-pass-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-first-pass-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-first-pass-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-first-pass-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-first-pass-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-first-pass-intro,
    .ads-first-pass-image-feature,
    .ads-first-pass-car,
    .ads-first-pass-routes,
    .ads-first-pass-mistakes,
    .ads-first-pass-result,
    .ads-first-pass-checklist {
        grid-template-columns: 1fr;
    }

    .ads-first-pass-image-content {
        padding: 38px;
    }

    .ads-first-pass-tip-grid,
    .ads-first-pass-arrival-grid,
    .ads-first-pass-observation-grid,
    .ads-first-pass-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-first-pass-intro-card,
    .ads-first-pass-route-card,
    .ads-first-pass-mistake-card,
    .ads-first-pass-result-card {
        max-width: 430px;
    }

    .ads-first-pass-weather,
    .ads-first-pass-cta {
        grid-template-columns: 1fr;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-first-pass-container {
        width: calc(100% - 34px);
    }

    .ads-first-pass-hero {
        padding: 66px 0 58px;
    }

    .ads-first-pass-hero h1 {
        font-size: 39px;
        letter-spacing: -1.3px;
    }

    .ads-first-pass-hero > .ads-first-pass-container > p {
        font-size: 17px;
    }

    .ads-first-pass-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-first-pass-main {
        padding: 52px 0 64px;
    }

    .ads-first-pass-intro,
    .ads-first-pass-arrival,
    .ads-first-pass-examiner,
    .ads-first-pass-car,
    .ads-first-pass-routes,
    .ads-first-pass-mistakes,
    .ads-first-pass-direction,
    .ads-first-pass-weather,
    .ads-first-pass-centre,
    .ads-first-pass-marking,
    .ads-first-pass-result,
    .ads-first-pass-checklist,
    .ads-first-pass-cta {
        padding: 26px;
    }

    .ads-first-pass-image,
    .ads-first-pass-image img {
        min-height: 280px;
    }

    .ads-first-pass-image-content {
        padding: 4px 26px 30px;
    }

    .ads-first-pass-tip-grid,
    .ads-first-pass-arrival-grid,
    .ads-first-pass-observation-grid,
    .ads-first-pass-marking-grid,
    .ads-first-pass-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-first-pass-examiner,
    .ads-first-pass-direction,
    .ads-first-pass-marking-note {
        grid-template-columns: 1fr;
    }

    .ads-first-pass-weather-icons {
        grid-template-columns: repeat(4, 56px);
    }

    .ads-first-pass-weather-icons span {
        width: 56px;
        height: 56px;
        font-size: 26px;
    }

    .ads-first-pass-intro-card,
    .ads-first-pass-route-card,
    .ads-first-pass-mistake-card,
    .ads-first-pass-result-card {
        max-width: none;
    }

    .ads-first-pass-page .ads-btn {
        width: 100%;
    }
}
/* ==================================================
   EXTENDED DRIVING TEST PAGE
================================================== */

.ads-extended-page,
.ads-extended-page * {
    box-sizing: border-box;
}

.ads-extended-page {
    overflow: hidden;
    color: #2f3540;
    background: #f7f8fa;
}

.ads-extended-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin: 0 auto;
}


.ads-extended-hero {
    padding: 86px 0 72px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(18, 20, 26, 0.98),
            rgba(37, 42, 52, 0.96)
        );
}

.ads-extended-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 13px;
    color: #ffffff;
    background: #f37423;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-hero h1 {
    max-width: 900px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(44px, 7vw, 72px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.02;
    text-transform: uppercase;
}

.ads-extended-hero h1 span {
    display: block;
    color: #f37423;
}

.ads-extended-hero > .ads-extended-container > p {
    max-width: 790px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
    line-height: 1.65;
}

.ads-extended-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.ads-extended-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.ads-extended-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

/* MAIN */

.ads-extended-main {
    padding: 72px 0 84px;
}

.ads-extended-main section {
    margin-bottom: 44px;
}

/* SHARED HEADINGS */

.ads-extended-page .ads-section-heading {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-extended-page .ads-section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-page .ads-section-heading h2,
.ads-extended-intro h2,
.ads-extended-image-content h2,
.ads-extended-expect h2,
.ads-extended-marking h2,
.ads-extended-own-car h2,
.ads-extended-hro h2,
.ads-extended-ban-course h2,
.ads-extended-training h2,
.ads-extended-cta h2 {
    margin: 0 0 15px;
    color: #12141a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.18;
}

.ads-extended-page .ads-section-heading p,
.ads-extended-intro p,
.ads-extended-image-content p,
.ads-extended-expect p,
.ads-extended-marking p,
.ads-extended-own-car p,
.ads-extended-hro p,
.ads-extended-ban-course p,
.ads-extended-training p,
.ads-extended-cta p {
    margin: 0 0 14px;
    color: #5d6470;
    line-height: 1.72;
}


.ads-extended-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-left: 6px solid #f37423;
    border-radius: 15px;
    box-shadow: 0 14px 32px rgba(18, 20, 26, 0.06);
}

.ads-extended-intro-card {
    padding: 30px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-extended-intro-card span {
    display: block;
    margin-bottom: 9px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-intro-card strong {
    display: block;
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 27px;
    line-height: 1.15;
}

.ads-extended-intro-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.6;
}

/* IMAGE FEATURES */

.ads-extended-image-feature {
    display: grid;
    grid-template-columns: minmax(330px, 0.95fr) minmax(0, 1.05fr);
    gap: 38px;
    align-items: stretch;
    overflow: hidden;
    background: #12141a;
    border-left: 6px solid #f37423;
    border-radius: 15px;
}

.ads-extended-image {
    min-height: 420px;
    background: #292d35;
}

.ads-extended-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.ads-extended-image-content {
    align-self: center;
    padding: 42px 42px 42px 0;
}

.ads-extended-image-content h2 {
    color: #ffffff;
}

.ads-extended-image-content p {
    color: rgba(255, 255, 255, 0.84);
}

.ads-extended-image-content .ads-section-kicker {
    color: #f37423;
}

.ads-extended-image-feature-reverse .ads-extended-image {
    order: 2;
}

.ads-extended-image-feature-reverse .ads-extended-image-content {
    order: 1;
    padding: 42px 0 42px 42px;
}

/* QUICK FACTS */

.ads-extended-fact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-extended-fact-grid article {
    padding: 26px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-extended-fact-grid article > span {
    display: block;
    margin-bottom: 14px;
    font-size: 30px;
    line-height: 1;
}

.ads-extended-fact-grid strong {
    display: block;
    margin-bottom: 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-extended-fact-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

/* ROADMAP */

.ads-extended-roadmap {
    scroll-margin-top: 110px;
    padding: 42px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 15px;
}

.ads-extended-roadmap-list {
    position: relative;
    display: grid;
    gap: 18px;
    max-width: 870px;
    margin: 0 auto;
}

.ads-extended-roadmap-list::before {
    position: absolute;
    top: 28px;
    bottom: 28px;
    left: 24px;
    width: 3px;
    content: "";
    background: #e4e7eb;
}

.ads-extended-roadmap-list article {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 20px;
    padding: 24px;
    background: #f7f8fa;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
}

.ads-extended-step-number {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    color: #ffffff;
    background: #12141a;
    border: 5px solid #ffffff;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 900;
}

.ads-extended-roadmap-list h3 {
    margin: 2px 0 8px;
    color: #12141a;
    font-size: 21px;
}

.ads-extended-roadmap-list p {
    margin: 0 0 10px;
    color: #5d6470;
    line-height: 1.65;
}

.ads-extended-roadmap-highlight {
    background: #fff7ee !important;
    border-color: #f37423 !important;
}

.ads-extended-roadmap-highlight .ads-extended-step-number {
    background: #f37423;
}

.ads-extended-roadmap-success {
    background: #eefbf3 !important;
    border-color: #47a96b !important;
}

.ads-extended-roadmap-success .ads-extended-step-number {
    background: #238348;
}

.ads-extended-roadmap-cta {
    margin-top: 34px;
    text-align: center;
}

/* TEXT LINKS */

.ads-extended-page .ads-text-link {
    display: inline-block;
    margin-top: 5px;
    color: #d95f12;
    font-weight: 800;
    text-decoration: none;
}

.ads-extended-page .ads-text-link:hover {
    text-decoration: underline;
}

/* EXPECT */

.ads-extended-expect {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #eef2f5;
    border-left: 6px solid #f37423;
    border-radius: 14px;
}

.ads-extended-duration-card {
    padding: 30px;
    color: #ffffff;
    background: #12141a;
    border-radius: 12px;
    text-align: center;
}

.ads-extended-duration-card span {
    display: block;
    margin-bottom: 7px;
    color: #f37423;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-duration-card strong {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 42px;
    line-height: 1;
}

.ads-extended-duration-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.55;
}

/* TEST CONTENT */

.ads-extended-content-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-extended-content-grid article {
    padding: 26px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-extended-content-grid article > span {
    display: block;
    margin-bottom: 14px;
    font-size: 30px;
    line-height: 1;
}

.ads-extended-content-grid h3 {
    margin: 0 0 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-extended-content-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

/* MARKING */

.ads-extended-marking {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    color: #ffffff;
    background: #12141a;
    border-radius: 15px;
}

.ads-extended-marking h2,
.ads-extended-marking p {
    color: #ffffff;
}

.ads-extended-marking p {
    color: rgba(255, 255, 255, 0.82);
}

.ads-extended-marking-card {
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    text-align: center;
}

.ads-extended-marking-card span {
    display: block;
    margin-bottom: 8px;
    color: #d95f12;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-marking-card strong {
    display: block;
    margin-bottom: 8px;
    color: #12141a;
    font-size: 42px;
    line-height: 1;
}

.ads-extended-marking-card p {
    margin: 0;
    color: #5d6470;
    font-size: 14px;
    line-height: 1.55;
}

/* COSTS */

.ads-extended-cost-card {
    max-width: 760px;
    margin: 0 auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 15px;
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.06);
}

.ads-extended-cost-row {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 24px 30px;
    border-bottom: 1px solid #e8eaed;
}

.ads-extended-cost-row span {
    color: #434a54;
    font-weight: 700;
}

.ads-extended-cost-row strong {
    color: #12141a;
    font-size: 27px;
}

.ads-extended-cost-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding: 28px 30px;
    color: #ffffff;
    background: #12141a;
}

.ads-extended-cost-note > span {
    font-size: 30px;
    line-height: 1;
}

.ads-extended-cost-note h3 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 19px;
}

.ads-extended-cost-note p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
}

/* OWN CAR */

.ads-extended-own-car {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 38px;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 15px;
}

.ads-extended-check-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-extended-check-list li {
    position: relative;
    padding: 17px 18px 17px 51px;
    color: #434a54;
    background: #f7f8fa;
    border-radius: 10px;
    line-height: 1.55;
}

.ads-extended-check-list li::before {
    position: absolute;
    top: 16px;
    left: 18px;
    content: "✓";
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    color: #ffffff;
    background: #f37423;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

/* HIGH-RISK OFFENDER */

.ads-extended-hro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    padding: 36px;
    background: #fff4f1;
    border: 2px solid #d94c3b;
    border-radius: 15px;
}

.ads-extended-warning-icon {
    font-size: 40px;
    line-height: 1;
}

/* BAN REDUCTION */

.ads-extended-ban-course {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 38px;
    align-items: center;
    padding: 40px;
    background: #eefbf3;
    border: 2px solid #47a96b;
    border-radius: 15px;
}

.ads-extended-reduction-card {
    padding: 30px;
    color: #ffffff;
    background: #176b3a;
    border-radius: 12px;
    text-align: center;
}

.ads-extended-reduction-card > span {
    display: block;
    margin-bottom: 8px;
    color: #d9f6e4;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ads-extended-reduction-card strong {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 40px;
    line-height: 1;
}

.ads-extended-reduction-card p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 14px;
    line-height: 1.6;
}

/* TRAINING */

.ads-extended-training {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 15px;
}

.ads-extended-training > div:first-child {
    max-width: 760px;
    margin-bottom: 28px;
}

.ads-extended-training-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-extended-training-grid article {
    padding: 25px;
    background: #f7f8fa;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-extended-training-grid article > span {
    display: inline-block;
    margin-bottom: 12px;
    color: #d95f12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.7px;
}

.ads-extended-training-grid h3 {
    margin: 0 0 9px;
    color: #12141a;
    font-size: 20px;
}

.ads-extended-training-grid p {
    margin: 0;
    color: #5d6470;
    line-height: 1.63;
}

/* PRODUCTS */

.ads-extended-products {
    padding: 40px;
    background: #eef2f5;
    border-radius: 15px;
}

.ads-extended-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-extended-product-grid article {
    display: flex;
    flex-direction: column;
    padding: 26px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
}

.ads-extended-product-grid h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 20px;
}

.ads-extended-product-grid p {
    margin: 0 0 20px;
    color: #5d6470;
    line-height: 1.65;
}

.ads-extended-product-grid .ads-btn {
    align-self: flex-start;
    margin-top: auto;
}

.ads-extended-affiliate-note {
    max-width: 760px;
    margin: 24px auto 0;
    color: #68707b;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

/* FAQ */

.ads-extended-faq {
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 15px;
}

.ads-extended-page .ads-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
    margin: 0 auto;
}

.ads-extended-page .ads-faq-item {
    overflow: hidden;
    background: #f7f8fa;
    border: 1px solid #e1e5e9;
    border-radius: 11px;
}

.ads-extended-page .ads-faq-item summary {
    position: relative;
    padding: 20px 54px 20px 22px;
    color: #12141a;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    list-style: none;
}

.ads-extended-page .ads-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-extended-page .ads-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 22px;
    content: "+";
    color: #f37423;
    font-size: 25px;
    font-weight: 900;
    transform: translateY(-50%);
}

.ads-extended-page .ads-faq-item[open] summary::after {
    content: "−";
}

.ads-extended-page .ads-faq-item > div {
    padding: 0 22px 20px;
}

.ads-extended-page .ads-faq-item p {
    margin: 0 0 12px;
    color: #5d6470;
    line-height: 1.68;
}

.ads-extended-page .ads-faq-item p:last-child {
    margin-bottom: 0;
}

/* CTA */

.ads-extended-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    padding: 40px;
    background: #12141a;
    border-left: 6px solid #f37423;
    border-radius: 15px;
}

.ads-extended-cta h2 {
    color: #ffffff;
}

.ads-extended-cta p {
    color: rgba(255, 255, 255, 0.82);
}

/* RELATED GUIDES */

.ads-extended-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-extended-related-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    color: inherit !important;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-top: 4px solid #f37423;
    border-radius: 12px;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-extended-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 20, 26, 0.1);
}

.ads-extended-related-card > span {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 13px;
    padding: 6px 10px;
    color: #d95f12;
    background: rgba(243, 116, 35, 0.1);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.ads-extended-related-card h3 {
    margin: 0 0 10px;
    color: #12141a;
    font-size: 21px;
    line-height: 1.3;
}

.ads-extended-related-card p {
    margin: 0;
    color: #5f6671;
    line-height: 1.65;
}

.ads-extended-related-card strong {
    margin-top: auto;
    padding-top: 18px;
    color: #d95f12;
}

/* BACK LINK */

.ads-extended-back {
    margin-top: 50px;
    padding-top: 34px;
    border-top: 2px solid #e8eaed;
    text-align: center;
}

.ads-extended-back a {
    color: #12141a;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.ads-extended-back a:hover {
    color: #d95f12;
}

/* BUTTONS */

.ads-extended-page .ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.4px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.ads-extended-page .ads-btn:hover {
    transform: translateY(-2px);
}

.ads-extended-page .ads-btn-primary {
    color: #ffffff !important;
    background: #f37423;
    border: 2px solid #f37423;
    box-shadow: 0 7px 18px rgba(243, 116, 35, 0.24);
}

.ads-extended-page .ads-btn-primary:hover {
    background: #d95f12;
    border-color: #d95f12;
}

.ads-extended-page .ads-btn-secondary {
    color: #ffffff !important;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.75);
}

.ads-extended-page .ads-btn-secondary:hover {
    color: #12141a !important;
    background: #ffffff;
}

/* TABLET */

@media (max-width: 980px) {

    .ads-extended-intro,
    .ads-extended-image-feature,
    .ads-extended-expect,
    .ads-extended-marking,
    .ads-extended-own-car,
    .ads-extended-ban-course {
        grid-template-columns: 1fr;
    }

    .ads-extended-image-feature-reverse .ads-extended-image,
    .ads-extended-image-feature-reverse .ads-extended-image-content {
        order: initial;
    }

    .ads-extended-image-content,
    .ads-extended-image-feature-reverse .ads-extended-image-content {
        padding: 38px;
    }

    .ads-extended-fact-grid,
    .ads-extended-content-grid,
    .ads-extended-training-grid,
    .ads-extended-product-grid,
    .ads-extended-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-extended-intro-card,
    .ads-extended-duration-card,
    .ads-extended-marking-card,
    .ads-extended-reduction-card {
        max-width: 430px;
    }

    .ads-extended-cta {
        grid-template-columns: 1fr;
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .ads-extended-container {
        width: calc(100% - 34px);
    }

    .ads-extended-hero {
        padding: 66px 0 58px;
    }

    .ads-extended-hero h1 {
        font-size: 40px;
        letter-spacing: -1.3px;
    }

    .ads-extended-hero > .ads-extended-container > p {
        font-size: 17px;
    }

    .ads-extended-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-extended-main {
        padding: 52px 0 64px;
    }

    .ads-extended-intro,
    .ads-extended-roadmap,
    .ads-extended-expect,
    .ads-extended-marking,
    .ads-extended-own-car,
    .ads-extended-hro,
    .ads-extended-ban-course,
    .ads-extended-training,
    .ads-extended-products,
    .ads-extended-faq,
    .ads-extended-cta {
        padding: 26px;
    }

    .ads-extended-image,
    .ads-extended-image img {
        min-height: 280px;
    }

    .ads-extended-image-content,
    .ads-extended-image-feature-reverse .ads-extended-image-content {
        padding: 4px 26px 30px;
    }

    .ads-extended-fact-grid,
    .ads-extended-content-grid,
    .ads-extended-training-grid,
    .ads-extended-product-grid,
    .ads-extended-related-grid {
        grid-template-columns: 1fr;
    }

    .ads-extended-roadmap-list::before {
        left: 20px;
    }

    .ads-extended-roadmap-list article {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 15px;
        padding: 20px;
    }

    .ads-extended-step-number {
        width: 42px;
        height: 42px;
        border-width: 4px;
    }

    .ads-extended-hro,
    .ads-extended-cost-note {
        grid-template-columns: 1fr;
    }

    .ads-extended-cost-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
        padding: 22px;
    }

    .ads-extended-cost-note {
        padding: 24px;
    }

    .ads-extended-intro-card,
    .ads-extended-duration-card,
    .ads-extended-marking-card,
    .ads-extended-reduction-card {
        max-width: none;
    }

    .ads-extended-page .ads-btn {
        width: 100%;
    }
}
/* =========================================================
   ADS2 THEORY TEST PAGE
   Andrew's Driving School Gutenberg Rebuild
   ========================================================= */

.ads2-theory-page-wrapper {
    --ads2-theory-navy: #102a43;
    --ads2-theory-navy-dark: #071a2d;
    --ads2-theory-blue: #1d4f7a;
    --ads2-theory-orange: #f37423;
    --ads2-theory-orange-dark: #d95d0d;
    --ads2-theory-light: #f5f8fb;
    --ads2-theory-grey: #5f6c78;
    --ads2-theory-border: #dbe4ec;
    --ads2-theory-white: #ffffff;

    width: 100%;
    overflow: hidden;
    color: var(--ads2-theory-navy);
    font-family: "Montserrat", sans-serif;
}

.ads2-theory-page-wrapper *,
.ads2-theory-page-wrapper *::before,
.ads2-theory-page-wrapper *::after {
    box-sizing: border-box;
}

.ads2-theory-page-wrapper h1,
.ads2-theory-page-wrapper h2,
.ads2-theory-page-wrapper h3,
.ads2-theory-page-wrapper h4,
.ads2-theory-page-wrapper p,
.ads2-theory-page-wrapper ul {
    margin-top: 0;
}

.ads2-theory-page-wrapper img {
    max-width: 100%;
    height: auto;
}

.ads2-theory-section-container,
.ads2-theory-hero-inner,
.ads2-practice-container,
.ads2-booking-box,
.ads2-cta-banner-bottom-inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

/* =========================================================
   HERO
   ========================================================= */

/* =========================================================
   THEORY TEST HERO
   Compact slanted style
   ========================================================= */

.ads2-theory-hero {
    min-height: 255px;
    display: flex;
    align-items: center;
    padding: 40px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads2-theory-orange);
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(243, 116, 35, 0.18),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #12141a 0%,
            #1d2028 62%,
            #2c3039 100%
        );
    color: var(--ads2-theory-white);
}

.ads2-theory-hero-inner {
    position: relative;
    z-index: 2;
}

.ads2-theory-kicker {
    display: inline-block;
    margin: 0 0 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: #12141a;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads2-theory-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads2-theory-section-kicker {
    margin-bottom: 14px;
    color: var(--ads2-theory-orange);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ads2-theory-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads2-theory-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads2-theory-white);
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads2-theory-hero h1 span {
    color: var(--ads2-theory-white);
}

.ads2-hero-bright-text {
    max-width: 690px;
    margin: 0;
    color: var(--ads2-theory-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads2-hero-primary-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 19px 0 0;
}

/* Shared button foundations used throughout the page */

.ads2-btn-theory-practice,
.ads2-btn-orange-solid,
.ads2-booking-btn,
.ads2-btn-theory-secondary,
.ads2-btn-orange-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 25px;
    border-radius: 9px;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.ads2-btn-theory-practice,
.ads2-btn-orange-solid,
.ads2-booking-btn {
    border: 2px solid var(--ads2-theory-orange);
    background: var(--ads2-theory-orange);
    color: var(--ads2-theory-white);
    box-shadow: 0 12px 26px rgba(243, 116, 35, 0.25);
}

.ads2-btn-theory-practice:hover,
.ads2-btn-orange-solid:hover,
.ads2-booking-btn:hover {
    border-color: var(--ads2-theory-orange-dark);
    background: var(--ads2-theory-orange-dark);
    color: var(--ads2-theory-white);
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(243, 116, 35, 0.3);
}

/* Hero button override */

.ads2-theory-hero .ads2-btn-theory-practice {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: none;
}

.ads2-theory-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads2-theory-hero-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads2-theory-white);
    font-size: 0.75rem;
    font-weight: 800;
}
/* =========================================================
   SHARED SECTION TYPOGRAPHY
   ========================================================= */

.ads2-theory-facts-section,
.ads2-theory-preparation-section,
.ads2-theory-centres-section,
.ads2-theory-next-step-section,
.ads2-theory-faq-section {
    padding: 85px 0;
}

.ads2-theory-intro {
    max-width: 790px;
    margin: 0 auto 46px;
    text-align: center;
}

.ads2-theory-intro h2,
.ads2-theory-centres-content h2,
.ads2-booking-box h2,
.ads2-cta-banner-bottom-light h2,
.ads2-theory-practice-banner h2 {
    margin-bottom: 18px;
    color: var(--ads2-theory-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.ads2-theory-intro p,
.ads2-theory-centres-content p,
.ads2-booking-box > p,
.ads2-cta-banner-bottom-light p,
.ads2-theory-practice-banner p {
    color: var(--ads2-theory-grey);
    font-size: 1rem;
    line-height: 1.8;
}

.ads2-theory-intro p:last-child,
.ads2-theory-centres-content p:last-child,
.ads2-booking-box > p:last-child,
.ads2-theory-practice-banner p:last-child {
    margin-bottom: 0;
}

/* =========================================================
   FACT CARDS
   ========================================================= */

.ads2-theory-facts-section {
    background: var(--ads2-theory-white);
}

.ads2-facts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-fact-card {
    position: relative;
    min-height: 100%;
    padding: 30px;
    overflow: hidden;
    border: 1px solid var(--ads2-theory-border);
    border-radius: 16px;
    background: var(--ads2-theory-white);
    box-shadow: 0 12px 32px rgba(16, 42, 67, 0.07);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}

.ads2-fact-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: var(--ads2-theory-orange);
}

.ads2-fact-card:hover {
    border-color: rgba(243, 116, 35, 0.42);
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(16, 42, 67, 0.12);
}

.ads2-fact-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    border-radius: 13px;
    background: rgba(243, 116, 35, 0.12);
    font-size: 1.55rem;
}

.ads2-fact-card h3 {
    margin-bottom: 18px;
    color: var(--ads2-theory-navy);
    font-size: 1.3rem;
    font-weight: 850;
    line-height: 1.3;
}

.ads2-fact-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads2-fact-card li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 25px;
    color: var(--ads2-theory-grey);
    font-size: 0.96rem;
    line-height: 1.65;
}

.ads2-fact-card li:last-child {
    margin-bottom: 0;
}

.ads2-fact-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--ads2-theory-orange);
    font-weight: 900;
}

/* =========================================================
   THEORY TEST PRO BANNER
   ========================================================= */

.ads2-theory-practice-banner {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgba(7, 26, 45, 0.98),
            rgba(16, 42, 67, 0.95)
        ),
        var(--ads2-theory-navy);
    text-align: center;
}

.ads2-theory-practice-banner::before,
.ads2-theory-practice-banner::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.ads2-theory-practice-banner::before {
    width: 300px;
    height: 300px;
    left: -120px;
    bottom: -170px;
    background: rgba(243, 116, 35, 0.12);
}

.ads2-theory-practice-banner::after {
    width: 220px;
    height: 220px;
    right: -80px;
    top: -130px;
    border: 45px solid rgba(255, 255, 255, 0.035);
}

.ads2-practice-container {
    position: relative;
    z-index: 2;
    max-width: 820px;
}

.ads2-theory-section-kicker-light {
    color: #ff9a59;
}

.ads2-theory-practice-banner h2 {
    color: var(--ads2-theory-white);
}

.ads2-theory-practice-banner p {
    color: rgba(255, 255, 255, 0.82);
}

.ads2-practice-btn-row {
    display: flex;
    justify-content: center;
    margin: 30px 0 18px;
}

.ads2-btn-orange-outline {
    border: 2px solid var(--ads2-theory-orange);
    background: transparent;
    color: var(--ads2-theory-white);
}

.ads2-btn-orange-outline:hover {
    background: var(--ads2-theory-orange);
    color: var(--ads2-theory-white);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(243, 116, 35, 0.25);
}

.ads2-app-note {
    margin-bottom: 0;
    font-size: 0.88rem !important;
    font-weight: 700;
}

/* =========================================================
   PREPARATION CARDS
   ========================================================= */

.ads2-theory-preparation-section {
    background: var(--ads2-theory-light);
}

.ads2-theory-preparation-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.ads2-theory-preparation-card {
    min-height: 100%;
    padding: 27px 24px;
    border-top: 4px solid var(--ads2-theory-orange);
    border-radius: 14px;
    background: var(--ads2-theory-white);
    box-shadow: 0 10px 28px rgba(16, 42, 67, 0.07);
}

.ads2-theory-preparation-card h3 {
    margin-bottom: 13px;
    color: var(--ads2-theory-navy);
    font-size: 1.12rem;
    font-weight: 850;
    line-height: 1.35;
}

.ads2-theory-preparation-card p {
    margin-bottom: 0;
    color: var(--ads2-theory-grey);
    font-size: 0.94rem;
    line-height: 1.7;
}

/* =========================================================
   CENTRE FINDER
   ========================================================= */

.ads2-theory-centres-section {
    background: var(--ads2-theory-white);
}

.ads2-theory-centres-container {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(250px, 0.5fr);
    gap: 50px;
    align-items: center;
    padding: 45px;
    border: 1px solid var(--ads2-theory-border);
    border-radius: 18px;
    background: var(--ads2-theory-light);
    box-shadow: 0 14px 36px rgba(16, 42, 67, 0.07);
}

.ads2-theory-centres-content h2 {
    font-size: clamp(1.9rem, 3vw, 2.65rem);
}

.ads2-theory-centres-action {
    display: flex;
    justify-content: flex-end;
}

.ads2-btn-theory-secondary {
    border: 2px solid var(--ads2-theory-navy);
    background: var(--ads2-theory-navy);
    color: var(--ads2-theory-white);
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.17);
}

.ads2-btn-theory-secondary:hover {
    border-color: var(--ads2-theory-orange);
    background: var(--ads2-theory-orange);
    color: var(--ads2-theory-white);
    transform: translateY(-2px);
}

/* =========================================================
   OFFICIAL BOOKING SECTION
   ========================================================= */

.ads2-booking-section-full {
    padding: 85px 0;
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(243, 116, 35, 0.14),
            transparent 25%
        ),
        linear-gradient(135deg, #edf3f8 0%, #f8fafc 100%);
}

.ads2-booking-box {
    max-width: 840px;
    padding: 48px;
    border-radius: 18px;
    background: var(--ads2-theory-white);
    text-align: center;
    box-shadow: 0 18px 50px rgba(16, 42, 67, 0.11);
}

.ads2-booking-warning {
    margin: 28px 0;
    padding: 18px 20px;
    border-left: 5px solid var(--ads2-theory-orange);
    border-radius: 8px;
    background: #fff4ec;
    color: #69320f;
    font-size: 0.96rem;
    line-height: 1.65;
    text-align: left;
}

.ads2-booking-btn {
    margin-top: 8px;
}

.ads2-phone-booking {
    max-width: 480px;
    margin: 32px auto 0;
    padding-top: 26px;
    border-top: 1px solid var(--ads2-theory-border);
}

.ads2-phone-booking p {
    margin-bottom: 8px;
    color: var(--ads2-theory-grey);
    line-height: 1.6;
}

.ads2-phone-booking p:last-child {
    margin-bottom: 0;
}

.ads2-phone-booking a {
    color: var(--ads2-theory-orange-dark);
    font-weight: 800;
    text-decoration: none;
}

.ads2-phone-booking a:hover {
    text-decoration: underline;
}

/* =========================================================
   SHOW ME / TELL ME
   ========================================================= */

.ads2-theory-next-step-section {
    background: var(--ads2-theory-white);
}

.ads2-theory-next-step-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
    padding: 38px 42px;
    border-radius: 17px;
    background: var(--ads2-theory-navy);
    box-shadow: 0 16px 40px rgba(16, 42, 67, 0.16);
}

.ads2-theory-next-step-card h3 {
    margin-bottom: 12px;
    color: var(--ads2-theory-white);
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
    font-weight: 850;
}

.ads2-theory-next-step-card p {
    max-width: 700px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads2-theory-next-step-card .ads2-btn-theory-secondary {
    border-color: var(--ads2-theory-orange);
    background: var(--ads2-theory-orange);
    white-space: nowrap;
}

.ads2-theory-next-step-card .ads2-btn-theory-secondary:hover {
    border-color: var(--ads2-theory-white);
    background: var(--ads2-theory-white);
    color: var(--ads2-theory-navy);
}

/* =========================================================
   FAQ SECTION
   ========================================================= */

.ads2-theory-faq-section {
    background: var(--ads2-theory-light);
}

.ads2-theory-faq-list {
    max-width: 860px;
    margin: 0 auto;
}

.ads2-theory-faq-item {
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid var(--ads2-theory-border);
    border-radius: 12px;
    background: var(--ads2-theory-white);
    box-shadow: 0 8px 24px rgba(16, 42, 67, 0.05);
}

.ads2-theory-faq-item:last-child {
    margin-bottom: 0;
}

.ads2-theory-faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 18px 58px 18px 22px;
    color: var(--ads2-theory-navy);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
}

.ads2-theory-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads2-theory-faq-item summary::after {
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(243, 116, 35, 0.12);
    color: var(--ads2-theory-orange);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%);
}

.ads2-theory-faq-item[open] summary::after {
    content: "−";
}

.ads2-theory-faq-item[open] summary {
    color: var(--ads2-theory-orange-dark);
}

.ads2-theory-faq-item > div {
    padding: 0 22px 22px;
}

.ads2-theory-faq-item > div p {
    margin-bottom: 0;
    color: var(--ads2-theory-grey);
    font-size: 0.96rem;
    line-height: 1.75;
}

/* =========================================================
   BOTTOM CTA
   ========================================================= */

.ads2-cta-banner-bottom-light {
    padding: 80px 0;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(243, 116, 35, 0.16),
            transparent 28%
        ),
        var(--ads2-theory-navy);
    text-align: center;
}

.ads2-cta-banner-bottom-light h2 {
    color: var(--ads2-theory-white);
}

.ads2-cta-banner-bottom-light p {
    max-width: 680px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.82);
}

.ads2-theory-bottom-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px;
}

.ads2-btn-theory-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 8px;
    color: var(--ads2-theory-white);
    font-size: 0.96rem;
    font-weight: 800;
    text-decoration: none;
}

.ads2-btn-theory-text:hover {
    color: var(--ads2-theory-orange);
    text-decoration: underline;
}

/* =========================================================
   KEYBOARD FOCUS
   ========================================================= */

.ads2-theory-page-wrapper a:focus-visible,
.ads2-theory-page-wrapper summary:focus-visible {
    outline: 3px solid #ffb27f;
    outline-offset: 4px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .ads2-theory-preparation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads2-theory-centres-container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ads2-theory-centres-action {
        justify-content: flex-start;
    }

    .ads2-theory-next-step-card {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .ads2-theory-section-container,
    .ads2-theory-hero-inner,
    .ads2-practice-container,
    .ads2-booking-box,
    .ads2-cta-banner-bottom-inner {
        width: min(100% - 28px, 1120px);
    }

    .ads2-theory-hero {
        min-height: auto;
        padding: 72px 0 64px;
    }

    .ads2-theory-hero::after {
        right: -65px;
        top: 48%;
        font-size: 230px;
    }

    .ads2-theory-hero h1 {
        font-size: clamp(2.7rem, 15vw, 4.2rem);
        line-height: 1;
    }

    .ads2-hero-bright-text {
        font-size: 1rem;
        line-height: 1.65;
    }

    .ads2-hero-primary-cta,
    .ads2-theory-bottom-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ads2-btn-theory-practice,
    .ads2-btn-orange-solid,
    .ads2-booking-btn,
    .ads2-btn-theory-secondary,
    .ads2-btn-orange-outline,
    .ads2-btn-theory-text {
        width: 100%;
    }

    .ads2-theory-hero-pills {
        gap: 8px;
    }

    .ads2-theory-hero-pills span {
        font-size: 0.78rem;
    }

    .ads2-theory-facts-section,
    .ads2-theory-preparation-section,
    .ads2-theory-centres-section,
    .ads2-theory-next-step-section,
    .ads2-theory-faq-section,
    .ads2-booking-section-full {
        padding: 64px 0;
    }

    .ads2-theory-practice-banner,
    .ads2-cta-banner-bottom-light {
        padding: 64px 0;
    }

    .ads2-theory-intro {
        margin-bottom: 34px;
    }

    .ads2-theory-intro h2,
    .ads2-theory-centres-content h2,
    .ads2-booking-box h2,
    .ads2-cta-banner-bottom-light h2,
    .ads2-theory-practice-banner h2 {
        font-size: clamp(1.8rem, 9vw, 2.45rem);
    }

    .ads2-facts-grid,
    .ads2-theory-preparation-grid {
        grid-template-columns: 1fr;
    }

    .ads2-fact-card {
        padding: 25px 22px;
    }

    .ads2-theory-preparation-card {
        padding: 24px 21px;
    }

    .ads2-theory-centres-container {
        padding: 30px 23px;
    }

    .ads2-booking-box {
        padding: 34px 22px;
    }

    .ads2-booking-warning {
        padding: 17px;
    }

    .ads2-theory-next-step-card {
        padding: 30px 23px;
    }

    .ads2-theory-next-step-card .ads2-btn-theory-secondary {
        justify-self: stretch;
    }

    .ads2-theory-faq-item summary {
        min-height: 60px;
        padding: 17px 52px 17px 18px;
        font-size: 0.95rem;
    }

    .ads2-theory-faq-item summary::after {
        right: 17px;
    }

    .ads2-theory-faq-item > div {
        padding: 0 18px 19px;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .ads2-theory-hero-pills {
        flex-direction: column;
        align-items: flex-start;
    }

    .ads2-theory-hero-pills span {
        width: 100%;
        justify-content: center;
    }

    .ads2-fact-card-icon {
        width: 48px;
        height: 48px;
        font-size: 1.4rem;
    }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .ads2-theory-page-wrapper *,
    .ads2-theory-page-wrapper *::before,
    .ads2-theory-page-wrapper *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
/* =========================================================
   ADS2 INSTRUCTOR CONTACT PAGE
   ========================================================= */

.ads2-instructors-page-wrapper {
    --ads2-inst-navy: #102a43;
    --ads2-inst-navy-dark: #071a2d;
    --ads2-inst-orange: #f37423;
    --ads2-inst-orange-dark: #d95d0d;
    --ads2-inst-light: #f5f8fb;
    --ads2-inst-grey: #5f6c78;
    --ads2-inst-border: #dbe4ec;
    --ads2-inst-white: #ffffff;

    width: 100%;
    overflow: hidden;
    color: var(--ads2-inst-navy);
    font-family: "Montserrat", sans-serif;
}

.ads2-instructors-page-wrapper *,
.ads2-instructors-page-wrapper *::before,
.ads2-instructors-page-wrapper *::after {
    box-sizing: border-box;
}

.ads2-instructors-page-wrapper h1,
.ads2-instructors-page-wrapper h2,
.ads2-instructors-page-wrapper h3,
.ads2-instructors-page-wrapper p {
    margin-top: 0;
}

.ads2-instructors-page-wrapper img {
    display: block;
    max-width: 100%;
    height: auto;
}

.ads2-instructors-container,
.ads2-instructors-hero-inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

/* =========================================================
   HERO
   ========================================================= */

.ads2-instructors-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads2-inst-orange);
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(243, 116, 35, 0.18),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            var(--ads2-inst-navy-dark) 0%,
            var(--ads2-inst-navy) 62%,
            #2c3039 100%
        );
    color: var(--ads2-inst-white);
}

.ads2-instructors-hero-inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.ads2-instructors-kicker {
    display: inline-block;
    margin: 0 0 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads2-inst-navy-dark);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads2-inst-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads2-instructors-section-kicker {
    margin-bottom: 14px;
    color: var(--ads2-inst-orange);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ads2-instructors-hero h1 {
    width: fit-content;
    max-width: 780px;
    margin: 0 0 16px;
    padding: 15px 30px;
    border-radius: 4px;
    background: var(--ads2-inst-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads2-inst-white);
    font-size: clamp(1.8rem, 3.8vw, 3.15rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads2-instructors-hero h1 span {
    color: var(--ads2-inst-white);
}

.ads2-instructors-hero-text {
    max-width: 650px;
    margin: 0;
    color: var(--ads2-inst-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads2-instructors-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads2-instructors-primary-btn,
.ads2-instructors-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.ads2-instructors-primary-btn {
    background: var(--ads2-inst-orange);
    border-color: var(--ads2-inst-orange);
    color: var(--ads2-inst-white);
}

.ads2-instructors-primary-btn:hover {
    background: var(--ads2-inst-orange-dark);
    border-color: var(--ads2-inst-orange-dark);
    color: var(--ads2-inst-white);
    transform: translateY(-2px);
}

.ads2-instructors-secondary-btn {
    background: var(--ads2-inst-white);
    border-color: rgba(255, 255, 255, 0.75);
    color: var(--ads2-inst-navy);
}

.ads2-instructors-secondary-btn:hover {
    background: var(--ads2-inst-orange);
    border-color: var(--ads2-inst-orange);
    color: var(--ads2-inst-white);
    transform: translateY(-2px);
}

/* keep profile button styling for instructor cards */
.ads2-instructor-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 24px;
    border-radius: 9px;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
}
@media (max-width: 700px) {
    .ads2-instructors-hero {
        min-height: 270px;
        padding: 42px 0;
    }

    .ads2-instructors-hero-inner,
    .ads2-instructors-container {
        width: min(100% - 28px, 1180px);
    }

 .ads2-instructors-hero h1 {
    width: 100%;
    max-width: 100%;
    padding: 13px 14px;
    font-size: clamp(1.65rem, 7.8vw, 2.15rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
    word-break: normal;
    transform: rotate(0.3deg);
}

    .ads2-instructors-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads2-instructors-primary-btn,
    .ads2-instructors-secondary-btn {
        width: 100%;
    }
}
/* =========================================================
   INTRO
   ========================================================= */

.ads2-instructors-intro-section {
    padding: 85px 0;
    background: var(--ads2-inst-white);
}

.ads2-instructors-intro {
    max-width: 820px;
    margin: 0 auto 46px;
    text-align: center;
}

.ads2-instructors-intro h2,
.ads2-instructors-directory-heading h2 {
    margin-bottom: 18px;
    color: var(--ads2-inst-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.ads2-instructors-intro p,
.ads2-instructors-directory-heading p {
    color: var(--ads2-inst-grey);
    font-size: 1rem;
    line-height: 1.8;
}

/* =========================================================
   AREA LINKS
   ========================================================= */

.ads2-instructors-area-links {
    max-width: 900px;
    margin: 0 auto 40px;
    padding: 34px;
    border: 1px solid var(--ads2-inst-border);
    border-radius: 17px;
    background: var(--ads2-inst-light);
    text-align: center;
}

.ads2-instructors-area-links h3 {
    margin-bottom: 22px;
    color: var(--ads2-inst-navy);
    font-size: 1.35rem;
    font-weight: 850;
}

.ads2-instructors-area-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.ads2-instructors-area-grid a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid var(--ads2-inst-border);
    border-radius: 9px;
    background: var(--ads2-inst-white);
    color: var(--ads2-inst-navy);
    font-weight: 750;
    text-decoration: none;
    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.ads2-instructors-area-grid a:hover {
    border-color: var(--ads2-inst-orange);
    color: var(--ads2-inst-orange-dark);
    transform: translateY(-2px);
}

.ads2-instructors-all-areas-link {
    color: var(--ads2-inst-orange-dark);
    font-weight: 800;
    text-decoration: none;
}

.ads2-instructors-all-areas-link:hover {
    text-decoration: underline;
}

/* =========================================================
   CONTACT NOTICE
   ========================================================= */

.ads2-instructors-contact-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
    padding: 32px;
    border-left: 5px solid var(--ads2-inst-orange);
    border-radius: 14px;
    background: #fff4ec;
}

.ads2-instructors-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: rgba(243, 116, 35, 0.14);
    font-size: 1.55rem;
}

.ads2-instructors-contact-content h3 {
    margin-bottom: 12px;
    color: var(--ads2-inst-navy);
    font-size: 1.3rem;
    font-weight: 850;
}

.ads2-instructors-contact-content p {
    margin-bottom: 12px;
    color: #624226;
    line-height: 1.7;
}

.ads2-instructors-contact-content p:last-child {
    margin-bottom: 0;
}

.ads2-instructors-contact-content a {
    color: var(--ads2-inst-orange-dark);
    text-decoration: none;
}

.ads2-instructors-contact-content a:hover {
    text-decoration: underline;
}

/* =========================================================
   DIRECTORY
   ========================================================= */

.ads2-instructors-directory-section {
    padding: 85px 0;
    background: var(--ads2-inst-light);
}

.ads2-instructors-directory-heading {
    max-width: 790px;
    margin: 0 auto 44px;
    text-align: center;
}

.ads2-instructors-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* =========================================================
   INSTRUCTOR CARDS
   ========================================================= */

.ads2-instructor-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ads2-inst-border);
    border-radius: 17px;
    background: var(--ads2-inst-white);
    box-shadow: 0 12px 32px rgba(16, 42, 67, 0.08);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}

.ads2-instructor-card:hover {
    border-color: rgba(243, 116, 35, 0.45);
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(16, 42, 67, 0.13);
}

.ads2-instructor-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #e9eff4;
}

.ads2-instructor-image {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.35s ease;
}

.ads2-instructor-card:hover .ads2-instructor-image {
    transform: scale(1.025);
}

.ads2-instructor-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 24px 24px;
}

.ads2-instructor-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.ads2-instructor-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--ads2-inst-navy);
    color: var(--ads2-inst-white);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ads2-instructor-badge-area {
    background: #e9eff5;
    color: var(--ads2-inst-navy);
}

.ads2-instructor-badge-auto {
    background: var(--ads2-inst-orange);
    color: var(--ads2-inst-white);
}

.ads2-instructor-badge-trainer {
    background: #2d6a4f;
    color: var(--ads2-inst-white);
}

.ads2-instructor-card h3 {
    margin-bottom: 12px;
    color: var(--ads2-inst-navy);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
}

.ads2-instructor-card-content > p {
    flex-grow: 1;
    margin-bottom: 22px;
    color: var(--ads2-inst-grey);
    font-size: 0.94rem;
    line-height: 1.7;
}

.ads2-instructor-profile-btn {
    width: 100%;
    margin-top: auto;
    border: 2px solid var(--ads2-inst-navy);
    background: var(--ads2-inst-navy);
    color: var(--ads2-inst-white);
}

.ads2-instructor-profile-btn:hover {
    border-color: var(--ads2-inst-orange);
    background: var(--ads2-inst-orange);
    color: var(--ads2-inst-white);
    transform: translateY(-2px);
}

/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.ads2-instructors-page-wrapper a:focus-visible {
    outline: 3px solid #ffb27f;
    outline-offset: 4px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .ads2-instructors-hero {
        min-height: 500px;
        padding: 82px 0 72px;
    }

    .ads2-instructors-hero::after {
        right: -25px;
        font-size: 12rem;
    }

    .ads2-instructors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads2-instructors-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .ads2-instructors-container,
    .ads2-instructors-hero-inner {
        width: min(100% - 28px, 1120px);
    }

    .ads2-instructors-hero {
        min-height: auto;
        padding: 42px 0;
    }

    .ads2-instructors-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: 1.65rem;
        line-height: 1.12;
        overflow-wrap: normal;
        word-break: keep-all;
        hyphens: none;
        transform: rotate(0.3deg);
    }

    .ads2-instructors-hero h1 span {
        display: block;
    }

    .ads2-instructors-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads2-instructors-primary-btn,
    .ads2-instructors-secondary-btn {
        width: 100%;
    }

    .ads2-instructors-intro-section,
    .ads2-instructors-directory-section {
        padding: 64px 0;
    }

    .ads2-instructors-area-links {
        padding: 27px 20px;
    }

    .ads2-instructors-area-grid,
    .ads2-instructors-grid {
        grid-template-columns: 1fr;
    }

    .ads2-instructors-contact-notice {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }

    .ads2-instructors-contact-icon {
        width: 50px;
        height: 50px;
    }

    .ads2-instructor-card-content {
        padding: 23px 21px 22px;
    }
}
/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .ads2-instructor-image-wrap {
        aspect-ratio: 1 / 1;
    }

    .ads2-instructor-badges {
        gap: 6px;
    }

    .ads2-instructor-badge {
        font-size: 0.68rem;
    }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .ads2-instructors-page-wrapper *,
    .ads2-instructors-page-wrapper *::before,
    .ads2-instructors-page-wrapper *::after {
        transition: none !important;
    }
}
/* ==========================================================
   Automatic Driving Lesson Prices
   Isolated classes: ads-ap-
   Uses global theme variables:
   --ads-navy: #12141a;
   --ads-orange: #f37423;
   --ads-white: #ffffff;
   --ads-grey: #d7d9df;
   ========================================================== */

.ads-ap-page {
    color: #2f3138;
    line-height: 1.65;
}

.ads-ap-page *,
.ads-ap-page *::before,
.ads-ap-page *::after {
    box-sizing: border-box;
}

.ads-ap-page h1,
.ads-ap-page h2,
.ads-ap-page h3,
.ads-ap-page p {
    margin-top: 0;
}

.ads-ap-page h1,
.ads-ap-page h2,
.ads-ap-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-ap-page a {
    text-decoration: none;
}

.ads-ap-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-ap-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


/* ==========================================================
   COMPACT HERO
   ========================================================== */

.ads-ap-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background-color: var(--ads-navy);
    background-image:
        linear-gradient(
            to right,
            rgba(18, 20, 26, 0.97) 20%,
            rgba(18, 20, 26, 0.76) 55%,
            rgba(18, 20, 26, 0.28) 100%
        ),
        url("/wp-content/uploads/2026/01/Automatic-Driving-Lessons-Andrew.webp");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    color: var(--ads-white);
}

.ads-ap-hero-label {
    display: inline-block;
    margin-bottom: 7px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-ap-hero-title {
    width: fit-content;
    max-width: 760px;
    margin-bottom: 15px;
    padding: 14px 29px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    transform: rotate(1deg);
}

.ads-ap-hero-title h1 {
    margin: 0;
    color: var(--ads-white);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.08;
    text-transform: uppercase;
}

.ads-ap-hero-title h1 span {
    display: inline-block;
    margin-left: 8px;
    font-size: 0.72em;
    opacity: 0.92;
}

.ads-ap-hero-content {
    max-width: 670px;
}

.ads-ap-hero-content p {
    margin-bottom: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-ap-hero .ads-ap-actions {
    align-items: center;
    margin-top: 18px;
}

.ads-ap-hero .ads-ap-button {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ads-ap-hero .ads-ap-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-ap-hero .ads-ap-button-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-ap-hero-badge {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 19px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.ads-ap-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-ap-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 23px;
    border: 2px solid transparent;
    border-radius: 8px;
    font-weight: 800;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.ads-ap-button:hover {
    transform: translateY(-2px);
}

.ads-ap-button-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-ap-button-primary:hover {
    background: #da611a;
    color: var(--ads-white);
}

.ads-ap-button-outline {
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--ads-white);
}

.ads-ap-button-outline:hover {
    border-color: var(--ads-white);
    background: rgba(255, 255, 255, 0.09);
    color: var(--ads-white);
}

.ads-ap-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}


/* ==========================================================
   SECTIONS
   ========================================================== */

.ads-ap-section {
    padding: clamp(65px, 8vw, 105px) 0;
}

.ads-ap-section-light {
    background: #f5f5f6;
}

.ads-ap-section-dark {
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(243, 116, 35, 0.14),
            transparent 24%
        ),
        var(--ads-navy);
    color: #e5e7eb;
}

.ads-ap-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-ap-heading h2,
.ads-ap-two-column h2,
.ads-ap-block-highlight h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.15rem);
    letter-spacing: -0.035em;
}

.ads-ap-heading p {
    color: #666a73;
    font-size: 1.06rem;
}

.ads-ap-section-dark .ads-ap-heading h2 {
    color: var(--ads-white);
}

.ads-ap-section-dark .ads-ap-heading p {
    color: #d7d9df;
}


/* ==========================================================
   PRICE CARDS
   ========================================================== */

.ads-ap-price-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.ads-ap-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 25px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.08);
}

.ads-ap-price-card-featured {
    border: 2px solid var(--ads-orange);
    box-shadow: 0 18px 45px rgba(18, 20, 26, 0.14);
    transform: translateY(-8px);
}

.ads-ap-price-card-block {
    border-color: transparent;
    background: linear-gradient(160deg, #f37423, #d85d12);
    color: var(--ads-white);
}

.ads-ap-price-card-block h3,
.ads-ap-price-card-block .ads-ap-price {
    color: var(--ads-white);
}

.ads-ap-popular {
    position: absolute;
    top: 0;
    right: 20px;
    padding: 7px 12px;
    border-radius: 0 0 8px 8px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ads-ap-card-label {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-ap-price-card-block .ads-ap-card-label {
    color: var(--ads-white);
}

.ads-ap-price-card h3 {
    margin-bottom: 7px;
    font-size: 1.55rem;
}

.ads-ap-price {
    margin: 7px 0 5px;
    color: var(--ads-navy);
    font-size: 3.55rem;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 1;
}

.ads-ap-price span {
    margin-right: 2px;
    font-size: 1.7rem;
    vertical-align: top;
}

.ads-ap-price-card ul {
    flex: 1;
    margin: 20px 0 25px;
    padding: 0;
    list-style: none;
}

.ads-ap-price-card li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 23px;
}

.ads-ap-price-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-ap-price-card-block li::before {
    color: var(--ads-white);
}

.ads-ap-price-card > a {
    margin-top: auto;
    color: var(--ads-orange);
    font-weight: 800;
}

.ads-ap-price-card-block > a {
    color: var(--ads-white);
}

.ads-ap-smallprint {
    margin: 24px 0 0;
    color: #666a73;
    font-size: 0.9rem;
    text-align: center;
}


/* ==========================================================
   BENEFITS
   ========================================================== */

.ads-ap-two-column {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(35px, 6vw, 80px);
    align-items: center;
}

.ads-ap-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ads-ap-benefit-grid article {
    display: flex;
    gap: 14px;
    padding: 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-ap-benefit-grid article > span {
    font-size: 1.6rem;
    line-height: 1;
}

.ads-ap-benefit-grid h3 {
    margin-bottom: 7px;
    font-size: 1.05rem;
}

.ads-ap-benefit-grid p {
    margin-bottom: 0;
    color: #666a73;
    font-size: 0.94rem;
}


/* ==========================================================
   BLOCK BOOKING
   ========================================================== */

.ads-ap-block-highlight {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(230px, 0.6fr);
    gap: 35px;
    align-items: center;
    padding: clamp(30px, 5vw, 58px);
    border: 1px solid var(--ads-grey);
    border-radius: 19px;
    background: linear-gradient(130deg, #f6f6f7, #ffffff);
    box-shadow: 0 18px 45px rgba(18, 20, 26, 0.1);
}

.ads-ap-block-highlight p {
    margin-bottom: 0;
}

.ads-ap-block-price {
    padding: 25px;
    border-radius: 14px;
    background: var(--ads-navy);
    color: var(--ads-white);
    text-align: center;
}

.ads-ap-block-price span,
.ads-ap-block-price small {
    display: block;
}

.ads-ap-block-price span {
    color: var(--ads-orange);
    font-weight: 800;
    text-transform: uppercase;
}

.ads-ap-block-price strong {
    display: block;
    margin: 5px 0;
    font-size: 3rem;
    line-height: 1.05;
}


/* ==========================================================
   AREAS
   ========================================================== */

.ads-ap-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ads-ap-area-grid a {
    padding: 17px 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--ads-white);
    font-weight: 800;
    text-align: center;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ads-ap-area-grid a:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
    transform: translateY(-2px);
}

.ads-ap-centre {
    margin-top: 30px;
    text-align: center;
}


/* ==========================================================
   PAYMENT
   ========================================================== */

.ads-ap-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 900px;
    margin: 0 auto;
}

.ads-ap-payment-grid article {
    padding: 27px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 8px 24px rgba(18, 20, 26, 0.07);
}

.ads-ap-payment-grid p {
    color: #666a73;
}

.ads-ap-payment-grid a {
    color: var(--ads-orange);
    font-weight: 800;
}

.ads-ap-form-placeholder {
    margin-top: 35px;
    padding: 20px;
    border: 2px dashed #b8bbc2;
    border-radius: 10px;
    background: #f7f7f8;
    color: #666a73;
}


/* ==========================================================
   FAQ
   ========================================================== */

.ads-ap-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-ap-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-ap-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-ap-faq summary::-webkit-details-marker {
    display: none;
}

.ads-ap-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.55rem;
    transform: translateY(-50%);
}

.ads-ap-faq details[open] summary::after {
    content: "−";
}

.ads-ap-faq details p {
    margin-bottom: 0;
    padding: 0 22px 20px;
    color: #666a73;
}


/* ==========================================================
   FINAL CTA
   ========================================================== */

.ads-ap-final {
    padding: clamp(72px, 9vw, 115px) 0;
    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(243, 116, 35, 0.17),
            transparent 25%
        ),
        linear-gradient(135deg, #12141a, #242832);
    border-top: 6px solid var(--ads-orange);
    color: var(--ads-white);
    text-align: center;
}

.ads-ap-final h2 {
    margin-bottom: 16px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    letter-spacing: -0.04em;
}

.ads-ap-final p {
    max-width: 680px;
    margin: 0 auto;
    color: #d7d9df;
    font-size: 1.08rem;
}

.ads-ap-final .ads-ap-actions {
    justify-content: center;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1020px) {
    .ads-ap-price-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-ap-price-card-featured {
        transform: none;
    }

    .ads-ap-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .ads-ap-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-ap-two-column,
    .ads-ap-block-highlight {
        grid-template-columns: 1fr;
    }

    .ads-ap-benefit-grid,
    .ads-ap-payment-grid {
        grid-template-columns: 1fr;
    }

    .ads-ap-block-price {
        max-width: 360px;
    }
}

@media (max-width: 767px) {
    .ads-ap-hero {
        min-height: 270px;
        padding: 42px 0;
        background-position: center;
        background-size: cover;
    }

    .ads-ap-hero-title {
        padding: 13px 20px;
    }

    .ads-ap-hero-title h1 span {
        display: block;
        margin: 4px 0 0;
    }

    .ads-ap-hero-content {
        max-width: 100%;
    }

    .ads-ap-hero-content p {
        max-width: 520px;
        font-size: 0.95rem;
    }

    .ads-ap-hero .ads-ap-actions {
        align-items: flex-start;
    }

    .ads-ap-hero-badge {
        width: fit-content;
    }
}

@media (max-width: 560px) {
    .ads-ap-price-grid,
    .ads-ap-area-grid {
        grid-template-columns: 1fr;
    }

    .ads-ap-actions {
        flex-direction: column;
    }

    .ads-ap-button {
        width: 100%;
    }

    .ads-ap-price-card {
        padding: 27px 22px;
    }
}
/* ==========================================================
   Manual Driving Lesson Prices
   Isolated classes: ads-mp-
   Uses the existing theme variables:
   --ads-navy, --ads-orange, --ads-white and --ads-grey
   ========================================================== */

.ads-mp-page {
    color: #2f3138;
    line-height: 1.65;
}

.ads-mp-page *,
.ads-mp-page *::before,
.ads-mp-page *::after {
    box-sizing: border-box;
}

.ads-mp-page h1,
.ads-mp-page h2,
.ads-mp-page h3,
.ads-mp-page p {
    margin-top: 0;
}

.ads-mp-page h1,
.ads-mp-page h2,
.ads-mp-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-mp-page a {
    text-decoration: none;
}

.ads-mp-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-mp-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


.ads-mp-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background-color: var(--ads-navy);
    background-image:
        linear-gradient(
            to right,
            rgba(18, 20, 26, 0.97) 20%,
            rgba(18, 20, 26, 0.76) 55%,
            rgba(18, 20, 26, 0.28) 100%
        ),
        url("/wp-content/uploads/2026/07/driving-lesson-prices.webp");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    color: var(--ads-white);
}

.ads-mp-hero-label {
    display: inline-block;
    margin-bottom: 7px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-mp-hero-title {
    width: fit-content;
    max-width: 760px;
    margin-bottom: 15px;
    padding: 14px 29px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    transform: rotate(1deg);
}

.ads-mp-hero-title h1 {
    margin: 0;
    color: var(--ads-white);
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.08;
    text-transform: uppercase;
}

.ads-mp-hero-title h1 span {
    display: inline-block;
    margin-left: 8px;
    font-size: 0.72em;
    opacity: 0.92;
}

.ads-mp-hero-content {
    max-width: 670px;
}

.ads-mp-hero-content p {
    margin-bottom: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-mp-hero .ads-mp-actions {
    align-items: center;
    margin-top: 18px;
}

.ads-mp-hero .ads-mp-button {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ads-mp-hero .ads-mp-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-mp-hero .ads-mp-button-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-mp-hero-badge {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 19px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* BUTTONS */

.ads-mp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-mp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 23px;
    border: 2px solid transparent;
    border-radius: 8px;
    font-weight: 800;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.ads-mp-button:hover {
    transform: translateY(-2px);
}

.ads-mp-button-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-mp-button-primary:hover {
    background: #da611a;
    color: var(--ads-white);
}

.ads-mp-button-outline {
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--ads-white);
}

.ads-mp-button-outline:hover {
    border-color: var(--ads-white);
    background: rgba(255, 255, 255, 0.09);
    color: var(--ads-white);
}

.ads-mp-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}


/* SECTIONS */

.ads-mp-section {
    padding: clamp(65px, 8vw, 105px) 0;
}

.ads-mp-section-light {
    background: #f5f5f6;
}

.ads-mp-section-dark {
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(243, 116, 35, 0.14),
            transparent 24%
        ),
        var(--ads-navy);
    color: #e5e7eb;
}

.ads-mp-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-mp-heading h2,
.ads-mp-two-column h2,
.ads-mp-block-highlight h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.15rem);
    letter-spacing: -0.035em;
}

.ads-mp-heading p {
    color: #666a73;
    font-size: 1.06rem;
}

.ads-mp-section-dark .ads-mp-heading h2 {
    color: var(--ads-white);
}

.ads-mp-section-dark .ads-mp-heading p {
    color: #d7d9df;
}


/* PRICE CARDS */

.ads-mp-price-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.ads-mp-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 25px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.08);
}

.ads-mp-price-card-featured {
    border: 2px solid var(--ads-orange);
    box-shadow: 0 18px 45px rgba(18, 20, 26, 0.14);
    transform: translateY(-8px);
}

.ads-mp-price-card-block {
    border-color: transparent;
    background: linear-gradient(160deg, #f37423, #d85d12);
    color: var(--ads-white);
}

.ads-mp-price-card-block h3,
.ads-mp-price-card-block .ads-mp-price {
    color: var(--ads-white);
}

.ads-mp-popular {
    position: absolute;
    top: 0;
    right: 20px;
    padding: 7px 12px;
    border-radius: 0 0 8px 8px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ads-mp-card-label {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-mp-price-card-block .ads-mp-card-label {
    color: var(--ads-white);
}

.ads-mp-price-card h3 {
    margin-bottom: 7px;
    font-size: 1.55rem;
}

.ads-mp-price {
    margin: 7px 0 5px;
    color: var(--ads-navy);
    font-size: 3.55rem;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 1;
}

.ads-mp-price span {
    margin-right: 2px;
    font-size: 1.7rem;
    vertical-align: top;
}

.ads-mp-price-card ul {
    flex: 1;
    margin: 20px 0 25px;
    padding: 0;
    list-style: none;
}

.ads-mp-price-card li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 23px;
}

.ads-mp-price-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-mp-price-card-block li::before {
    color: var(--ads-white);
}

.ads-mp-price-card > a {
    margin-top: auto;
    color: var(--ads-orange);
    font-weight: 800;
}

.ads-mp-price-card-block > a {
    color: var(--ads-white);
}

.ads-mp-smallprint {
    margin: 24px 0 0;
    color: #666a73;
    font-size: 0.9rem;
    text-align: center;
}


/* BENEFITS */

.ads-mp-two-column {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(35px, 6vw, 80px);
    align-items: center;
}

.ads-mp-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ads-mp-benefit-grid article {
    display: flex;
    gap: 14px;
    padding: 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-mp-benefit-grid article > span {
    font-size: 1.6rem;
    line-height: 1;
}

.ads-mp-benefit-grid h3 {
    margin-bottom: 7px;
    font-size: 1.05rem;
}

.ads-mp-benefit-grid p {
    margin-bottom: 0;
    color: #666a73;
    font-size: 0.94rem;
}


/* BLOCK BOOKING */

.ads-mp-block-highlight {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(230px, 0.6fr);
    gap: 35px;
    align-items: center;
    padding: clamp(30px, 5vw, 58px);
    border: 1px solid var(--ads-grey);
    border-radius: 19px;
    background: linear-gradient(130deg, #f6f6f7, #ffffff);
    box-shadow: 0 18px 45px rgba(18, 20, 26, 0.1);
}

.ads-mp-block-highlight p {
    margin-bottom: 0;
}

.ads-mp-block-price {
    padding: 25px;
    border-radius: 14px;
    background: var(--ads-navy);
    color: var(--ads-white);
    text-align: center;
}

.ads-mp-block-price span,
.ads-mp-block-price small {
    display: block;
}

.ads-mp-block-price span {
    color: var(--ads-orange);
    font-weight: 800;
    text-transform: uppercase;
}

.ads-mp-block-price strong {
    display: block;
    margin: 5px 0;
    font-size: 3rem;
    line-height: 1.05;
}


/* AREAS */

.ads-mp-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ads-mp-area-grid a {
    padding: 17px 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--ads-white);
    font-weight: 800;
    text-align: center;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ads-mp-area-grid a:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
    transform: translateY(-2px);
}

.ads-mp-centre {
    margin-top: 30px;
    text-align: center;
}


/* PAYMENT */

.ads-mp-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 900px;
    margin: 0 auto;
}

.ads-mp-payment-grid article {
    padding: 27px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 8px 24px rgba(18, 20, 26, 0.07);
}

.ads-mp-payment-grid p {
    color: #666a73;
}

.ads-mp-payment-grid a {
    color: var(--ads-orange);
    font-weight: 800;
}

.ads-mp-form-placeholder {
    margin-top: 35px;
    padding: 20px;
    border: 2px dashed #b8bbc2;
    border-radius: 10px;
    background: #f7f7f8;
    color: #666a73;
}


/* FAQ */

.ads-mp-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-mp-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-mp-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-mp-faq summary::-webkit-details-marker {
    display: none;
}

.ads-mp-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.55rem;
    transform: translateY(-50%);
}

.ads-mp-faq details[open] summary::after {
    content: "−";
}

.ads-mp-faq details p {
    margin-bottom: 0;
    padding: 0 22px 20px;
    color: #666a73;
}


/* FINAL CTA */

.ads-mp-final {
    padding: clamp(72px, 9vw, 115px) 0;
    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(243, 116, 35, 0.17),
            transparent 25%
        ),
        linear-gradient(135deg, #12141a, #242832);
    border-top: 6px solid var(--ads-orange);
    color: var(--ads-white);
    text-align: center;
}

.ads-mp-final h2 {
    margin-bottom: 16px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    letter-spacing: -0.04em;
}

.ads-mp-final p {
    max-width: 680px;
    margin: 0 auto;
    color: #d7d9df;
    font-size: 1.08rem;
}

.ads-mp-final .ads-mp-actions {
    justify-content: center;
}


/* RESPONSIVE */

@media (max-width: 1020px) {
    .ads-mp-price-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-mp-price-card-featured {
        transform: none;
    }

    .ads-mp-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .ads-mp-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-mp-two-column,
    .ads-mp-block-highlight {
        grid-template-columns: 1fr;
    }

    .ads-mp-benefit-grid,
    .ads-mp-payment-grid {
        grid-template-columns: 1fr;
    }

    .ads-mp-block-price {
        max-width: 360px;
    }
}

@media (max-width: 767px) {
    .ads-mp-hero {
        min-height: 270px;
        padding: 42px 0;
        background-position: center;
        background-size: cover;
    }

    .ads-mp-hero-title {
        padding: 13px 20px;
    }

    .ads-mp-hero-title h1 span {
        display: block;
        margin: 4px 0 0;
    }

    .ads-mp-hero-content {
        max-width: 100%;
    }

    .ads-mp-hero-content p {
        max-width: 520px;
        font-size: 0.95rem;
    }

    .ads-mp-hero .ads-mp-actions {
        align-items: flex-start;
    }

    .ads-mp-hero-badge {
        width: fit-content;
    }
}

@media (max-width: 560px) {
    .ads-mp-price-grid,
    .ads-mp-area-grid {
        grid-template-columns: 1fr;
    }

    .ads-mp-actions {
        flex-direction: column;
    }

    .ads-mp-button {
        width: 100%;
    }

    .ads-mp-price-card {
        padding: 27px 22px;
    }
}
/* ==========================================================
   Driving Lessons Areas Page
   Restyled to match the new manual/automatic price pages
   Uses existing HTML classes from the supplied page
   Uses global theme variables:
   --ads-navy: #12141a;
   --ads-orange: #f37423;
   --ads-white: #ffffff;
   --ads-grey: #d7d9df;
   ========================================================== */


.ads-section-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.ads-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 23px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.ads-btn:hover {
    transform: translateY(-2px);
}

.ads-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-btn-primary:hover {
    background: #da611a;
    color: var(--ads-white);
}

.ads-btn-secondary,
.ads-btn-outline {
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--ads-white);
}

.ads-btn-secondary:hover,
.ads-btn-outline:hover {
    border-color: var(--ads-white);
    background: rgba(255, 255, 255, 0.1);
    color: var(--ads-white);
}


/* ==========================================================
   COMPACT HERO
   ========================================================== */


/* POSTCODE CHECKER */


.ads-checker-heading-mobile {
    display: none;
}


/* ==========================================================
   STANDARD SECTIONS
   ========================================================== */


.ads-section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}


/* ==========================================================
   FEATURED AREA CARDS
   ========================================================== */


/* ==========================================================
   TOWN TAGS
   ========================================================== */


/* ==========================================================
   MANUAL / AUTOMATIC OPTIONS
   ========================================================== */

.ads-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 900px;
    margin: 0 auto;
}

.ads-option-card {
    padding: 32px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.08);
}

.ads-option-label {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-option-card h3 {
    margin-bottom: 12px;
    font-size: 1.45rem;
}

.ads-option-card p {
    color: #666a73;
}

.ads-text-link {
    color: var(--ads-orange);
    font-weight: 900;
}


/* ==========================================================
   TEST CENTRES
   ========================================================== */


/* ==========================================================
   POSTCODE CTA
   ========================================================== */


/* ==========================================================
   FAQ
   ========================================================== */

.ads-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.ads-faq-item {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-faq-item summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.55rem;
    transform: translateY(-50%);
}

.ads-faq-item[open] summary::after {
    content: "−";
}

.ads-faq-answer {
    padding: 0 22px 20px;
}

.ads-faq-answer p {
    margin-bottom: 0;
    color: #666a73;
}


/* ==========================================================
   FINAL CTA
   ========================================================== */


/* ==========================================================
   RESPONSIVE
   ========================================================== */


@media (max-width: 767px) {
    

    

    

    

    .ads-checker-heading-desktop {
        display: none;
    }

    .ads-checker-heading-mobile {
        display: block;
    }

    .ads-options-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    

    

    .ads-btn {
        width: 100%;
    }

    
}
/* ==========================================================
   HOME PAGE
   Isolated classes: ads-home-
   Uses global theme variables:
   --ads-navy, --ads-orange, --ads-white and --ads-grey
   ========================================================== */

.ads-home-page {
    color: #2f3138;
    line-height: 1.65;
}

.ads-home-page *,
.ads-home-page *::before,
.ads-home-page *::after {
    box-sizing: border-box;
}

.ads-home-page h1,
.ads-home-page h2,
.ads-home-page h3,
.ads-home-page p {
    margin-top: 0;
}

.ads-home-page h1,
.ads-home-page h2,
.ads-home-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-home-page a {
    text-decoration: none;
}

.ads-home-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-home-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


.ads-home-hero {
    min-height: 510px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 82% 18%, rgba(243,116,35,.18), transparent 24%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
    gap: 35px;
    align-items: end;
}

.ads-home-hero-copy {
    padding: 65px 0;
}

.ads-home-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 23px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-home-hero-title {
    width: fit-content;
    margin-bottom: 18px;
    padding: 15px 30px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    transform: rotate(1deg);
}

.ads-home-hero-title h1 {
    margin: 0;
    color: var(--ads-white);
    font-size: clamp(2rem, 4.5vw, 4.3rem);
    font-weight: 950;
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.ads-home-hero-title h1 span {
    display: block;
    font-size: .68em;
}

.ads-home-hero-copy > p {
    max-width: 690px;
    margin-bottom: 0;
    color: #e5e7eb;
    font-size: 1.08rem;
}

.ads-home-hero-image {
    align-self: end;
}

.ads-home-hero-image {
    align-self: end;
    transform: scale(1.14);
    transform-origin: bottom center;
}

.ads-home-hero-image img {
    display: block;
    width: 100%;
    max-height: 540px;
    object-fit: contain;
    object-position: bottom center;
}

.ads-home-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-home-hero-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.72);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}


/* BUTTONS */

.ads-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ads-home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 23px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-home-button:hover {
    transform: translateY(-2px);
}

.ads-home-button-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-home-button-primary:hover {
    background: #da611a;
    color: var(--ads-white);
}

.ads-home-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-home-button-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-home-button-outline,
.ads-home-button-dark-outline {
    border-color: rgba(255,255,255,.72);
    color: var(--ads-white);
}

.ads-home-button-dark-outline {
    border-color: var(--ads-navy);
    color: var(--ads-navy);
}


/* QUICK CARDS */

.ads-home-quick-section {
    position: relative;
    z-index: 2;
    margin-top: -34px;
}

.ads-home-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 20px;
}

.ads-home-quick-card {
    position: relative;
    padding: 28px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 16px 40px rgba(18,20,26,.14);
}

.ads-home-card-number {
    color: var(--ads-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.ads-home-quick-card h2 {
    margin: 10px 0;
    font-size: 1.45rem;
}

.ads-home-quick-card p {
    color: #666a73;
}

.ads-home-quick-card a {
    color: var(--ads-orange);
    font-weight: 900;
}


/* TRUST */

.ads-home-trust {
    padding: 62px 0 35px;
}

.ads-home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 16px;
}

.ads-home-trust-grid div {
    padding: 18px;
    border-left: 4px solid var(--ads-orange);
}

.ads-home-trust-grid strong,
.ads-home-trust-grid span {
    display: block;
}

.ads-home-trust-grid strong {
    color: var(--ads-navy);
    font-size: 1.32rem;
}

.ads-home-trust-grid span {
    color: #666a73;
    font-size: .9rem;
}


/* SECTIONS */

.ads-home-section {
    padding: clamp(65px,8vw,105px) 0;
}

.ads-home-section-light {
    background: #f5f5f6;
}

.ads-home-section-dark {
    background:
        radial-gradient(circle at 8% 12%, rgba(243,116,35,.14), transparent 24%),
        var(--ads-navy);
    color: #e5e7eb;
}

.ads-home-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-home-heading h2,
.ads-home-two-column h2,
.ads-home-training-grid h2,
.ads-home-pass-grid h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem,4vw,3.15rem);
    letter-spacing: -.035em;
}

.ads-home-heading p {
    color: #666a73;
    font-size: 1.06rem;
}

.ads-home-section-dark .ads-home-heading h2 {
    color: var(--ads-white);
}

.ads-home-section-dark .ads-home-heading p {
    color: var(--ads-grey);
}


/* BENEFITS */

.ads-home-two-column {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: clamp(35px,6vw,80px);
    align-items: center;
}

.ads-home-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
}

.ads-home-benefit-grid article {
    display: flex;
    gap: 14px;
    padding: 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-home-benefit-grid article > span {
    font-size: 1.55rem;
}

.ads-home-benefit-grid h3 {
    margin-bottom: 7px;
    font-size: 1.05rem;
}

.ads-home-benefit-grid p {
    margin-bottom: 0;
    color: #666a73;
    font-size: .94rem;
}

.ads-home-text-link {
    color: var(--ads-orange);
    font-weight: 900;
}


/* LESSON TYPES */

.ads-home-lesson-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.ads-home-lesson-card {
    padding: 36px;
    border: 1px solid var(--ads-grey);
    border-radius: 17px;
    background: var(--ads-white);
    box-shadow: 0 12px 32px rgba(18,20,26,.09);
}

.ads-home-lesson-card-dark {
    background: linear-gradient(145deg,#12141a,#2b2f39);
    color: #e5e7eb;
}

.ads-home-lesson-card-dark h3 {
    color: var(--ads-white);
}

.ads-home-card-label {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ads-home-lesson-card h3 {
    font-size: 1.8rem;
}

.ads-home-lesson-card p {
    color: #666a73;
}

.ads-home-lesson-card-dark p {
    color: var(--ads-grey);
}

.ads-home-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-top: 22px;
}

.ads-home-card-actions a {
    color: var(--ads-orange);
    font-weight: 900;
}


/* AREAS */

.ads-home-area-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
}

.ads-home-area-grid a {
    padding: 17px 18px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 9px;
    background: rgba(255,255,255,.07);
    color: var(--ads-white);
    font-weight: 800;
    text-align: center;
}

.ads-home-area-grid a:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-home-centre {
    margin-top: 30px;
    text-align: center;
}


/* TRAINING */

.ads-home-training-grid,
.ads-home-pass-grid {
    display: grid;
    grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr);
    gap: clamp(35px,6vw,75px);
    align-items: center;
}

.ads-home-training-image img,
.ads-home-pass-image img {
    display: block;
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(18,20,26,.15);
}

.ads-home-check-list {
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.ads-home-check-list li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 25px;
}

.ads-home-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}


/* REVIEWS */

.ads-home-review-panel {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    gap: 30px;
    align-items: center;
    padding: clamp(30px,5vw,55px);
    border: 1px solid var(--ads-grey);
    border-radius: 18px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(18,20,26,.1);
}

.ads-home-review-score {
    min-width: 190px;
    text-align: center;
}

.ads-home-review-score span,
.ads-home-review-score strong,
.ads-home-review-score small {
    display: block;
}

.ads-home-review-score span {
    color: var(--ads-orange);
    font-size: 1.4rem;
    letter-spacing: .08em;
}

.ads-home-review-score strong {
    color: var(--ads-navy);
    font-size: 1.18rem;
}


/* FINAL CTA */

.ads-home-final {
    padding: clamp(72px,9vw,115px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg,#12141a,#242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-home-final h2 {
    margin-bottom: 16px;
    color: var(--ads-white);
    font-size: clamp(2.2rem,4vw,3.7rem);
}

.ads-home-final p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--ads-grey);
    font-size: 1.08rem;
}

.ads-home-final .ads-home-actions {
    justify-content: center;
}


/* RESPONSIVE */

@media (max-width: 1020px) {
    .ads-home-hero-grid {
        grid-template-columns: 1fr .75fr;
    }

    .ads-home-quick-grid,
    .ads-home-area-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .ads-home-review-panel {
        grid-template-columns: 1fr auto;
    }

    .ads-home-review-panel > .ads-home-button {
        grid-column: 1 / -1;
        width: fit-content;
    }
}

@media (max-width: 820px) {
    .ads-home-hero {
        min-height: auto;
    }

    .ads-home-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-home-hero-copy {
        padding: 55px 0 25px;
    }

    .ads-home-hero-image {
        max-width: 620px;
        margin: 0 auto;
    }

    .ads-home-two-column,
    .ads-home-training-grid,
    .ads-home-pass-grid {
        grid-template-columns: 1fr;
    }

    .ads-home-trust-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .ads-home-container {
        width: min(100% - 28px,1180px);
    }

    .ads-home-quick-grid,
    .ads-home-benefit-grid,
    .ads-home-lesson-grid,
    .ads-home-area-grid,
    .ads-home-review-panel {
        grid-template-columns: 1fr;
    }

    .ads-home-quick-section {
        margin-top: 0;
        padding-top: 20px;
    }

    .ads-home-actions {
        flex-direction: column;
    }

    .ads-home-button {
        width: 100%;
    }

    .ads-home-hero-title {
        padding: 13px 20px;
    }

    .ads-home-review-panel > .ads-home-button {
        width: 100%;
    }
}
/* ==========================================================
   MAIN DRIVING LESSONS HERO
   Slanted banner style to match the new pricing pages
   Paste at the very bottom of the driving lessons page CSS
   ========================================================== */

.ads-lessons-page .ads-lessons-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background-color: var(--ads-navy);
    background-image:
        linear-gradient(
            to right,
            rgba(18, 20, 26, 0.97) 18%,
            rgba(18, 20, 26, 0.78) 56%,
            rgba(18, 20, 26, 0.34) 100%
        ),
        url("/wp-content/uploads/2026/01/Andrews-Driving-Car-and-Instructor.webp");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    color: var(--ads-white);
}

.ads-lessons-page .ads-lessons-hero-content {
    max-width: 700px;
}

.ads-lessons-page .ads-lessons-hero-content > .ads-section-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-lessons-page .ads-lessons-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 16px;
    padding: 15px 30px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-lessons-page .ads-lessons-hero-content > p {
    max-width: 620px;
    margin-bottom: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-lessons-page .ads-lessons-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-lessons-page .ads-lessons-hero .ads-btn {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.78rem;
}

.ads-lessons-page .ads-lessons-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-lessons-page .ads-lessons-hero-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

@media (max-width: 850px) {
    .ads-lessons-page .ads-lessons-hero {
        background-position: center;
        background-size: cover;
    }
}

@media (max-width: 700px) {
    .ads-lessons-page .ads-lessons-hero {
        min-height: 270px;
        padding: 42px 0;
    }

    .ads-lessons-page .ads-lessons-hero h1 {
        padding: 13px 20px;
    }

    .ads-lessons-page .ads-lessons-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .ads-lessons-page .ads-lessons-hero .ads-btn {
        width: 100%;
    }
}
/* ==========================================================
   DRIVING LESSON VOUCHERS
   Isolated classes: ads-voucher-
   Uses global theme variables:
   --ads-navy, --ads-orange, --ads-white and --ads-grey
   ========================================================== */

.ads-voucher-page {
    overflow: hidden;
    color: #2f3138;
    line-height: 1.65;
}

.ads-voucher-page *,
.ads-voucher-page *::before,
.ads-voucher-page *::after {
    box-sizing: border-box;
}

.ads-voucher-page h1,
.ads-voucher-page h2,
.ads-voucher-page h3,
.ads-voucher-page p {
    margin-top: 0;
}

.ads-voucher-page h1,
.ads-voucher-page h2,
.ads-voucher-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-voucher-page a {
    text-decoration: none;
}

.ads-voucher-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-voucher-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}


.ads-voucher-hero {
    min-height: 300px;
    display: flex;
    align-items: center;
    padding: 55px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background-color: var(--ads-navy);
    background-image:
        radial-gradient(
            circle at 87% 18%,
            rgba(243, 116, 35, 0.2),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #12141a 0%,
            #1d2028 62%,
            #2c3039 100%
        );
    color: var(--ads-white);
}

.ads-voucher-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-voucher-hero-title {
    width: fit-content;
    margin-bottom: 16px;
    padding: 15px 30px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    transform: rotate(1deg);
}

.ads-voucher-hero-title h1 {
    margin: 0;
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.8vw, 3.2rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}

.ads-voucher-hero-title h1 span {
    display: inline-block;
    margin-left: 8px;
    font-size: 0.72em;
}

.ads-voucher-hero-content {
    max-width: 690px;
}

.ads-voucher-hero-content p {
    margin-bottom: 0;
    color: var(--ads-white);
    font-size: 1.02rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-voucher-hero-badge {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 18px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
}


/* BUTTONS */

.ads-voucher-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
    margin-top: 22px;
}

.ads-voucher-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.ads-voucher-button:hover {
    transform: translateY(-2px);
}

.ads-voucher-button-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-voucher-button-primary:hover {
    background: #da611a;
    color: var(--ads-white);
}

.ads-voucher-button-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-voucher-button-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-voucher-button-outline {
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--ads-white);
}


/* SECTIONS */

.ads-voucher-section {
    padding: clamp(65px, 8vw, 105px) 0;
}

.ads-voucher-section-light {
    background: #f5f5f6;
}

.ads-voucher-section-dark {
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(243, 116, 35, 0.14),
            transparent 24%
        ),
        var(--ads-navy);
    color: #e5e7eb;
}

.ads-voucher-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-voucher-heading h2,
.ads-voucher-two-column h2,
.ads-voucher-order-grid h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.15rem);
    letter-spacing: -0.035em;
}

.ads-voucher-heading p {
    color: #666a73;
    font-size: 1.04rem;
}

.ads-voucher-section-dark .ads-voucher-heading h2 {
    color: var(--ads-white);
}

.ads-voucher-section-dark .ads-voucher-heading p {
    color: var(--ads-grey);
}


.ads-voucher-two-column {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(35px, 6vw, 80px);
    align-items: center;
}

.ads-voucher-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ads-voucher-benefit-grid article {
    display: flex;
    gap: 14px;
    padding: 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-voucher-benefit-grid article > span {
    font-size: 1.55rem;
}

.ads-voucher-benefit-grid h3 {
    margin-bottom: 7px;
    font-size: 1.05rem;
}

.ads-voucher-benefit-grid p {
    margin-bottom: 0;
    color: #666a73;
    font-size: 0.94rem;
}


/* PRICE CARDS */

.ads-voucher-price-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.ads-voucher-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.08);
}

.ads-voucher-price-card-featured {
    border: 2px solid var(--ads-orange);
    box-shadow: 0 18px 45px rgba(18, 20, 26, 0.14);
    transform: translateY(-8px);
}

.ads-voucher-price-card-dark {
    border-color: transparent;
    background: linear-gradient(155deg, #12141a, #2c3039);
    color: var(--ads-white);
}

.ads-voucher-price-card-dark h3,
.ads-voucher-price-card-dark .ads-voucher-price {
    color: var(--ads-white);
}

.ads-voucher-popular {
    position: absolute;
    top: 0;
    right: 16px;
    padding: 7px 10px;
    border-radius: 0 0 8px 8px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-voucher-card-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--ads-orange);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.ads-voucher-price-card h3 {
    margin-bottom: 7px;
    font-size: 1.45rem;
}

.ads-voucher-price {
    margin: 7px 0 10px;
    color: var(--ads-navy);
    font-size: clamp(2.3rem, 3.3vw, 3.25rem);
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 1;
}

.ads-voucher-price span {
    font-size: 1.4rem;
    vertical-align: top;
}

.ads-voucher-price-card p {
    flex: 1;
    color: #666a73;
    font-size: 0.91rem;
}

.ads-voucher-price-card-dark p {
    color: var(--ads-grey);
}

.ads-voucher-price-card > a {
    margin-top: auto;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-voucher-smallprint {
    margin: 25px 0 0;
    color: #666a73;
    font-size: 0.9rem;
    text-align: center;
}


/* STEPS */

.ads-voucher-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-voucher-steps article {
    padding: 26px 23px;
    border-top: 5px solid var(--ads-orange);
    border-radius: 12px;
    background: var(--ads-white);
    box-shadow: 0 8px 24px rgba(18, 20, 26, 0.07);
}

.ads-voucher-steps article > span {
    color: var(--ads-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads-voucher-steps h3 {
    margin: 11px 0 8px;
}

.ads-voucher-steps p {
    margin-bottom: 0;
    color: #666a73;
}


/* ORDER FORM */

.ads-voucher-order-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: start;
}

.ads-voucher-order-grid > div > p {
    color: #666a73;
}

.ads-voucher-order-note {
    margin-top: 25px;
    padding: 20px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 8px;
    background: #f5f5f6;
}

.ads-voucher-order-note p {
    margin: 6px 0 0;
    color: #666a73;
}

.ads-voucher-form-shell {
    padding: 28px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 14px 38px rgba(18, 20, 26, 0.1);
}
/*
.ads-voucher-form-placeholder {
    padding: 25px;
    border: 2px dashed #b8bbc2;
    border-radius: 10px;
    background: #f7f7f8;
    color: #666a73;
    text-align: center;
}
*/

/* TERMS */

.ads-voucher-terms-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-voucher-terms-grid article {
    padding: 25px 22px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-voucher-terms-grid h3 {
    color: var(--ads-white);
}

.ads-voucher-terms-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}


/* FAQ */

.ads-voucher-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-voucher-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-voucher-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-voucher-faq summary::-webkit-details-marker {
    display: none;
}

.ads-voucher-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.55rem;
    transform: translateY(-50%);
}

.ads-voucher-faq details[open] summary::after {
    content: "−";
}

.ads-voucher-faq details p {
    margin-bottom: 0;
    padding: 0 22px 20px;
    color: #666a73;
}


/* FINAL CTA */

.ads-voucher-final {
    padding: clamp(72px, 9vw, 115px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(243, 116, 35, 0.17),
            transparent 25%
        ),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-voucher-final h2 {
    margin-bottom: 16px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.7rem);
}

.ads-voucher-final p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--ads-grey);
    font-size: 1.08rem;
}

.ads-voucher-final .ads-voucher-actions {
    justify-content: center;
}


/* RESPONSIVE */

@media (max-width: 1100px) {
    .ads-voucher-price-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ads-voucher-price-card-featured {
        transform: none;
    }

    .ads-voucher-terms-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 850px) {
    .ads-voucher-two-column,
    .ads-voucher-order-grid {
        grid-template-columns: 1fr;
    }

    .ads-voucher-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .ads-voucher-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-voucher-hero {
        min-height: 270px;
        padding: 42px 0;
    }

    .ads-voucher-hero-title {
        padding: 13px 20px;
    }

    .ads-voucher-hero-title h1 span {
        display: block;
        margin: 4px 0 0;
    }

    .ads-voucher-benefit-grid,
    .ads-voucher-price-grid,
    .ads-voucher-steps,
    .ads-voucher-terms-grid {
        grid-template-columns: 1fr;
    }

    .ads-voucher-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-voucher-button {
        width: 100%;
    }

    .ads-voucher-form-shell {
        padding: 20px;
    }
}
/* ==========================================================
   VOUCHER FORM STYLING
   ========================================================== */

.ads-voucher-page .wpforms-container {
    margin: 0;
}

.ads-voucher-page .wpforms-form {
    width: 100%;
}

.ads-voucher-page .wpforms-field {
    margin-bottom: 22px;
}

.ads-voucher-page .wpforms-field-label {
    display: block;
    margin-bottom: 8px;
    color: var(--ads-navy);
    font-weight: 900;
}

.ads-voucher-page .wpforms-required-label {
    color: var(--ads-orange);
}

.ads-voucher-page input[type="text"],
.ads-voucher-page input[type="email"],
.ads-voucher-page input[type="tel"],
.ads-voucher-page input[type="number"],
.ads-voucher-page input[type="url"],
.ads-voucher-page input[type="date"],
.ads-voucher-page select,
.ads-voucher-page textarea {
    width: 100% !important;
    min-height: 50px;
    padding: 12px 14px !important;
    border: 1px solid #b8bbc2 !important;
    border-radius: 8px !important;
    background: var(--ads-white) !important;
    color: var(--ads-navy) !important;
    font: inherit !important;
    box-shadow: none !important;
}

.ads-voucher-page textarea {
    min-height: 130px;
}

.ads-voucher-page input:focus,
.ads-voucher-page select:focus,
.ads-voucher-page textarea:focus {
    border-color: var(--ads-orange) !important;
    outline: 3px solid rgba(243, 116, 35, 0.18) !important;
}

.ads-voucher-page .wpforms-field-description {
    margin-top: 7px;
    color: #666a73;
    font-size: 0.88rem;
}

.ads-voucher-page .wpforms-field-radio ul,
.ads-voucher-page .wpforms-field-checkbox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-voucher-page .wpforms-field-radio li,
.ads-voucher-page .wpforms-field-checkbox li {
    margin-bottom: 10px !important;
}

.ads-voucher-page .wpforms-field-radio label,
.ads-voucher-page .wpforms-field-checkbox label {
    color: #2f3138;
    font-weight: 600;
}

.ads-voucher-page .wpforms-submit-container {
    margin-top: 10px;
    text-align: left;
}

.ads-voucher-page button[type="submit"],
.ads-voucher-page .wpforms-submit {
    min-height: 48px !important;
    padding: 11px 25px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: var(--ads-orange) !important;
    color: var(--ads-white) !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.ads-voucher-page button[type="submit"]:hover,
.ads-voucher-page .wpforms-submit:hover {
    background: #da611a !important;
    transform: translateY(-2px);
}

.ads-voucher-page .wpforms-error {
    color: #b42318 !important;
}

.ads-voucher-page .wpforms-confirmation-container-full {
    border: 1px solid #b7dfc2;
    border-radius: 10px;
    background: #f1fbf4;
    color: #215c2f;
}
.ads-voucher-form-inner {
    padding: 0;
}
/* ==========================================================
   DRIVING LESSON FINANCE PAGE
   Isolated classes: ads-finance-
   ========================================================== */

.ads-finance-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-finance-page *,
.ads-finance-page *::before,
.ads-finance-page *::after {
    box-sizing: border-box;
}

.ads-finance-page h1,
.ads-finance-page h2,
.ads-finance-page h3,
.ads-finance-page p {
    margin-top: 0;
}

.ads-finance-page h1,
.ads-finance-page h2,
.ads-finance-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-finance-page a {
    text-decoration: none;
}

.ads-finance-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-finance-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads-finance-hero {
    min-height: 285px;
    display: flex;
    align-items: center;
    padding: 45px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243, 116, 35, 0.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-finance-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-finance-hero h1 {
    width: fit-content;
    max-width: 850px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-finance-hero h1 span {
    color: var(--ads-white);
}

.ads-finance-hero > .ads-finance-container > p {
    max-width: 700px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-finance-hero-actions,
.ads-finance-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-finance-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-finance-hero-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

.ads-finance-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ads-finance-btn:hover {
    transform: translateY(-2px);
}

.ads-finance-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-finance-btn-primary:hover {
    background: #d95d0d;
    color: var(--ads-white);
}

.ads-finance-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-finance-btn-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-finance-btn-outline {
    border-color: rgba(255, 255, 255, 0.75);
    color: var(--ads-white);
}

.ads-finance-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-finance-section-light {
    background: #f5f5f6;
}

.ads-finance-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243, 116, 35, 0.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-finance-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-finance-heading h2,
.ads-finance-copy h2,
.ads-finance-eligibility-grid h2,
.ads-finance-benefit-grid h2,
.ads-finance-legal h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -0.035em;
}

.ads-finance-heading p {
    color: #686c74;
}

.ads-finance-section-dark .ads-finance-heading h2 {
    color: var(--ads-white);
}

.ads-finance-section-dark .ads-finance-heading p {
    color: var(--ads-grey);
}

.ads-finance-intro-grid,
.ads-finance-benefit-grid,
.ads-finance-eligibility-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-finance-copy > p,
.ads-finance-benefit-grid > div > p,
.ads-finance-eligibility-grid > div > p {
    color: #62666e;
}

.ads-finance-image-card {
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: var(--ads-navy);
    box-shadow: 0 18px 48px rgba(18, 20, 26, 0.18);
}

.ads-finance-image-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}

.ads-finance-image-landscape img {
    min-height: 420px;
}

.ads-finance-callout {
    margin-top: 25px;
    padding: 20px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 8px;
    background: var(--ads-white);
}

.ads-finance-callout p {
    margin: 5px 0 0;
}

.ads-finance-callout a {
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-finance-plan-grid,
.ads-finance-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-finance-plan-card {
    padding: 27px 23px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.07);
}

.ads-finance-plan-card > span {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--ads-orange);
    font-size: 2.4rem;
    font-weight: 950;
    line-height: 1;
}

.ads-finance-plan-card h3 {
    margin-bottom: 9px;
}

.ads-finance-plan-card p {
    margin-bottom: 0;
    color: #686c74;
}

.ads-finance-plan-featured {
    border: 2px solid var(--ads-orange);
    transform: translateY(-8px);
}

.ads-finance-steps article {
    padding: 25px 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-finance-steps article > span {
    color: var(--ads-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads-finance-steps h3 {
    margin: 11px 0 8px;
    color: var(--ads-white);
}

.ads-finance-steps p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

.ads-finance-checklist {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-finance-checklist li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 34px;
    font-weight: 750;
}

.ads-finance-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.8rem;
    font-weight: 900;
    line-height: 23px;
    text-align: center;
}

.ads-finance-notice {
    display: flex;
    gap: 16px;
    padding: 27px;
    border: 1px solid #f1c5a5;
    border-radius: 14px;
    background: #fff7f1;
}

.ads-finance-notice > span {
    flex: 0 0 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-weight: 900;
    line-height: 38px;
    text-align: center;
}

.ads-finance-notice h3 {
    margin-bottom: 8px;
}

.ads-finance-notice p {
    margin-bottom: 0;
    color: #62666e;
}

.ads-finance-benefit-list {
    display: grid;
    gap: 14px;
    margin-top: 25px;
}

.ads-finance-benefit-list article {
    padding: 19px 20px;
    border-left: 4px solid var(--ads-orange);
    border-radius: 8px;
    background: #f5f5f6;
}

.ads-finance-benefit-list h3 {
    margin-bottom: 6px;
    font-size: 1.05rem;
}

.ads-finance-benefit-list p {
    margin-bottom: 0;
    color: #686c74;
}

.ads-finance-application-section {
    background: #f5f5f6;
}

.ads-finance-shortcode-shell {
    max-width: 900px;
    min-height: 100px;
    margin: 0 auto;
    padding: 28px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 13px 38px rgba(18, 20, 26, 0.09);
}

.ads-finance-phone-panel {
    max-width: 900px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 22px auto 0;
    padding: 22px 25px;
    border-radius: 13px;
    background: var(--ads-navy);
    color: var(--ads-white);
}

.ads-finance-phone-panel p {
    margin: 3px 0 0;
    color: var(--ads-grey);
}

.ads-finance-legal {
    border-top: 6px solid var(--ads-orange);
    background: var(--ads-navy);
    color: var(--ads-grey);
}

.ads-finance-legal .ads-finance-container {
    max-width: 900px;
}

.ads-finance-legal h2 {
    color: var(--ads-white);
}

.ads-finance-legal p:last-child {
    margin-bottom: 0;
}

.ads-finance-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-finance-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-finance-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-finance-faq summary::-webkit-details-marker {
    display: none;
}

.ads-finance-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-finance-faq details[open] summary::after {
    content: "−";
}

.ads-finance-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

.ads-finance-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243, 116, 35, 0.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-finance-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-finance-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-finance-final-actions {
    justify-content: center;
}

@media (max-width: 950px) {
    .ads-finance-plan-grid,
    .ads-finance-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-finance-plan-featured {
        transform: none;
    }
}

@media (max-width: 760px) {
    .ads-finance-intro-grid,
    .ads-finance-benefit-grid,
    .ads-finance-eligibility-grid {
        grid-template-columns: 1fr;
    }

    .ads-finance-image-card img,
    .ads-finance-image-landscape img {
        min-height: 300px;
    }

    .ads-finance-phone-panel {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .ads-finance-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-finance-hero {
        min-height: auto;
        padding: 36px 0;
    }

    .ads-finance-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.55rem, 7.4vw, 2rem);
        line-height: 1.1;
        transform: rotate(0.3deg);
    }

    .ads-finance-hero h1 span {
        display: block;
    }

    .ads-finance-hero-actions,
    .ads-finance-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-finance-btn {
        width: 100%;
    }

    .ads-finance-plan-grid,
    .ads-finance-steps {
        grid-template-columns: 1fr;
    }

    .ads-finance-shortcode-shell {
        padding: 20px;
    }
}
/* ==========================================================
   INSTRUCTOR ZONE PAGE
   Isolated classes: ads-inst-zone-
   ========================================================== */

.ads-inst-zone-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-inst-zone-page *,
.ads-inst-zone-page *::before,
.ads-inst-zone-page *::after {
    box-sizing: border-box;
}

.ads-inst-zone-page h1,
.ads-inst-zone-page h2,
.ads-inst-zone-page h3,
.ads-inst-zone-page p {
    margin-top: 0;
}

.ads-inst-zone-page h1,
.ads-inst-zone-page h2,
.ads-inst-zone-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-inst-zone-page a {
    text-decoration: none;
}

.ads-inst-zone-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-inst-zone-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


.ads-inst-zone-hero {
    min-height: 285px;
    display: flex;
    align-items: center;
    padding: 45px 0;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243, 116, 35, 0.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-inst-zone-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-inst-zone-hero h1 {
    width: fit-content;
    max-width: 850px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-inst-zone-hero h1 span {
    color: var(--ads-white);
}

.ads-inst-zone-hero > .ads-inst-zone-container > p {
    max-width: 700px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-inst-zone-actions,
.ads-inst-zone-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-inst-zone-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-inst-zone-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

/* BUTTONS */

.ads-inst-zone-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ads-inst-zone-btn:hover {
    transform: translateY(-2px);
}

.ads-inst-zone-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-inst-zone-btn-primary:hover {
    background: #d95d0d;
    color: var(--ads-white);
}

.ads-inst-zone-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-inst-zone-btn-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-inst-zone-btn-outline {
    border-color: rgba(255, 255, 255, 0.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-inst-zone-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-inst-zone-section-light {
    background: #f5f5f6;
}

.ads-inst-zone-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243, 116, 35, 0.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-inst-zone-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-inst-zone-heading h2,
.ads-inst-zone-two-column h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -0.035em;
}

.ads-inst-zone-heading p {
    color: #686c74;
}

.ads-inst-zone-section-dark .ads-inst-zone-heading h2 {
    color: var(--ads-white);
}

.ads-inst-zone-section-dark .ads-inst-zone-heading p {
    color: var(--ads-grey);
}

/* PATHS */

.ads-inst-zone-path-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-inst-zone-path-card {
    display: flex;
    flex-direction: column;
    padding: 28px 24px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18, 20, 26, 0.08);
}

.ads-inst-zone-path-featured {
    border: 2px solid var(--ads-orange);
    transform: translateY(-8px);
}

.ads-inst-zone-path-number {
    margin-bottom: 15px;
    color: var(--ads-orange);
    font-size: 2.4rem;
    font-weight: 950;
    line-height: 1;
}

.ads-inst-zone-path-card h3 {
    margin-bottom: 10px;
}

.ads-inst-zone-path-card p {
    flex: 1;
    color: #686c74;
}

.ads-inst-zone-path-card a {
    color: var(--ads-orange);
    font-weight: 900;
}

/* TRAINING */

.ads-inst-zone-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: start;
}

.ads-inst-zone-stage-list {
    display: grid;
    gap: 15px;
    margin-top: 28px;
}

.ads-inst-zone-stage-list article {
    display: flex;
    gap: 16px;
    padding: 20px;
    border-left: 4px solid var(--ads-orange);
    border-radius: 9px;
    background: #f5f5f6;
}

.ads-inst-zone-stage-list article > span {
    flex: 0 0 68px;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-inst-zone-stage-list h3 {
    margin-bottom: 6px;
    font-size: 1.05rem;
}

.ads-inst-zone-stage-list p {
    margin-bottom: 0;
    color: #686c74;
}

.ads-inst-zone-link-panel {
    padding: 28px;
    border-radius: 15px;
    background: var(--ads-navy);
    box-shadow: 0 16px 40px rgba(18, 20, 26, 0.16);
}

.ads-inst-zone-link-panel h3 {
    margin-bottom: 18px;
    color: var(--ads-white);
}

.ads-inst-zone-link-panel a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    color: var(--ads-white);
    font-weight: 800;
}

.ads-inst-zone-link-panel a:last-child {
    border-bottom: 0;
}

/* BENEFITS */

.ads-inst-zone-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-inst-zone-benefit-grid article {
    padding: 25px 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-inst-zone-benefit-grid h3 {
    color: var(--ads-white);
}

.ads-inst-zone-benefit-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

.ads-inst-zone-centre-action {
    margin-top: 30px;
    text-align: center;
}

/* FAQ */

.ads-inst-zone-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-inst-zone-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-inst-zone-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-inst-zone-faq summary::-webkit-details-marker {
    display: none;
}

.ads-inst-zone-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-inst-zone-faq details[open] summary::after {
    content: "−";
}

.ads-inst-zone-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL CTA */

.ads-inst-zone-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243, 116, 35, 0.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-inst-zone-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-inst-zone-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-inst-zone-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 950px) {
    .ads-inst-zone-path-grid {
        grid-template-columns: 1fr;
    }

    .ads-inst-zone-path-featured {
        transform: none;
    }

    .ads-inst-zone-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-inst-zone-two-column {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-inst-zone-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-inst-zone-hero {
        min-height: auto;
        padding: 36px 0;
    }

    .ads-inst-zone-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.6rem, 7.5vw, 2.1rem);
        line-height: 1.1;
        transform: rotate(0.3deg);
    }

    .ads-inst-zone-hero h1 span {
        display: block;
    }

    .ads-inst-zone-actions,
    .ads-inst-zone-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-inst-zone-btn {
        width: 100%;
    }

    .ads-inst-zone-benefit-grid {
        grid-template-columns: 1fr;
    }

    .ads-inst-zone-stage-list article {
        flex-direction: column;
    }
}
.ads-inst-zone-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr);
    gap: 20px;
    align-items: end;
}

.ads-inst-zone-hero-image {
    position: relative;
    align-self: end;
    min-height: 340px;
}

.ads-inst-zone-hero-image img {
    position: absolute;
    right: -55px;
    bottom: 0;
    width: min(115%, 720px);
    max-width: none;
    max-height: 410px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.3));
}
@media (max-width: 850px) {
    .ads-inst-zone-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-inst-zone-hero-image {
        display: none;
    }
}
/* ==========================================================
   BECOME A DRIVING INSTRUCTOR PAGE
   Isolated classes: ads-become-adi-
   ========================================================== */

.ads-become-adi-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-become-adi-page *,
.ads-become-adi-page *::before,
.ads-become-adi-page *::after {
    box-sizing: border-box;
}

.ads-become-adi-page h1,
.ads-become-adi-page h2,
.ads-become-adi-page h3,
.ads-become-adi-page p {
    margin-top: 0;
}

.ads-become-adi-page h1,
.ads-become-adi-page h2,
.ads-become-adi-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-become-adi-page a {
    text-decoration: none;
}

.ads-become-adi-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-become-adi-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


.ads-become-adi-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243, 116, 35, 0.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-become-adi-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-become-adi-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-become-adi-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-become-adi-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-become-adi-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-become-adi-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-become-adi-actions,
.ads-become-adi-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-become-adi-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-become-adi-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

.ads-become-adi-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-become-adi-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0, 0, 0, 0.32));
}

/* BUTTONS */

.ads-become-adi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ads-become-adi-btn:hover {
    transform: translateY(-2px);
}

.ads-become-adi-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-become-adi-btn-primary:hover {
    background: #d95d0d;
    color: var(--ads-white);
}

.ads-become-adi-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-become-adi-btn-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-become-adi-btn-outline {
    border-color: rgba(255, 255, 255, 0.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-become-adi-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-become-adi-section-light {
    background: #f5f5f6;
}

.ads-become-adi-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243, 116, 35, 0.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-become-adi-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-become-adi-heading h2,
.ads-become-adi-intro-grid h2,
.ads-become-adi-two-column h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -0.035em;
}

.ads-become-adi-heading p {
    color: #686c74;
}

.ads-become-adi-section-dark .ads-become-adi-heading h2 {
    color: var(--ads-white);
}

.ads-become-adi-section-dark .ads-become-adi-heading p {
    color: var(--ads-grey);
}


.ads-become-adi-intro-grid,
.ads-become-adi-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-become-adi-stat-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 15px;
    background: var(--ads-navy);
    box-shadow: 0 16px 40px rgba(18, 20, 26, 0.16);
}

.ads-become-adi-stat-panel article {
    padding: 25px 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    text-align: center;
}

.ads-become-adi-stat-panel article:last-child {
    border-right: 0;
}

.ads-become-adi-stat-panel strong {
    display: block;
    color: var(--ads-orange);
    font-size: 2.5rem;
    line-height: 1;
}

.ads-become-adi-stat-panel span {
    display: block;
    margin-top: 10px;
    color: var(--ads-white);
    font-size: 0.84rem;
}

/* BENEFITS */

.ads-become-adi-benefit-grid,
.ads-become-adi-support-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-become-adi-benefit-grid article {
    padding: 26px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.07);
}

.ads-become-adi-benefit-grid article > span {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-become-adi-benefit-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* STAGES */

.ads-become-adi-stage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-become-adi-stage-grid article {
    padding: 27px 23px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-become-adi-stage-number {
    color: var(--ads-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-become-adi-stage-grid h3 {
    margin: 12px 0 9px;
    color: var(--ads-white);
}

.ads-become-adi-stage-grid p {
    color: var(--ads-grey);
}

.ads-become-adi-stage-grid a {
    color: var(--ads-orange);
    font-weight: 900;
}

/* IMAGE / REQUIREMENTS */

.ads-become-adi-image-card {
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: var(--ads-navy);
    box-shadow: 0 18px 48px rgba(18, 20, 26, 0.18);
}

.ads-become-adi-image-card img {
    display: block;
    width: 100%;
    min-height: 410px;
    object-fit: cover;
}

.ads-become-adi-callout {
    margin-top: 25px;
    padding: 20px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 8px;
    background: var(--ads-white);
}

.ads-become-adi-callout p {
    margin: 5px 0 0;
}

.ads-become-adi-checklist {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-become-adi-checklist li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 34px;
    font-weight: 750;
}

.ads-become-adi-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.8rem;
    font-weight: 900;
    line-height: 23px;
    text-align: center;
}

.ads-become-adi-requirement-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-grey);
    box-shadow: 0 16px 40px rgba(18, 20, 26, 0.16);
}

.ads-become-adi-requirement-card h3 {
    color: var(--ads-white);
}

.ads-become-adi-requirement-card ul {
    padding-left: 20px;
}

.ads-become-adi-requirement-card li {
    margin-bottom: 10px;
}

.ads-become-adi-requirement-card p {
    margin-bottom: 0;
}

/* SUPPORT */

.ads-become-adi-support-grid article {
    padding: 25px 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-become-adi-support-grid h3 {
    color: var(--ads-white);
}

.ads-become-adi-support-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

/* FAQ */

.ads-become-adi-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-become-adi-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-become-adi-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-become-adi-faq summary::-webkit-details-marker {
    display: none;
}

.ads-become-adi-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-become-adi-faq details[open] summary::after {
    content: "−";
}

.ads-become-adi-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL CTA */

.ads-become-adi-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243, 116, 35, 0.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-become-adi-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-become-adi-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-become-adi-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-become-adi-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-hero-image {
        display: none;
    }

    .ads-become-adi-benefit-grid,
    .ads-become-adi-support-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-become-adi-intro-grid,
    .ads-become-adi-two-column {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-stat-panel,
    .ads-become-adi-stage-grid {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-stat-panel article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .ads-become-adi-stat-panel article:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 650px) {
    .ads-become-adi-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-become-adi-hero {
        min-height: auto;
    }

    .ads-become-adi-hero-content {
        padding: 36px 0;
    }

    .ads-become-adi-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.55rem, 7.2vw, 2rem);
        line-height: 1.1;
        transform: rotate(0.3deg);
    }

    .ads-become-adi-actions,
    .ads-become-adi-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-become-adi-btn {
        width: 100%;
    }

    .ads-become-adi-benefit-grid,
    .ads-become-adi-support-grid {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================
   BECOME A DRIVING INSTRUCTOR PAGE
   Isolated classes: ads-become-adi-
   ========================================================== */

.ads-become-adi-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-become-adi-page *,
.ads-become-adi-page *::before,
.ads-become-adi-page *::after {
    box-sizing: border-box;
}

.ads-become-adi-page h1,
.ads-become-adi-page h2,
.ads-become-adi-page h3,
.ads-become-adi-page p {
    margin-top: 0;
}

.ads-become-adi-page h1,
.ads-become-adi-page h2,
.ads-become-adi-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-become-adi-page a {
    text-decoration: none;
}

.ads-become-adi-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-become-adi-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


.ads-become-adi-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243, 116, 35, 0.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-become-adi-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-become-adi-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-become-adi-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.25);
    color: var(--ads-white);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-become-adi-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-become-adi-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-become-adi-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}

.ads-become-adi-actions,
.ads-become-adi-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-become-adi-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-become-adi-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    background: rgba(18, 20, 26, 0.82);
    color: var(--ads-white);
    font-size: 0.75rem;
    font-weight: 800;
}

.ads-become-adi-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-become-adi-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0, 0, 0, 0.32));
}

/* BUTTONS */

.ads-become-adi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ads-become-adi-btn:hover {
    transform: translateY(-2px);
}

.ads-become-adi-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-become-adi-btn-primary:hover {
    background: #d95d0d;
    color: var(--ads-white);
}

.ads-become-adi-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-become-adi-btn-light:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-become-adi-btn-outline {
    border-color: rgba(255, 255, 255, 0.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-become-adi-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-become-adi-section-light {
    background: #f5f5f6;
}

.ads-become-adi-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243, 116, 35, 0.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-become-adi-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-become-adi-heading h2,
.ads-become-adi-intro-grid h2,
.ads-become-adi-two-column h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -0.035em;
}

.ads-become-adi-heading p {
    color: #686c74;
}

.ads-become-adi-section-dark .ads-become-adi-heading h2 {
    color: var(--ads-white);
}

.ads-become-adi-section-dark .ads-become-adi-heading p {
    color: var(--ads-grey);
}


.ads-become-adi-intro-grid,
.ads-become-adi-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-become-adi-stat-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 15px;
    background: var(--ads-navy);
    box-shadow: 0 16px 40px rgba(18, 20, 26, 0.16);
}

.ads-become-adi-stat-panel article {
    padding: 25px 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    text-align: center;
}

.ads-become-adi-stat-panel article:last-child {
    border-right: 0;
}

.ads-become-adi-stat-panel strong {
    display: block;
    color: var(--ads-orange);
    font-size: 2.5rem;
    line-height: 1;
}

.ads-become-adi-stat-panel span {
    display: block;
    margin-top: 10px;
    color: var(--ads-white);
    font-size: 0.84rem;
}

/* BENEFITS */

.ads-become-adi-benefit-grid,
.ads-become-adi-support-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-become-adi-benefit-grid article {
    padding: 26px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 9px 28px rgba(18, 20, 26, 0.07);
}

.ads-become-adi-benefit-grid article > span {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-become-adi-benefit-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* STAGES */

.ads-become-adi-stage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-become-adi-stage-grid article {
    padding: 27px 23px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-become-adi-stage-number {
    color: var(--ads-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-become-adi-stage-grid h3 {
    margin: 12px 0 9px;
    color: var(--ads-white);
}

.ads-become-adi-stage-grid p {
    color: var(--ads-grey);
}

.ads-become-adi-stage-grid a {
    color: var(--ads-orange);
    font-weight: 900;
}

/* IMAGE / REQUIREMENTS */

.ads-become-adi-image-card {
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: var(--ads-navy);
    box-shadow: 0 18px 48px rgba(18, 20, 26, 0.18);
}

.ads-become-adi-image-card img {
    display: block;
    width: 100%;
    min-height: 410px;
    object-fit: cover;
}

.ads-become-adi-callout {
    margin-top: 25px;
    padding: 20px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 8px;
    background: var(--ads-white);
}

.ads-become-adi-callout p {
    margin: 5px 0 0;
}

.ads-become-adi-checklist {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-become-adi-checklist li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 34px;
    font-weight: 750;
}

.ads-become-adi-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.8rem;
    font-weight: 900;
    line-height: 23px;
    text-align: center;
}

.ads-become-adi-requirement-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-grey);
    box-shadow: 0 16px 40px rgba(18, 20, 26, 0.16);
}

.ads-become-adi-requirement-card h3 {
    color: var(--ads-white);
}

.ads-become-adi-requirement-card ul {
    padding-left: 20px;
}

.ads-become-adi-requirement-card li {
    margin-bottom: 10px;
}

.ads-become-adi-requirement-card p {
    margin-bottom: 0;
}

/* SUPPORT */

.ads-become-adi-support-grid article {
    padding: 25px 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-become-adi-support-grid h3 {
    color: var(--ads-white);
}

.ads-become-adi-support-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

/* FAQ */

.ads-become-adi-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-become-adi-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-become-adi-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-become-adi-faq summary::-webkit-details-marker {
    display: none;
}

.ads-become-adi-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-become-adi-faq details[open] summary::after {
    content: "−";
}

.ads-become-adi-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL CTA */

.ads-become-adi-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243, 116, 35, 0.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-become-adi-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-become-adi-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-become-adi-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-become-adi-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-hero-image {
        display: none;
    }

    .ads-become-adi-benefit-grid,
    .ads-become-adi-support-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-become-adi-intro-grid,
    .ads-become-adi-two-column {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-stat-panel,
    .ads-become-adi-stage-grid {
        grid-template-columns: 1fr;
    }

    .ads-become-adi-stat-panel article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .ads-become-adi-stat-panel article:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 650px) {
    .ads-become-adi-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-become-adi-hero {
        min-height: auto;
    }

    .ads-become-adi-hero-content {
        padding: 36px 0;
    }

    .ads-become-adi-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.55rem, 7.2vw, 2rem);
        line-height: 1.1;
        transform: rotate(0.3deg);
    }

    .ads-become-adi-actions,
    .ads-become-adi-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-become-adi-btn {
        width: 100%;
    }

    .ads-become-adi-benefit-grid,
    .ads-become-adi-support-grid {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================
   TRAINING PACKAGES, SUCCESS STORIES AND REVIEWS
   Add to the Become a Driving Instructor page CSS
   ========================================================== */

.ads-training-packages-section {
    background: #f5f5f6;
}

.ads-training-packages-section .ads-become-adi-heading h2 span {
    color: var(--ads-orange);
}

.ads-training-package-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.ads-training-package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-navy);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18, 20, 26, 0.08);
}

.ads-training-package-featured {
    border: 3px solid var(--ads-orange);
    box-shadow: 0 18px 42px rgba(243, 116, 35, 0.16);
    transform: translateY(-8px);
}

.ads-training-popular {
    position: absolute;
    top: 0;
    right: 24px;
    padding: 7px 14px;
    border-radius: 0 0 9px 9px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ads-training-package-label {
    color: var(--ads-navy);
    font-size: 1.35rem;
    font-weight: 900;
}

.ads-training-package-featured .ads-training-package-label {
    color: var(--ads-orange);
}

.ads-training-package-price {
    margin: 8px 0 14px;
    color: var(--ads-navy);
    font-size: 2.45rem;
    font-weight: 950;
    letter-spacing: -0.04em;
    line-height: 1;
}

.ads-training-finance-note {
    margin-bottom: 20px;
}

.ads-training-finance-note a {
    color: var(--ads-orange);
    font-size: 0.78rem;
    font-weight: 900;
    text-decoration: underline;
}

.ads-training-finance-note p {
    margin: 6px 0 0;
    color: #6b6f77;
    font-size: 0.7rem;
    line-height: 1.45;
}

.ads-training-package-card ul {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-training-package-card li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 27px;
    color: #444851;
    font-size: 0.9rem;
}

.ads-training-package-card li::before {
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
}

.ads-training-package-card li.is-included::before {
    content: "✓";
    color: var(--ads-orange);
}

.ads-training-package-card li.is-not-included {
    color: #8a8e95;
}

.ads-training-package-card li.is-not-included::before {
    content: "×";
    color: #8a8e95;
}

.ads-training-package-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 22px;
    padding: 10px 18px;
    border-radius: 50px;
    background: var(--ads-navy);
    color: var(--ads-white);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ads-training-package-btn:hover,
.ads-training-package-btn-featured {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-training-success-section {
    background: var(--ads-white);
}

.ads-training-success-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-training-success-card {
    overflow: hidden;
    border: 1px solid #eceef1;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18, 20, 26, 0.08);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ads-training-success-card:hover {
    border-color: var(--ads-orange);
    box-shadow: 0 16px 36px rgba(243, 116, 35, 0.15);
    transform: translateY(-7px);
}

.ads-training-success-image {
    height: 260px;
    overflow: hidden;
}

.ads-training-success-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.ads-training-success-card:hover img {
    transform: scale(1.04);
}

.ads-training-success-copy {
    padding: 20px;
    text-align: center;
}

.ads-training-success-copy h3 {
    margin-bottom: 5px;
    font-size: 1.08rem;
    text-transform: uppercase;
}

.ads-training-success-copy p {
    margin: 0;
    color: var(--ads-orange);
    font-size: 0.86rem;
    font-weight: 800;
}

.ads-training-reviews-section {
    background: #f5f5f6;
}

.ads-training-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads-training-review-card {
    display: flex;
    flex-direction: column;
    padding: 32px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 10px 28px rgba(18, 20, 26, 0.06);
}

.ads-training-stars {
    margin-bottom: 14px;
    color: var(--ads-orange);
    letter-spacing: 0.08em;
}

.ads-training-review-card blockquote {
    flex: 1;
    margin: 0;
    color: var(--ads-navy);
    font-size: 1rem;
    font-style: italic;
    font-weight: 650;
    line-height: 1.7;
}

.ads-training-review-card blockquote strong {
    color: var(--ads-orange);
}

.ads-training-review-card footer {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid #dedfe3;
}

.ads-training-review-card footer strong,
.ads-training-review-card footer span {
    display: block;
}

.ads-training-review-card footer strong {
    color: var(--ads-navy);
    font-size: 1.05rem;
}

.ads-training-review-card footer span {
    margin-top: 3px;
    color: #686c74;
    font-size: 0.8rem;
}

@media (max-width: 1100px) {
    .ads-training-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-training-package-featured {
        transform: none;
    }
}

@media (max-width: 760px) {
    .ads-training-success-grid,
    .ads-training-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-training-package-grid {
        grid-template-columns: 1fr;
    }

    .ads-training-package-card,
    .ads-training-review-card {
        padding: 24px 20px;
    }

    .ads-training-success-image {
        height: 240px;
    }
}
/* ==========================================================
   DRIVING INSTRUCTOR TRAINING COURSES
   Isolated classes: ads-training-courses-
   ========================================================== */

.ads-training-courses-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-training-courses-page *,
.ads-training-courses-page *::before,
.ads-training-courses-page *::after {
    box-sizing: border-box;
}

.ads-training-courses-page h1,
.ads-training-courses-page h2,
.ads-training-courses-page h3,
.ads-training-courses-page p {
    margin-top: 0;
}

.ads-training-courses-page h1,
.ads-training-courses-page h2,
.ads-training-courses-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-training-courses-page a {
    text-decoration: none;
}

.ads-training-courses-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-training-courses-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


.ads-training-courses-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-training-courses-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-training-courses-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-training-courses-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-training-courses-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-training-courses-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-training-courses-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-training-courses-actions,
.ads-training-courses-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-training-courses-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-training-courses-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-training-courses-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-training-courses-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-training-courses-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-training-courses-btn:hover {
    transform: translateY(-2px);
}

.ads-training-courses-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-training-courses-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-training-courses-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-training-courses-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-training-courses-section-light {
    background: #f5f5f6;
}

.ads-training-courses-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-training-courses-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-training-courses-heading h2,
.ads-training-courses-requirements-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-training-courses-heading h2 span {
    color: var(--ads-orange);
}

.ads-training-courses-heading p {
    color: #686c74;
}

.ads-training-courses-section-dark h2 {
    color: var(--ads-white);
}


.ads-training-courses-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-training-courses-intro-grid article {
    padding: 26px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
}

.ads-training-courses-intro-grid article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-training-courses-intro-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* PACKAGES */

.ads-training-courses-package-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.ads-training-courses-package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-navy);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18,20,26,.08);
}

.ads-training-courses-package-featured {
    border: 3px solid var(--ads-orange);
    box-shadow: 0 18px 42px rgba(243,116,35,.16);
    transform: translateY(-8px);
}

.ads-training-courses-popular {
    position: absolute;
    top: 0;
    right: 24px;
    padding: 7px 14px;
    border-radius: 0 0 9px 9px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-training-courses-package-label {
    color: var(--ads-navy);
    font-size: 1.35rem;
    font-weight: 900;
}

.ads-training-courses-package-featured .ads-training-courses-package-label {
    color: var(--ads-orange);
}

.ads-training-courses-package-price {
    margin: 8px 0 14px;
    color: var(--ads-navy);
    font-size: 2.45rem;
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1;
}

.ads-training-courses-finance-note {
    margin-bottom: 20px;
}

.ads-training-courses-finance-note a {
    color: var(--ads-orange);
    font-size: .78rem;
    font-weight: 900;
    text-decoration: underline;
}

.ads-training-courses-finance-note p {
    margin: 6px 0 0;
    color: #6b6f77;
    font-size: .7rem;
}

.ads-training-courses-package-card ul {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ads-training-courses-package-card li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 27px;
    color: #444851;
    font-size: .9rem;
}

.ads-training-courses-package-card li::before {
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
}

.ads-training-courses-package-card li.is-included::before {
    content: "✓";
    color: var(--ads-orange);
}

.ads-training-courses-package-card li.is-not-included {
    color: #8a8e95;
}

.ads-training-courses-package-card li.is-not-included::before {
    content: "×";
    color: #8a8e95;
}

.ads-training-courses-package-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 22px;
    padding: 10px 18px;
    border-radius: 50px;
    background: var(--ads-navy);
    color: var(--ads-white);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-training-courses-package-btn:hover,
.ads-training-courses-package-btn-featured {
    background: var(--ads-orange);
    color: var(--ads-white);
}

/* REQUIREMENTS */

.ads-training-courses-requirements-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-training-courses-checklist {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.ads-training-courses-checklist li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 34px;
    color: var(--ads-white);
    font-weight: 750;
}

.ads-training-courses-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--ads-orange);
    color: var(--ads-white);
    line-height: 23px;
    text-align: center;
}

.ads-training-courses-platinum-card {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 15px;
    background: rgba(255,255,255,.07);
}

.ads-training-courses-platinum-card h3 {
    color: var(--ads-white);
}

.ads-training-courses-platinum-card blockquote {
    margin: 18px 0;
    color: var(--ads-white);
    font-size: 1.05rem;
    font-style: italic;
    font-weight: 700;
}

/* SUCCESS */

.ads-training-courses-success-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-training-courses-success-card {
    overflow: hidden;
    border: 1px solid #eceef1;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18,20,26,.08);
    transition: transform .25s ease, border-color .25s ease;
}

.ads-training-courses-success-card:hover {
    border-color: var(--ads-orange);
    transform: translateY(-7px);
}

.ads-training-courses-success-image {
    height: 260px;
    overflow: hidden;
}

.ads-training-courses-success-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ads-training-courses-success-copy {
    padding: 20px;
    text-align: center;
}

.ads-training-courses-success-copy h3 {
    margin-bottom: 5px;
    font-size: 1.08rem;
    text-transform: uppercase;
}

.ads-training-courses-success-copy p {
    margin: 0;
    color: var(--ads-orange);
    font-weight: 800;
}

/* REVIEWS */

.ads-training-courses-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads-training-courses-review-card {
    display: flex;
    flex-direction: column;
    padding: 32px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 10px 28px rgba(18,20,26,.06);
}

.ads-training-courses-stars {
    margin-bottom: 14px;
    color: var(--ads-orange);
    letter-spacing: .08em;
}

.ads-training-courses-review-card blockquote {
    flex: 1;
    margin: 0;
    color: var(--ads-navy);
    font-style: italic;
    font-weight: 650;
    line-height: 1.7;
}

.ads-training-courses-review-card blockquote strong {
    color: var(--ads-orange);
}

.ads-training-courses-review-card footer {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid #dedfe3;
}

.ads-training-courses-review-card footer strong,
.ads-training-courses-review-card footer span {
    display: block;
}

/* FINAL CTA */

.ads-training-courses-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-training-courses-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-training-courses-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-training-courses-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .ads-training-courses-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-training-courses-package-featured {
        transform: none;
    }
}

@media (max-width: 980px) {
    .ads-training-courses-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-training-courses-hero-image {
        display: none;
    }
}

@media (max-width: 760px) {
    .ads-training-courses-intro-grid,
    .ads-training-courses-requirements-grid,
    .ads-training-courses-success-grid,
    .ads-training-courses-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-training-courses-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-training-courses-hero {
        min-height: auto;
    }

    .ads-training-courses-hero-content {
        padding: 36px 0;
    }

    .ads-training-courses-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-training-courses-actions,
    .ads-training-courses-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-training-courses-btn {
        width: 100%;
    }

    .ads-training-courses-package-grid {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================
   INSTRUCTOR TRAINING FINANCE
   Isolated classes: ads-training-finance-
   ========================================================== */

.ads-training-finance-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-training-finance-page *,
.ads-training-finance-page *::before,
.ads-training-finance-page *::after {
    box-sizing: border-box;
}

.ads-training-finance-page h1,
.ads-training-finance-page h2,
.ads-training-finance-page h3,
.ads-training-finance-page p {
    margin-top: 0;
}

.ads-training-finance-page h1,
.ads-training-finance-page h2,
.ads-training-finance-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-training-finance-page a {
    text-decoration: none;
}

.ads-training-finance-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-training-finance-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-training-finance-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-training-finance-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-training-finance-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-training-finance-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-training-finance-hero h1 {
    width: fit-content;
    max-width: 780px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-training-finance-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-training-finance-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-training-finance-actions,
.ads-training-finance-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-training-finance-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-training-finance-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-training-finance-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-training-finance-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-training-finance-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-training-finance-btn:hover {
    transform: translateY(-2px);
}

.ads-training-finance-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-training-finance-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-training-finance-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-training-finance-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-training-finance-section-light {
    background: #f5f5f6;
}

.ads-training-finance-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-training-finance-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-training-finance-heading h2,
.ads-training-finance-roi-grid h2,
.ads-training-finance-legal h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-training-finance-heading p {
    color: #686c74;
}

.ads-training-finance-section-dark h2,
.ads-training-finance-legal h2 {
    color: var(--ads-white);
}

/* OPTIONS */

.ads-training-finance-option-grid,
.ads-training-finance-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-training-finance-option-grid article,
.ads-training-finance-steps article {
    padding: 26px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
}

.ads-training-finance-option-grid article > span,
.ads-training-finance-steps article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-training-finance-option-grid p,
.ads-training-finance-steps p {
    margin-bottom: 0;
    color: #686c74;
}

/* CALCULATOR */

.ads-training-finance-calculator-shell {
    max-width: 900px;
    min-height: 120px;
    margin: 0 auto;
    padding: 30px;
    border: 1px solid var(--ads-grey);
    border-radius: 16px;
    background: var(--ads-white);
    box-shadow: 0 14px 40px rgba(18,20,26,.09);
}

.ads-training-finance-calculator-note {
    max-width: 900px;
    margin: 18px auto 0;
    color: #686c74;
    font-size: .78rem;
    text-align: center;
}

.ads-training-finance-calculator-note p {
    margin-bottom: 0;
}

/* ROI */

.ads-training-finance-roi-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-training-finance-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.ads-training-finance-stat-grid article {
    padding: 22px 18px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
    text-align: center;
}

.ads-training-finance-stat-grid strong {
    display: block;
    color: var(--ads-orange);
    font-size: 2rem;
}

.ads-training-finance-stat-grid span {
    display: block;
    margin-top: 7px;
    color: var(--ads-white);
    font-size: .8rem;
}

.ads-training-finance-highlight {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.ads-training-finance-highlight h3 {
    color: var(--ads-navy);
}

.ads-training-finance-highlight p {
    color: #686c74;
}

/* LEGAL */

.ads-training-finance-legal {
    border-top: 6px solid var(--ads-orange);
    background: var(--ads-navy);
    color: var(--ads-grey);
}

.ads-training-finance-legal .ads-training-finance-container {
    max-width: 900px;
}

.ads-training-finance-legal p:last-child {
    margin-bottom: 0;
}

/* FAQ */

.ads-training-finance-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-training-finance-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-training-finance-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-training-finance-faq summary::-webkit-details-marker {
    display: none;
}

.ads-training-finance-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-training-finance-faq details[open] summary::after {
    content: "−";
}

.ads-training-finance-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL CTA */

.ads-training-finance-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-training-finance-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-training-finance-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-training-finance-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-training-finance-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-training-finance-hero-image {
        display: none;
    }

    .ads-training-finance-option-grid,
    .ads-training-finance-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-training-finance-roi-grid {
        grid-template-columns: 1fr;
    }

    .ads-training-finance-stat-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-training-finance-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-training-finance-hero {
        min-height: auto;
    }

    .ads-training-finance-hero-content {
        padding: 36px 0;
    }

    .ads-training-finance-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-training-finance-actions,
    .ads-training-finance-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-training-finance-btn {
        width: 100%;
    }

    .ads-training-finance-option-grid,
    .ads-training-finance-steps {
        grid-template-columns: 1fr;
    }

    .ads-training-finance-calculator-shell {
        padding: 20px;
    }
}
/* ==========================================================
   ADI PART 1 / DRIVING INSTRUCTOR THEORY TEST
   Isolated classes: ads-part1-
   ========================================================== */

.ads-part1-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-part1-page *,
.ads-part1-page *::before,
.ads-part1-page *::after {
    box-sizing: border-box;
}

.ads-part1-page h1,
.ads-part1-page h2,
.ads-part1-page h3,
.ads-part1-page p {
    margin-top: 0;
}

.ads-part1-page h1,
.ads-part1-page h2,
.ads-part1-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-part1-page a {
    text-decoration: none;
}

.ads-part1-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-part1-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-part1-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-part1-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-part1-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-part1-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-part1-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-part1-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-part1-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-part1-actions,
.ads-part1-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-part1-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-part1-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-part1-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-part1-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-part1-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-part1-btn:hover {
    transform: translateY(-2px);
}

.ads-part1-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-part1-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-part1-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-part1-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-part1-section-light {
    background: #f5f5f6;
}

.ads-part1-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part1-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-part1-heading h2,
.ads-part1-pro-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-part1-heading p {
    color: #686c74;
}

.ads-part1-section-dark h2 {
    color: var(--ads-white);
}

/* TEST */

.ads-part1-test-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.ads-part1-test-card {
    padding: 30px;
    border: 1px solid var(--ads-grey);
    border-radius: 16px;
    background: var(--ads-white);
    box-shadow: 0 12px 34px rgba(18,20,26,.07);
}

.ads-part1-test-card-dark {
    border-color: var(--ads-navy);
    background: var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part1-test-number {
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.ads-part1-test-card h3 {
    margin: 10px 0 18px;
    font-size: 1.6rem;
}

.ads-part1-test-card-dark h3 {
    color: var(--ads-white);
}

.ads-part1-pass-mark {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 12px;
    background: #f5f5f6;
}

.ads-part1-test-card-dark .ads-part1-pass-mark {
    background: rgba(255,255,255,.08);
}

.ads-part1-pass-mark strong {
    color: var(--ads-orange);
    font-size: 2rem;
    line-height: 1;
}

.ads-part1-pass-mark span {
    color: #686c74;
    font-size: .8rem;
    font-weight: 800;
}

.ads-part1-test-card-dark .ads-part1-pass-mark span {
    color: var(--ads-grey);
}

.ads-part1-checklist,
.ads-part1-pro-list {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.ads-part1-checklist li,
.ads-part1-pro-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
}

.ads-part1-checklist li::before,
.ads-part1-pro-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-part1-note {
    margin-top: 22px;
    padding: 18px 20px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 8px;
    background: #fff7f1;
}

/* BENEFITS */

.ads-part1-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-part1-benefit-grid article {
    padding: 27px 23px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
}

.ads-part1-benefit-grid article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-part1-benefit-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* THEORY TEST PRO */

.ads-part1-pro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-part1-pro-list li {
    color: var(--ads-white);
}

.ads-part1-pro-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.ads-part1-exclusive {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ads-part1-pro-card p {
    color: #686c74;
}

/* BOOKS */

.ads-part1-book-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-part1-book-card {
    display: flex;
    flex-direction: column;
    padding: 27px 23px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-orange);
    border-radius: 14px;
    background: var(--ads-white);
}

.ads-part1-book-card > span {
    margin-bottom: 12px;
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-part1-book-card p {
    flex: 1;
    color: #686c74;
}

.ads-part1-book-card a {
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-part1-link-warning {
    margin-top: 20px;
    padding: 15px 18px;
    border-radius: 8px;
    background: #fff3cd;
    color: #6d5510;
    font-size: .82rem;
}

/* ROADMAP */

.ads-part1-roadmap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-part1-roadmap-card {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
    color: #686c74;
}

.ads-part1-roadmap-card.is-current {
    border: 2px solid var(--ads-orange);
    background: #fff7f1;
}

.ads-part1-roadmap-card > span {
    display: block;
    margin-bottom: 9px;
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-part1-roadmap-card strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ads-navy);
    font-size: 1.15rem;
}

.ads-part1-roadmap-card p {
    margin-bottom: 0;
}

.ads-part1-next-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 30px;
    padding: 28px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-white);
}

.ads-part1-next-step h3 {
    color: var(--ads-white);
}

/* FAQ */

.ads-part1-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-part1-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-part1-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-part1-faq summary::-webkit-details-marker {
    display: none;
}

.ads-part1-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-part1-faq details[open] summary::after {
    content: "−";
}

.ads-part1-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL */

.ads-part1-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-part1-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-part1-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-part1-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-part1-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-part1-hero-image {
        display: none;
    }
}

@media (max-width: 760px) {
    .ads-part1-test-grid,
    .ads-part1-benefit-grid,
    .ads-part1-pro-grid,
    .ads-part1-book-grid,
    .ads-part1-roadmap {
        grid-template-columns: 1fr;
    }

    .ads-part1-next-step {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .ads-part1-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-part1-hero {
        min-height: auto;
    }

    .ads-part1-hero-content {
        padding: 36px 0;
    }

    .ads-part1-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-part1-actions,
    .ads-part1-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-part1-btn {
        width: 100%;
    }

    .ads-part1-test-card,
    .ads-part1-pro-card {
        padding: 24px 20px;
    }
}
/* ==========================================================
   ADI PART 2
   Isolated classes: ads-part2-
   ========================================================== */

.ads-part2-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-part2-page *,
.ads-part2-page *::before,
.ads-part2-page *::after {
    box-sizing: border-box;
}

.ads-part2-page h1,
.ads-part2-page h2,
.ads-part2-page h3,
.ads-part2-page p {
    margin-top: 0;
}

.ads-part2-page h1,
.ads-part2-page h2,
.ads-part2-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-part2-page a {
    text-decoration: none;
}

.ads-part2-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-part2-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-part2-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-part2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-part2-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-part2-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-part2-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-part2-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-part2-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-part2-actions,
.ads-part2-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-part2-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-part2-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-part2-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-part2-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-part2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-part2-btn:hover {
    transform: translateY(-2px);
}

.ads-part2-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-part2-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-part2-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-part2-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-part2-section-light {
    background: #f5f5f6;
}

.ads-part2-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part2-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-part2-heading h2,
.ads-part2-assessment-grid h2,
.ads-part2-booking-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-part2-heading p {
    color: #686c74;
}

.ads-part2-section-dark h2 {
    color: var(--ads-white);
}

/* START */

.ads-part2-start-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.ads-part2-start-grid article {
    padding: 28px 24px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18,20,26,.07);
}

.ads-part2-start-grid article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-part2-start-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* ASSESSMENT */

.ads-part2-assessment-grid,
.ads-part2-booking-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-part2-pass-panel {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 20px 0;
    padding: 18px 22px;
    border-radius: 12px;
    background: var(--ads-navy);
}

.ads-part2-pass-panel strong {
    color: var(--ads-orange);
    font-size: 1.8rem;
}

.ads-part2-pass-panel span {
    color: var(--ads-white);
    font-size: .85rem;
    font-weight: 800;
}

.ads-part2-warning {
    padding-left: 16px;
    border-left: 4px solid var(--ads-orange);
    font-weight: 800;
}

.ads-part2-independent-card,
.ads-part2-booking-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-grey);
    box-shadow: 0 18px 45px rgba(18,20,26,.16);
}

.ads-part2-independent-card h3,
.ads-part2-booking-card h3 {
    color: var(--ads-white);
}

/* MANOEUVRES */

.ads-part2-manoeuvre-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.ads-part2-manoeuvre-grid article {
    padding: 24px 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
}

.ads-part2-manoeuvre-grid article > span {
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
}

.ads-part2-manoeuvre-grid h3 {
    margin: 11px 0 8px;
    color: var(--ads-white);
}

.ads-part2-manoeuvre-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}


/* ROADMAP */

.ads-part2-roadmap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-part2-roadmap-card {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
    color: #686c74;
}

.ads-part2-roadmap-card.is-current {
    border: 2px solid var(--ads-orange);
    background: #fff7f1;
}

.ads-part2-roadmap-card > span {
    display: block;
    margin-bottom: 9px;
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-part2-roadmap-card strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ads-navy);
    font-size: 1.15rem;
}

.ads-part2-roadmap-card p {
    margin-bottom: 0;
}

/* BOOKING */

.ads-part2-checklist {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-part2-checklist li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
    color: var(--ads-white);
}

.ads-part2-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-part2-next-link {
    display: block;
    margin-top: 18px;
    color: var(--ads-orange);
    font-weight: 900;
}

/* FAQ */

.ads-part2-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-part2-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-part2-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-part2-faq summary::-webkit-details-marker {
    display: none;
}

.ads-part2-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-part2-faq details[open] summary::after {
    content: "−";
}

.ads-part2-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL */

.ads-part2-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-part2-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-part2-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-part2-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 1050px) {
    .ads-part2-manoeuvre-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ads-part2-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-part2-hero-image {
        display: none;
    }
}

@media (max-width: 760px) {
    .ads-part2-start-grid,
    .ads-part2-assessment-grid,
    .ads-part2-roadmap,
    .ads-part2-booking-grid {
        grid-template-columns: 1fr;
    }

    .ads-part2-route-card {
        align-items: stretch;
        flex-direction: column;
    }

    .ads-part2-route-card .ads-part2-btn {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .ads-part2-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-part2-hero {
        min-height: auto;
    }

    .ads-part2-hero-content {
        padding: 36px 0;
    }

    .ads-part2-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-part2-actions,
    .ads-part2-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-part2-btn {
        width: 100%;
    }

    .ads-part2-manoeuvre-grid {
        grid-template-columns: 1fr;
    }

    .ads-part2-video-shell {
        padding: 20px;
    }
}
/* ==========================================================
   ADI PART 3
   Isolated classes: ads-part3-
   ========================================================== */

.ads-part3-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-part3-page *,
.ads-part3-page *::before,
.ads-part3-page *::after {
    box-sizing: border-box;
}

.ads-part3-page h1,
.ads-part3-page h2,
.ads-part3-page h3,
.ads-part3-page p {
    margin-top: 0;
}

.ads-part3-page h1,
.ads-part3-page h2,
.ads-part3-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-part3-page a {
    text-decoration: none;
}

.ads-part3-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-part3-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-part3-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-part3-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-part3-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-part3-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-part3-hero h1 {
    width: fit-content;
    max-width: 760px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-part3-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-part3-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-part3-actions,
.ads-part3-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-part3-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-part3-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-part3-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-part3-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-part3-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-part3-btn:hover {
    transform: translateY(-2px);
}

.ads-part3-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-part3-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-part3-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-part3-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-part3-section-light {
    background: #f5f5f6;
}

.ads-part3-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part3-heading {
    max-width: 800px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-part3-heading h2,
.ads-part3-examiner-grid h2,
.ads-part3-booking-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-part3-heading p {
    color: #686c74;
}

.ads-part3-section-dark h2 {
    color: var(--ads-white);
}


.ads-part3-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-part3-intro-grid article {
    padding: 27px 23px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
}

.ads-part3-intro-grid article > span,
.ads-part3-learning-grid article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-part3-intro-grid p,
.ads-part3-learning-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* CRITERIA */

.ads-part3-criteria-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-part3-criteria-card {
    padding: 28px 24px;
    border: 1px solid var(--ads-grey);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18,20,26,.07);
}

.ads-part3-criteria-card-dark {
    border-color: var(--ads-navy);
    background: var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part3-criteria-number {
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.ads-part3-criteria-card h3 {
    margin: 11px 0 10px;
}

.ads-part3-criteria-card-dark h3 {
    color: var(--ads-white);
}

.ads-part3-checklist,
.ads-part3-booking-list {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.ads-part3-checklist li,
.ads-part3-booking-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
}

.ads-part3-checklist li::before,
.ads-part3-booking-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

/* EXAMINER */

.ads-part3-examiner-grid,
.ads-part3-booking-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-part3-tip-card,
.ads-part3-booking-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.ads-part3-tip-card h3,
.ads-part3-booking-card h3 {
    color: var(--ads-navy);
}

.ads-part3-tip-card p,
.ads-part3-booking-card p {
    color: #686c74;
}

/* OBSERVER */

.ads-part3-observer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-part3-observer-grid article {
    padding: 23px 21px;
    border-left: 4px solid var(--ads-orange);
    border-radius: 9px;
    background: var(--ads-white);
    box-shadow: 0 8px 24px rgba(18,20,26,.05);
}

.ads-part3-observer-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* LEARNING */

.ads-part3-learning-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-part3-learning-grid article {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

/* ROADMAP */

.ads-part3-roadmap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-part3-roadmap-card {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
    color: #686c74;
}

.ads-part3-roadmap-card.is-current {
    border: 2px solid var(--ads-orange);
    background: #fff7f1;
}

.ads-part3-roadmap-card > span {
    display: block;
    margin-bottom: 9px;
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-part3-roadmap-card strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ads-navy);
    font-size: 1.15rem;
}

.ads-part3-roadmap-card p {
    margin-bottom: 0;
}

/* BOOKING */

.ads-part3-booking-list li {
    color: var(--ads-white);
}

/* FAQ */

.ads-part3-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-part3-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-part3-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-part3-faq summary::-webkit-details-marker {
    display: none;
}

.ads-part3-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-part3-faq details[open] summary::after {
    content: "−";
}

.ads-part3-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL */

.ads-part3-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-part3-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-part3-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-part3-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-part3-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-part3-hero-image {
        display: none;
    }

    .ads-part3-learning-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-part3-intro-grid,
    .ads-part3-criteria-grid,
    .ads-part3-examiner-grid,
    .ads-part3-observer-grid,
    .ads-part3-roadmap,
    .ads-part3-booking-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-part3-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-part3-hero {
        min-height: auto;
    }

    .ads-part3-hero-content {
        padding: 36px 0;
    }

    .ads-part3-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-part3-actions,
    .ads-part3-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-part3-btn {
        width: 100%;
    }

    .ads-part3-learning-grid {
        grid-template-columns: 1fr;
    }

    .ads-part3-criteria-card,
    .ads-part3-tip-card,
    .ads-part3-booking-card {
        padding: 24px 20px;
    }
}
/* ==========================================================
   ADI STANDARDS CHECK TRAINING
   Isolated classes: ads-standards-
   ========================================================== */

.ads-standards-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-standards-page *,
.ads-standards-page *::before,
.ads-standards-page *::after {
    box-sizing: border-box;
}

.ads-standards-page h1,
.ads-standards-page h2,
.ads-standards-page h3,
.ads-standards-page p {
    margin-top: 0;
}

.ads-standards-page h1,
.ads-standards-page h2,
.ads-standards-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-standards-page a {
    text-decoration: none;
}

.ads-standards-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-standards-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-standards-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-standards-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-standards-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-standards-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-standards-hero h1 {
    width: fit-content;
    max-width: 780px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-standards-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-standards-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-standards-actions,
.ads-standards-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-standards-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-standards-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-standards-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-standards-hero-image img {
    position: absolute;
    right: -40px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-standards-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-standards-btn:hover {
    transform: translateY(-2px);
}

.ads-standards-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-standards-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-standards-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-standards-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-standards-section-light {
    background: #f5f5f6;
}

.ads-standards-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-standards-heading {
    max-width: 800px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-standards-heading h2,
.ads-standards-intro-grid h2,
.ads-standards-form-grid h2,
.ads-standards-support-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-standards-heading p {
    color: #686c74;
}

.ads-standards-section-dark h2 {
    color: var(--ads-white);
}


.ads-standards-intro-grid,
.ads-standards-form-grid,
.ads-standards-support-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-standards-focus-card,
.ads-standards-booking-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-grey);
    box-shadow: 0 18px 45px rgba(18,20,26,.16);
}

.ads-standards-focus-card h3,
.ads-standards-booking-card h3 {
    color: var(--ads-white);
}

/* GRADES */

.ads-standards-grade-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-standards-grade-card {
    padding: 30px 24px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-navy);
    border-radius: 15px;
    background: var(--ads-white);
    text-align: center;
    box-shadow: 0 10px 30px rgba(18,20,26,.07);
}

.ads-standards-grade-a {
    border-color: var(--ads-orange);
    border-top-width: 5px;
    border-top-color: var(--ads-orange);
}

.ads-standards-grade-fail {
    border-top-color: #777b83;
}

.ads-standards-grade-card span {
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ads-standards-grade-card strong {
    display: block;
    margin: 10px 0;
    color: var(--ads-navy);
    font-size: 2.7rem;
    line-height: 1;
}

.ads-standards-grade-card p {
    margin-bottom: 0;
    color: #686c74;
}

/* CATEGORIES */

.ads-standards-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-standards-category-grid article {
    padding: 27px 23px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.07);
}

.ads-standards-category-grid article > span,
.ads-standards-tip-grid article > span {
    color: var(--ads-orange);
    font-size: 2.2rem;
    font-weight: 950;
}

.ads-standards-category-grid h3 {
    color: var(--ads-white);
}

.ads-standards-category-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

/* FORM IMAGE */

.ads-standards-form-image {
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(18,20,26,.16);
}

.ads-standards-form-image img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: contain;
    background: var(--ads-white);
}

.ads-standards-checklist,
.ads-standards-support-list {
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.ads-standards-checklist li,
.ads-standards-support-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
}

.ads-standards-checklist li::before,
.ads-standards-support-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

/* TIPS */

.ads-standards-tip-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-standards-tip-grid article {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-standards-tip-grid p {
    margin-bottom: 0;
    color: #686c74;
}

/* SUPPORT */

.ads-standards-support-list li {
    color: var(--ads-white);
}

.ads-standards-booking-card {
    background: var(--ads-white);
    color: #686c74;
}

.ads-standards-booking-card h3 {
    color: var(--ads-navy);
}

.ads-standards-phone-link {
    display: block;
    margin-top: 18px;
    color: var(--ads-orange);
    font-weight: 900;
}

/* RESOURCES */

.ads-standards-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads-standards-resource-card {
    padding: 26px 22px;
    border: 1px solid var(--ads-grey);
    border-left: 5px solid var(--ads-orange);
    border-radius: 13px;
    background: var(--ads-white);
    color: #686c74;
}

.ads-standards-resource-card > span {
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-standards-resource-card h3 {
    margin: 10px 0 8px;
}

.ads-standards-resource-card p {
    margin-bottom: 0;
}

/* FAQ */

.ads-standards-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-standards-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-standards-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-standards-faq summary::-webkit-details-marker {
    display: none;
}

.ads-standards-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-standards-faq details[open] summary::after {
    content: "−";
}

.ads-standards-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL */

.ads-standards-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-standards-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-standards-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-standards-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-standards-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-standards-hero-image {
        display: none;
    }

    .ads-standards-tip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-standards-intro-grid,
    .ads-standards-form-grid,
    .ads-standards-support-grid,
    .ads-standards-grade-grid,
    .ads-standards-category-grid,
    .ads-standards-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-standards-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-standards-hero {
        min-height: auto;
    }

    .ads-standards-hero-content {
        padding: 36px 0;
    }

    .ads-standards-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-standards-actions,
    .ads-standards-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-standards-btn {
        width: 100%;
    }

    .ads-standards-tip-grid {
        grid-template-columns: 1fr;
    }

    .ads-standards-focus-card,
    .ads-standards-booking-card {
        padding: 24px 20px;
    }
}
/* ==========================================================
   ADI PART 3 PASSES
   Isolated classes: ads-part3-passes-
   ========================================================== */

.ads-part3-passes-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-part3-passes-page *,
.ads-part3-passes-page *::before,
.ads-part3-passes-page *::after {
    box-sizing: border-box;
}

.ads-part3-passes-page h1,
.ads-part3-passes-page h2,
.ads-part3-passes-page h3,
.ads-part3-passes-page p {
    margin-top: 0;
}

.ads-part3-passes-page h1,
.ads-part3-passes-page h2,
.ads-part3-passes-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-part3-passes-page a {
    text-decoration: none;
}

.ads-part3-passes-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-part3-passes-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-part3-passes-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-part3-passes-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-part3-passes-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-part3-passes-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-part3-passes-hero h1 {
    width: fit-content;
    max-width: 780px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-part3-passes-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-part3-passes-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-part3-passes-actions,
.ads-part3-passes-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-part3-passes-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-part3-passes-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-part3-passes-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-part3-passes-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-part3-passes-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-part3-passes-btn:hover {
    transform: translateY(-2px);
}

.ads-part3-passes-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-part3-passes-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-part3-passes-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-part3-passes-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-part3-passes-section-light {
    background: #f5f5f6;
}

.ads-part3-passes-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-part3-passes-heading {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-part3-passes-heading h2,
.ads-part3-passes-journey-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-part3-passes-heading p {
    color: #686c74;
}

.ads-part3-passes-section-dark h2 {
    color: var(--ads-white);
}

/* PROOF */

.ads-part3-passes-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-part3-passes-proof-grid article {
    padding: 27px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    text-align: center;
}

.ads-part3-passes-proof-grid strong {
    display: block;
    color: var(--ads-orange);
    font-size: 2.4rem;
    line-height: 1;
}

.ads-part3-passes-proof-grid span {
    display: block;
    margin-top: 8px;
    color: var(--ads-navy);
    font-weight: 800;
}

/* GALLERY */

.ads-part3-passes-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ads-part3-passes-card {
    overflow: hidden;
    border: 1px solid #e8eaee;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 10px 30px rgba(18,20,26,.07);
    transition: transform .25s ease, border-color .25s ease;
}

.ads-part3-passes-card:hover {
    border-color: var(--ads-orange);
    transform: translateY(-7px);
}

.ads-part3-passes-image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eceef1;
}

.ads-part3-passes-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ads-part3-passes-image span {
    position: absolute;
    left: 14px;
    bottom: 14px;
    padding: 7px 12px;
    border-radius: 50px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ads-part3-passes-card-copy {
    padding: 20px;
}

.ads-part3-passes-card-copy > p {
    margin-bottom: 6px;
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ads-part3-passes-card-copy h3 {
    margin-bottom: 8px;
    font-size: 1.12rem;
}

.ads-part3-passes-card-copy div {
    color: #686c74;
    font-size: .88rem;
}

/* JOURNEY */

.ads-part3-passes-journey-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-part3-passes-stage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.ads-part3-passes-stage-grid a {
    padding: 24px 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
}

.ads-part3-passes-stage-grid span {
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
}

.ads-part3-passes-stage-grid strong {
    display: block;
    margin: 9px 0 6px;
    color: var(--ads-white);
    font-size: 1.15rem;
}

.ads-part3-passes-stage-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
    font-size: .82rem;
}

/* FAQ */

.ads-part3-passes-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-part3-passes-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-part3-passes-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-part3-passes-faq summary::-webkit-details-marker {
    display: none;
}

.ads-part3-passes-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-part3-passes-faq details[open] summary::after {
    content: "−";
}

.ads-part3-passes-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #686c74;
}

/* FINAL */

.ads-part3-passes-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-part3-passes-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-part3-passes-final p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-part3-passes-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .ads-part3-passes-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ads-part3-passes-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-part3-passes-hero-image {
        display: none;
    }

    .ads-part3-passes-journey-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ads-part3-passes-proof-grid,
    .ads-part3-passes-stage-grid {
        grid-template-columns: 1fr;
    }

    .ads-part3-passes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .ads-part3-passes-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-part3-passes-hero {
        min-height: auto;
    }

    .ads-part3-passes-hero-content {
        padding: 36px 0;
    }

    .ads-part3-passes-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-part3-passes-actions,
    .ads-part3-passes-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-part3-passes-btn {
        width: 100%;
    }

    .ads-part3-passes-grid {
        grid-template-columns: 1fr;
    }
}
 <iframe src="https://payl8r.com/retailers/payment-detail?retailer=marcusand1720fse7cvn" width="100%" height="800" style="border:none;"></iframe>
 
 /* ==========================================================
   DRIVING INSTRUCTOR FRANCHISE
   Isolated classes: ads-franchise-
   ========================================================== */

.ads-franchise-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-franchise-page *,
.ads-franchise-page *::before,
.ads-franchise-page *::after {
    box-sizing: border-box;
}

.ads-franchise-page h1,
.ads-franchise-page h2,
.ads-franchise-page h3,
.ads-franchise-page p {
    margin-top: 0;
}

.ads-franchise-page h1,
.ads-franchise-page h2,
.ads-franchise-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-franchise-page a {
    text-decoration: none;
}

.ads-franchise-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-franchise-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-franchise-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-franchise-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-franchise-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-franchise-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-franchise-hero h1 {
    width: fit-content;
    max-width: 780px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-franchise-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-franchise-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-franchise-actions,
.ads-franchise-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-franchise-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-franchise-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-franchise-hero-image {
    position: relative;
    min-height: 390px;
    align-self: end;
}

.ads-franchise-hero-image img {
    position: absolute;
    right: -45px;
    bottom: 0;
    width: min(118%, 760px);
    max-width: none;
    max-height: 430px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 20px 24px rgba(0,0,0,.32));
}

/* BUTTONS */

.ads-franchise-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-franchise-btn:hover {
    transform: translateY(-2px);
}

.ads-franchise-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-franchise-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-franchise-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-franchise-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-franchise-section-light {
    background: #f5f5f6;
}

.ads-franchise-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-franchise-heading {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-franchise-heading h2,
.ads-franchise-support-grid h2,
.ads-franchise-guarantee-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-franchise-heading p {
    color: #4a4f58;
}

.ads-franchise-section-dark h2 {
    color: var(--ads-white);
}

/* PROOF */

.ads-franchise-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-franchise-proof-grid article {
    padding: 27px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 14px;
    background: var(--ads-white);
    text-align: center;
}

.ads-franchise-proof-grid strong {
    display: block;
    color: var(--ads-orange);
    font-size: 2.3rem;
    line-height: 1;
}

.ads-franchise-proof-grid span {
    display: block;
    margin-top: 8px;
    color: var(--ads-navy);
    font-weight: 800;
}

/* PRICING */

.ads-franchise-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 950px;
    margin: 0 auto;
}

.ads-franchise-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 32px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-navy);
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 12px 35px rgba(18,20,26,.08);
}

.ads-franchise-price-featured {
    border: 3px solid var(--ads-orange);
    box-shadow: 0 18px 45px rgba(243,116,35,.16);
}

.ads-franchise-popular {
    position: absolute;
    top: 0;
    right: 25px;
    padding: 7px 14px;
    border-radius: 0 0 9px 9px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-franchise-price-label {
    color: var(--ads-navy);
    font-size: 1.3rem;
    font-weight: 900;
}

.ads-franchise-price-featured .ads-franchise-price-label {
    color: var(--ads-orange);
}

.ads-franchise-price {
    margin: 12px 0 18px;
    color: var(--ads-navy);
    font-size: 2.8rem;
    font-weight: 950;
    line-height: 1;
}

.ads-franchise-price span {
    font-size: .9rem;
    font-weight: 800;
}

.ads-franchise-checklist,
.ads-franchise-dark-list {
    margin: 23px 0;
    padding: 0;
    list-style: none;
}

.ads-franchise-checklist {
    flex: 1;
}

.ads-franchise-checklist li,
.ads-franchise-dark-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
}

.ads-franchise-checklist li::before,
.ads-franchise-dark-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-franchise-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    margin-top: auto;
    padding: 10px 20px;
    border-radius: 50px;
    background: var(--ads-navy);
    color: var(--ads-white);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-franchise-card-btn-featured,
.ads-franchise-card-btn:hover {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-franchise-policy-note {
    max-width: 800px;
    margin: 22px auto 0;
    color: #4a4f58;
    font-size: .78rem;
    text-align: center;
}

/* SUPPORT */

.ads-franchise-support-grid,
.ads-franchise-guarantee-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-franchise-dark-list li {
    color: var(--ads-white);
}

.ads-franchise-safety-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.ads-franchise-safety-card h3 {
    color: var(--ads-navy);
}

.ads-franchise-safety-card p {
    color: #4a4f58;
}

/* BENEFITS */

.ads-franchise-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads-franchise-benefit-grid article {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-franchise-benefit-grid article > span {
    color: var(--ads-orange);
    font-size: 2.1rem;
    font-weight: 950;
}

.ads-franchise-benefit-grid p {
    margin-bottom: 0;
    color: #4a4f58;
}

/* GUARANTEE */

.ads-franchise-guarantee-badge {
    padding: 38px 25px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 85% 15%, rgba(243,116,35,.25), transparent 32%),
        var(--ads-navy);
    color: var(--ads-white);
    text-align: center;
}

.ads-franchise-guarantee-badge span {
    display: block;
    color: var(--ads-orange);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ads-franchise-guarantee-badge strong {
    display: block;
    margin: 12px 0 4px;
    color: var(--ads-white);
    font-size: clamp(3rem, 7vw, 5.5rem);
    line-height: .95;
}

.ads-franchise-guarantee-badge p {
    margin: 0;
    color: var(--ads-white);
    font-size: 1.4rem;
    font-weight: 900;
    text-transform: uppercase;
}

/* AREAS */

.ads-franchise-area-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

.ads-franchise-area-grid article {
    padding: 24px 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
}

.ads-franchise-area-grid h3 {
    color: var(--ads-white);
}

.ads-franchise-area-grid p {
    margin-bottom: 0;
    color: var(--ads-grey);
}

/* FAQ */

.ads-franchise-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-franchise-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-franchise-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-franchise-faq summary::-webkit-details-marker {
    display: none;
}

.ads-franchise-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-franchise-faq details[open] summary::after {
    content: "−";
}

.ads-franchise-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #4a4f58;
}

/* FINAL */

.ads-franchise-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-franchise-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-franchise-final p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-franchise-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 1050px) {
    .ads-franchise-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ads-franchise-hero-grid {
        grid-template-columns: 1fr;
    }

    .ads-franchise-hero-image {
        display: none;
    }
}

@media (max-width: 760px) {
    .ads-franchise-proof-grid,
    .ads-franchise-price-grid,
    .ads-franchise-support-grid,
    .ads-franchise-benefit-grid,
    .ads-franchise-guarantee-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-franchise-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-franchise-hero {
        min-height: auto;
    }

    .ads-franchise-hero-content {
        padding: 36px 0;
    }

    .ads-franchise-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-franchise-actions,
    .ads-franchise-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-franchise-btn {
        width: 100%;
    }

    .ads-franchise-area-grid {
        grid-template-columns: 1fr;
    }

    .ads-franchise-price-card,
    .ads-franchise-safety-card {
        padding: 25px 20px;
    }
}
.ads-franchise-safety-card p,
.ads-franchise-safety-card li {
    color: #4a4f58;
}

.ads-franchise-safety-card h3 {
    color: var(--ads-navy);
}
.ads-franchise-section-dark .ads-franchise-safety-card p,
.ads-franchise-section-dark .ads-franchise-safety-card li {
    color: #4a4f58;
}
.ads-franchise-section-dark .ads-franchise-heading p {
    color: var(--ads-grey);
}
.ads-franchise-section-dark .ads-franchise-heading p,
.ads-franchise-section-dark .ads-franchise-heading {
    color: var(--ads-grey);
}
/* ==========================================================
   SHARED INSTRUCTOR PROFILE TEMPLATE
   Isolated classes: ads-instructor-profile-
   Reuse this CSS for every instructor profile page.
   ========================================================== */

.ads-instructor-profile-page {
    overflow: hidden;
    color: #32353c;
    line-height: 1.65;
}

.ads-instructor-profile-page *,
.ads-instructor-profile-page *::before,
.ads-instructor-profile-page *::after {
    box-sizing: border-box;
}

.ads-instructor-profile-page h1,
.ads-instructor-profile-page h2,
.ads-instructor-profile-page h3,
.ads-instructor-profile-page p {
    margin-top: 0;
}

.ads-instructor-profile-page h1,
.ads-instructor-profile-page h2,
.ads-instructor-profile-page h3 {
    color: var(--ads-navy);
    line-height: 1.15;
}

.ads-instructor-profile-page a {
    text-decoration: none;
}

.ads-instructor-profile-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-instructor-profile-kicker {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--ads-orange);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.ads-instructor-profile-hero {
    min-height: 390px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-bottom: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 88% 18%, rgba(243,116,35,.18), transparent 25%),
        linear-gradient(135deg, #12141a 0%, #1d2028 62%, #2c3039 100%);
    color: var(--ads-white);
}

.ads-instructor-profile-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 20px;
    align-items: end;
}

.ads-instructor-profile-hero-content {
    position: relative;
    z-index: 2;
    padding: 48px 0;
}

.ads-instructor-profile-hero-label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 9px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: var(--ads-navy);
    box-shadow: 8px 8px 20px rgba(0,0,0,.25);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-1.5deg);
}

.ads-instructor-profile-hero h1 {
    width: fit-content;
    max-width: 690px;
    margin: 0 0 14px;
    padding: 14px 28px;
    border-radius: 4px;
    background: var(--ads-orange);
    box-shadow: 8px 8px 20px rgba(0,0,0,.18);
    color: var(--ads-white);
    font-size: clamp(1.8rem, 3.7vw, 3rem);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-transform: uppercase;
    transform: rotate(1deg);
}

.ads-instructor-profile-hero h1 span {
    display: block;
    color: var(--ads-white);
}

.ads-instructor-profile-hero-content > p {
    max-width: 650px;
    margin: 0;
    color: var(--ads-white);
    text-shadow: 2px 2px 4px rgba(0,0,0,.55);
}

.ads-instructor-profile-actions,
.ads-instructor-profile-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.ads-instructor-profile-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.ads-instructor-profile-pills span {
    padding: 8px 15px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    background: rgba(18,20,26,.82);
    color: var(--ads-white);
    font-size: .75rem;
    font-weight: 800;
}

.ads-instructor-profile-hero-image {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 28px;
}

.ads-instructor-profile-hero-image::before {
    content: "";
    position: absolute;
    right: 40px;
    bottom: 30px;
    width: 360px;
    height: 360px;
    border-radius: 28px;
    background: linear-gradient(145deg, var(--ads-orange), #ff9a52);
    box-shadow: 0 24px 55px rgba(0,0,0,.3);
    transform: rotate(4deg);
}

.ads-instructor-profile-hero-image img {
    position: relative;
    z-index: 2;
    width: 330px;
    height: 330px;
    max-height: none;
    border: 8px solid var(--ads-white);
    border-radius: 24px;
    background: #d4d6d8;
    object-fit: cover;
    object-position: center top;
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
    transform: rotate(-1deg);
}

/* BUTTONS */

.ads-instructor-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 10px 22px;
    border: 2px solid transparent;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads-instructor-profile-btn:hover {
    transform: translateY(-2px);
}

.ads-instructor-profile-btn-primary {
    background: var(--ads-orange);
    color: var(--ads-white);
}

.ads-instructor-profile-btn-light {
    background: var(--ads-white);
    color: var(--ads-navy);
}

.ads-instructor-profile-btn-outline {
    border-color: rgba(255,255,255,.75);
    color: var(--ads-white);
}

/* SECTIONS */

.ads-instructor-profile-section {
    padding: clamp(65px, 8vw, 100px) 0;
}

.ads-instructor-profile-section-light {
    background: #f5f5f6;
}

.ads-instructor-profile-section-dark {
    background:
        radial-gradient(circle at 10% 12%, rgba(243,116,35,.14), transparent 25%),
        var(--ads-navy);
    color: var(--ads-grey);
}

.ads-instructor-profile-heading {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-instructor-profile-heading h2,
.ads-instructor-profile-intro-grid h2,
.ads-instructor-profile-enquiry-grid h2,
.ads-instructor-profile-review-grid h2 {
    margin-bottom: 17px;
    font-size: clamp(2rem, 4vw, 3.1rem);
    letter-spacing: -.035em;
}

.ads-instructor-profile-heading p {
    color: #4a4f58;
}

.ads-instructor-profile-section-dark h2,
.ads-instructor-profile-section-dark h3 {
    color: var(--ads-white);
}

.ads-instructor-profile-section-dark p,
.ads-instructor-profile-section-dark li {
    color: var(--ads-grey);
}


.ads-instructor-profile-intro-grid,
.ads-instructor-profile-review-grid,
.ads-instructor-profile-enquiry-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: clamp(35px, 6vw, 75px);
    align-items: center;
}

.ads-instructor-profile-car-card {
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-navy);
    color: var(--ads-grey);
    box-shadow: 0 18px 45px rgba(18,20,26,.16);
}

.ads-instructor-profile-car-card h3 {
    color: var(--ads-white);
}

.ads-instructor-profile-car-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.ads-instructor-profile-car-tags span {
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50px;
    color: var(--ads-white);
    font-size: .72rem;
    font-weight: 800;
}

/* AREAS */

.ads-instructor-profile-area-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.ads-instructor-profile-area-grid a,
.ads-instructor-profile-area-grid span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 18px;
    border: 1px solid var(--ads-grey);
    border-radius: 50px;
    background: var(--ads-white);
    color: var(--ads-navy);
    font-weight: 850;
}

.ads-instructor-profile-area-grid a:hover {
    border-color: var(--ads-orange);
    color: var(--ads-orange);
}

/* BENEFITS */

.ads-instructor-profile-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-instructor-profile-benefit-grid article {
    padding: 25px 22px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
}

.ads-instructor-profile-benefit-grid article > span {
    color: var(--ads-orange);
    font-size: 2rem;
    font-weight: 950;
}

.ads-instructor-profile-benefit-grid p {
    margin-bottom: 0;
}

/* PRICES */

.ads-instructor-profile-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    max-width: 820px;
    margin: 0 auto;
}

.ads-instructor-profile-price-card {
    padding: 30px;
    border: 1px solid var(--ads-grey);
    border-top: 5px solid var(--ads-orange);
    border-radius: 15px;
    background: var(--ads-white);
    text-align: center;
    box-shadow: 0 10px 30px rgba(18,20,26,.07);
}

.ads-instructor-profile-price-card > span {
    color: var(--ads-navy);
    font-weight: 900;
    text-transform: uppercase;
}

.ads-instructor-profile-price-card strong {
    display: block;
    margin: 10px 0 3px;
    color: var(--ads-orange);
    font-size: 2.8rem;
    line-height: 1;
}

.ads-instructor-profile-price-card p {
    margin-bottom: 15px;
    color: #4a4f58;
}

.ads-instructor-profile-price-card div {
    color: var(--ads-navy);
}

.ads-instructor-profile-price-note {
    max-width: 800px;
    margin: 22px auto 0;
    color: #4a4f58;
    font-size: .8rem;
    text-align: center;
}

/* REVIEW */

.ads-instructor-profile-review-card {
    margin: 0;
    padding: 30px;
    border-left: 5px solid var(--ads-orange);
    border-radius: 14px;
    background: var(--ads-white);
    box-shadow: 0 12px 35px rgba(18,20,26,.08);
}

.ads-instructor-profile-stars {
    margin-bottom: 14px;
    color: var(--ads-orange);
    letter-spacing: .08em;
}

.ads-instructor-profile-review-card > p {
    color: var(--ads-navy);
    font-size: 1.03rem;
    font-style: italic;
    font-weight: 650;
}

.ads-instructor-profile-review-card footer {
    padding-top: 16px;
    border-top: 1px solid var(--ads-grey);
}

.ads-instructor-profile-review-card footer strong,
.ads-instructor-profile-review-card footer span {
    display: block;
}

/* FORM */

.ads-instructor-profile-contact-list {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.ads-instructor-profile-contact-list li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 30px;
}

.ads-instructor-profile-contact-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ads-orange);
    font-weight: 900;
}

.ads-instructor-profile-form-card {
    min-height: 180px;
    padding: 30px;
    border-radius: 15px;
    background: var(--ads-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.ads-instructor-profile-section-dark .ads-instructor-profile-form-card p,
.ads-instructor-profile-section-dark .ads-instructor-profile-form-card li,
.ads-instructor-profile-section-dark .ads-instructor-profile-form-card label {
    color: #32353c;
}

/* LINKS */

.ads-instructor-profile-link-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads-instructor-profile-link-grid a {
    padding: 25px 22px;
    border: 1px solid var(--ads-grey);
    border-left: 5px solid var(--ads-orange);
    border-radius: 13px;
    background: var(--ads-white);
}

.ads-instructor-profile-link-grid a > span {
    color: var(--ads-orange);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-instructor-profile-link-grid h3 {
    margin: 10px 0 8px;
}

.ads-instructor-profile-link-grid p {
    margin-bottom: 0;
    color: #4a4f58;
}

/* FAQ */

.ads-instructor-profile-faq {
    max-width: 900px;
    margin: 0 auto;
}

.ads-instructor-profile-faq details {
    margin-bottom: 12px;
    border: 1px solid var(--ads-grey);
    border-radius: 10px;
    background: var(--ads-white);
}

.ads-instructor-profile-faq summary {
    position: relative;
    padding: 20px 55px 20px 22px;
    color: var(--ads-navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.ads-instructor-profile-faq summary::-webkit-details-marker {
    display: none;
}

.ads-instructor-profile-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--ads-orange);
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.ads-instructor-profile-faq details[open] summary::after {
    content: "−";
}

.ads-instructor-profile-faq details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #4a4f58;
}

/* FINAL */

.ads-instructor-profile-final {
    padding: clamp(70px, 9vw, 110px) 0;
    border-top: 6px solid var(--ads-orange);
    background:
        radial-gradient(circle at 90% 15%, rgba(243,116,35,.17), transparent 25%),
        linear-gradient(135deg, #12141a, #242832);
    color: var(--ads-white);
    text-align: center;
}

.ads-instructor-profile-final h2 {
    margin-bottom: 15px;
    color: var(--ads-white);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.ads-instructor-profile-final p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--ads-grey);
}

.ads-instructor-profile-final-actions {
    justify-content: center;
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .ads-instructor-profile-hero-grid {
        grid-template-columns: 1fr;
        align-items: end;
    }

    .ads-instructor-profile-hero-content {
        padding-bottom: 20px;
    }

    .ads-instructor-profile-hero-image {
        display: flex;
        min-height: 350px;
        width: 100%;
        padding-bottom: 30px;
    }

    .ads-instructor-profile-hero-image::before {
        right: 50%;
        bottom: 34px;
        width: 320px;
        height: 320px;
        transform: translateX(50%) rotate(4deg);
    }

    .ads-instructor-profile-hero-image img {
        width: 295px;
        height: 295px;
        object-position: center top;
        transform: rotate(-1deg);
    }

    .ads-instructor-profile-benefit-grid,
    .ads-instructor-profile-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads-instructor-profile-intro-grid,
    .ads-instructor-profile-review-grid,
    .ads-instructor-profile-enquiry-grid,
    .ads-instructor-profile-price-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads-instructor-profile-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-instructor-profile-hero {
        min-height: auto;
    }

    .ads-instructor-profile-hero-content {
        padding: 36px 0;
    }

    .ads-instructor-profile-hero h1 {
        width: 100%;
        max-width: 100%;
        padding: 13px 14px;
        font-size: clamp(1.5rem, 7vw, 2rem);
        line-height: 1.1;
        transform: rotate(.3deg);
    }

    .ads-instructor-profile-actions,
    .ads-instructor-profile-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-instructor-profile-btn {
        width: 100%;
    }

    .ads-instructor-profile-benefit-grid,
    .ads-instructor-profile-link-grid {
        grid-template-columns: 1fr;
    }

    .ads-instructor-profile-car-card,
    .ads-instructor-profile-form-card,
    .ads-instructor-profile-review-card {
        padding: 24px 20px;
    }

    .ads-instructor-profile-hero-image {
        min-height: 300px;
        padding-bottom: 24px;
    }

    .ads-instructor-profile-hero-image::before {
        bottom: 28px;
        width: 255px;
        height: 255px;
        border-radius: 22px;
    }

    .ads-instructor-profile-hero-image img {
        width: 235px;
        height: 235px;
        border-width: 6px;
        border-radius: 19px;
    }
}
.ads-instructor-profile-hero-image {
    min-height: 250px;
}

.ads-instructor-profile-hero-image img {
    width: min(115%, 430px);
    max-height: 270px;
}
/* ==========================================================
   INSTRUCTOR PROFILE WPFORMS
   ========================================================== */

.ads-instructor-profile-form-card .wpforms-container {
    margin: 0;
}

.ads-instructor-profile-form-card .wpforms-form {
    margin: 0;
}

.ads-instructor-profile-form-card .wpforms-field {
    margin-bottom: 22px;
    padding: 0;
}

.ads-instructor-profile-form-card .wpforms-field-label {
    display: block;
    margin-bottom: 9px;
    color: var(--ads-navy);
    font-size: .9rem;
    font-weight: 900;
}

.ads-instructor-profile-form-card .wpforms-required-label {
    color: var(--ads-orange);
}

.ads-instructor-profile-form-card input[type="text"],
.ads-instructor-profile-form-card input[type="email"],
.ads-instructor-profile-form-card input[type="tel"],
.ads-instructor-profile-form-card input[type="number"],
.ads-instructor-profile-form-card select,
.ads-instructor-profile-form-card textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid #cfd2d8;
    border-radius: 9px;
    background: #f8f8f9;
    color: var(--ads-navy);
    font-size: 1rem;
    box-shadow: none;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.ads-instructor-profile-form-card textarea {
    min-height: 130px;
    resize: vertical;
}

.ads-instructor-profile-form-card input:focus,
.ads-instructor-profile-form-card select:focus,
.ads-instructor-profile-form-card textarea:focus {
    border-color: var(--ads-orange);
    outline: none;
    background: var(--ads-white);
    box-shadow: 0 0 0 3px rgba(243,116,35,.14);
}

.ads-instructor-profile-form-card .wpforms-field-description {
    margin-top: 7px;
    color: #5b6068;
    font-size: .78rem;
}

/* CHECKBOX AND RADIO OPTIONS */

.ads-instructor-profile-form-card .wpforms-field-checkbox ul,
.ads-instructor-profile-form-card .wpforms-field-radio ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.ads-instructor-profile-form-card .wpforms-field-checkbox li,
.ads-instructor-profile-form-card .wpforms-field-radio li {
    margin: 0;
}

.ads-instructor-profile-form-card .wpforms-field-checkbox li label,
.ads-instructor-profile-form-card .wpforms-field-radio li label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #d4d7dc;
    border-radius: 50px;
    background: #f8f8f9;
    color: var(--ads-navy);
    font-size: .88rem;
    font-weight: 750;
    cursor: pointer;
}

.ads-instructor-profile-form-card input[type="checkbox"],
.ads-instructor-profile-form-card input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--ads-orange);
}

/* SUBMIT BUTTON */

.ads-instructor-profile-form-card .wpforms-submit-container {
    margin-top: 6px;
    padding: 0;
}

.ads-instructor-profile-form-card button[type="submit"],
.ads-instructor-profile-form-card .wpforms-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 26px;
    border: 2px solid var(--ads-orange);
    border-radius: 50px;
    background: var(--ads-orange);
    color: var(--ads-white);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    box-shadow: none;
    cursor: pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.ads-instructor-profile-form-card button[type="submit"]:hover,
.ads-instructor-profile-form-card .wpforms-submit:hover {
    border-color: var(--ads-navy);
    background: var(--ads-navy);
    color: var(--ads-white);
    transform: translateY(-2px);
}

/* VALIDATION MESSAGES */

.ads-instructor-profile-form-card .wpforms-error {
    color: #b42318;
    font-size: .78rem;
    font-weight: 700;
}

.ads-instructor-profile-form-card .wpforms-confirmation-container-full {
    margin: 0;
    padding: 18px;
    border: 1px solid #b7dfc1;
    border-left: 5px solid #249144;
    border-radius: 10px;
    background: #eefaf1;
    color: #174d29;
}

/* MOBILE */

@media (max-width: 650px) {
    .ads-instructor-profile-form-card .wpforms-field-checkbox ul,
    .ads-instructor-profile-form-card .wpforms-field-radio ul {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-instructor-profile-form-card .wpforms-field-checkbox li label,
    .ads-instructor-profile-form-card .wpforms-field-radio li label {
        width: 100%;
    }

    .ads-instructor-profile-form-card button[type="submit"],
    .ads-instructor-profile-form-card .wpforms-submit {
        width: 100%;
    }
}
/* ==========================================================
   PASSERS GALLERY 2026
   ========================================================== */

.passers-page-wrapper,
.month-section,
.passers-archive-note {
    --pg-navy: #12141a;
    --pg-orange: #f37423;
    --pg-white: #ffffff;
    --pg-grey: #d7d9df;
    --pg-soft: #f4f5f7;
    --pg-text: #30343b;
    box-sizing: border-box;
}

.passers-page-wrapper *,
.month-section *,
.passers-archive-note * {
    box-sizing: border-box;
}

.passers-page-wrapper {
    width: 100%;
    overflow: hidden;
    background: var(--pg-white);
}

.ads-passer-hub {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.35fr);
    background: var(--pg-navy);
    color: var(--pg-white);
    border-bottom: 5px solid var(--pg-orange);
}

.hub-header,
.hub-content {
    padding: clamp(44px, 6vw, 84px) clamp(24px, 5vw, 72px);
}

.hub-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(145deg, rgba(243,116,35,.98), rgba(225,86,12,.96));
    position: relative;
}

.hub-header::after {
    content: "";
    position: absolute;
    inset: 0 -42px 0 auto;
    width: 84px;
    background: inherit;
    transform: skewX(-7deg);
    transform-origin: bottom;
}

.stat-box,
.average-tracker,
.live-tracker-bar {
    position: relative;
    z-index: 1;
}

.stat-label,
.month-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--pg-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hub-header .stat-label {
    color: var(--pg-navy);
}

.stat-number {
    font-size: clamp(4rem, 8vw, 7.5rem);
    font-weight: 950;
    line-height: .88;
    letter-spacing: -.07em;
    color: var(--pg-white);
}

.stat-desc {
    display: block;
    margin-top: 12px;
    font-size: 1rem;
    font-weight: 850;
    color: var(--pg-navy);
}

.average-tracker {
    max-width: 340px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(18,20,26,.25);
    color: var(--pg-navy);
    font-weight: 750;
    line-height: 1.5;
}

.average-tracker .highlight {
    font-weight: 950;
}

.live-tracker-bar {
    margin-top: 18px;
    color: rgba(18,20,26,.78);
    font-size: .8rem;
    font-weight: 800;
}

.live-tracker-bar .divider {
    margin: 0 8px;
}

.hub-content {
    align-self: center;
    padding-left: clamp(58px, 7vw, 110px);
}

.hub-content h1 {
    max-width: 760px;
    margin: 0 0 24px;
    color: var(--pg-white);
    font-size: clamp(2.6rem, 5.7vw, 5.7rem);
    line-height: .97;
    letter-spacing: -.055em;
}

.hub-content p {
    max-width: 760px;
    margin: 0 0 16px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.75;
}

.passers-intro-extra {
    opacity: .9;
}

.advice-pills-section {
    padding: 50px 24px;
    text-align: center;
    background: var(--pg-soft);
    border-bottom: 1px solid #e5e6e9;
}

.advice-pills-section h2 {
    margin: 0 0 8px;
    color: var(--pg-navy);
    font-size: clamp(2rem, 4vw, 3.25rem);
    letter-spacing: -.035em;
}

.advice-pills-section > p {
    margin: 0 0 24px;
    color: #626872;
}

.advice-pills-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1000px;
    margin: 0 auto;
}

.advice-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid #d3d6dc;
    border-radius: 999px;
    background: var(--pg-white);
    color: var(--pg-navy);
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.advice-pill:hover,
.advice-pill:focus-visible,
.advice-pill[aria-selected="true"] {
    border-color: var(--pg-orange);
    background: var(--pg-orange);
    color: var(--pg-white);
    transform: translateY(-2px);
}

.advice-pill.is-unavailable {
    opacity: .48;
    cursor: not-allowed;
}

.month-section {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(52px, 7vw, 90px) 0;
}

.month-section[hidden] {
    display: none !important;
}

.month-section-header {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

.month-section-header h2,
.passers-archive-note h2 {
    margin: 0 0 12px;
    color: var(--pg-navy);
    font-size: clamp(2rem, 4.7vw, 4rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.month-section-header p,
.gallery-month-intro,
.passers-archive-note p {
    color: #60666f;
    line-height: 1.7;
}

.gallery-month-intro {
    max-width: 980px;
    margin: -10px auto 36px;
    text-align: center;
}

.gallery-month-intro a {
    color: #c95612;
    font-weight: 800;
}

.gallery-pass-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.gallery-pass-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e2e6;
    border-radius: 16px;
    background: var(--pg-white);
    box-shadow: 0 14px 34px rgba(18,20,26,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gallery-pass-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 44px rgba(18,20,26,.14);
}

.gallery-pass-image {
    display: block;
    width: 100%;
    aspect-ratio: 6 / 5;
    object-fit: cover;
    background: #e9eaed;
}

.gallery-pass-card-content {
    padding: 20px 20px 22px;
}

.gallery-pass-card-content h3 {
    margin: 0 0 9px;
    color: var(--pg-navy);
    font-size: 1.12rem;
    line-height: 1.3;
}

.gallery-pass-card-content p {
    margin: 0;
    color: #60666f;
    font-size: .92rem;
    line-height: 1.6;
}

.gallery-pass-card-content a {
    color: #c95612;
    font-weight: 800;
}

.passers-archive-note {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto 80px;
    padding: 34px;
    border: 1px solid #e0e2e6;
    border-left: 6px solid var(--pg-orange);
    border-radius: 14px;
    background: var(--pg-soft);
}

.passers-archive-note h2 {
    font-size: clamp(1.65rem, 3vw, 2.45rem);
}

@media (max-width: 980px) {
    .ads-passer-hub {
        grid-template-columns: 1fr;
    }

    .hub-header::after {
        display: none;
    }

    .hub-header,
    .hub-content {
        padding: 52px 30px;
    }

    .hub-content {
        padding-top: 44px;
    }

    .gallery-pass-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .hub-header,
    .hub-content {
        padding: 42px 20px;
    }

    .hub-content h1 {
        font-size: clamp(2.5rem, 13vw, 4rem);
    }

    .advice-pills-section {
        padding: 38px 16px;
    }

    .advice-pills-container {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advice-pill {
        justify-content: center;
        width: 100%;
        padding-inline: 12px;
    }

    .month-section {
        width: min(100% - 24px, 1220px);
        padding: 46px 0 60px;
    }

    .gallery-pass-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gallery-pass-card-content {
        padding: 18px;
    }

    .passers-archive-note {
        width: calc(100% - 24px);
        margin-bottom: 56px;
        padding: 24px 20px;
    }
}
/* TOYOTA YARIS HYBRID ENGINE DIAGRAM */
.ads2-engine-page {
    --n:#12141a;
    --o:#f37423;
    --w:#fff;
    --s:#f5f6f8;
    --t:#333841;
    width:100%;
    overflow:hidden;
    color:var(--t)
}

.ads2-engine-page*,.ads2-engine-page *:before,.ads2-engine-page *:after {
    box-sizing:border-box
}

.ads2-engine-container {
    width:min(1180px,calc(100% - 40px));
    margin-inline:auto
}

.ads2-engine-hero {
    position:relative;
    padding:clamp(62px,8vw,105px) 0;
    overflow:hidden;
    background:radial-gradient(circle at 92% 15%,rgba(243,116,35,.22),transparent 25%),linear-gradient(135deg,#12141a 0%,#1b1e25 100%);
    color:var(--w);
    border-bottom:5px solid var(--o)
}

.ads2-engine-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    gap:clamp(36px,6vw,82px);
    align-items:center
}

.ads2-engine-kicker {
    display:inline-block;
    margin-bottom:12px;
    color:var(--o);
    font-size:.77rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase
}

.ads2-engine-hero h1,.ads2-engine-section h2,.ads2-engine-test-section h2,.ads2-engine-final-cta h2 {
    margin:0;
    font-weight:900;
    line-height:1.03;
    letter-spacing:-.045em
}

.ads2-engine-hero h1 {
    color:var(--w);
    font-size:clamp(3rem,6vw,6rem)
}

.ads2-engine-hero-copy>p {
    max-width:700px;
    margin:24px 0 0;
    color:rgba(255,255,255,.8);
    font-size:clamp(1rem,1.4vw,1.15rem);
    line-height:1.75
}

.ads2-engine-hero-pills,.ads2-engine-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px
}

.ads2-engine-hero-pills span {
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    font-size:.77rem;
    font-weight:800
}

.ads2-engine-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 20px;
    border:2px solid transparent;
    border-radius:8px;
    font-size:.82rem;
    font-weight:900;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.04em
}

.ads2-engine-btn-primary {
    background:var(--o);
    color:var(--w)
}

.ads2-engine-btn-secondary {
    border-color:rgba(255,255,255,.35);
    color:var(--w)
}

.ads2-engine-hero-card {
    position:relative;
    padding:10px;
    border-radius:20px;
    background:var(--w);
    box-shadow:0 28px 70px rgba(0,0,0,.34);
    transform:rotate(1.5deg)
}

.ads2-engine-hero-card:before {
    content:"";
    position:absolute;
    inset:-12px 18px 18px -12px;
    z-index:-1;
    border-radius:22px;
    background:var(--o);
    transform:rotate(-4deg)
}

.ads2-engine-hero-card img,.ads2-engine-main-figure img {
    display:block;
    width:100%;
    height:auto;
    border-radius:13px
}

.ads2-engine-section {
    padding:clamp(60px,8vw,100px) 0
}

.ads2-engine-two-col {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:clamp(36px,7vw,88px)
}

.ads2-engine-section h2,.ads2-engine-test-section h2,.ads2-engine-final-cta h2 {
    color:var(--n);
    font-size:clamp(2.25rem,4.5vw,4.5rem)
}

.ads2-engine-section p,.ads2-engine-test-section p,.ads2-engine-final-cta p {
    line-height:1.75
}

.ads2-engine-overview-card {
    padding:30px;
    border:1px solid #e0e2e6;
    border-top:5px solid var(--o);
    border-radius:15px;
    background:var(--s);
    box-shadow:0 16px 40px rgba(18,20,26,.08)
}

.ads2-engine-overview-card h3 {
    margin:0 0 18px;
    color:var(--n)
}

.ads2-engine-overview-card ul {
    margin:0;
    padding:0;
    list-style:none
}

.ads2-engine-overview-card li {
    padding:10px 0;
    border-bottom:1px solid #dddfe4
}

.ads2-engine-diagram-section,.ads2-engine-faq-section {
    background:var(--s)
}

.ads2-engine-section-heading {
    max-width:780px;
    margin:0 auto 40px;
    text-align:center
}

.ads2-engine-main-figure {
    max-width:1000px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid #dfe1e5;
    border-radius:18px;
    background:var(--w);
    box-shadow:0 22px 55px rgba(18,20,26,.12)
}

.ads2-engine-main-figure figcaption {
    padding:16px 20px;
    color:#666c75;
    font-size:.88rem;
    text-align:center
}

.ads2-engine-card-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px
}

.ads2-engine-component-card {
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    overflow:hidden;
    border:1px solid #e0e2e6;
    border-radius:16px;
    background:var(--w);
    box-shadow:0 16px 38px rgba(18,20,26,.08)
}

.ads2-engine-component-card>img {
    width:100%;
    height:100%;
    min-height:280px;
    object-fit:cover
}

.ads2-engine-component-content {
    padding:28px 26px
}

.ads2-engine-number {
    display:inline-block;
    margin-bottom:12px;
    color:var(--o);
    font-size:.77rem;
    font-weight:950;
    letter-spacing:.15em
}

.ads2-engine-component-content h3 {
    margin:0 0 15px;
    color:var(--n);
    font-size:1.45rem
}

.ads2-engine-component-content p {
    margin:0 0 12px;
    font-size:.93rem
}

.ads2-engine-test-answer,.ads2-engine-warning,.ads2-engine-hybrid-warning {
    margin-top:16px;
    padding:15px 17px;
    border-left:4px solid var(--o);
    border-radius:7px;
    background:#fff4ec;
    font-size:.9rem;
    line-height:1.6
}

.ads2-engine-test-section {
    padding:58px 0;
    background:var(--n);
    color:var(--w)
}

.ads2-engine-test-grid,.ads2-engine-final-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:35px;
    align-items:center
}

.ads2-engine-test-section h2 {
    color:var(--w)
}

.ads2-engine-test-section p {
    color:rgba(255,255,255,.78)
}

.ads2-engine-faq-list {
    max-width:900px;
    margin:0 auto
}

.ads2-engine-faq-list details {
    margin-bottom:12px;
    border:1px solid #dde0e5;
    border-radius:10px;
    background:var(--w)
}

.ads2-engine-faq-list summary {
    position:relative;
    padding:20px 56px 20px 22px;
    color:var(--n);
    font-weight:850;
    cursor:pointer;
    list-style:none
}

.ads2-engine-faq-list summary:after {
    content:"+";
    position:absolute;
    right:22px;
    color:var(--o);
    font-size:1.6rem
}

.ads2-engine-faq-list details[open] summary:after {
    content:"−"
}

.ads2-engine-faq-list details>div {
    padding:0 22px 20px;
    color:#5c626c
}

.ads2-engine-link-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
}

.ads2-engine-link-grid a {
    display:flex;
    min-height:76px;
    align-items:center;
    padding:18px;
    border:1px solid #dfe1e5;
    border-radius:10px;
    background:var(--s);
    color:var(--n);
    font-weight:850;
    text-decoration:none
}

.ads2-engine-link-grid a:hover,.ads2-engine-link-grid a[aria-current=page] {
    border-color:var(--o);
    background:#fff4ec
}

.ads2-engine-final-cta {
    padding:clamp(58px,7vw,88px) 0;
    background:linear-gradient(135deg,rgba(243,116,35,.98),rgba(226,89,13,.98));
    color:var(--n)
}

.ads2-engine-final-cta .ads2-engine-kicker {
    color:var(--n)
}

.ads2-engine-final-cta .ads2-engine-btn-primary {
    background:var(--n)
}

.ads2-engine-final-cta .ads2-engine-btn-secondary {
    border-color:rgba(18,20,26,.35);
    color:var(--n)
}

@media (max-width:980px) {
    .ads2-engine-hero-grid,.ads2-engine-two-col,.ads2-engine-test-grid,.ads2-engine-final-grid {
        grid-template-columns:1fr
    }
    .ads2-engine-card-grid {
        grid-template-columns:1fr
    }
    .ads2-engine-link-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media (max-width:650px) {
    .ads2-engine-container {
        width:min(100% - 24px,1180px)
    }
    .ads2-engine-hero {
        padding:54px 0 62px
    }
    .ads2-engine-hero h1 {
        font-size:clamp(2.7rem,14vw,4rem)
    }
    .ads2-engine-actions {
        display:grid;
        grid-template-columns:1fr
    }
    .ads2-engine-btn {
        width:100%
    }
    .ads2-engine-hero-card {
        transform:none
    }
    .ads2-engine-component-card {
        grid-template-columns:1fr
    }
    .ads2-engine-component-card>img {
        height:240px;
        min-height:0
    }
    .ads2-engine-link-grid {
        grid-template-columns:1fr
    }
    .ads2-engine-section {
        padding:54px 0
    }
}

/* Smaller engine page hero */
.ads2-engine-hero {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
}

.ads2-engine-hero h1 {
    font-size: clamp(2.6rem, 5vw, 4.7rem) !important;
}

@media (max-width: 650px) {
    .ads2-engine-hero {
        padding-top: 36px !important;
        padding-bottom: 40px !important;
    }

    .ads2-engine-hero h1 {
        font-size: clamp(2.5rem, 12vw, 3.7rem) !important;
    }
}
/* Fix engine safety and test sections */
.ads2-engine-test-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr) !important;
    align-items: center;
    gap: 48px;
}

.ads2-engine-test-grid > div {
    min-width: 0;
}

.ads2-engine-test-grid h2 {
    max-width: 720px;
    margin-bottom: 18px;
}

.ads2-engine-test-grid .ads2-engine-warning {
    width: 100%;
    color: #12141a;
    line-height: 1.6;
}

.ads2-engine-test-grid .ads2-engine-warning strong {
    color: #12141a;
}

@media (max-width: 800px) {
    .ads2-engine-test-grid {
        grid-template-columns: 1fr !important;
        gap: 28px;
    }
}
/* =========================================================
   Cockpit Drill DSSSM page
   ========================================================= */

.ads2-cockpit-page {
    --ads2-cockpit-navy: #12141a;
    --ads2-cockpit-orange: #f37423;
    --ads2-cockpit-white: #ffffff;
    --ads2-cockpit-grey: #d7d9df;
    --ads2-cockpit-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-cockpit-navy);
}

.ads2-cockpit-page *,
.ads2-cockpit-page *::before,
.ads2-cockpit-page *::after {
    box-sizing: border-box;
}

.ads2-cockpit-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-cockpit-page h1,
.ads2-cockpit-page h2,
.ads2-cockpit-page h3,
.ads2-cockpit-page h4,
.ads2-cockpit-page p {
    margin-top: 0;
}

.ads2-cockpit-page p,
.ads2-cockpit-page li {
    line-height: 1.7;
}

.ads2-cockpit-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-cockpit-navy);
    color: var(--ads2-cockpit-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-cockpit-kicker::first-line {
    transform: skewX(8deg);
}

/* Hero */

.ads2-cockpit-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 85% 18%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-cockpit-white);
    border-bottom: 6px solid var(--ads2-cockpit-orange);
}

.ads2-cockpit-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-cockpit-hero h1 {
    max-width: 820px;
    margin-bottom: 20px;
    color: var(--ads2-cockpit-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-cockpit-hero-copy > p {
    max-width: 720px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-cockpit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-cockpit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-cockpit-btn:hover {
    transform: translateY(-2px);
}

.ads2-cockpit-btn-primary {
    background: var(--ads2-cockpit-orange);
    color: var(--ads2-cockpit-navy);
}

.ads2-cockpit-btn-secondary {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-cockpit-white);
}

.ads2-cockpit-btn-secondary:hover {
    background: var(--ads2-cockpit-white);
    color: var(--ads2-cockpit-navy);
}

.ads2-cockpit-summary-card {
    padding: 34px;
    background: var(--ads2-cockpit-white);
    color: var(--ads2-cockpit-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-cockpit-summary-icon {
    display: inline-grid;
    place-items: center;
    min-width: 94px;
    min-height: 50px;
    margin-bottom: 20px;
    padding: 10px 14px;
    background: var(--ads2-cockpit-orange);
    border-radius: 14px;
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-cockpit-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.ads2-cockpit-summary-card p {
    margin-bottom: 18px;
}

.ads2-cockpit-summary-card a {
    color: var(--ads2-cockpit-orange);
    font-weight: 800;
}

/* Intro */

.ads2-cockpit-intro {
    padding: 72px 0;
    background: var(--ads2-cockpit-white);
}

.ads2-cockpit-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    gap: 56px;
    align-items: center;
}

.ads2-cockpit-intro h2,
.ads2-cockpit-section-heading h2,
.ads2-cockpit-recap h2,
.ads2-cockpit-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.ads2-cockpit-letter-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.ads2-cockpit-letter-strip div {
    min-width: 0;
    padding: 22px 10px;
    background: var(--ads2-cockpit-soft);
    border: 1px solid #e4e6eb;
    border-radius: 16px;
    text-align: center;
}

.ads2-cockpit-letter-strip strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ads2-cockpit-orange);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1;
}

.ads2-cockpit-letter-strip span {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Steps */

.ads2-cockpit-steps {
    padding: 78px 0;
    background: var(--ads2-cockpit-soft);
}

.ads2-cockpit-section-heading {
    max-width: 760px;
    margin-bottom: 38px;
}

.ads2-cockpit-step-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-cockpit-step-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 22px;
    padding: 30px;
    background: var(--ads2-cockpit-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-cockpit-step-card-wide {
    grid-column: 1 / -1;
}

.ads2-cockpit-step-letter {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    background: var(--ads2-cockpit-orange);
    border-radius: 18px;
    color: var(--ads2-cockpit-navy);
    font-size: 2rem;
    font-weight: 900;
}

.ads2-cockpit-step-card h3 {
    margin-bottom: 10px;
    font-size: 1.65rem;
}

.ads2-cockpit-step-card ul {
    margin: 14px 0 0;
    padding-left: 20px;
}

.ads2-cockpit-step-card li + li {
    margin-top: 7px;
}

.ads2-cockpit-mirror-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.ads2-cockpit-mirror-grid > div {
    padding: 20px;
    background: var(--ads2-cockpit-soft);
    border-radius: 16px;
}

.ads2-cockpit-mirror-grid h4 {
    margin-bottom: 8px;
    color: var(--ads2-cockpit-orange);
    font-size: 1.12rem;
}

/* Recap */

.ads2-cockpit-recap {
    padding: 70px 0;
    background: var(--ads2-cockpit-white);
}

.ads2-cockpit-recap-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 44px;
    align-items: center;
}

.ads2-cockpit-download-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 26px;
    background: var(--ads2-cockpit-navy);
    border-radius: 20px;
    color: var(--ads2-cockpit-white);
    text-decoration: none;
}

.ads2-cockpit-download-card > span {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    background: var(--ads2-cockpit-orange);
    border-radius: 16px;
    color: var(--ads2-cockpit-navy);
    font-weight: 900;
}

.ads2-cockpit-download-card strong,
.ads2-cockpit-download-card small {
    display: block;
}

.ads2-cockpit-download-card strong {
    margin-bottom: 4px;
}

.ads2-cockpit-download-card small {
    color: rgba(255, 255, 255, 0.7);
}

/* Final CTA */

.ads2-cockpit-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-cockpit-white);
    border-top: 6px solid var(--ads2-cockpit-orange);
}

.ads2-cockpit-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-cockpit-final h2 {
    color: var(--ads2-cockpit-white);
}

.ads2-cockpit-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 900px) {
    .ads2-cockpit-hero-grid,
    .ads2-cockpit-intro-grid,
    .ads2-cockpit-recap-grid,
    .ads2-cockpit-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-cockpit-step-grid {
        grid-template-columns: 1fr;
    }

    .ads2-cockpit-step-card-wide {
        grid-column: auto;
    }

    .ads2-cockpit-final-grid .ads2-cockpit-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {
    .ads2-cockpit-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-cockpit-hero {
        padding: 42px 0 46px;
    }

    .ads2-cockpit-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-cockpit-intro,
    .ads2-cockpit-steps,
    .ads2-cockpit-recap,
    .ads2-cockpit-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-cockpit-letter-strip {
        grid-template-columns: repeat(5, minmax(56px, 1fr));
        gap: 6px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ads2-cockpit-letter-strip div {
        padding: 18px 6px;
    }

    .ads2-cockpit-letter-strip span {
        font-size: 0.66rem;
    }

    .ads2-cockpit-step-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ads2-cockpit-mirror-grid {
        grid-template-columns: 1fr;
    }

    .ads2-cockpit-actions {
        flex-direction: column;
    }

    .ads2-cockpit-btn {
        width: 100%;
    }

    .ads2-cockpit-summary-card {
        padding: 26px;
    }
}
/* Keep PDF button text visible in every state */
.ads2-cockpit-hero .ads2-cockpit-btn-secondary,
.ads2-cockpit-hero .ads2-cockpit-btn-secondary:link,
.ads2-cockpit-hero .ads2-cockpit-btn-secondary:visited {
    color: #ffffff !important;
}

.ads2-cockpit-hero .ads2-cockpit-btn-secondary:hover,
.ads2-cockpit-hero .ads2-cockpit-btn-secondary:focus,
.ads2-cockpit-hero .ads2-cockpit-btn-secondary:active {
    background: #ffffff;
    color: #12141a !important;
}
/* Cockpit Drill FAQs */
.ads2-cockpit-faq {
    padding: 76px 0;
    background: #f5f6f8;
}

.ads2-cockpit-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-cockpit-faq-list details {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e1e4e8;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(18, 20, 26, 0.05);
}

.ads2-cockpit-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: #12141a;
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-cockpit-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-cockpit-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: #f37423;
    font-size: 1.7rem;
    font-weight: 700;
    transform: translateY(-50%);
}

.ads2-cockpit-faq-list details[open] summary::after {
    content: "−";
}

.ads2-cockpit-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-cockpit-faq-list details p {
    margin-bottom: 0;
}
/* =========================================================
   Moving Off & Stopping page
   ========================================================= */

.ads2-moving-page {
    --ads2-moving-navy: #12141a;
    --ads2-moving-orange: #f37423;
    --ads2-moving-white: #ffffff;
    --ads2-moving-grey: #d7d9df;
    --ads2-moving-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-moving-navy);
}

.ads2-moving-page *,
.ads2-moving-page *::before,
.ads2-moving-page *::after {
    box-sizing: border-box;
}

.ads2-moving-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-moving-page h1,
.ads2-moving-page h2,
.ads2-moving-page h3,
.ads2-moving-page p {
    margin-top: 0;
}

.ads2-moving-page p,
.ads2-moving-page li {
    line-height: 1.7;
}

.ads2-moving-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-moving-navy);
    color: var(--ads2-moving-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-moving-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-moving-section-heading h2,
.ads2-moving-intro h2,
.ads2-moving-pro-tip h2,
.ads2-moving-recap h2,
.ads2-moving-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-moving-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-moving-white);
    border-bottom: 6px solid var(--ads2-moving-orange);
}

.ads2-moving-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-moving-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-moving-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-moving-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-moving-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-moving-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-moving-btn:hover {
    transform: translateY(-2px);
}

.ads2-moving-btn-primary {
    background: var(--ads2-moving-orange);
    color: var(--ads2-moving-navy);
}

.ads2-moving-btn-secondary,
.ads2-moving-btn-secondary:link,
.ads2-moving-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-moving-white) !important;
}

.ads2-moving-btn-secondary:hover,
.ads2-moving-btn-secondary:focus,
.ads2-moving-btn-secondary:active {
    background: var(--ads2-moving-white);
    color: var(--ads2-moving-navy) !important;
}

.ads2-moving-summary-card {
    padding: 34px;
    background: var(--ads2-moving-white);
    color: var(--ads2-moving-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-moving-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 88px;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-moving-orange);
    border-radius: 14px;
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-moving-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.ads2-moving-summary-card p {
    margin-bottom: 18px;
}

.ads2-moving-summary-card a {
    color: var(--ads2-moving-orange);
    font-weight: 800;
}

/* Intro */

.ads2-moving-intro {
    padding: 72px 0;
    background: var(--ads2-moving-white);
}

.ads2-moving-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.85fr);
    gap: 58px;
    align-items: center;
}

.ads2-moving-letter-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.ads2-moving-letter-strip div {
    padding: 28px 12px;
    background: var(--ads2-moving-soft);
    border: 1px solid #e4e6eb;
    border-radius: 18px;
    text-align: center;
}

.ads2-moving-letter-strip strong {
    display: block;
    margin-bottom: 10px;
    color: var(--ads2-moving-orange);
    font-size: clamp(2.8rem, 6vw, 4.5rem);
    line-height: 1;
}

.ads2-moving-letter-strip span {
    display: block;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* POM */

.ads2-moving-pom {
    padding: 78px 0;
    background: var(--ads2-moving-soft);
}

.ads2-moving-step-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-moving-step-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 22px;
    padding: 30px;
    background: var(--ads2-moving-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-moving-step-card-wide {
    grid-column: 1 / -1;
}

.ads2-moving-step-letter {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    background: var(--ads2-moving-orange);
    border-radius: 18px;
    font-size: 2rem;
    font-weight: 900;
}

.ads2-moving-step-card h3 {
    margin-bottom: 10px;
    font-size: 1.65rem;
}

.ads2-moving-step-card ol {
    margin: 14px 0 0;
    padding-left: 22px;
}

.ads2-moving-step-card li + li {
    margin-top: 7px;
}

.ads2-moving-tip {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    max-width: 900px;
    margin-top: 28px;
    padding: 24px;
    background: #fff7ed;
    border-left: 5px solid var(--ads2-moving-orange);
    border-radius: 16px;
}

.ads2-moving-tip > span {
    font-size: 1.7rem;
}

.ads2-moving-tip strong {
    display: block;
    margin-bottom: 6px;
    font-size: 1.05rem;
}

.ads2-moving-tip p {
    margin-bottom: 0;
}

/* Stopping */

.ads2-moving-stopping {
    padding: 78px 0;
    background: var(--ads2-moving-white);
}

.ads2-moving-stop-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-moving-stop-grid article {
    padding: 26px;
    background: var(--ads2-moving-navy);
    border-radius: 20px;
    color: var(--ads2-moving-white);
}

.ads2-moving-stop-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-moving-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-moving-stop-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-moving-white);
    font-size: 1.35rem;
}

.ads2-moving-stop-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

.ads2-moving-pro-tip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
    gap: 42px;
    align-items: center;
    margin-top: 52px;
    padding: 38px;
    background: var(--ads2-moving-soft);
    border-radius: 24px;
}

.ads2-moving-pro-tip p {
    margin-bottom: 0;
}

.ads2-moving-finish-card {
    padding: 28px;
    background: var(--ads2-moving-orange);
    border-radius: 18px;
}

.ads2-moving-finish-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-moving-finish-card p {
    font-weight: 800;
}

/* Recap */

.ads2-moving-recap {
    padding: 70px 0;
    background: var(--ads2-moving-soft);
}

.ads2-moving-recap-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 44px;
    align-items: center;
}

.ads2-moving-download-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 26px;
    background: var(--ads2-moving-navy);
    border-radius: 20px;
    color: var(--ads2-moving-white) !important;
    text-decoration: none;
}

.ads2-moving-download-card > span {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    background: var(--ads2-moving-orange);
    border-radius: 16px;
    color: var(--ads2-moving-navy);
    font-weight: 900;
}

.ads2-moving-download-card strong,
.ads2-moving-download-card small {
    display: block;
}

.ads2-moving-download-card strong {
    margin-bottom: 4px;
}

.ads2-moving-download-card small {
    color: rgba(255, 255, 255, 0.7);
}

/* FAQs */

.ads2-moving-faq {
    padding: 76px 0;
    background: var(--ads2-moving-white);
}

.ads2-moving-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-moving-faq-list details {
    overflow: hidden;
    background: var(--ads2-moving-soft);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-moving-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-moving-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-moving-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-moving-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-moving-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-moving-faq-list details[open] summary::after {
    content: "−";
}

.ads2-moving-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-moving-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-moving-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-moving-white);
    border-top: 6px solid var(--ads2-moving-orange);
}

.ads2-moving-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-moving-final h2 {
    color: var(--ads2-moving-white);
}

.ads2-moving-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 950px) {
    .ads2-moving-hero-grid,
    .ads2-moving-intro-grid,
    .ads2-moving-recap-grid,
    .ads2-moving-final-grid,
    .ads2-moving-pro-tip {
        grid-template-columns: 1fr;
    }

    .ads2-moving-stop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads2-moving-step-grid {
        grid-template-columns: 1fr;
    }

    .ads2-moving-step-card-wide {
        grid-column: auto;
    }
}

@media (max-width: 650px) {
    .ads2-moving-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-moving-hero {
        padding: 42px 0 46px;
    }

    .ads2-moving-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-moving-intro,
    .ads2-moving-pom,
    .ads2-moving-stopping,
    .ads2-moving-recap,
    .ads2-moving-faq,
    .ads2-moving-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-moving-step-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ads2-moving-stop-grid {
        grid-template-columns: 1fr;
    }

    .ads2-moving-tip {
        grid-template-columns: 1fr;
    }

    .ads2-moving-actions {
        flex-direction: column;
    }

    .ads2-moving-btn {
        width: 100%;
    }

    .ads2-moving-summary-card,
    .ads2-moving-pro-tip {
        padding: 26px;
    }
}
/* =========================================================
   How to Use Your Mirrors page
   ========================================================= */

.ads2-mirrors-page {
    --ads2-mirrors-navy: #12141a;
    --ads2-mirrors-orange: #f37423;
    --ads2-mirrors-white: #ffffff;
    --ads2-mirrors-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-mirrors-navy);
}

.ads2-mirrors-page *,
.ads2-mirrors-page *::before,
.ads2-mirrors-page *::after {
    box-sizing: border-box;
}

.ads2-mirrors-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-mirrors-page h1,
.ads2-mirrors-page h2,
.ads2-mirrors-page h3,
.ads2-mirrors-page p {
    margin-top: 0;
}

.ads2-mirrors-page p,
.ads2-mirrors-page li {
    line-height: 1.7;
}

.ads2-mirrors-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-mirrors-navy);
    color: var(--ads2-mirrors-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-mirrors-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-mirrors-section-heading h2,
.ads2-mirrors-intro h2,
.ads2-mirrors-warning h2,
.ads2-mirrors-dutch h2,
.ads2-mirrors-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-mirrors-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-mirrors-white);
    border-bottom: 6px solid var(--ads2-mirrors-orange);
}

.ads2-mirrors-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-mirrors-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-mirrors-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-mirrors-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-mirrors-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-mirrors-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-mirrors-btn:hover {
    transform: translateY(-2px);
}

.ads2-mirrors-btn-primary {
    background: var(--ads2-mirrors-orange);
    color: var(--ads2-mirrors-navy);
}

.ads2-mirrors-btn-secondary,
.ads2-mirrors-btn-secondary:link,
.ads2-mirrors-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-mirrors-white) !important;
}

.ads2-mirrors-btn-secondary:hover,
.ads2-mirrors-btn-secondary:focus,
.ads2-mirrors-btn-secondary:active {
    background: var(--ads2-mirrors-white);
    color: var(--ads2-mirrors-navy) !important;
}

.ads2-mirrors-summary-card {
    padding: 34px;
    background: var(--ads2-mirrors-white);
    color: var(--ads2-mirrors-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-mirrors-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 88px;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-mirrors-orange);
    border-radius: 14px;
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-mirrors-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Intro */

.ads2-mirrors-intro {
    padding: 72px 0;
    background: var(--ads2-mirrors-white);
}

.ads2-mirrors-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.85fr);
    gap: 58px;
    align-items: center;
}

.ads2-mirrors-letter-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.ads2-mirrors-letter-strip div {
    padding: 28px 12px;
    background: var(--ads2-mirrors-soft);
    border: 1px solid #e4e6eb;
    border-radius: 18px;
    text-align: center;
}

.ads2-mirrors-letter-strip strong {
    display: block;
    margin-bottom: 10px;
    color: var(--ads2-mirrors-orange);
    font-size: clamp(2.8rem, 6vw, 4.5rem);
    line-height: 1;
}

.ads2-mirrors-letter-strip span {
    display: block;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Mirror cards */

.ads2-mirrors-types {
    padding: 78px 0;
    background: var(--ads2-mirrors-soft);
}

.ads2-mirrors-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-mirrors-card {
    padding: 30px;
    background: var(--ads2-mirrors-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-mirrors-card-number {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-mirrors-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-mirrors-card h3 {
    margin-bottom: 12px;
    font-size: 1.65rem;
}

.ads2-mirrors-card ul {
    margin: 16px 0 0;
    padding-left: 21px;
}

.ads2-mirrors-card li + li {
    margin-top: 7px;
}

.ads2-mirrors-warning {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    margin-top: 32px;
    padding: 34px;
    background: #fff7ed;
    border-left: 6px solid var(--ads2-mirrors-orange);
    border-radius: 22px;
}

.ads2-mirrors-warning-icon {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    background: var(--ads2-mirrors-orange);
    border-radius: 50%;
    font-size: 2.3rem;
    font-weight: 900;
}

.ads2-mirrors-warning p {
    margin-bottom: 0;
}

/* Check grid */

.ads2-mirrors-checks {
    padding: 78px 0;
    background: var(--ads2-mirrors-white);
}

.ads2-mirrors-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-mirrors-check-grid article {
    padding: 26px;
    background: var(--ads2-mirrors-navy);
    border-radius: 20px;
    color: var(--ads2-mirrors-white);
}

.ads2-mirrors-check-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-mirrors-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-mirrors-check-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-mirrors-white);
    font-size: 1.3rem;
}

.ads2-mirrors-check-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Dutch Reach */

.ads2-mirrors-dutch {
    padding: 70px 0;
    background: var(--ads2-mirrors-soft);
}

.ads2-mirrors-dutch-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
    gap: 44px;
    align-items: center;
}

.ads2-mirrors-tip-card {
    padding: 28px;
    background: var(--ads2-mirrors-orange);
    border-radius: 18px;
}

.ads2-mirrors-tip-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-mirrors-tip-card p {
    margin-bottom: 0;
    font-weight: 800;
}

/* FAQs */

.ads2-mirrors-faq {
    padding: 76px 0;
    background: var(--ads2-mirrors-white);
}

.ads2-mirrors-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-mirrors-faq-list details {
    overflow: hidden;
    background: var(--ads2-mirrors-soft);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-mirrors-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-mirrors-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-mirrors-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-mirrors-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-mirrors-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-mirrors-faq-list details[open] summary::after {
    content: "−";
}

.ads2-mirrors-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-mirrors-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-mirrors-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-mirrors-white);
    border-top: 6px solid var(--ads2-mirrors-orange);
}

.ads2-mirrors-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-mirrors-final h2 {
    color: var(--ads2-mirrors-white);
}

.ads2-mirrors-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 950px) {
    .ads2-mirrors-hero-grid,
    .ads2-mirrors-intro-grid,
    .ads2-mirrors-dutch-grid,
    .ads2-mirrors-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-mirrors-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .ads2-mirrors-card-grid,
    .ads2-mirrors-check-grid {
        grid-template-columns: 1fr;
    }

    .ads2-mirrors-warning {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-mirrors-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-mirrors-hero {
        padding: 42px 0 46px;
    }

    .ads2-mirrors-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-mirrors-intro,
    .ads2-mirrors-types,
    .ads2-mirrors-checks,
    .ads2-mirrors-dutch,
    .ads2-mirrors-faq,
    .ads2-mirrors-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-mirrors-actions {
        flex-direction: column;
    }

    .ads2-mirrors-btn {
        width: 100%;
    }

    .ads2-mirrors-summary-card,
    .ads2-mirrors-warning {
        padding: 26px;
    }
}
/* =========================================================
   How to Adjust Your Mirrors page
   ========================================================= */

.ads2-adjust-mirrors-page {
    --ads2-adjust-navy: #12141a;
    --ads2-adjust-orange: #f37423;
    --ads2-adjust-white: #ffffff;
    --ads2-adjust-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-adjust-navy);
}

.ads2-adjust-mirrors-page *,
.ads2-adjust-mirrors-page *::before,
.ads2-adjust-mirrors-page *::after {
    box-sizing: border-box;
}

.ads2-adjust-mirrors-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-adjust-mirrors-page h1,
.ads2-adjust-mirrors-page h2,
.ads2-adjust-mirrors-page h3,
.ads2-adjust-mirrors-page p {
    margin-top: 0;
}

.ads2-adjust-mirrors-page p,
.ads2-adjust-mirrors-page li {
    line-height: 1.7;
}

.ads2-adjust-mirrors-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-adjust-navy);
    color: var(--ads2-adjust-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-adjust-mirrors-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-adjust-mirrors-section-heading h2,
.ads2-adjust-mirrors-seat h2,
.ads2-adjust-mirrors-horizon h2,
.ads2-adjust-mirrors-download h2,
.ads2-adjust-mirrors-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-adjust-mirrors-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-adjust-white);
    border-bottom: 6px solid var(--ads2-adjust-orange);
}

.ads2-adjust-mirrors-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-adjust-mirrors-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-adjust-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-adjust-mirrors-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-adjust-mirrors-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-adjust-mirrors-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-adjust-mirrors-btn:hover {
    transform: translateY(-2px);
}

.ads2-adjust-mirrors-btn-primary {
    background: var(--ads2-adjust-orange);
    color: var(--ads2-adjust-navy);
}

.ads2-adjust-mirrors-btn-secondary,
.ads2-adjust-mirrors-btn-secondary:link,
.ads2-adjust-mirrors-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-adjust-white) !important;
}

.ads2-adjust-mirrors-btn-secondary:hover,
.ads2-adjust-mirrors-btn-secondary:focus,
.ads2-adjust-mirrors-btn-secondary:active {
    background: var(--ads2-adjust-white);
    color: var(--ads2-adjust-navy) !important;
}

.ads2-adjust-mirrors-summary-card {
    padding: 34px;
    background: var(--ads2-adjust-white);
    color: var(--ads2-adjust-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-adjust-mirrors-summary-badge {
    display: inline-grid;
    place-items: center;
    min-height: 52px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-adjust-orange);
    border-radius: 14px;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.ads2-adjust-mirrors-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Seat first */

.ads2-adjust-mirrors-seat {
    padding: 72px 0;
    background: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-seat-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
    gap: 48px;
    align-items: center;
}

.ads2-adjust-mirrors-warning-card {
    padding: 28px;
    background: var(--ads2-adjust-orange);
    border-radius: 18px;
}

.ads2-adjust-mirrors-warning-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-adjust-mirrors-warning-card p {
    margin-bottom: 0;
    font-weight: 800;
}

/* Steps */

.ads2-adjust-mirrors-steps {
    padding: 78px 0;
    background: var(--ads2-adjust-soft);
}

.ads2-adjust-mirrors-step-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-adjust-mirrors-step-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 22px;
    padding: 30px;
    background: var(--ads2-adjust-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-adjust-mirrors-step-number {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    background: var(--ads2-adjust-orange);
    border-radius: 18px;
    font-weight: 900;
}

.ads2-adjust-mirrors-step-card h3 {
    margin-bottom: 12px;
    font-size: 1.65rem;
}

.ads2-adjust-mirrors-step-card ul {
    margin: 16px 0 0;
    padding-left: 21px;
}

.ads2-adjust-mirrors-step-card li + li {
    margin-top: 7px;
}

.ads2-adjust-mirrors-tip {
    margin-top: 18px;
    padding: 18px;
    background: #fff7ed;
    border-left: 4px solid var(--ads2-adjust-orange);
    border-radius: 12px;
}

/* Horizon visual */

.ads2-adjust-mirrors-horizon {
    padding: 74px 0;
    background: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-horizon-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
    gap: 52px;
    align-items: center;
}

.ads2-adjust-mirrors-visual {
    position: relative;
    min-height: 340px;
    overflow: hidden;
    background: #dfe7ef;
    border: 14px solid var(--ads2-adjust-navy);
    border-radius: 48% 48% 42% 42%;
    box-shadow: 0 18px 44px rgba(18, 20, 26, 0.18);
}

.ads2-adjust-mirrors-sky,
.ads2-adjust-mirrors-road {
    display: grid;
    place-items: center;
    height: 50%;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads2-adjust-mirrors-sky {
    background: linear-gradient(#dbeeff, #b8d8f0);
}

.ads2-adjust-mirrors-road {
    background: linear-gradient(#72777f, #44484e);
    color: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-horizon-line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 7px;
    background: var(--ads2-adjust-orange);
    text-align: center;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    transform: translateY(-50%);
}

.ads2-adjust-mirrors-car-edge {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 13%;
    height: 58%;
    display: grid;
    place-items: center;
    padding: 8px;
    background: var(--ads2-adjust-navy);
    color: var(--ads2-adjust-white);
    font-size: 0.72rem;
    font-weight: 800;
    text-align: center;
    writing-mode: vertical-rl;
}

/* Checks */

.ads2-adjust-mirrors-checks {
    padding: 74px 0;
    background: var(--ads2-adjust-soft);
}

.ads2-adjust-mirrors-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-adjust-mirrors-check-grid article {
    padding: 26px;
    background: var(--ads2-adjust-navy);
    border-radius: 20px;
    color: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-check-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-adjust-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-adjust-mirrors-check-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-adjust-white);
    font-size: 1.3rem;
}

.ads2-adjust-mirrors-check-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Download */

.ads2-adjust-mirrors-download {
    padding: 70px 0;
    background: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-download-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 44px;
    align-items: center;
}

.ads2-adjust-mirrors-download-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 26px;
    background: var(--ads2-adjust-navy);
    border-radius: 20px;
    color: var(--ads2-adjust-white) !important;
    text-decoration: none;
}

.ads2-adjust-mirrors-download-card > span {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    background: var(--ads2-adjust-orange);
    border-radius: 16px;
    color: var(--ads2-adjust-navy);
    font-weight: 900;
}

.ads2-adjust-mirrors-download-card strong,
.ads2-adjust-mirrors-download-card small {
    display: block;
}

.ads2-adjust-mirrors-download-card strong {
    margin-bottom: 4px;
}

.ads2-adjust-mirrors-download-card small {
    color: rgba(255, 255, 255, 0.7);
}

/* FAQs */

.ads2-adjust-mirrors-faq {
    padding: 76px 0;
    background: var(--ads2-adjust-soft);
}

.ads2-adjust-mirrors-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-adjust-mirrors-faq-list details {
    overflow: hidden;
    background: var(--ads2-adjust-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-adjust-mirrors-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-adjust-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-adjust-mirrors-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-adjust-mirrors-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-adjust-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-adjust-mirrors-faq-list details[open] summary::after {
    content: "−";
}

.ads2-adjust-mirrors-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-adjust-mirrors-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-adjust-mirrors-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-adjust-white);
    border-top: 6px solid var(--ads2-adjust-orange);
}

.ads2-adjust-mirrors-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-adjust-mirrors-final h2 {
    color: var(--ads2-adjust-white);
}

.ads2-adjust-mirrors-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 950px) {
    .ads2-adjust-mirrors-hero-grid,
    .ads2-adjust-mirrors-seat-grid,
    .ads2-adjust-mirrors-horizon-grid,
    .ads2-adjust-mirrors-download-grid,
    .ads2-adjust-mirrors-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-adjust-mirrors-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads2-adjust-mirrors-step-grid,
    .ads2-adjust-mirrors-check-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-adjust-mirrors-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-adjust-mirrors-hero {
        padding: 42px 0 46px;
    }

    .ads2-adjust-mirrors-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-adjust-mirrors-seat,
    .ads2-adjust-mirrors-steps,
    .ads2-adjust-mirrors-horizon,
    .ads2-adjust-mirrors-checks,
    .ads2-adjust-mirrors-download,
    .ads2-adjust-mirrors-faq,
    .ads2-adjust-mirrors-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-adjust-mirrors-step-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .ads2-adjust-mirrors-actions {
        flex-direction: column;
    }

    .ads2-adjust-mirrors-btn {
        width: 100%;
    }

    .ads2-adjust-mirrors-summary-card {
        padding: 26px;
    }

    .ads2-adjust-mirrors-visual {
        min-height: 280px;
    }
}
/* =========================================================
   Roundabout Lanes Guide
   ========================================================= */

.ads2-roundabouts-page {
    --ads2-roundabouts-navy: #12141a;
    --ads2-roundabouts-orange: #f37423;
    --ads2-roundabouts-white: #ffffff;
    --ads2-roundabouts-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-roundabouts-navy);
}

.ads2-roundabouts-page *,
.ads2-roundabouts-page *::before,
.ads2-roundabouts-page *::after {
    box-sizing: border-box;
}

.ads2-roundabouts-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-roundabouts-page h1,
.ads2-roundabouts-page h2,
.ads2-roundabouts-page h3,
.ads2-roundabouts-page p {
    margin-top: 0;
}

.ads2-roundabouts-page p,
.ads2-roundabouts-page li {
    line-height: 1.7;
}

.ads2-roundabouts-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-roundabouts-navy);
    color: var(--ads2-roundabouts-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-roundabouts-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-roundabouts-section-heading h2,
.ads2-roundabouts-clock h2,
.ads2-roundabouts-priority h2,
.ads2-roundabouts-download h2,
.ads2-roundabouts-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-roundabouts-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-roundabouts-white);
    border-bottom: 6px solid var(--ads2-roundabouts-orange);
}

.ads2-roundabouts-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-roundabouts-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-roundabouts-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-roundabouts-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-roundabouts-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-roundabouts-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-roundabouts-btn:hover {
    transform: translateY(-2px);
}

.ads2-roundabouts-btn-primary {
    background: var(--ads2-roundabouts-orange);
    color: var(--ads2-roundabouts-navy);
}

.ads2-roundabouts-btn-secondary,
.ads2-roundabouts-btn-secondary:link,
.ads2-roundabouts-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-roundabouts-white) !important;
}

.ads2-roundabouts-btn-secondary:hover,
.ads2-roundabouts-btn-secondary:focus,
.ads2-roundabouts-btn-secondary:active {
    background: var(--ads2-roundabouts-white);
    color: var(--ads2-roundabouts-navy) !important;
}

.ads2-roundabouts-summary-card {
    padding: 34px;
    background: var(--ads2-roundabouts-white);
    color: var(--ads2-roundabouts-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-roundabouts-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 88px;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-roundabouts-orange);
    border-radius: 14px;
    font-size: 1.35rem;
    font-weight: 900;
}

.ads2-roundabouts-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Clock rule */

.ads2-roundabouts-clock {
    padding: 76px 0;
    background: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-clock-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.85fr);
    gap: 54px;
    align-items: center;
}

.ads2-roundabouts-clock-cards {
    display: grid;
    gap: 14px;
    margin-top: 28px;
}

.ads2-roundabouts-clock-cards article {
    padding: 20px;
    background: var(--ads2-roundabouts-soft);
    border-left: 5px solid var(--ads2-roundabouts-orange);
    border-radius: 14px;
}

.ads2-roundabouts-clock-cards strong,
.ads2-roundabouts-clock-cards span {
    display: block;
}

.ads2-roundabouts-clock-cards strong {
    margin-bottom: 4px;
    font-size: 1.12rem;
}

.ads2-roundabouts-clock-cards span {
    margin-bottom: 7px;
    color: var(--ads2-roundabouts-orange);
    font-weight: 900;
}

.ads2-roundabouts-clock-cards p {
    margin-bottom: 0;
}

.ads2-roundabouts-diagram {
    margin: 0;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e2e4e8;
    border-radius: 24px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.08);
}

.ads2-roundabouts-diagram img {
    display: block;
    width: 100%;
    height: auto;
}

.ads2-roundabouts-diagram figcaption {
    margin-top: 14px;
    color: #555b66;
    font-size: 0.9rem;
    text-align: center;
}

/* Lanes */

.ads2-roundabouts-lanes {
    padding: 78px 0;
    background: var(--ads2-roundabouts-soft);
}

.ads2-roundabouts-lane-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-roundabouts-lane-card {
    padding: 30px;
    background: var(--ads2-roundabouts-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-roundabouts-lane-card-wide {
    grid-column: 1 / -1;
}

.ads2-roundabouts-card-number {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-roundabouts-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads2-roundabouts-lane-card h3 {
    margin-bottom: 12px;
    font-size: 1.65rem;
}

.ads2-roundabouts-lane-card ul {
    margin: 16px 0 0;
    padding-left: 21px;
}

.ads2-roundabouts-lane-card li + li {
    margin-top: 7px;
}

/* MSM */

.ads2-roundabouts-msm {
    padding: 76px 0;
    background: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-msm-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-roundabouts-msm-grid article {
    padding: 28px;
    background: var(--ads2-roundabouts-navy);
    border-radius: 20px;
    color: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-msm-grid article > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    background: var(--ads2-roundabouts-orange);
    border-radius: 16px;
    color: var(--ads2-roundabouts-navy);
    font-size: 1.55rem;
    font-weight: 900;
}

.ads2-roundabouts-msm-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-msm-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Priority */

.ads2-roundabouts-priority {
    padding: 72px 0;
    background: var(--ads2-roundabouts-soft);
}

.ads2-roundabouts-priority-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 46px;
    align-items: center;
}

.ads2-roundabouts-priority-card {
    padding: 30px;
    background: var(--ads2-roundabouts-orange);
    border-radius: 20px;
}

.ads2-roundabouts-priority-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.25rem;
}

.ads2-roundabouts-priority-card p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Mistakes */

.ads2-roundabouts-mistakes {
    padding: 76px 0;
    background: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-mistake-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-roundabouts-mistake-grid article {
    padding: 26px;
    background: var(--ads2-roundabouts-navy);
    border-radius: 20px;
    color: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-mistake-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-roundabouts-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-roundabouts-mistake-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-mistake-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Download */

.ads2-roundabouts-download {
    padding: 70px 0;
    background: var(--ads2-roundabouts-soft);
}

.ads2-roundabouts-download-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 44px;
    align-items: center;
}

.ads2-roundabouts-download-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 26px;
    background: var(--ads2-roundabouts-navy);
    border-radius: 20px;
    color: var(--ads2-roundabouts-white) !important;
    text-decoration: none;
}

.ads2-roundabouts-download-card > span {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    background: var(--ads2-roundabouts-orange);
    border-radius: 16px;
    color: var(--ads2-roundabouts-navy);
    font-weight: 900;
}

.ads2-roundabouts-download-card strong,
.ads2-roundabouts-download-card small {
    display: block;
}

.ads2-roundabouts-download-card strong {
    margin-bottom: 4px;
}

.ads2-roundabouts-download-card small {
    color: rgba(255, 255, 255, 0.7);
}

/* Resources */

.ads2-roundabouts-resources {
    padding: 70px 0;
    background: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ads2-roundabouts-resource-grid a {
    display: block;
    padding: 26px;
    background: var(--ads2-roundabouts-soft);
    border: 1px solid #e2e4e8;
    border-radius: 18px;
    color: var(--ads2-roundabouts-navy);
    text-decoration: none;
}

.ads2-roundabouts-resource-grid strong,
.ads2-roundabouts-resource-grid span {
    display: block;
}

.ads2-roundabouts-resource-grid strong {
    margin-bottom: 6px;
    color: var(--ads2-roundabouts-orange);
    font-size: 1.15rem;
}

/* FAQs */

.ads2-roundabouts-faq {
    padding: 76px 0;
    background: var(--ads2-roundabouts-soft);
}

.ads2-roundabouts-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-roundabouts-faq-list details {
    overflow: hidden;
    background: var(--ads2-roundabouts-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-roundabouts-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-roundabouts-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-roundabouts-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-roundabouts-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-roundabouts-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-roundabouts-faq-list details[open] summary::after {
    content: "−";
}

.ads2-roundabouts-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-roundabouts-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-roundabouts-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-roundabouts-white);
    border-top: 6px solid var(--ads2-roundabouts-orange);
}

.ads2-roundabouts-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-roundabouts-final h2 {
    color: var(--ads2-roundabouts-white);
}

.ads2-roundabouts-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 950px) {
    .ads2-roundabouts-hero-grid,
    .ads2-roundabouts-clock-grid,
    .ads2-roundabouts-priority-grid,
    .ads2-roundabouts-download-grid,
    .ads2-roundabouts-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-roundabouts-msm-grid,
    .ads2-roundabouts-mistake-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads2-roundabouts-lane-grid,
    .ads2-roundabouts-resource-grid,
    .ads2-roundabouts-msm-grid,
    .ads2-roundabouts-mistake-grid {
        grid-template-columns: 1fr;
    }

    .ads2-roundabouts-lane-card-wide {
        grid-column: auto;
    }
}

@media (max-width: 650px) {
    .ads2-roundabouts-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-roundabouts-hero {
        padding: 42px 0 46px;
    }

    .ads2-roundabouts-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-roundabouts-clock,
    .ads2-roundabouts-lanes,
    .ads2-roundabouts-msm,
    .ads2-roundabouts-priority,
    .ads2-roundabouts-mistakes,
    .ads2-roundabouts-download,
    .ads2-roundabouts-resources,
    .ads2-roundabouts-faq,
    .ads2-roundabouts-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-roundabouts-actions {
        flex-direction: column;
    }

    .ads2-roundabouts-btn {
        width: 100%;
    }

    .ads2-roundabouts-summary-card,
    .ads2-roundabouts-diagram {
        padding: 24px;
    }
}
/* =========================================================
   How to Deal with Junctions
   ========================================================= */

.ads2-junctions-page {
    --ads2-junctions-navy: #12141a;
    --ads2-junctions-orange: #f37423;
    --ads2-junctions-white: #ffffff;
    --ads2-junctions-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-junctions-navy);
}

.ads2-junctions-page *,
.ads2-junctions-page *::before,
.ads2-junctions-page *::after {
    box-sizing: border-box;
}

.ads2-junctions-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-junctions-page h1,
.ads2-junctions-page h2,
.ads2-junctions-page h3,
.ads2-junctions-page p {
    margin-top: 0;
}

.ads2-junctions-page p,
.ads2-junctions-page li {
    line-height: 1.7;
}

.ads2-junctions-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-junctions-navy);
    color: var(--ads2-junctions-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-junctions-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-junctions-section-heading h2,
.ads2-junctions-intro h2,
.ads2-junctions-creep h2,
.ads2-junctions-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-junctions-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-junctions-white);
    border-bottom: 6px solid var(--ads2-junctions-orange);
}

.ads2-junctions-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-junctions-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-junctions-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-junctions-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-junctions-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-junctions-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-junctions-btn:hover {
    transform: translateY(-2px);
}

.ads2-junctions-btn-primary {
    background: var(--ads2-junctions-orange);
    color: var(--ads2-junctions-navy);
}

.ads2-junctions-btn-secondary,
.ads2-junctions-btn-secondary:link,
.ads2-junctions-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-junctions-white) !important;
}

.ads2-junctions-btn-secondary:hover,
.ads2-junctions-btn-secondary:focus,
.ads2-junctions-btn-secondary:active {
    background: var(--ads2-junctions-white);
    color: var(--ads2-junctions-navy) !important;
}

.ads2-junctions-summary-card {
    padding: 34px;
    background: var(--ads2-junctions-white);
    color: var(--ads2-junctions-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-junctions-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 92px;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-junctions-orange);
    border-radius: 14px;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-junctions-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Intro */

.ads2-junctions-intro {
    padding: 72px 0;
    background: var(--ads2-junctions-white);
}

.ads2-junctions-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 0.9fr);
    gap: 58px;
    align-items: center;
}

.ads2-junctions-letter-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.ads2-junctions-letter-strip div {
    padding: 26px 10px;
    background: var(--ads2-junctions-soft);
    border: 1px solid #e4e6eb;
    border-radius: 18px;
    text-align: center;
}

.ads2-junctions-letter-strip strong {
    display: block;
    margin-bottom: 9px;
    color: var(--ads2-junctions-orange);
    font-size: clamp(2.5rem, 5vw, 4rem);
    line-height: 1;
}

.ads2-junctions-letter-strip span {
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* LADA */

.ads2-junctions-lada {
    padding: 78px 0;
    background: var(--ads2-junctions-soft);
}

.ads2-junctions-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-junctions-step-grid article {
    padding: 26px;
    background: var(--ads2-junctions-navy);
    border-radius: 20px;
    color: var(--ads2-junctions-white);
}

.ads2-junctions-step-grid article > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    background: var(--ads2-junctions-orange);
    border-radius: 16px;
    color: var(--ads2-junctions-navy);
    font-size: 1.55rem;
    font-weight: 900;
}

.ads2-junctions-step-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-junctions-white);
}

.ads2-junctions-step-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Types */

.ads2-junctions-types {
    padding: 76px 0;
    background: var(--ads2-junctions-white);
}

.ads2-junctions-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-junctions-type-card {
    padding: 30px;
    background: var(--ads2-junctions-soft);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
}

.ads2-junctions-card-number {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-junctions-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads2-junctions-type-card h3 {
    margin-bottom: 12px;
    font-size: 1.65rem;
}

.ads2-junctions-type-card ul {
    margin: 16px 0 0;
    padding-left: 21px;
}

.ads2-junctions-type-card li + li {
    margin-top: 7px;
}

/* Creep */

.ads2-junctions-creep {
    padding: 74px 0;
    background: var(--ads2-junctions-soft);
}

.ads2-junctions-creep-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 46px;
    align-items: center;
}

.ads2-junctions-creep-steps {
    display: grid;
    gap: 14px;
    margin-top: 28px;
}

.ads2-junctions-creep-steps article {
    padding: 20px;
    background: var(--ads2-junctions-white);
    border-left: 5px solid var(--ads2-junctions-orange);
    border-radius: 14px;
}

.ads2-junctions-creep-steps strong {
    display: block;
    margin-bottom: 6px;
}

.ads2-junctions-creep-steps p {
    margin-bottom: 0;
}

.ads2-junctions-warning-card {
    padding: 30px;
    background: var(--ads2-junctions-orange);
    border-radius: 20px;
}

.ads2-junctions-warning-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.25rem;
}

.ads2-junctions-warning-card p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Position */

.ads2-junctions-position {
    padding: 76px 0;
    background: var(--ads2-junctions-white);
}

.ads2-junctions-position-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-junctions-position-grid article {
    padding: 26px;
    background: var(--ads2-junctions-navy);
    border-radius: 20px;
    color: var(--ads2-junctions-white);
}

.ads2-junctions-position-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-junctions-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-junctions-position-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-junctions-white);
}

.ads2-junctions-position-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Mistakes */

.ads2-junctions-mistakes {
    padding: 76px 0;
    background: var(--ads2-junctions-soft);
}

.ads2-junctions-mistake-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-junctions-mistake-grid article {
    padding: 30px;
    background: var(--ads2-junctions-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
}

.ads2-junctions-mistake-grid article > span {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 18px;
    background: var(--ads2-junctions-orange);
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 900;
}

.ads2-junctions-mistake-grid h3 {
    margin-bottom: 10px;
}

/* FAQs */

.ads2-junctions-faq {
    padding: 76px 0;
    background: var(--ads2-junctions-white);
}

.ads2-junctions-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-junctions-faq-list details {
    overflow: hidden;
    background: var(--ads2-junctions-soft);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-junctions-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-junctions-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-junctions-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-junctions-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-junctions-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-junctions-faq-list details[open] summary::after {
    content: "−";
}

.ads2-junctions-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-junctions-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-junctions-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-junctions-white);
    border-top: 6px solid var(--ads2-junctions-orange);
}

.ads2-junctions-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-junctions-final h2 {
    color: var(--ads2-junctions-white);
}

.ads2-junctions-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 950px) {
    .ads2-junctions-hero-grid,
    .ads2-junctions-intro-grid,
    .ads2-junctions-creep-grid,
    .ads2-junctions-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-junctions-step-grid,
    .ads2-junctions-position-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads2-junctions-type-grid,
    .ads2-junctions-mistake-grid,
    .ads2-junctions-step-grid,
    .ads2-junctions-position-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-junctions-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-junctions-hero {
        padding: 42px 0 46px;
    }

    .ads2-junctions-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-junctions-intro,
    .ads2-junctions-lada,
    .ads2-junctions-types,
    .ads2-junctions-creep,
    .ads2-junctions-position,
    .ads2-junctions-mistakes,
    .ads2-junctions-faq,
    .ads2-junctions-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-junctions-letter-strip {
        grid-template-columns: repeat(4, minmax(68px, 1fr));
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ads2-junctions-actions {
        flex-direction: column;
    }

    .ads2-junctions-btn {
        width: 100%;
    }

    .ads2-junctions-summary-card {
        padding: 26px;
    }
}
/* =========================================================
   Clutch Control Tips
   ========================================================= */

.ads2-clutch-page {
    --ads2-clutch-navy: #12141a;
    --ads2-clutch-orange: #f37423;
    --ads2-clutch-white: #ffffff;
    --ads2-clutch-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-clutch-navy);
}

.ads2-clutch-page *,
.ads2-clutch-page *::before,
.ads2-clutch-page *::after {
    box-sizing: border-box;
}

.ads2-clutch-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-clutch-page h1,
.ads2-clutch-page h2,
.ads2-clutch-page h3,
.ads2-clutch-page p {
    margin-top: 0;
}

.ads2-clutch-page p,
.ads2-clutch-page li {
    line-height: 1.7;
}

.ads2-clutch-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-clutch-navy);
    color: var(--ads2-clutch-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-clutch-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-clutch-section-heading h2,
.ads2-clutch-intro h2,
.ads2-clutch-recovery h2,
.ads2-clutch-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-clutch-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-clutch-white);
    border-bottom: 6px solid var(--ads2-clutch-orange);
}

.ads2-clutch-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-clutch-hero h1 {
    max-width: 850px;
    margin-bottom: 20px;
    color: var(--ads2-clutch-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-clutch-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-clutch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-clutch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-clutch-btn:hover {
    transform: translateY(-2px);
}

.ads2-clutch-btn-primary {
    background: var(--ads2-clutch-orange);
    color: var(--ads2-clutch-navy);
}

.ads2-clutch-btn-secondary,
.ads2-clutch-btn-secondary:link,
.ads2-clutch-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-clutch-white) !important;
}

.ads2-clutch-btn-secondary:hover,
.ads2-clutch-btn-secondary:focus,
.ads2-clutch-btn-secondary:active {
    background: var(--ads2-clutch-white);
    color: var(--ads2-clutch-navy) !important;
}

.ads2-clutch-summary-card {
    padding: 34px;
    background: var(--ads2-clutch-white);
    color: var(--ads2-clutch-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-clutch-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 88px;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-clutch-orange);
    border-radius: 14px;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-clutch-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Intro */

.ads2-clutch-intro {
    padding: 72px 0;
    background: var(--ads2-clutch-white);
}

.ads2-clutch-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.7fr);
    gap: 48px;
    align-items: center;
}

.ads2-clutch-signs-card {
    padding: 30px;
    background: var(--ads2-clutch-soft);
    border-left: 6px solid var(--ads2-clutch-orange);
    border-radius: 20px;
}

.ads2-clutch-signs-card h3 {
    margin-bottom: 14px;
    font-size: 1.4rem;
}

.ads2-clutch-signs-card ul {
    margin: 0;
    padding-left: 21px;
}

.ads2-clutch-signs-card li + li {
    margin-top: 8px;
}

/* Techniques */

.ads2-clutch-techniques {
    padding: 78px 0;
    background: var(--ads2-clutch-soft);
}

.ads2-clutch-technique-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads2-clutch-technique-card {
    padding: 28px;
    background: var(--ads2-clutch-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-clutch-technique-number {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-clutch-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-clutch-technique-card h3 {
    margin-bottom: 12px;
    font-size: 1.55rem;
}

.ads2-clutch-technique-card ul {
    margin: 16px 0 0;
    padding-left: 21px;
}

.ads2-clutch-technique-card li + li {
    margin-top: 7px;
}

.ads2-clutch-count {
    margin: 20px 0;
    padding: 18px;
    background: var(--ads2-clutch-orange);
    border-radius: 16px;
    font-size: 1.5rem;
    font-weight: 900;
    text-align: center;
}

/* Process */

.ads2-clutch-process {
    padding: 76px 0;
    background: var(--ads2-clutch-white);
}

.ads2-clutch-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.ads2-clutch-process-grid article {
    padding: 22px;
    background: var(--ads2-clutch-navy);
    border-radius: 18px;
    color: var(--ads2-clutch-white);
}

.ads2-clutch-process-grid article > span {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--ads2-clutch-orange);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-clutch-process-grid h3 {
    margin-bottom: 9px;
    color: var(--ads2-clutch-white);
    font-size: 1.18rem;
}

.ads2-clutch-process-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Stalls */

.ads2-clutch-stalls {
    padding: 76px 0;
    background: var(--ads2-clutch-soft);
}

.ads2-clutch-stall-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ads2-clutch-stall-grid article {
    padding: 28px;
    background: var(--ads2-clutch-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
}

.ads2-clutch-stall-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 12px;
    background: var(--ads2-clutch-orange);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads2-clutch-stall-grid h3 {
    margin-bottom: 10px;
}

/* Recovery */

.ads2-clutch-recovery {
    padding: 70px 0;
    background: var(--ads2-clutch-white);
}

.ads2-clutch-recovery-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.7fr);
    gap: 46px;
    align-items: center;
}

.ads2-clutch-recovery-card {
    padding: 30px;
    background: var(--ads2-clutch-orange);
    border-radius: 20px;
}

.ads2-clutch-recovery-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-clutch-recovery-card p {
    margin-bottom: 0;
    font-weight: 800;
}

/* FAQ */

.ads2-clutch-faq {
    padding: 76px 0;
    background: var(--ads2-clutch-soft);
}

.ads2-clutch-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-clutch-faq-list details {
    overflow: hidden;
    background: var(--ads2-clutch-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-clutch-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-clutch-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-clutch-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-clutch-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-clutch-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-clutch-faq-list details[open] summary::after {
    content: "−";
}

.ads2-clutch-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-clutch-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-clutch-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-clutch-white);
    border-top: 6px solid var(--ads2-clutch-orange);
}

.ads2-clutch-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-clutch-final h2 {
    color: var(--ads2-clutch-white);
}

.ads2-clutch-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 1000px) {
    .ads2-clutch-hero-grid,
    .ads2-clutch-intro-grid,
    .ads2-clutch-recovery-grid,
    .ads2-clutch-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-clutch-technique-grid,
    .ads2-clutch-stall-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads2-clutch-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ads2-clutch-technique-grid,
    .ads2-clutch-stall-grid,
    .ads2-clutch-process-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-clutch-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-clutch-hero {
        padding: 42px 0 46px;
    }

    .ads2-clutch-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-clutch-intro,
    .ads2-clutch-techniques,
    .ads2-clutch-process,
    .ads2-clutch-stalls,
    .ads2-clutch-recovery,
    .ads2-clutch-faq,
    .ads2-clutch-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-clutch-actions {
        flex-direction: column;
    }

    .ads2-clutch-btn {
        width: 100%;
    }

    .ads2-clutch-summary-card {
        padding: 26px;
    }
}
/* =========================================================
   Parallel Parking Guide
   ========================================================= */

.ads2-parallel-page {
    --ads2-parallel-navy: #12141a;
    --ads2-parallel-orange: #f37423;
    --ads2-parallel-white: #ffffff;
    --ads2-parallel-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-parallel-navy);
}

.ads2-parallel-page *,
.ads2-parallel-page *::before,
.ads2-parallel-page *::after {
    box-sizing: border-box;
}

.ads2-parallel-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-parallel-page h1,
.ads2-parallel-page h2,
.ads2-parallel-page h3,
.ads2-parallel-page p {
    margin-top: 0;
}

.ads2-parallel-page p,
.ads2-parallel-page li {
    line-height: 1.7;
}

.ads2-parallel-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-parallel-navy);
    color: var(--ads2-parallel-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-parallel-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-parallel-section-heading h2,
.ads2-parallel-intro h2,
.ads2-parallel-observation h2,
.ads2-parallel-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-parallel-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-parallel-white);
    border-bottom: 6px solid var(--ads2-parallel-orange);
}

.ads2-parallel-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-parallel-hero h1 {
    max-width: 880px;
    margin-bottom: 20px;
    color: var(--ads2-parallel-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-parallel-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-parallel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-parallel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-parallel-btn:hover {
    transform: translateY(-2px);
}

.ads2-parallel-btn-primary {
    background: var(--ads2-parallel-orange);
    color: var(--ads2-parallel-navy);
}

.ads2-parallel-btn-secondary,
.ads2-parallel-btn-secondary:link,
.ads2-parallel-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-parallel-white) !important;
}

.ads2-parallel-btn-secondary:hover,
.ads2-parallel-btn-secondary:focus,
.ads2-parallel-btn-secondary:active {
    background: var(--ads2-parallel-white);
    color: var(--ads2-parallel-navy) !important;
}

.ads2-parallel-summary-card {
    padding: 34px;
    background: var(--ads2-parallel-white);
    color: var(--ads2-parallel-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-parallel-summary-badge {
    display: inline-grid;
    place-items: center;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-parallel-orange);
    border-radius: 14px;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-parallel-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Intro */

.ads2-parallel-intro {
    padding: 72px 0;
    background: var(--ads2-parallel-white);
}

.ads2-parallel-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.65fr);
    gap: 48px;
    align-items: center;
}

.ads2-parallel-check-card {
    padding: 30px;
    background: var(--ads2-parallel-soft);
    border-left: 6px solid var(--ads2-parallel-orange);
    border-radius: 20px;
}

.ads2-parallel-check-card strong {
    display: block;
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.ads2-parallel-check-card ul {
    margin: 0;
    padding-left: 21px;
}

.ads2-parallel-check-card li + li {
    margin-top: 7px;
}

/* Steps */

.ads2-parallel-steps {
    padding: 78px 0;
    background: var(--ads2-parallel-soft);
}

.ads2-parallel-step-list {
    display: grid;
    gap: 28px;
}

.ads2-parallel-step-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.55fr);
    gap: 36px;
    align-items: center;
    padding: 32px;
    background: var(--ads2-parallel-white);
    border: 1px solid #e2e4e8;
    border-radius: 24px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-parallel-step-card-reverse .ads2-parallel-step-copy {
    order: 2;
}

.ads2-parallel-step-card-reverse figure {
    order: 1;
}

.ads2-parallel-step-number {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--ads2-parallel-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads2-parallel-step-card h3 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.ads2-parallel-step-card figure {
    margin: 0;
    padding: 18px;
    background: var(--ads2-parallel-navy);
    border-radius: 20px;
}

.ads2-parallel-step-card img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: contain;
}

.ads2-parallel-tip {
    margin-top: 18px;
    padding: 18px;
    background: #fff7ed;
    border-left: 4px solid var(--ads2-parallel-orange);
    border-radius: 12px;
}

.ads2-parallel-tip strong {
    display: block;
    margin-bottom: 6px;
}

.ads2-parallel-tip p {
    margin-bottom: 0;
}

/* Observation */

.ads2-parallel-observation {
    padding: 72px 0;
    background: var(--ads2-parallel-white);
}

.ads2-parallel-observation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 46px;
    align-items: center;
}

.ads2-parallel-warning-card {
    padding: 30px;
    background: var(--ads2-parallel-orange);
    border-radius: 20px;
}

.ads2-parallel-warning-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-parallel-warning-card p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Mistakes */

.ads2-parallel-mistakes {
    padding: 76px 0;
    background: var(--ads2-parallel-soft);
}

.ads2-parallel-mistake-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-parallel-mistake-grid article {
    padding: 26px;
    background: var(--ads2-parallel-navy);
    border-radius: 20px;
    color: var(--ads2-parallel-white);
}

.ads2-parallel-mistake-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-parallel-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-parallel-mistake-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-parallel-white);
}

.ads2-parallel-mistake-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* FAQs */

.ads2-parallel-faq {
    padding: 76px 0;
    background: var(--ads2-parallel-white);
}

.ads2-parallel-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-parallel-faq-list details {
    overflow: hidden;
    background: var(--ads2-parallel-soft);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-parallel-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-parallel-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-parallel-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-parallel-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-parallel-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-parallel-faq-list details[open] summary::after {
    content: "−";
}

.ads2-parallel-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-parallel-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-parallel-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-parallel-white);
    border-top: 6px solid var(--ads2-parallel-orange);
}

.ads2-parallel-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-parallel-final h2 {
    color: var(--ads2-parallel-white);
}

.ads2-parallel-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 1000px) {
    .ads2-parallel-hero-grid,
    .ads2-parallel-intro-grid,
    .ads2-parallel-observation-grid,
    .ads2-parallel-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-parallel-mistake-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .ads2-parallel-step-card {
        grid-template-columns: 1fr;
    }

    .ads2-parallel-step-card-reverse .ads2-parallel-step-copy,
    .ads2-parallel-step-card-reverse figure {
        order: initial;
    }
}

@media (max-width: 650px) {
    .ads2-parallel-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-parallel-hero {
        padding: 42px 0 46px;
    }

    .ads2-parallel-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-parallel-intro,
    .ads2-parallel-steps,
    .ads2-parallel-observation,
    .ads2-parallel-mistakes,
    .ads2-parallel-faq,
    .ads2-parallel-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-parallel-step-card {
        padding: 24px;
    }

    .ads2-parallel-mistake-grid {
        grid-template-columns: 1fr;
    }

    .ads2-parallel-actions {
        flex-direction: column;
    }

    .ads2-parallel-btn {
        width: 100%;
    }

    .ads2-parallel-summary-card {
        padding: 26px;
    }
}
/* =========================================================
   Reverse Bay Parking Guide
   ========================================================= */

.ads2-bay-page {
    --ads2-bay-navy: #12141a;
    --ads2-bay-orange: #f37423;
    --ads2-bay-white: #ffffff;
    --ads2-bay-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-bay-navy);
}

.ads2-bay-page *,
.ads2-bay-page *::before,
.ads2-bay-page *::after {
    box-sizing: border-box;
}

.ads2-bay-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-bay-page h1,
.ads2-bay-page h2,
.ads2-bay-page h3,
.ads2-bay-page p {
    margin-top: 0;
}

.ads2-bay-page p,
.ads2-bay-page li {
    line-height: 1.7;
}

.ads2-bay-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-bay-navy);
    color: var(--ads2-bay-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-bay-section-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.ads2-bay-section-heading h2,
.ads2-bay-intro h2,
.ads2-bay-observation h2,
.ads2-bay-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-bay-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-bay-white);
    border-bottom: 6px solid var(--ads2-bay-orange);
}

.ads2-bay-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-bay-hero h1 {
    max-width: 880px;
    margin-bottom: 20px;
    color: var(--ads2-bay-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-bay-hero-copy > p {
    max-width: 730px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-bay-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-bay-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-bay-btn:hover {
    transform: translateY(-2px);
}

.ads2-bay-btn-primary {
    background: var(--ads2-bay-orange);
    color: var(--ads2-bay-navy);
}

.ads2-bay-btn-secondary,
.ads2-bay-btn-secondary:link,
.ads2-bay-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-bay-white) !important;
}

.ads2-bay-btn-secondary:hover,
.ads2-bay-btn-secondary:focus,
.ads2-bay-btn-secondary:active {
    background: var(--ads2-bay-white);
    color: var(--ads2-bay-navy) !important;
}

.ads2-bay-summary-card {
    padding: 34px;
    background: var(--ads2-bay-white);
    color: var(--ads2-bay-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-bay-summary-badge {
    display: inline-grid;
    place-items: center;
    min-height: 54px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-bay-orange);
    border-radius: 14px;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ads2-bay-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

/* Intro */

.ads2-bay-intro {
    padding: 72px 0;
    background: var(--ads2-bay-white);
}

.ads2-bay-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.65fr);
    gap: 48px;
    align-items: center;
}

.ads2-bay-check-card {
    padding: 30px;
    background: var(--ads2-bay-soft);
    border-left: 6px solid var(--ads2-bay-orange);
    border-radius: 20px;
}

.ads2-bay-check-card strong {
    display: block;
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.ads2-bay-check-card ul {
    margin: 0;
    padding-left: 21px;
}

.ads2-bay-check-card li + li {
    margin-top: 7px;
}

/* Steps */

.ads2-bay-steps {
    padding: 78px 0;
    background: var(--ads2-bay-soft);
}

.ads2-bay-step-list {
    display: grid;
    gap: 28px;
}

.ads2-bay-step-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
    gap: 36px;
    align-items: center;
    padding: 32px;
    background: var(--ads2-bay-white);
    border: 1px solid #e2e4e8;
    border-radius: 24px;
    box-shadow: 0 12px 28px rgba(18, 20, 26, 0.07);
}

.ads2-bay-step-card-reverse .ads2-bay-step-copy {
    order: 2;
}

.ads2-bay-step-card-reverse figure {
    order: 1;
}

.ads2-bay-step-number {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--ads2-bay-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads2-bay-step-card h3 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.ads2-bay-step-card figure {
    margin: 0;
    padding: 18px;
    background: var(--ads2-bay-white);
    border: 1px solid #e2e4e8;
    border-radius: 20px;
}

.ads2-bay-step-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.ads2-bay-tip {
    margin-top: 18px;
    padding: 18px;
    background: #fff7ed;
    border-left: 4px solid var(--ads2-bay-orange);
    border-radius: 12px;
}

.ads2-bay-tip strong {
    display: block;
    margin-bottom: 6px;
}

.ads2-bay-tip p {
    margin-bottom: 0;
}

/* Observation */

.ads2-bay-observation {
    padding: 72px 0;
    background: var(--ads2-bay-white);
}

.ads2-bay-observation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 46px;
    align-items: center;
}

.ads2-bay-warning-card {
    padding: 30px;
    background: var(--ads2-bay-orange);
    border-radius: 20px;
}

.ads2-bay-warning-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-bay-warning-card p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Mistakes */

.ads2-bay-mistakes {
    padding: 76px 0;
    background: var(--ads2-bay-soft);
}

.ads2-bay-mistake-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-bay-mistake-grid article {
    padding: 26px;
    background: var(--ads2-bay-navy);
    border-radius: 20px;
    color: var(--ads2-bay-white);
}

.ads2-bay-mistake-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-bay-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-bay-mistake-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-bay-white);
}

.ads2-bay-mistake-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* FAQs */

.ads2-bay-faq {
    padding: 76px 0;
    background: var(--ads2-bay-white);
}

.ads2-bay-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-bay-faq-list details {
    overflow: hidden;
    background: var(--ads2-bay-soft);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-bay-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-bay-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-bay-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-bay-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-bay-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-bay-faq-list details[open] summary::after {
    content: "−";
}

.ads2-bay-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-bay-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-bay-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-bay-white);
    border-top: 6px solid var(--ads2-bay-orange);
}

.ads2-bay-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-bay-final h2 {
    color: var(--ads2-bay-white);
}

.ads2-bay-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 1000px) {
    .ads2-bay-hero-grid,
    .ads2-bay-intro-grid,
    .ads2-bay-observation-grid,
    .ads2-bay-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-bay-mistake-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .ads2-bay-step-card {
        grid-template-columns: 1fr;
    }

    .ads2-bay-step-card-reverse .ads2-bay-step-copy,
    .ads2-bay-step-card-reverse figure {
        order: initial;
    }
}

@media (max-width: 650px) {
    .ads2-bay-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-bay-hero {
        padding: 42px 0 46px;
    }

    .ads2-bay-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-bay-intro,
    .ads2-bay-steps,
    .ads2-bay-observation,
    .ads2-bay-mistakes,
    .ads2-bay-faq,
    .ads2-bay-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-bay-step-card {
        padding: 24px;
    }

    .ads2-bay-mistake-grid {
        grid-template-columns: 1fr;
    }

    .ads2-bay-actions {
        flex-direction: column;
    }

    .ads2-bay-btn {
        width: 100%;
    }

    .ads2-bay-summary-card {
        padding: 26px;
    }
}
/* =========================================================
   Apply for a Provisional Driving Licence
   ========================================================= */

.ads2-provisional-page {
    --ads2-provisional-navy: #12141a;
    --ads2-provisional-orange: #f37423;
    --ads2-provisional-white: #ffffff;
    --ads2-provisional-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-provisional-navy);
}

.ads2-provisional-page *,
.ads2-provisional-page *::before,
.ads2-provisional-page *::after {
    box-sizing: border-box;
}

.ads2-provisional-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-provisional-page h1,
.ads2-provisional-page h2,
.ads2-provisional-page h3,
.ads2-provisional-page p {
    margin-top: 0;
}

.ads2-provisional-page p,
.ads2-provisional-page li {
    line-height: 1.7;
}

.ads2-provisional-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-provisional-navy);
    color: var(--ads2-provisional-white);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-provisional-section-heading {
    max-width: 790px;
    margin-bottom: 38px;
}

.ads2-provisional-section-heading h2,
.ads2-provisional-eyesight h2,
.ads2-provisional-warning h2,
.ads2-provisional-first-lesson h2,
.ads2-provisional-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

/* Hero */

.ads2-provisional-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-provisional-white);
    border-bottom: 6px solid var(--ads2-provisional-orange);
}

.ads2-provisional-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 56px;
    align-items: center;
}

.ads2-provisional-hero h1 {
    max-width: 900px;
    margin-bottom: 20px;
    color: var(--ads2-provisional-orange);
    font-size: clamp(2.8rem, 6vw, 5.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads2-provisional-hero-copy > p {
    max-width: 760px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.12rem;
}

.ads2-provisional-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-provisional-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ads2-provisional-btn:hover {
    transform: translateY(-2px);
}

.ads2-provisional-btn-primary {
    background: var(--ads2-provisional-orange);
    color: var(--ads2-provisional-navy);
}

.ads2-provisional-btn-secondary,
.ads2-provisional-btn-secondary:link,
.ads2-provisional-btn-secondary:visited {
    border-color: rgba(255, 255, 255, 0.55);
    color: var(--ads2-provisional-white) !important;
}

.ads2-provisional-btn-secondary:hover,
.ads2-provisional-btn-secondary:focus,
.ads2-provisional-btn-secondary:active {
    background: var(--ads2-provisional-white);
    color: var(--ads2-provisional-navy) !important;
}

.ads2-provisional-summary-card {
    padding: 34px;
    background: var(--ads2-provisional-white);
    color: var(--ads2-provisional-navy);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.ads2-provisional-summary-badge {
    display: inline-grid;
    place-items: center;
    min-width: 92px;
    min-height: 58px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: var(--ads2-provisional-orange);
    border-radius: 14px;
    font-size: 1.55rem;
    font-weight: 900;
}

.ads2-provisional-summary-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.ads2-provisional-summary-card small {
    display: block;
    color: #6c727c;
}

/* Eligibility */

.ads2-provisional-eligibility {
    padding: 76px 0;
    background: var(--ads2-provisional-white);
}

.ads2-provisional-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ads2-provisional-check-grid article {
    padding: 28px;
    background: var(--ads2-provisional-navy);
    border-radius: 20px;
    color: var(--ads2-provisional-white);
}

.ads2-provisional-check-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-provisional-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-provisional-check-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-provisional-white);
}

.ads2-provisional-check-grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Eyesight */

.ads2-provisional-eyesight {
    padding: 72px 0;
    background: var(--ads2-provisional-soft);
}

.ads2-provisional-eyesight-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
    gap: 46px;
    align-items: center;
}

.ads2-provisional-distance-card {
    padding: 34px;
    background: var(--ads2-provisional-orange);
    border-radius: 22px;
    text-align: center;
}

.ads2-provisional-distance-card strong,
.ads2-provisional-distance-card span {
    display: block;
}

.ads2-provisional-distance-card strong {
    font-size: clamp(2.8rem, 6vw, 5rem);
    line-height: 1;
}

.ads2-provisional-distance-card span {
    margin: 10px 0 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.ads2-provisional-distance-card p {
    margin-bottom: 0;
}

/* Prepare */

.ads2-provisional-prepare {
    padding: 76px 0;
    background: var(--ads2-provisional-white);
}

.ads2-provisional-prepare-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-provisional-prepare-grid article {
    padding: 26px;
    background: var(--ads2-provisional-soft);
    border: 1px solid #e2e4e8;
    border-radius: 20px;
}

.ads2-provisional-card-number {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-provisional-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-provisional-prepare-grid h3 {
    margin-bottom: 10px;
}

.ads2-provisional-prepare-grid p {
    margin-bottom: 0;
}

/* Application options */

.ads2-provisional-options {
    padding: 76px 0;
    background: var(--ads2-provisional-soft);
}

.ads2-provisional-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads2-provisional-option-card {
    padding: 32px;
    background: var(--ads2-provisional-white);
    border: 1px solid #e2e4e8;
    border-radius: 24px;
}

.ads2-provisional-option-featured {
    border: 3px solid var(--ads2-provisional-orange);
}

.ads2-provisional-option-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 12px;
    background: var(--ads2-provisional-navy);
    border-radius: 999px;
    color: var(--ads2-provisional-white);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads2-provisional-option-card h3 {
    margin-bottom: 8px;
    font-size: 1.65rem;
}

.ads2-provisional-price {
    display: block;
    margin-bottom: 20px;
    color: var(--ads2-provisional-orange);
    font-size: 2.8rem;
    line-height: 1;
}

.ads2-provisional-option-card ul {
    margin: 0 0 24px;
    padding-left: 21px;
}

.ads2-provisional-option-card li + li {
    margin-top: 7px;
}

.ads2-provisional-option-card a {
    display: inline-flex;
    padding: 12px 18px;
    background: var(--ads2-provisional-orange);
    border-radius: 999px;
    color: var(--ads2-provisional-navy);
    font-weight: 900;
    text-decoration: none;
}

/* Warning */

.ads2-provisional-warning {
    padding: 70px 0;
    background: var(--ads2-provisional-white);
}

.ads2-provisional-warning-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.7fr);
    gap: 46px;
    align-items: center;
}

.ads2-provisional-gov-card {
    display: block;
    padding: 30px;
    background: var(--ads2-provisional-navy);
    border-radius: 20px;
    color: var(--ads2-provisional-white) !important;
    text-decoration: none;
}

.ads2-provisional-gov-card strong,
.ads2-provisional-gov-card span {
    display: block;
}

.ads2-provisional-gov-card strong {
    margin-bottom: 7px;
    color: var(--ads2-provisional-orange);
    font-size: 1.2rem;
}

.ads2-provisional-gov-card span {
    overflow-wrap: anywhere;
    color: rgba(255, 255, 255, 0.76);
}

/* After applying */

.ads2-provisional-after {
    padding: 76px 0;
    background: var(--ads2-provisional-soft);
}

.ads2-provisional-after-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ads2-provisional-after-grid article {
    padding: 26px;
    background: var(--ads2-provisional-white);
    border-radius: 20px;
}

.ads2-provisional-after-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-provisional-orange);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ads2-provisional-after-grid h3 {
    margin-bottom: 10px;
}

.ads2-provisional-after-grid p {
    margin-bottom: 0;
}

.ads2-provisional-track-card {
    display: flex;
    justify-content: space-between;
    gap: 26px;
    align-items: center;
    margin-top: 26px;
    padding: 26px;
    background: var(--ads2-provisional-navy);
    border-radius: 20px;
    color: var(--ads2-provisional-white);
}

.ads2-provisional-track-card strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1.2rem;
}

.ads2-provisional-track-card p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
}

.ads2-provisional-track-card a {
    flex: 0 0 auto;
    padding: 12px 18px;
    background: var(--ads2-provisional-orange);
    border-radius: 999px;
    color: var(--ads2-provisional-navy);
    font-weight: 900;
    text-decoration: none;
}

/* First lesson */

.ads2-provisional-first-lesson {
    padding: 72px 0;
    background: var(--ads2-provisional-white);
}

.ads2-provisional-first-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.7fr);
    gap: 46px;
    align-items: center;
}

.ads2-provisional-first-card {
    padding: 30px;
    background: var(--ads2-provisional-orange);
    border-radius: 20px;
}

.ads2-provisional-first-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-provisional-first-card p {
    margin-bottom: 0;
    font-weight: 800;
}

/* FAQs */

.ads2-provisional-faq {
    padding: 76px 0;
    background: var(--ads2-provisional-soft);
}

.ads2-provisional-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-provisional-faq-list details {
    overflow: hidden;
    background: var(--ads2-provisional-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-provisional-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-provisional-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-provisional-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-provisional-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-provisional-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-provisional-faq-list details[open] summary::after {
    content: "−";
}

.ads2-provisional-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-provisional-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-provisional-final {
    padding: 66px 0;
    background: linear-gradient(135deg, #12141a 0%, #1d212a 100%);
    color: var(--ads2-provisional-white);
    border-top: 6px solid var(--ads2-provisional-orange);
}

.ads2-provisional-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-provisional-final h2 {
    color: var(--ads2-provisional-white);
}

.ads2-provisional-final p {
    max-width: 760px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.78);
}

/* Responsive */

@media (max-width: 1000px) {
    .ads2-provisional-hero-grid,
    .ads2-provisional-eyesight-grid,
    .ads2-provisional-warning-grid,
    .ads2-provisional-first-grid,
    .ads2-provisional-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-provisional-prepare-grid,
    .ads2-provisional-after-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .ads2-provisional-check-grid,
    .ads2-provisional-option-grid {
        grid-template-columns: 1fr;
    }

    .ads2-provisional-track-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .ads2-provisional-container {
        width: min(100% - 28px, 1180px);
    }

    .ads2-provisional-hero {
        padding: 42px 0 46px;
    }

    .ads2-provisional-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .ads2-provisional-eligibility,
    .ads2-provisional-eyesight,
    .ads2-provisional-prepare,
    .ads2-provisional-options,
    .ads2-provisional-warning,
    .ads2-provisional-after,
    .ads2-provisional-first-lesson,
    .ads2-provisional-faq,
    .ads2-provisional-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-provisional-prepare-grid,
    .ads2-provisional-after-grid {
        grid-template-columns: 1fr;
    }

    .ads2-provisional-actions {
        flex-direction: column;
    }

    .ads2-provisional-btn {
        width: 100%;
    }

    .ads2-provisional-summary-card {
        padding: 26px;
    }
}
/* =========================================================
   What Happens on a First Driving Lesson
   ========================================================= */

.ads2-firstlesson-page {
    --ads2-firstlesson-navy: #12141a;
    --ads2-firstlesson-orange: #f37423;
    --ads2-firstlesson-white: #ffffff;
    --ads2-firstlesson-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-firstlesson-navy);
}

.ads2-firstlesson-page *,
.ads2-firstlesson-page *::before,
.ads2-firstlesson-page *::after {
    box-sizing: border-box;
}

.ads2-firstlesson-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-firstlesson-page h1,
.ads2-firstlesson-page h2,
.ads2-firstlesson-page h3,
.ads2-firstlesson-page p {
    margin-top: 0;
}

.ads2-firstlesson-page p,
.ads2-firstlesson-page li {
    line-height: 1.7;
}

.ads2-firstlesson-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-firstlesson-navy);
    color: var(--ads2-firstlesson-white);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-firstlesson-section-heading {
    max-width: 790px;
    margin-bottom: 38px;
}

.ads2-firstlesson-section-heading h2,
.ads2-firstlesson-arrival h2,
.ads2-firstlesson-cockpit h2,
.ads2-firstlesson-safety h2,
.ads2-firstlesson-length h2,
.ads2-firstlesson-nerves h2,
.ads2-firstlesson-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

/* Hero */

.ads2-firstlesson-hero {
    padding: 58px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(243,116,35,.2), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-firstlesson-white);
    border-bottom: 6px solid var(--ads2-firstlesson-orange);
}

.ads2-firstlesson-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
    gap: 54px;
    align-items: center;
}

.ads2-firstlesson-hero h1 {
    max-width: 900px;
    margin-bottom: 20px;
    color: var(--ads2-firstlesson-orange);
    font-size: clamp(2.8rem,6vw,5.6rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.ads2-firstlesson-hero-copy > p {
    max-width: 760px;
    margin-bottom: 28px;
    color: rgba(255,255,255,.84);
    font-size: 1.12rem;
}

.ads2-firstlesson-hero-image {
    margin: 0;
    padding: 14px;
    background: var(--ads2-firstlesson-white);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(0,0,0,.3);
}

.ads2-firstlesson-hero-image img,
.ads2-firstlesson-controls figure img,
.ads2-firstlesson-safety figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.ads2-firstlesson-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ads2-firstlesson-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.ads2-firstlesson-btn:hover { transform: translateY(-2px); }

.ads2-firstlesson-btn-primary {
    background: var(--ads2-firstlesson-orange);
    color: var(--ads2-firstlesson-navy);
}

.ads2-firstlesson-btn-secondary,
.ads2-firstlesson-btn-secondary:link,
.ads2-firstlesson-btn-secondary:visited {
    border-color: rgba(255,255,255,.55);
    color: var(--ads2-firstlesson-white) !important;
}

.ads2-firstlesson-btn-secondary:hover,
.ads2-firstlesson-btn-secondary:focus,
.ads2-firstlesson-btn-secondary:active {
    background: var(--ads2-firstlesson-white);
    color: var(--ads2-firstlesson-navy) !important;
}

/* Shared sections */

.ads2-firstlesson-legal,
.ads2-firstlesson-controls,
.ads2-firstlesson-length,
.ads2-firstlesson-after,
.ads2-firstlesson-faq {
    padding: 76px 0;
    background: var(--ads2-firstlesson-white);
}

.ads2-firstlesson-arrival,
.ads2-firstlesson-timeline,
.ads2-firstlesson-cockpit,
.ads2-firstlesson-moving,
.ads2-firstlesson-safety,
.ads2-firstlesson-bring,
.ads2-firstlesson-nerves {
    padding: 76px 0;
    background: var(--ads2-firstlesson-soft);
}

/* Legal */

.ads2-firstlesson-check-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.ads2-firstlesson-check-grid article,
.ads2-firstlesson-timeline-grid article,
.ads2-firstlesson-next-grid article {
    padding: 27px;
    background: var(--ads2-firstlesson-navy);
    border-radius: 20px;
    color: var(--ads2-firstlesson-white);
}

.ads2-firstlesson-check-grid article > span,
.ads2-firstlesson-timeline-grid article > span,
.ads2-firstlesson-next-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-firstlesson-orange);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.ads2-firstlesson-check-grid h3,
.ads2-firstlesson-timeline-grid h3,
.ads2-firstlesson-next-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-firstlesson-white);
}

.ads2-firstlesson-check-grid p,
.ads2-firstlesson-timeline-grid p,
.ads2-firstlesson-next-grid p {
    margin-bottom: 0;
    color: rgba(255,255,255,.78);
}

.ads2-firstlesson-inline-link {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    padding: 20px 24px;
    background: #fff7ed;
    border-left: 5px solid var(--ads2-firstlesson-orange);
    border-radius: 14px;
}

.ads2-firstlesson-inline-link a {
    color: var(--ads2-firstlesson-navy);
    font-weight: 800;
}

/* Arrival */

.ads2-firstlesson-arrival-grid,
.ads2-firstlesson-cockpit-grid,
.ads2-firstlesson-safety-grid,
.ads2-firstlesson-length-grid,
.ads2-firstlesson-nerves-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(340px,.68fr);
    gap: 46px;
    align-items: center;
}

.ads2-firstlesson-dual-card,
.ads2-firstlesson-nerves-card {
    padding: 30px;
    background: var(--ads2-firstlesson-orange);
    border-radius: 20px;
}

.ads2-firstlesson-dual-card strong,
.ads2-firstlesson-nerves-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.25rem;
}

.ads2-firstlesson-dual-card p,
.ads2-firstlesson-nerves-card p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Timeline */

.ads2-firstlesson-timeline-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

/* Cockpit */

.ads2-firstlesson-letter-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(70px,1fr));
    gap: 10px;
    margin: 24px 0;
}

.ads2-firstlesson-letter-grid div {
    padding: 20px 8px;
    background: var(--ads2-firstlesson-white);
    border: 1px solid #e2e4e8;
    border-radius: 16px;
    text-align: center;
}

.ads2-firstlesson-letter-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--ads2-firstlesson-orange);
    font-size: 2rem;
}

.ads2-firstlesson-letter-grid span {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ads2-firstlesson-resource-card {
    display: block;
    padding: 30px;
    background: var(--ads2-firstlesson-navy);
    border-radius: 20px;
    color: var(--ads2-firstlesson-white) !important;
    text-decoration: none;
}

.ads2-firstlesson-resource-card strong,
.ads2-firstlesson-resource-card span {
    display: block;
}

.ads2-firstlesson-resource-card strong {
    margin-bottom: 7px;
    color: var(--ads2-firstlesson-orange);
    font-size: 1.25rem;
}

/* Controls */

.ads2-firstlesson-controls-grid {
    display: grid;
    grid-template-columns: minmax(340px,.8fr) minmax(0,1fr);
    gap: 36px;
    align-items: center;
}

.ads2-firstlesson-controls figure,
.ads2-firstlesson-safety figure {
    margin: 0;
    padding: 14px;
    background: var(--ads2-firstlesson-navy);
    border-radius: 22px;
}

.ads2-firstlesson-control-cards {
    display: grid;
    gap: 18px;
}

.ads2-firstlesson-control-cards article {
    padding: 26px;
    background: var(--ads2-firstlesson-soft);
    border: 1px solid #e2e4e8;
    border-radius: 20px;
}

.ads2-firstlesson-control-cards h3 {
    margin-bottom: 10px;
}

/* Moving */

.ads2-firstlesson-routine-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}

.ads2-firstlesson-routine-grid article {
    padding: 30px;
    background: var(--ads2-firstlesson-white);
    border: 1px solid #e2e4e8;
    border-radius: 22px;
}

.ads2-firstlesson-routine-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 8px 13px;
    background: var(--ads2-firstlesson-orange);
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.ads2-firstlesson-routine-grid h3 { margin-bottom: 12px; }

.ads2-firstlesson-routine-grid ul {
    margin: 0;
    padding-left: 21px;
}

.ads2-firstlesson-routine-grid li + li { margin-top: 8px; }

.ads2-firstlesson-resource-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

.ads2-firstlesson-resource-row a {
    display: inline-flex;
    padding: 12px 18px;
    background: var(--ads2-firstlesson-navy);
    border-radius: 999px;
    color: var(--ads2-firstlesson-white);
    font-weight: 800;
    text-decoration: none;
}

/* Safety */

.ads2-firstlesson-safety {
    background: var(--ads2-firstlesson-white);
}

/* Length */

.ads2-firstlesson-length {
    background: var(--ads2-firstlesson-soft);
}

.ads2-firstlesson-time-card {
    padding: 34px;
    background: var(--ads2-firstlesson-orange);
    border-radius: 22px;
    text-align: center;
}

.ads2-firstlesson-time-card strong,
.ads2-firstlesson-time-card span {
    display: block;
}

.ads2-firstlesson-time-card strong {
    font-size: clamp(3rem,6vw,5rem);
    line-height: 1;
}

.ads2-firstlesson-time-card span {
    margin: 8px 0 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ads2-firstlesson-time-card p { margin-bottom: 0; }

/* Bring */

.ads2-firstlesson-bring {
    background: var(--ads2-firstlesson-white);
}

.ads2-firstlesson-bring-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.ads2-firstlesson-bring-grid article {
    padding: 25px;
    background: var(--ads2-firstlesson-soft);
    border: 1px solid #e2e4e8;
    border-radius: 20px;
}

.ads2-firstlesson-bring-grid article > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    background: var(--ads2-firstlesson-orange);
    border-radius: 50%;
    font-weight: 900;
}

.ads2-firstlesson-bring-grid h3 { margin-bottom: 8px; }
.ads2-firstlesson-bring-grid p { margin-bottom: 0; }

/* After */

.ads2-firstlesson-next-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

/* FAQ */

.ads2-firstlesson-faq {
    background: var(--ads2-firstlesson-soft);
}

.ads2-firstlesson-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-firstlesson-faq-list details {
    overflow: hidden;
    background: var(--ads2-firstlesson-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-firstlesson-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-firstlesson-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-firstlesson-faq-list summary::-webkit-details-marker { display: none; }

.ads2-firstlesson-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-firstlesson-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-firstlesson-faq-list details[open] summary::after { content: "−"; }

.ads2-firstlesson-faq-list details > div { padding: 0 24px 22px; }
.ads2-firstlesson-faq-list details p { margin-bottom: 0; }

/* Final */

.ads2-firstlesson-final {
    padding: 66px 0;
    background: linear-gradient(135deg,#12141a 0%,#1d212a 100%);
    color: var(--ads2-firstlesson-white);
    border-top: 6px solid var(--ads2-firstlesson-orange);
}

.ads2-firstlesson-final-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-firstlesson-final h2 { color: var(--ads2-firstlesson-white); }

.ads2-firstlesson-final p {
    max-width: 760px;
    margin-bottom: 0;
    color: rgba(255,255,255,.78);
}

/* Responsive */

@media (max-width: 1000px) {
    .ads2-firstlesson-hero-grid,
    .ads2-firstlesson-arrival-grid,
    .ads2-firstlesson-cockpit-grid,
    .ads2-firstlesson-controls-grid,
    .ads2-firstlesson-safety-grid,
    .ads2-firstlesson-length-grid,
    .ads2-firstlesson-nerves-grid,
    .ads2-firstlesson-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-firstlesson-check-grid,
    .ads2-firstlesson-timeline-grid,
    .ads2-firstlesson-bring-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 700px) {
    .ads2-firstlesson-routine-grid,
    .ads2-firstlesson-next-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-firstlesson-container {
        width: min(100% - 28px,1180px);
    }

    .ads2-firstlesson-hero {
        padding: 42px 0 46px;
    }

    .ads2-firstlesson-hero h1 {
        font-size: clamp(2.55rem,13vw,4rem);
    }

    .ads2-firstlesson-legal,
    .ads2-firstlesson-arrival,
    .ads2-firstlesson-timeline,
    .ads2-firstlesson-cockpit,
    .ads2-firstlesson-controls,
    .ads2-firstlesson-moving,
    .ads2-firstlesson-safety,
    .ads2-firstlesson-length,
    .ads2-firstlesson-bring,
    .ads2-firstlesson-nerves,
    .ads2-firstlesson-after,
    .ads2-firstlesson-faq,
    .ads2-firstlesson-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-firstlesson-check-grid,
    .ads2-firstlesson-timeline-grid,
    .ads2-firstlesson-bring-grid {
        grid-template-columns: 1fr;
    }

    .ads2-firstlesson-letter-grid {
        grid-template-columns: repeat(5,minmax(72px,1fr));
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ads2-firstlesson-actions {
        flex-direction: column;
    }

    .ads2-firstlesson-btn {
        width: 100%;
    }
}
/* =========================================================
   Booking Page
   ========================================================= */

.ads2-booking-page {
    --ads2-booking-navy: #12141a;
    --ads2-booking-orange: #f37423;
    --ads2-booking-white: #ffffff;
    --ads2-booking-soft: #f5f6f8;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: var(--ads2-booking-navy);
}

.ads2-booking-page *,
.ads2-booking-page *::before,
.ads2-booking-page *::after {
    box-sizing: border-box;
}

.ads2-booking-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.ads2-booking-page h1,
.ads2-booking-page h2,
.ads2-booking-page h3,
.ads2-booking-page p {
    margin-top: 0;
}

.ads2-booking-page p,
.ads2-booking-page li {
    line-height: 1.7;
}

.ads2-booking-kicker {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: var(--ads2-booking-navy);
    color: var(--ads2-booking-white);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: skewX(-8deg);
}

.ads2-booking-heading {
    max-width: 790px;
    margin-bottom: 38px;
}

.ads2-booking-heading h2,
.ads2-booking-form-copy h2,
.ads2-booking-first h2,
.ads2-booking-final h2 {
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

/* Compact booking hero */

.ads2-booking-hero {
    padding: 26px 0 30px;
    background:
        radial-gradient(circle at 84% 20%, rgba(243,116,35,.18), transparent 28%),
        linear-gradient(135deg, #12141a 0%, #1c2029 100%);
    color: var(--ads2-booking-white);
    border-bottom: 5px solid var(--ads2-booking-orange);
}

.ads2-booking-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr);
    gap: 34px;
    align-items: center;
}

.ads2-booking-hero h1 {
    max-width: 820px;
    margin-bottom: 12px;
    color: var(--ads2-booking-orange);
    font-size: clamp(2.3rem,4.5vw,4.3rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.ads2-booking-hero p {
    max-width: 720px;
    margin-bottom: 18px;
    color: rgba(255,255,255,.84);
    font-size: 1rem;
}

.ads2-booking-hero .ads2-booking-kicker {
    margin-bottom: 11px;
}

.ads2-booking-summary-card {
    padding: 22px;
    border-radius: 18px;
}

.ads2-booking-summary-card > span {
    margin-bottom: 12px;
    padding: 7px 11px;
}

.ads2-booking-summary-card h2 {
    margin-bottom: 8px;
    font-size: clamp(1.35rem,2.4vw,1.85rem);
}

.ads2-booking-summary-card p {
    margin-bottom: 0;
    font-size: .94rem;
}

@media (max-width: 650px) {
    .ads2-booking-hero {
        padding: 26px 0 30px;
    }

    .ads2-booking-hero h1 {
        font-size: clamp(2.25rem,11vw,3.3rem);
    }

    .ads2-booking-summary-card {
        display: none;
    }
}
/* Benefits */

.ads2-booking-benefits {
    padding: 76px 0;
    background: var(--ads2-booking-white);
}

.ads2-booking-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.ads2-booking-benefit-grid article {
    padding: 26px;
    background: var(--ads2-booking-navy);
    border-radius: 20px;
    color: var(--ads2-booking-white);
}

.ads2-booking-benefit-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--ads2-booking-orange);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.ads2-booking-benefit-grid h3 {
    margin-bottom: 10px;
    color: var(--ads2-booking-white);
}

.ads2-booking-benefit-grid p {
    margin-bottom: 0;
    color: rgba(255,255,255,.78);
}

/* Form */

.ads2-booking-form-section {
    padding: 78px 0;
    background: var(--ads2-booking-soft);
}

.ads2-booking-form-grid {
    display: grid;
    grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
    gap: 42px;
    align-items: start;
}

.ads2-booking-form-copy {
    position: sticky;
    top: 30px;
}

.ads2-booking-note {
    margin-top: 14px;
    padding: 20px;
    background: var(--ads2-booking-white);
    border-left: 5px solid var(--ads2-booking-orange);
    border-radius: 14px;
}

.ads2-booking-note strong {
    display: block;
    margin-bottom: 6px;
}

.ads2-booking-note p {
    margin-bottom: 0;
}

.ads2-booking-call {
    margin-top: 18px;
    padding: 22px;
    background: var(--ads2-booking-navy);
    border-radius: 16px;
    color: var(--ads2-booking-white);
}

.ads2-booking-call span,
.ads2-booking-call a {
    display: block;
}

.ads2-booking-call span {
    margin-bottom: 5px;
    color: rgba(255,255,255,.72);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ads2-booking-call a {
    color: var(--ads2-booking-orange);
    font-size: clamp(1.5rem,3vw,2rem);
    font-weight: 900;
    text-decoration: none;
}

.ads2-booking-form-card {
    padding: 32px;
    background: var(--ads2-booking-white);
    border: 1px solid #e1e4e8;
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(18,20,26,.09);
}

.ads2-booking-form-card .wpforms-container {
    margin: 0;
}

.ads2-booking-form-card .wpforms-field {
    padding: 9px 0;
}

.ads2-booking-form-card .wpforms-field-label {
    margin-bottom: 8px;
    color: var(--ads2-booking-navy);
    font-weight: 800;
}

.ads2-booking-form-card input[type="text"],
.ads2-booking-form-card input[type="email"],
.ads2-booking-form-card input[type="tel"],
.ads2-booking-form-card input[type="date"],
.ads2-booking-form-card select,
.ads2-booking-form-card textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #cfd3da;
    border-radius: 10px;
    color: var(--ads2-booking-navy);
}

.ads2-booking-form-card textarea {
    min-height: 130px;
}

.ads2-booking-form-card input:focus,
.ads2-booking-form-card select:focus,
.ads2-booking-form-card textarea:focus {
    border-color: var(--ads2-booking-orange);
    outline: 2px solid rgba(243,116,35,.18);
    outline-offset: 1px;
}

.ads2-booking-form-card .wpforms-submit {
    min-height: 52px !important;
    padding: 13px 24px !important;
    background: var(--ads2-booking-orange) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: var(--ads2-booking-navy) !important;
    font-weight: 900 !important;
}

/* Prepare */

.ads2-booking-prepare {
    padding: 76px 0;
    background: var(--ads2-booking-white);
}

.ads2-booking-prepare-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.ads2-booking-prepare-grid article {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 16px;
    padding: 25px;
    background: var(--ads2-booking-soft);
    border: 1px solid #e2e4e8;
    border-radius: 20px;
}

.ads2-booking-prepare-grid article > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: var(--ads2-booking-orange);
    border-radius: 50%;
    font-weight: 900;
}

.ads2-booking-prepare-grid h3 {
    margin-bottom: 7px;
}

.ads2-booking-prepare-grid p {
    margin-bottom: 0;
}

/* First lesson */

.ads2-booking-first {
    padding: 72px 0;
    background: var(--ads2-booking-soft);
}

.ads2-booking-first-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(340px,.68fr);
    gap: 46px;
    align-items: center;
}

.ads2-booking-first a {
    color: var(--ads2-booking-navy);
    font-weight: 900;
}

.ads2-booking-first aside {
    padding: 30px;
    background: var(--ads2-booking-orange);
    border-radius: 20px;
}

.ads2-booking-first aside strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.ads2-booking-first aside p {
    margin-bottom: 0;
    font-weight: 700;
}

/* Links */

.ads2-booking-links {
    padding: 76px 0;
    background: var(--ads2-booking-white);
}

.ads2-booking-link-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.ads2-booking-link-grid a {
    display: block;
    padding: 26px;
    background: var(--ads2-booking-navy);
    border-radius: 20px;
    color: var(--ads2-booking-white) !important;
    text-decoration: none;
    transition: transform .2s ease;
}

.ads2-booking-link-grid a:hover {
    transform: translateY(-3px);
}

.ads2-booking-link-grid span,
.ads2-booking-link-grid strong {
    display: block;
}

.ads2-booking-link-grid span {
    margin-bottom: 10px;
    color: var(--ads2-booking-orange);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* FAQ */

.ads2-booking-faq {
    padding: 76px 0;
    background: var(--ads2-booking-soft);
}

.ads2-booking-faq-list {
    display: grid;
    gap: 14px;
    max-width: 900px;
}

.ads2-booking-faq-list details {
    overflow: hidden;
    background: var(--ads2-booking-white);
    border: 1px solid #e1e4e8;
    border-radius: 16px;
}

.ads2-booking-faq-list summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--ads2-booking-navy);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads2-booking-faq-list summary::-webkit-details-marker {
    display: none;
}

.ads2-booking-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--ads2-booking-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads2-booking-faq-list details[open] summary::after {
    content: "−";
}

.ads2-booking-faq-list details > div {
    padding: 0 24px 22px;
}

.ads2-booking-faq-list details p {
    margin-bottom: 0;
}

/* Final */

.ads2-booking-final {
    padding: 66px 0;
    background: linear-gradient(135deg,#12141a 0%,#1d212a 100%);
    color: var(--ads2-booking-white);
    border-top: 6px solid var(--ads2-booking-orange);
}

.ads2-booking-final-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 40px;
    align-items: center;
}

.ads2-booking-final h2 {
    color: var(--ads2-booking-white);
}

.ads2-booking-final p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255,255,255,.78);
}

@media (max-width: 1000px) {
    .ads2-booking-hero-grid,
    .ads2-booking-form-grid,
    .ads2-booking-first-grid,
    .ads2-booking-final-grid {
        grid-template-columns: 1fr;
    }

    .ads2-booking-form-copy {
        position: static;
    }

    .ads2-booking-benefit-grid,
    .ads2-booking-link-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .ads2-booking-prepare-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ads2-booking-container {
        width: min(100% - 28px,1180px);
    }

    .ads2-booking-hero {
        padding: 42px 0 46px;
    }

    .ads2-booking-hero h1 {
        font-size: clamp(2.55rem,13vw,4rem);
    }

    .ads2-booking-benefits,
    .ads2-booking-form-section,
    .ads2-booking-prepare,
    .ads2-booking-first,
    .ads2-booking-links,
    .ads2-booking-faq,
    .ads2-booking-final {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .ads2-booking-benefit-grid,
    .ads2-booking-link-grid {
        grid-template-columns: 1fr;
    }

    .ads2-booking-form-card {
        padding: 22px;
    }

    .ads2-booking-actions {
        flex-direction: column;
    }

    .ads2-booking-btn {
        width: 100%;
    }
}
.mobile-booking-title,
.mobile-booking-copy {
    display:none;
}

.ads2-booking-hero {
    padding:35px 0;
}

.ads2-booking-hero h1 {
    margin-bottom:12px;
    color:#f37423;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1;
}

.ads2-booking-hero p {
    max-width:750px;
    margin-bottom:0;
}


@media (max-width:650px) {

    .ads2-booking-hero {
        padding:20px 0;
        text-align:center;
    }

    .desktop-booking-title,
    .desktop-booking-copy {
        display:none;
    }

    .mobile-booking-title,
    .mobile-booking-copy {
        display:inline;
    }

    .ads2-booking-hero h1 {
        font-size:2.2rem;
        margin-bottom:8px;
    }

    .ads2-booking-hero p {
        font-size:.95rem;
    }
}
@media (max-width: 650px) {

    .ads2-booking-form-card {
        order: 1;
    }

    .ads2-booking-form-copy {
        order: 2;
        margin-top: 24px;
    }

}
/*LINK BACK TO AREAS PAGE*/


/* =========================================================
   PROMO PAGE TEMPLATE
   ========================================================= */

/* =========================================================
   PROMO LANDING PAGE
   ========================================================= */

.ads-promo-page,
.ads-promo-page * {
    box-sizing: border-box;
}

.ads-promo-page {
    overflow: hidden;
    color: #32353c;
}

.ads-promo-container {
    width: min(1380px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   HERO
   ========================================================= */

.ads-promo-hero {
    padding: 50px 0;
    background: #f5f5f5;
}

.ads-promo-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    gap: 70px;
    align-items: center;
    padding: 72px 70px;
    background: #f7f7f7;
}

.ads-promo-hero-content {
    max-width: 680px;
}

.ads-promo-kicker {
    display: inline-block;
    margin-bottom: 28px;
    padding: 9px 18px;
    border-radius: 999px;
    background: #12141a;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.ads-promo-hero h1 {
    margin: 0;
    color: #12141a;
    font-size: clamp(2.8rem, 4.8vw, 4.5rem);
    font-weight: 950;
    letter-spacing: -0.045em;
    line-height: 1.05;
}

.ads-promo-hero h1 span {
    display: block;
}

.ads-promo-hero h2 {
    margin: 4px 0 30px;
    color: #f37423;
    font-size: clamp(2.7rem, 4.6vw, 4.2rem);
    font-weight: 950;
    letter-spacing: -0.045em;
    line-height: 1;
}

.ads-promo-hero-intro {
    max-width: 650px;
    margin: 0;
    color: #53565d;
    font-size: 1.15rem;
    line-height: 1.75;
}


/* HERO PROOF */

.ads-promo-proof {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 28px;
}

.ads-promo-proof-item {
    display: block;
    min-width: 105px;
    color: #12141a;
    text-align: center;
    text-decoration: none;
}

.ads-promo-proof-item strong {
    display: block;
    color: #12141a;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1.1;
}

.ads-promo-proof-item span {
    display: block;
    margin-top: 5px;
    color: #f37423;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ads-promo-proof-divider {
    width: 1px;
    height: 42px;
    background: #d8d8d8;
}

.ads-promo-proof-link {
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.ads-promo-proof-link:hover,
.ads-promo-proof-link:focus {
    transform: translateY(-2px);
    opacity: 0.8;
}


/* HERO BUTTONS */

.ads-promo-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.ads-promo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 25px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.ads-promo-btn:hover,
.ads-promo-btn:focus {
    transform: translateY(-2px);
}

.ads-promo-btn-primary {
    background: #f37423;
    color: #ffffff;
}

.ads-promo-btn-primary:hover,
.ads-promo-btn-primary:focus {
    background: #12141a;
    color: #ffffff;
}

.ads-promo-btn-secondary {
    border-color: #12141a;
    background: transparent;
    color: #12141a;
}

.ads-promo-btn-secondary:hover,
.ads-promo-btn-secondary:focus {
    background: #12141a;
    color: #ffffff;
}


/* HERO IMAGE */

.ads-promo-hero-image {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

.ads-promo-hero-image img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
}

.ads-promo-image-label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 9px 13px;
    border-radius: 10px;
    background: rgba(18, 20, 26, 0.9);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}


/* =========================================================
   BOOKING FORM
   ========================================================= */

.ads-promo-form-section {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #f5f5f5;
}

.ads-promo-form-container {
    width: min(1100px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-promo-form-card {
    padding: clamp(30px, 5vw, 55px);
    border: 1px solid #eeeeee;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
}

.ads-promo-form-heading {
    max-width: 760px;
    margin: 0 auto 26px;
    text-align: center;
}

.ads-promo-form-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: #f37423;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads-promo-form-heading h2 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 950;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-promo-form-heading p {
    margin: 0;
    color: #666666;
    font-size: 1rem;
    line-height: 1.65;
}

.ads-promo-form-notice {
    max-width: 760px;
    margin: 0 auto 28px;
    padding: 14px 18px;
    border: 1px solid #f3d2bf;
    border-radius: 12px;
    background: #fff7f2;
    color: #12141a;
    text-align: center;
}

.ads-promo-form-wrap {
    max-width: 850px;
    margin: 0 auto;
}

.ads-promo-form-security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 25px;
    color: #666666;
    opacity: 0.8;
}

.ads-promo-form-security span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* WPFORMS */

.ads-promo-form-card .wpforms-container {
    margin: 0;
}

.ads-promo-form-card .wpforms-field {
    padding: 8px 0;
}

.ads-promo-form-card .wpforms-field-label {
    color: #12141a;
    font-weight: 800;
}

.ads-promo-form-card input,
.ads-promo-form-card select,
.ads-promo-form-card textarea {
    border: 1px solid #d8d8d8 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

.ads-promo-form-card input:focus,
.ads-promo-form-card select:focus,
.ads-promo-form-card textarea:focus {
    border-color: #f37423 !important;
    box-shadow: 0 0 0 3px rgba(243, 116, 35, 0.12) !important;
}

.ads-promo-form-card button[type="submit"] {
    min-height: 50px !important;
    padding: 12px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f37423 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.ads-promo-form-card button[type="submit"]:hover,
.ads-promo-form-card button[type="submit"]:focus {
    background: #12141a !important;
}


/* =========================================================
   SOCIAL PROOF
   ========================================================= */

.ads-promo-social-proof {
    padding: clamp(65px, 8vw, 100px) 0;
    border-top: 1px solid #eeeeee;
    background: #ffffff;
}

.ads-promo-section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-promo-section-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: #f37423;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads-promo-section-heading h2 {
    margin: 0 0 14px;
    color: #12141a;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-promo-section-heading h2 span {
    color: #f37423;
}

.ads-promo-section-heading p {
    margin: 0;
    color: #666666;
    font-size: 1rem;
    line-height: 1.65;
}


/* GOOGLE REVIEWS */

.ads-promo-google-reviews {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

.ads-promo-review-link-wrap {
    margin-top: 34px;
    text-align: center;
}

.ads-promo-text-link {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 2px solid #f37423;
    color: #12141a;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

.ads-promo-text-link:hover,
.ads-promo-text-link:focus {
    color: #f37423;
}


/* PASS CARDS */

.ads-promo-pass-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 60px;
}

.ads-promo-pass-card {
    overflow: hidden;
    border: 1px solid #f0f2f5;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(18, 20, 26, 0.08);
    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.ads-promo-pass-card:hover {
    transform: translateY(-8px);
    border-color: #f37423;
    box-shadow: 0 16px 36px rgba(243, 116, 35, 0.14);
}

.ads-promo-pass-card-image {
    height: 250px;
    overflow: hidden;
}

.ads-promo-pass-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.ads-promo-pass-card:hover img {
    transform: scale(1.04);
}

.ads-promo-pass-card-content {
    padding: 20px;
    text-align: center;
}

.ads-promo-pass-card-content h3 {
    margin: 0;
    color: #12141a;
    font-size: 1.15rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-promo-pass-card-content p {
    margin: 6px 0 0;
    color: #f37423;
    font-size: 0.88rem;
    font-weight: 800;
}


/* GALLERY LINK */

.ads-promo-gallery-link-wrap {
    margin-top: 38px;
    text-align: center;
}

.ads-promo-btn-dark {
    background: #12141a;
    color: #ffffff;
}

.ads-promo-btn-dark:hover,
.ads-promo-btn-dark:focus {
    background: #f37423;
    color: #ffffff;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.ads-promo-final-cta {
    padding: clamp(65px, 8vw, 100px) 0;
    border-top: 1px solid #eeeeee;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(243, 116, 35, 0.09),
            transparent 40%
        ),
        #ffffff;
}

.ads-promo-final-cta-inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}

.ads-promo-final-cta h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(2.1rem, 5vw, 3.5rem);
    font-weight: 950;
    letter-spacing: -0.04em;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-promo-final-cta h2 span {
    display: block;
    color: #f37423;
}

.ads-promo-final-cta p {
    max-width: 820px;
    margin: 0 auto 28px;
    color: #666666;
    font-size: 1.05rem;
    line-height: 1.7;
}

.ads-promo-final-urgency {
    display: inline-block;
    margin-bottom: 28px;
    padding: 14px 19px;
    border: 1px solid #f3d2bf;
    border-radius: 12px;
    background: #fff7f2;
    color: #12141a;
    font-weight: 800;
}

.ads-promo-final-button {
    display: flex;
    width: fit-content;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 15px 38px;
    border-radius: 999px;
    background: #f37423;
    box-shadow: 0 14px 28px rgba(243, 116, 35, 0.25);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.ads-promo-final-button:hover,
.ads-promo-final-button:focus {
    transform: translateY(-3px);
    background: #12141a;
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(18, 20, 26, 0.2);
}

.ads-promo-final-points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 24px;
    margin-top: 24px;
}

.ads-promo-final-points span {
    position: relative;
    padding-left: 17px;
    color: #777777;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ads-promo-final-points span::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #f37423;
    font-weight: 950;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {
    .ads-promo-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        padding: 55px 40px;
    }

    .ads-promo-hero-image img {
        height: 470px;
    }
}

@media (max-width: 850px) {
    .ads-promo-pass-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {
    .ads-promo-container {
        width: min(100% - 24px, 1380px);
    }

    .ads-promo-hero {
        padding: 20px 0;
    }

    .ads-promo-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 38px 24px;
    }

    .ads-promo-hero-content {
        order: 1;
    }

    .ads-promo-hero-image {
        order: 2;
    }

    .ads-promo-hero-image img {
        height: auto;
        max-height: 420px;
    }

    .ads-promo-image-label {
        left: 9px;
        bottom: 9px;
        padding: 8px 10px;
        font-size: 0.64rem;
    }

    .ads-promo-kicker {
        margin-bottom: 20px;
    }

    .ads-promo-hero-actions {
        flex-direction: column;
    }

    .ads-promo-btn {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .ads-promo-form-container {
        width: min(100% - 24px, 1100px);
    }

    .ads-promo-form-section {
        padding: 48px 0;
    }

    .ads-promo-form-card {
        padding: 28px 18px;
        border-radius: 16px;
    }

    .ads-promo-form-security {
        align-items: flex-start;
        text-align: center;
    }

    .ads-promo-social-proof {
        padding: 52px 0;
    }

    .ads-promo-pass-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 44px;
    }

    .ads-promo-pass-card-image {
        height: auto;
        max-height: 360px;
    }

    .ads-promo-pass-card-image img {
        aspect-ratio: 4 / 3;
    }

    .ads-promo-final-cta {
        padding: 55px 0;
    }

    .ads-promo-final-cta-inner {
        width: min(100% - 28px, 1180px);
    }

    .ads-promo-final-button {
        width: 100%;
        padding-right: 20px;
        padding-left: 20px;
    }

    .ads-promo-final-points {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}
.ads-promo-social-proof,
.ads-promo-areas,
.ads-promo-final-cta {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
}
/* =========================================================
   PROMO AREAS COVERED
   ========================================================= */

.ads-promo-areas {
    padding: clamp(55px, 7vw, 85px) 0;
    border-top: 1px solid #eeeeee;
    background: #ffffff;
}

.ads-promo-areas-heading {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.ads-promo-areas-heading h2 {
    margin: 0 0 14px;
    color: #12141a;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-promo-areas-heading h2 span {
    color: #f37423;
}

.ads-promo-areas-heading p {
    margin: 0;
    color: #666666;
    font-size: 1rem;
    line-height: 1.65;
}

.ads-promo-area-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 1050px;
    margin: 0 auto;
}

.ads-promo-area-pills span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 18px;
    border: 1px solid #eeeeee;
    border-radius: 999px;
    background: #f4f6f8;
    color: #12141a;
    font-size: 0.82rem;
    font-weight: 800;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.ads-promo-area-pills span:hover {
    transform: translateY(-2px);
    border-color: #12141a;
    background: #12141a;
    color: #ffffff;
}

@media (max-width: 600px) {
    .ads-promo-areas {
        padding: 50px 0;
    }

    .ads-promo-area-pills {
        gap: 9px;
    }

    .ads-promo-area-pills span {
        padding: 8px 14px;
        font-size: 0.75rem;
    }
}
/* =========================================================
   PROMO TEMPLATE HEADER
   ========================================================= */

.ads-promo-template-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ads-promo-header {
    position: relative;
    z-index: 50;
    width: 100%;
    border-bottom: 3px solid #f37423;
    background: #12141a;
}

.ads-promo-header-inner {
    display: flex;
    width: min(1380px, calc(100% - 40px));
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
}

.ads-promo-header-logo {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 950;
    letter-spacing: -0.04em;
    text-decoration: none;
}

.ads-promo-header-logo span {
    color: #f37423;
}

.ads-promo-header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ads-promo-header-phone {
    color: #ffffff;
    font-weight: 900;
    text-decoration: none;
}

.ads-promo-header-phone::before {
    content: "☎";
    margin-right: 7px;
    color: #f37423;
}

.ads-promo-header-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 11px 23px;
    border-radius: 999px;
    background: #f37423;
    box-shadow: 0 10px 22px rgba(243, 116, 35, 0.25);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.ads-promo-header-button:hover,
.ads-promo-header-button:focus {
    transform: translateY(-2px);
    background: #ffffff;
    color: #12141a;
}

@media (max-width: 700px) {
    .ads-promo-header-inner {
        width: min(100% - 28px, 1380px);
        min-height: 68px;
    }

    .ads-promo-header-logo {
        font-size: 1.12rem;
    }

    .ads-promo-header-phone {
        display: none;
    }

    .ads-promo-header-button {
        padding: 9px 14px;
        font-size: 0.66rem;
    }
}
/* =========================================================
   PROMO TEMPLATE FOOTER
   ========================================================= */

.ads-promo-footer {
    padding: 52px 0;
    border-top: 4px solid #f37423;
    background: #12141a;
    color: #ffffff;
}

.ads-promo-footer-inner {
    width: min(1100px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}

.ads-promo-footer-brand {
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 1.65rem;
    font-weight: 950;
    letter-spacing: -0.04em;
}

.ads-promo-footer-brand span {
    color: #f37423;
}

.ads-promo-footer p {
    max-width: 620px;
    margin: 0 auto 22px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.65;
}

.ads-promo-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 26px;
    margin-bottom: 24px;
}

.ads-promo-footer-links a {
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ads-promo-footer-links a:hover,
.ads-promo-footer-links a:focus {
    color: #f37423;
}

.ads-promo-footer-copy {
    margin-bottom: 0 !important;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


/* MOBILE */

@media (max-width: 700px) {
    .ads-promo-footer {
        padding: 42px 0;
    }

    .ads-promo-footer-inner {
        width: min(100% - 28px, 1100px);
    }

    .ads-promo-footer-brand {
        font-size: 1.35rem;
    }

    .ads-promo-footer-links {
        flex-direction: column;
        gap: 12px;
    }
}

/*SUCCESS PAGE STYLING*/
/* =========================================================
   TELFORD SUCCESS PAGE
   ========================================================= */

.ads-success-page,
.ads-success-page * {
    box-sizing: border-box;
}

.ads-success-page {
    overflow: hidden;
    color: #32353c;
}

.ads-success-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


.ads-success-hero {
    padding: clamp(70px, 9vw, 120px) 0;
    border-bottom: 6px solid #f37423;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(243, 116, 35, 0.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #12141a 0%,
            #1c1f27 65%,
            #292d36 100%
        );
    color: #ffffff;
    text-align: center;
}

.ads-success-hero .ads-success-container {
    max-width: 850px;
}

.ads-success-icon {
    display: flex;
    width: 78px;
    height: 78px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: #f37423;
    box-shadow: 0 14px 30px rgba(243, 116, 35, 0.3);
    color: #ffffff;
    font-size: 2.4rem;
    font-weight: 950;
}

.ads-success-kicker,
.ads-success-section-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: #f37423;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ads-success-hero h1 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(2.8rem, 7vw, 5rem);
    font-weight: 950;
    letter-spacing: -0.045em;
    line-height: 1;
    text-transform: uppercase;
}

.ads-success-intro {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.05rem, 2vw, 1.22rem);
    line-height: 1.75;
}

.ads-success-notice {
    max-width: 680px;
    margin: 28px auto 0;
    padding: 15px 20px;
    border: 1px solid rgba(243, 116, 35, 0.45);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.ads-success-primary-button,
.ads-success-secondary-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.ads-success-primary-button {
    margin-top: 28px;
    background: #f37423;
    color: #ffffff;
}

.ads-success-primary-button:hover,
.ads-success-primary-button:focus {
    transform: translateY(-2px);
    background: #ffffff;
    color: #12141a;
}


/* GUIDES */

.ads-success-guides {
    padding: clamp(65px, 8vw, 100px) 0;
    background: #f5f5f5;
}

.ads-success-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.ads-success-heading h2 {
    margin: 0 0 14px;
    color: #12141a;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-success-heading p {
    margin: 0;
    color: #666666;
    line-height: 1.65;
}

.ads-success-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.ads-success-guide-card {
    display: block;
    padding: 30px;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(18, 20, 26, 0.07);
    color: inherit;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.ads-success-guide-card:hover,
.ads-success-guide-card:focus {
    transform: translateY(-7px);
    border-color: #f37423;
    box-shadow: 0 16px 36px rgba(243, 116, 35, 0.13);
}

.ads-success-guide-icon {
    display: block;
    margin-bottom: 18px;
    font-size: 2rem;
}

.ads-success-guide-card h3 {
    margin: 0 0 12px;
    color: #12141a;
    font-size: 1.35rem;
    font-weight: 900;
}

.ads-success-guide-card p {
    margin: 0 0 18px;
    color: #666666;
    line-height: 1.65;
}

.ads-success-guide-card strong {
    color: #f37423;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
}


/* FINAL SECTION */

.ads-success-final {
    padding: clamp(65px, 8vw, 95px) 0;
    background: #ffffff;
}

.ads-success-final-inner {
    width: min(850px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}

.ads-success-final h2 {
    margin: 0 0 18px;
    color: #12141a;
    font-size: clamp(2.1rem, 5vw, 3.5rem);
    font-weight: 950;
    letter-spacing: -0.04em;
    line-height: 1.05;
    text-transform: uppercase;
}

.ads-success-final h2 span {
    display: block;
    color: #f37423;
}

.ads-success-final p {
    max-width: 680px;
    margin: 0 auto;
    color: #666666;
    font-size: 1.05rem;
    line-height: 1.7;
}

.ads-success-final-points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 24px;
    margin-top: 26px;
}

.ads-success-final-points span {
    position: relative;
    padding-left: 18px;
    color: #555555;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ads-success-final-points span::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #f37423;
}

.ads-success-secondary-button {
    margin-top: 30px;
    border: 2px solid #12141a;
    background: #ffffff;
    color: #12141a;
}

.ads-success-secondary-button:hover,
.ads-success-secondary-button:focus {
    transform: translateY(-2px);
    background: #12141a;
    color: #ffffff;
}


/* RESPONSIVE */

@media (max-width: 850px) {
    .ads-success-guide-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .ads-success-container,
    .ads-success-final-inner {
        width: min(100% - 28px, 1180px);
    }

    .ads-success-hero {
        padding: 60px 0;
    }

    .ads-success-icon {
        width: 66px;
        height: 66px;
        font-size: 2rem;
    }

    .ads-success-primary-button,
    .ads-success-secondary-button {
        width: 100%;
    }

    .ads-success-guide-card {
        padding: 25px 22px;
    }

    .ads-success-final-points {
        flex-direction: column;
        align-items: center;
    }
}
/* =========================================================
   DRIVING SCHOOL REVIEWS PAGE
   ========================================================= */
.ads-reviews-page {
    --reviews-navy: #12141a;
    --reviews-orange: #f37423;
    --reviews-white: #ffffff;
    --reviews-light: #f5f6f8;
    --reviews-grey: #d7d9df;
    overflow: hidden;
    color: #343842;
}

.ads-reviews-page *,
.ads-reviews-page *::before,
.ads-reviews-page *::after {
    box-sizing: border-box;
}

.ads-reviews-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-reviews-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--reviews-orange);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-reviews-section-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.ads-reviews-section-heading h2 {
    margin: 0 0 18px;
    color: var(--reviews-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.ads-reviews-section-heading p {
    margin: 0;
    line-height: 1.75;
}


.ads-reviews-hero {
    position: relative;
    padding: 110px 0 125px;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 20%, rgba(243, 116, 35, 0.26), transparent 30%),
        linear-gradient(135deg, #12141a 0%, #20242d 100%);
    color: var(--reviews-white);
}

.ads-reviews-hero::after {
    content: "";
    position: absolute;
    right: -5%;
    bottom: -75px;
    left: -5%;
    height: 120px;
    background: var(--reviews-white);
    transform: rotate(-2deg);
}

.ads-reviews-hero-content {
    position: relative;
    z-index: 2;
    max-width: 820px;
}

.ads-reviews-hero h1 {
    margin: 0 0 24px;
    color: var(--reviews-white);
    font-size: clamp(3.2rem, 7vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads-reviews-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.75;
}

.ads-reviews-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}


/* BUTTONS */

.ads-reviews-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 23px;
    border: 2px solid transparent;
    border-radius: 6px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.ads-reviews-btn:hover {
    transform: translateY(-2px);
}

.ads-reviews-btn-primary {
    background: var(--reviews-orange);
    color: var(--reviews-white);
}

.ads-reviews-btn-primary:hover {
    background: #d96117;
    color: var(--reviews-white);
}

.ads-reviews-btn-secondary {
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--reviews-white);
}

.ads-reviews-btn-secondary:hover {
    border-color: var(--reviews-white);
    color: var(--reviews-white);
}


/* STATS */

.ads-reviews-stats {
    position: relative;
    z-index: 3;
    padding: 0 0 85px;
    background: var(--reviews-white);
}

.ads-reviews-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ads-reviews-stat {
    padding: 28px;
    border: 1px solid var(--reviews-grey);
    border-radius: 10px;
    background: var(--reviews-white);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.08);
}

.ads-reviews-stat strong,
.ads-reviews-count {
    display: block;
    margin-bottom: 8px;
    color: var(--reviews-navy);
    font-size: 1.25rem;
    font-weight: 850;
}

.ads-reviews-stat-main {
    border-top: 5px solid var(--reviews-orange);
}

.ads-reviews-count {
    color: var(--reviews-orange);
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    line-height: 1;
}

.ads-reviews-stat span {
    color: #626771;
    line-height: 1.55;
}


/* WIDGET */

.ads-reviews-widget-section {
    padding: 90px 0;
    background: var(--reviews-light);
}

.ads-reviews-widget-wrap {
    min-height: 300px;
    padding: 28px;
    border-radius: 14px;
    background: var(--reviews-white);
    box-shadow: 0 16px 42px rgba(18, 20, 26, 0.08);
}


/* REASONS */

.ads-reviews-reasons {
    padding: 90px 0;
    background: var(--reviews-white);
}

.ads-reviews-reasons-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.ads-reviews-reason-card {
    padding: 30px 26px;
    border: 1px solid var(--reviews-grey);
    border-top: 5px solid var(--reviews-orange);
    border-radius: 9px;
    background: var(--reviews-white);
}

.ads-reviews-reason-card > span {
    display: block;
    margin-bottom: 14px;
    font-size: 2rem;
}

.ads-reviews-reason-card h3 {
    margin: 0 0 12px;
    color: var(--reviews-navy);
    font-size: 1.3rem;
}

.ads-reviews-reason-card p {
    margin: 0;
    line-height: 1.7;
}


/* PASSERS */

.ads-reviews-passes {
    padding: 85px 0;
    background: var(--reviews-light);
}

.ads-reviews-passes-panel {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 45px;
    align-items: center;
    padding: 52px;
    border-radius: 14px;
    background: var(--reviews-navy);
}

.ads-reviews-passes-panel h2 {
    margin: 0 0 16px;
    color: var(--reviews-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-reviews-passes-panel p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
}


/* LEAVE REVIEW */

.ads-reviews-leave {
    padding: 80px 0;
    background: var(--reviews-white);
}

.ads-reviews-leave-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 45px;
    align-items: center;
}

.ads-reviews-leave h2 {
    margin: 0 0 14px;
    color: var(--reviews-navy);
    font-size: clamp(2rem, 4vw, 3rem);
}

.ads-reviews-leave p {
    max-width: 720px;
    margin: 0;
    line-height: 1.7;
}


/* FINAL CTA */

.ads-reviews-final {
    padding: 72px 0;
    background: var(--reviews-orange);
    color: var(--reviews-white);
}

.ads-reviews-final-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 45px;
    align-items: center;
}

.ads-reviews-final .ads-reviews-kicker {
    color: var(--reviews-navy);
}

.ads-reviews-final h2 {
    margin: 0 0 14px;
    color: var(--reviews-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-reviews-final p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
}

.ads-reviews-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ads-reviews-btn-dark {
    background: var(--reviews-navy);
    color: var(--reviews-white);
}

.ads-reviews-btn-light {
    border-color: var(--reviews-white);
    color: var(--reviews-white);
}


/* TABLET */

@media (max-width: 920px) {

    .ads-reviews-stats-grid,
    .ads-reviews-reasons-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ads-reviews-passes-panel,
    .ads-reviews-leave-inner,
    .ads-reviews-final-inner {
        grid-template-columns: 1fr;
    }
}


/* MOBILE */

@media (max-width: 650px) {

    .ads-reviews-container {
        width: min(100% - 28px, 1180px);
    }

    .ads-reviews-hero {
        padding: 75px 0 105px;
    }

    .ads-reviews-hero h1 {
        font-size: clamp(2.8rem, 14vw, 4.2rem);
    }

    .ads-reviews-hero-actions,
    .ads-reviews-final-actions {
        display: grid;
    }

    .ads-reviews-btn {
        width: 100%;
    }

    .ads-reviews-stats {
        padding-bottom: 60px;
    }

    .ads-reviews-stats-grid,
    .ads-reviews-reasons-grid {
        grid-template-columns: 1fr;
    }

    .ads-reviews-widget-section,
    .ads-reviews-reasons,
    .ads-reviews-passes,
    .ads-reviews-leave {
        padding: 65px 0;
    }

    .ads-reviews-widget-wrap {
        padding: 14px;
    }

    .ads-reviews-passes-panel {
        padding: 34px 24px;
    }
}
/* =========================================================
   REVIEWS PAGE: LEAVE REVIEW + FINAL CTA
   ========================================================= */

.ads-reviews-leave {
    padding: 80px 0;
    background: #ffffff;
}

.ads-reviews-leave-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: center;
}

.ads-reviews-leave h2 {
    margin: 0 0 16px;
    color: #12141a;
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    line-height: 1.05;
}

.ads-reviews-leave p {
    max-width: 760px;
    margin: 0;
    color: #4d525c;
    font-size: 1.05rem;
    line-height: 1.75;
}

.ads-reviews-leave-actions {
    display: flex;
    justify-content: flex-end;
}


/* FINAL CTA */

.ads-reviews-final {
    padding: 72px 0;
    background: #f37423;
    color: #ffffff;
}

.ads-reviews-final-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: center;
}

.ads-reviews-final .ads-reviews-kicker {
    color: #12141a;
}

.ads-reviews-final h2 {
    max-width: 760px;
    margin: 0 0 16px;
    color: #ffffff;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.05;
}

.ads-reviews-final p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.7;
}

.ads-reviews-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 14px;
}

.ads-reviews-btn-dark {
    background: #12141a;
    color: #ffffff;
}

.ads-reviews-btn-dark:hover {
    background: #282c36;
    color: #ffffff;
}

.ads-reviews-btn-light {
    border: 2px solid #ffffff;
    background: transparent;
    color: #ffffff;
}

.ads-reviews-btn-light:hover {
    background: #ffffff;
    color: #12141a;
}


/* TABLET + MOBILE */

@media (max-width: 900px) {

    .ads-reviews-leave-inner,
    .ads-reviews-final-inner {
        grid-template-columns: 1fr;
    }

    .ads-reviews-leave-actions,
    .ads-reviews-final-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {

    .ads-reviews-leave,
    .ads-reviews-final {
        padding: 58px 0;
    }

    .ads-reviews-leave-actions,
    .ads-reviews-final-actions {
        display: grid;
        width: 100%;
    }

    .ads-reviews-leave-actions .ads-reviews-btn,
    .ads-reviews-final-actions .ads-reviews-btn {
        width: 100%;
    }
}
/* =========================================================
   LEARNING TO DRIVE WITH PARENTS
   ========================================================= */

.ads-parent-guide-page {
    --parent-navy: #12141a;
    --parent-orange: #f37423;
    --parent-white: #ffffff;
    --parent-light: #f5f6f8;
    --parent-grey: #d7d9df;
    overflow: hidden;
    color: #343842;
}

.ads-parent-guide-page *,
.ads-parent-guide-page *::before,
.ads-parent-guide-page *::after {
    box-sizing: border-box;
}

.ads-parent-guide-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-parent-guide-narrow {
    width: min(880px, calc(100% - 40px));
}

.ads-parent-guide-section {
    padding: 88px 0;
}

.ads-parent-guide-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--parent-orange);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-parent-guide-section-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.ads-parent-guide-section-heading h2 {
    margin: 0 0 18px;
    color: var(--parent-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.ads-parent-guide-section-heading p {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.75;
}


.ads-parent-guide-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 120px;
    background:
        radial-gradient(circle at 84% 18%, rgba(243, 116, 35, 0.25), transparent 30%),
        linear-gradient(135deg, #12141a 0%, #20242d 100%);
    color: var(--parent-white);
}

.ads-parent-guide-hero::after {
    content: "";
    position: absolute;
    right: -5%;
    bottom: -75px;
    left: -5%;
    height: 118px;
    background: var(--parent-white);
    transform: rotate(-2deg);
}

.ads-parent-guide-hero-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
}

.ads-parent-guide-hero h1 {
    max-width: 900px;
    margin: 0 0 24px;
    color: var(--parent-white);
    font-size: clamp(3rem, 7vw, 5.6rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads-parent-guide-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.05rem, 2vw, 1.24rem);
    line-height: 1.75;
}

.ads-parent-guide-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.ads-parent-guide-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.ads-parent-guide-hero-pills span {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    font-weight: 700;
}


/* BUTTONS */

.ads-parent-guide-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 23px;
    border: 2px solid transparent;
    border-radius: 6px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.ads-parent-guide-btn:hover {
    transform: translateY(-2px);
}

.ads-parent-guide-btn-primary {
    background: var(--parent-orange);
    color: var(--parent-white);
}

.ads-parent-guide-btn-primary:hover {
    background: #d96117;
    color: var(--parent-white);
}

.ads-parent-guide-btn-secondary {
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--parent-white);
}

.ads-parent-guide-btn-secondary:hover {
    border-color: var(--parent-white);
    color: var(--parent-white);
}


/* LEGAL CHECKLIST */

.ads-parent-guide-legal {
    background: var(--parent-white);
}

.ads-parent-guide-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ads-parent-guide-check-card {
    padding: 30px;
    border: 1px solid var(--parent-grey);
    border-top: 5px solid var(--parent-orange);
    border-radius: 10px;
    background: var(--parent-white);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.07);
}

.ads-parent-guide-check-card h3 {
    margin: 0 0 18px;
    color: var(--parent-navy);
    font-size: 1.4rem;
}

.ads-parent-guide-check-card ul {
    margin: 0;
    padding-left: 20px;
}

.ads-parent-guide-check-card li {
    margin-bottom: 11px;
    line-height: 1.55;
}

.ads-parent-guide-warning {
    margin-top: 28px;
    padding: 24px 26px;
    border-left: 6px solid var(--parent-orange);
    background: #fff3ea;
}

.ads-parent-guide-warning strong {
    display: block;
    margin-bottom: 8px;
    color: var(--parent-navy);
}

.ads-parent-guide-warning p {
    margin: 0;
    line-height: 1.7;
}


/* SUPPORT CARDS */

.ads-parent-guide-support {
    background: var(--parent-light);
}

.ads-parent-guide-support-grid,
.ads-parent-guide-mistakes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-parent-guide-support-card,
.ads-parent-guide-mistake-card {
    padding: 28px;
    border: 1px solid var(--parent-grey);
    border-radius: 9px;
    background: var(--parent-white);
}

.ads-parent-guide-support-card h3,
.ads-parent-guide-mistake-card h3 {
    margin: 0 0 12px;
    color: var(--parent-navy);
    font-size: 1.25rem;
}

.ads-parent-guide-support-card p,
.ads-parent-guide-mistake-card p {
    margin: 0;
    line-height: 1.7;
}


/* PRACTICE PLAN */

.ads-parent-guide-plan {
    background: var(--parent-white);
}

.ads-parent-guide-plan-panel {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 55px;
    align-items: start;
    padding: 52px;
    border-radius: 14px;
    background: var(--parent-navy);
    color: var(--parent-white);
}

.ads-parent-guide-plan-panel h2 {
    margin: 0 0 16px;
    color: var(--parent-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-parent-guide-plan-panel p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-parent-guide-steps {
    display: grid;
    gap: 16px;
    margin: 0;
    padding-left: 22px;
}

.ads-parent-guide-steps li {
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-parent-guide-steps strong,
.ads-parent-guide-steps span {
    display: block;
}

.ads-parent-guide-steps strong {
    margin-bottom: 5px;
    color: var(--parent-white);
}

.ads-parent-guide-steps span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.55;
}


/* MISTAKES */

.ads-parent-guide-mistakes {
    background: var(--parent-light);
}


/* VEHICLE PANEL */

.ads-parent-guide-vehicle {
    background: var(--parent-white);
}

.ads-parent-guide-vehicle-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    align-items: center;
    padding: 50px;
    border-radius: 14px;
    background: var(--parent-navy);
    color: var(--parent-white);
}

.ads-parent-guide-vehicle-panel h2 {
    margin: 0 0 18px;
    color: var(--parent-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-parent-guide-vehicle-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-parent-guide-vehicle-list {
    display: grid;
    gap: 14px;
}

.ads-parent-guide-vehicle-list > div {
    padding: 18px 20px;
    border-left: 4px solid var(--parent-orange);
    background: rgba(255, 255, 255, 0.07);
}

.ads-parent-guide-vehicle-list strong,
.ads-parent-guide-vehicle-list span {
    display: block;
}

.ads-parent-guide-vehicle-list strong {
    margin-bottom: 5px;
    color: var(--parent-white);
}

.ads-parent-guide-vehicle-list span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}


/* ROADS */

.ads-parent-guide-roads {
    background: var(--parent-light);
}

.ads-parent-guide-roads-grid {
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    gap: 45px;
    align-items: center;
}

.ads-parent-guide-roads h2 {
    margin: 0 0 18px;
    color: var(--parent-navy);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-parent-guide-roads p {
    line-height: 1.75;
}

.ads-parent-guide-road-warning {
    padding: 30px;
    border-top: 6px solid var(--parent-orange);
    background: var(--parent-white);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.08);
}

.ads-parent-guide-road-warning strong {
    display: block;
    margin-bottom: 10px;
    color: var(--parent-navy);
    font-size: 1.25rem;
}

.ads-parent-guide-road-warning p {
    margin: 0;
}


/* FAQ */

.ads-parent-guide-faq {
    background: var(--parent-white);
}

.ads-parent-guide-faq-list {
    display: grid;
    gap: 14px;
}

.ads-parent-guide-faq-item {
    border: 1px solid var(--parent-grey);
    border-radius: 8px;
    background: var(--parent-white);
    box-shadow: 0 9px 24px rgba(18, 20, 26, 0.05);
}

.ads-parent-guide-faq-item summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--parent-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-parent-guide-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-parent-guide-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--parent-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads-parent-guide-faq-item[open] summary::after {
    content: "−";
}

.ads-parent-guide-faq-answer {
    padding: 0 24px 22px;
}

.ads-parent-guide-faq-answer p {
    margin: 0;
    line-height: 1.75;
}


/* FINAL CTA */

.ads-parent-guide-final {
    padding: 72px 0;
    background: var(--parent-orange);
    color: var(--parent-white);
}

.ads-parent-guide-final-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 50px;
    align-items: center;
}

.ads-parent-guide-final .ads-parent-guide-kicker {
    color: var(--parent-navy);
}

.ads-parent-guide-final h2 {
    margin: 0 0 14px;
    color: var(--parent-white);
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.ads-parent-guide-final p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
}

.ads-parent-guide-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ads-parent-guide-btn-dark {
    background: var(--parent-navy);
    color: var(--parent-white);
}

.ads-parent-guide-btn-light {
    border-color: var(--parent-white);
    color: var(--parent-white);
}


/* TABLET */

@media (max-width: 920px) {

    .ads-parent-guide-check-grid,
    .ads-parent-guide-support-grid,
    .ads-parent-guide-mistakes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-parent-guide-plan-panel,
    .ads-parent-guide-vehicle-panel,
    .ads-parent-guide-roads-grid,
    .ads-parent-guide-final-inner {
        grid-template-columns: 1fr;
    }
}


/* MOBILE */

@media (max-width: 650px) {

    .ads-parent-guide-container,
    .ads-parent-guide-narrow {
        width: min(100% - 28px, 1180px);
    }

    .ads-parent-guide-section {
        padding: 64px 0;
    }

    .ads-parent-guide-hero {
        padding: 75px 0 105px;
    }

    .ads-parent-guide-hero h1 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .ads-parent-guide-hero-actions,
    .ads-parent-guide-final-actions {
        display: grid;
    }

    .ads-parent-guide-btn {
        width: 100%;
    }

    .ads-parent-guide-check-grid,
    .ads-parent-guide-support-grid,
    .ads-parent-guide-mistakes-grid {
        grid-template-columns: 1fr;
    }

    .ads-parent-guide-plan-panel,
    .ads-parent-guide-vehicle-panel {
        padding: 32px 22px;
    }

    .ads-parent-guide-final {
        padding: 58px 0;
    }
}
.ads-parent-guide-section,
.ads-parent-guide-final {
    --parent-navy: #12141a;
    --parent-orange: #f37423;
    --parent-white: #ffffff;
    --parent-light: #f5f6f8;
    --parent-grey: #d7d9df;
    color: #343842;
}
.ads-parent-guide-section *,
.ads-parent-guide-section *::before,
.ads-parent-guide-section *::after,
.ads-parent-guide-final *,
.ads-parent-guide-final *::before,
.ads-parent-guide-final *::after {
    box-sizing: border-box;
}
/* =========================================================
   HOW TO FIND A GOOD DRIVING INSTRUCTOR
   ========================================================= */

.ads-instructor-guide-page,
.ads-instructor-guide-section,
.ads-instructor-guide-final {
    --instructor-navy: #12141a;
    --instructor-orange: #f37423;
    --instructor-white: #ffffff;
    --instructor-light: #f5f6f8;
    --instructor-grey: #d7d9df;
    color: #343842;
}

.ads-instructor-guide-page *,
.ads-instructor-guide-page *::before,
.ads-instructor-guide-page *::after,
.ads-instructor-guide-section *,
.ads-instructor-guide-section *::before,
.ads-instructor-guide-section *::after,
.ads-instructor-guide-final *,
.ads-instructor-guide-final *::before,
.ads-instructor-guide-final *::after {
    box-sizing: border-box;
}

.ads-instructor-guide-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-instructor-guide-narrow {
    width: min(880px, calc(100% - 40px));
}

.ads-instructor-guide-section {
    padding: 88px 0;
}

.ads-instructor-guide-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--instructor-orange);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-instructor-guide-section-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.ads-instructor-guide-section-heading h2 {
    margin: 0 0 18px;
    color: var(--instructor-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.ads-instructor-guide-section-heading p {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.75;
}


.ads-instructor-guide-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 120px;
    background:
        radial-gradient(circle at 84% 18%, rgba(243, 116, 35, 0.25), transparent 30%),
        linear-gradient(135deg, #12141a 0%, #20242d 100%);
    color: var(--instructor-white);
}

.ads-instructor-guide-hero::after {
    content: "";
    position: absolute;
    right: -5%;
    bottom: -75px;
    left: -5%;
    height: 118px;
    background: var(--instructor-white);
    transform: rotate(-2deg);
}

.ads-instructor-guide-hero-content {
    position: relative;
    z-index: 2;
    max-width: 880px;
}

.ads-instructor-guide-hero h1 {
    max-width: 920px;
    margin: 0 0 24px;
    color: var(--instructor-white);
    font-size: clamp(3rem, 7vw, 5.6rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads-instructor-guide-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.05rem, 2vw, 1.24rem);
    line-height: 1.75;
}

.ads-instructor-guide-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.ads-instructor-guide-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.ads-instructor-guide-hero-pills span {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    font-weight: 700;
}


/* BUTTONS */

.ads-instructor-guide-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 23px;
    border: 2px solid transparent;
    border-radius: 6px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.ads-instructor-guide-btn:hover {
    transform: translateY(-2px);
}

.ads-instructor-guide-btn-primary {
    background: var(--instructor-orange);
    color: var(--instructor-white);
}

.ads-instructor-guide-btn-primary:hover {
    background: #d96117;
    color: var(--instructor-white);
}

.ads-instructor-guide-btn-secondary {
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--instructor-white);
}

.ads-instructor-guide-btn-secondary:hover {
    border-color: var(--instructor-white);
    color: var(--instructor-white);
}


/* SEVEN-POINT CHECKLIST */

.ads-instructor-guide-checklist {
    background: var(--instructor-white);
}

.ads-instructor-guide-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-instructor-guide-check-card {
    position: relative;
    padding: 32px 28px 28px;
    border: 1px solid var(--instructor-grey);
    border-top: 5px solid var(--instructor-orange);
    border-radius: 10px;
    background: var(--instructor-white);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.07);
}

.ads-instructor-guide-check-card:last-child {
    grid-column: 2;
}

.ads-instructor-guide-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: var(--instructor-orange);
    color: var(--instructor-white);
    font-weight: 900;
}

.ads-instructor-guide-check-card h3 {
    margin: 0 0 12px;
    color: var(--instructor-navy);
    font-size: 1.3rem;
    line-height: 1.25;
}

.ads-instructor-guide-check-card p {
    margin: 0;
    line-height: 1.7;
}


/* BADGES */

.ads-instructor-guide-badges {
    background: var(--instructor-light);
}

.ads-instructor-guide-badge-panel {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 50px;
    align-items: center;
    padding: 52px;
    border-radius: 14px;
    background: var(--instructor-navy);
    color: var(--instructor-white);
}

.ads-instructor-guide-badge-panel h2 {
    margin: 0 0 18px;
    color: var(--instructor-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-instructor-guide-badge-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-instructor-guide-badge-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ads-instructor-guide-badge-card {
    padding: 24px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.07);
}

.ads-instructor-guide-badge-card h3 {
    margin: 14px 0 10px;
    color: var(--instructor-white);
    font-size: 1.25rem;
}

.ads-instructor-guide-badge-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

.ads-instructor-guide-badge-colour {
    display: inline-block;
    padding: 7px 11px;
    border-radius: 999px;
    color: #12141a;
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ads-instructor-guide-badge-green {
    background: #78c88a;
}

.ads-instructor-guide-badge-pink {
    background: #f2a7c4;
}


/* QUESTIONS */

.ads-instructor-guide-questions {
    background: var(--instructor-white);
}

.ads-instructor-guide-question-grid,
.ads-instructor-guide-red-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-instructor-guide-question-card,
.ads-instructor-guide-red-card {
    padding: 28px;
    border: 1px solid var(--instructor-grey);
    border-radius: 9px;
    background: var(--instructor-white);
}

.ads-instructor-guide-question-card h3,
.ads-instructor-guide-red-card h3 {
    margin: 0 0 12px;
    color: var(--instructor-navy);
    font-size: 1.25rem;
}

.ads-instructor-guide-question-card p,
.ads-instructor-guide-red-card p {
    margin: 0;
    line-height: 1.7;
}


/* RED FLAGS */

.ads-instructor-guide-red-flags {
    background: var(--instructor-light);
}

.ads-instructor-guide-red-card {
    border-top: 5px solid var(--instructor-orange);
}


/* VALUE */

.ads-instructor-guide-value {
    background: var(--instructor-white);
}

.ads-instructor-guide-value-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    align-items: center;
    padding: 50px;
    border-radius: 14px;
    background: var(--instructor-navy);
    color: var(--instructor-white);
}

.ads-instructor-guide-value-panel h2 {
    margin: 0 0 18px;
    color: var(--instructor-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-instructor-guide-value-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-instructor-guide-value-list {
    display: grid;
    gap: 14px;
}

.ads-instructor-guide-value-list > div {
    padding: 18px 20px;
    border-left: 4px solid var(--instructor-orange);
    background: rgba(255, 255, 255, 0.07);
}

.ads-instructor-guide-value-list strong,
.ads-instructor-guide-value-list span {
    display: block;
}

.ads-instructor-guide-value-list strong {
    margin-bottom: 5px;
    color: var(--instructor-white);
}

.ads-instructor-guide-value-list span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}


/* REVIEWS PANEL */

.ads-instructor-guide-reviews {
    background: var(--instructor-light);
}

.ads-instructor-guide-reviews-panel {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 48px;
    align-items: center;
}

.ads-instructor-guide-reviews-panel h2 {
    margin: 0 0 18px;
    color: var(--instructor-navy);
    font-size: clamp(2rem, 4vw, 3.1rem);
}

.ads-instructor-guide-reviews-panel p {
    line-height: 1.75;
}

.ads-instructor-guide-review-points {
    display: grid;
    gap: 14px;
}

.ads-instructor-guide-review-points > div {
    padding: 20px;
    border-left: 5px solid var(--instructor-orange);
    background: var(--instructor-white);
    box-shadow: 0 10px 28px rgba(18, 20, 26, 0.06);
}

.ads-instructor-guide-review-points strong,
.ads-instructor-guide-review-points span {
    display: block;
}

.ads-instructor-guide-review-points strong {
    margin-bottom: 5px;
    color: var(--instructor-navy);
}

.ads-instructor-guide-review-points span {
    line-height: 1.55;
}


/* FAQ */

.ads-instructor-guide-faq {
    background: var(--instructor-white);
}

.ads-instructor-guide-faq-list {
    display: grid;
    gap: 14px;
}

.ads-instructor-guide-faq-item {
    border: 1px solid var(--instructor-grey);
    border-radius: 8px;
    background: var(--instructor-white);
    box-shadow: 0 9px 24px rgba(18, 20, 26, 0.05);
}

.ads-instructor-guide-faq-item summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--instructor-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-instructor-guide-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-instructor-guide-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--instructor-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads-instructor-guide-faq-item[open] summary::after {
    content: "−";
}

.ads-instructor-guide-faq-answer {
    padding: 0 24px 22px;
}

.ads-instructor-guide-faq-answer p {
    margin: 0;
    line-height: 1.75;
}


/* FINAL CTA */

.ads-instructor-guide-final {
    padding: 72px 0;
    background: var(--instructor-orange);
    color: var(--instructor-white);
}

.ads-instructor-guide-final-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 50px;
    align-items: center;
}

.ads-instructor-guide-final .ads-instructor-guide-kicker {
    color: var(--instructor-navy);
}

.ads-instructor-guide-final h2 {
    margin: 0 0 14px;
    color: var(--instructor-white);
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.ads-instructor-guide-final p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
}

.ads-instructor-guide-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ads-instructor-guide-btn-dark {
    background: var(--instructor-navy);
    color: var(--instructor-white);
}

.ads-instructor-guide-btn-light {
    border-color: var(--instructor-white);
    color: var(--instructor-white);
}


/* TABLET */

@media (max-width: 920px) {

    .ads-instructor-guide-check-grid,
    .ads-instructor-guide-question-grid,
    .ads-instructor-guide-red-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-instructor-guide-check-card:last-child {
        grid-column: auto;
    }

    .ads-instructor-guide-badge-panel,
    .ads-instructor-guide-value-panel,
    .ads-instructor-guide-reviews-panel,
    .ads-instructor-guide-final-inner {
        grid-template-columns: 1fr;
    }
}


/* MOBILE */

@media (max-width: 650px) {

    .ads-instructor-guide-container,
    .ads-instructor-guide-narrow {
        width: min(100% - 28px, 1180px);
    }

    .ads-instructor-guide-section {
        padding: 64px 0;
    }

    .ads-instructor-guide-hero {
        padding: 75px 0 105px;
    }

    .ads-instructor-guide-hero h1 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .ads-instructor-guide-hero-actions,
    .ads-instructor-guide-final-actions {
        display: grid;
    }

    .ads-instructor-guide-btn {
        width: 100%;
    }

    .ads-instructor-guide-check-grid,
    .ads-instructor-guide-question-grid,
    .ads-instructor-guide-red-grid,
    .ads-instructor-guide-badge-grid {
        grid-template-columns: 1fr;
    }

    .ads-instructor-guide-badge-panel,
    .ads-instructor-guide-value-panel {
        padding: 32px 22px;
    }

    .ads-instructor-guide-final {
        padding: 58px 0;
    }
}
/* =========================================================
   HOW MANY DRIVING LESSONS DO I NEED?
   ========================================================= */

.ads-lessons-needed-page,
.ads-lessons-needed-section,
.ads-lessons-needed-final {
    --lessons-navy: #12141a;
    --lessons-orange: #f37423;
    --lessons-white: #ffffff;
    --lessons-light: #f5f6f8;
    --lessons-grey: #d7d9df;
    --lessons-text: #343842;
    color: var(--lessons-text);
}

.ads-lessons-needed-page *,
.ads-lessons-needed-page *::before,
.ads-lessons-needed-page *::after,
.ads-lessons-needed-section *,
.ads-lessons-needed-section *::before,
.ads-lessons-needed-section *::after,
.ads-lessons-needed-final *,
.ads-lessons-needed-final *::before,
.ads-lessons-needed-final *::after {
    box-sizing: border-box;
}

.ads-lessons-needed-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ads-lessons-needed-narrow {
    width: min(880px, calc(100% - 40px));
}

.ads-lessons-needed-section {
    padding: 88px 0;
}

.ads-lessons-needed-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--lessons-orange);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ads-lessons-needed-section-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.ads-lessons-needed-section-heading h2 {
    margin: 0 0 18px;
    color: var(--lessons-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.ads-lessons-needed-section-heading p {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.75;
}


.ads-lessons-needed-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 120px;
    background:
        radial-gradient(
            circle at 84% 18%,
            rgba(243, 116, 35, 0.25),
            transparent 30%
        ),
        linear-gradient(135deg, #12141a 0%, #20242d 100%);
    color: var(--lessons-white);
}

.ads-lessons-needed-hero::after {
    content: "";
    position: absolute;
    right: -5%;
    bottom: -75px;
    left: -5%;
    height: 118px;
    background: var(--lessons-white);
    transform: rotate(-2deg);
}

.ads-lessons-needed-hero-content {
    position: relative;
    z-index: 2;
    max-width: 880px;
}

.ads-lessons-needed-hero h1 {
    max-width: 930px;
    margin: 0 0 24px;
    color: var(--lessons-white);
    font-size: clamp(3rem, 7vw, 5.6rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.ads-lessons-needed-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.05rem, 2vw, 1.24rem);
    line-height: 1.75;
}

.ads-lessons-needed-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.ads-lessons-needed-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.ads-lessons-needed-hero-pills span {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    font-weight: 700;
}


/* BUTTONS */

.ads-lessons-needed-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 23px;
    border: 2px solid transparent;
    border-radius: 6px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.ads-lessons-needed-btn:hover {
    transform: translateY(-2px);
}

.ads-lessons-needed-btn-primary {
    background: var(--lessons-orange);
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-primary:hover {
    background: #d96117;
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-secondary {
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-secondary:hover {
    border-color: var(--lessons-white);
    color: var(--lessons-white);
}


/* QUICK ANSWER */

.ads-lessons-needed-quick {
    background: var(--lessons-white);
}

.ads-lessons-needed-quick-panel {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    gap: 52px;
    align-items: center;
    padding: 52px;
    border-radius: 14px;
    background: var(--lessons-navy);
    color: var(--lessons-white);
}

.ads-lessons-needed-quick-panel h2 {
    margin: 0 0 18px;
    color: var(--lessons-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.08;
}

.ads-lessons-needed-quick-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-lessons-needed-quick-points {
    display: grid;
    gap: 14px;
}

.ads-lessons-needed-quick-points > div {
    padding: 20px;
    border-left: 4px solid var(--lessons-orange);
    background: rgba(255, 255, 255, 0.07);
}

.ads-lessons-needed-quick-points strong,
.ads-lessons-needed-quick-points span {
    display: block;
}

.ads-lessons-needed-quick-points strong {
    margin-bottom: 5px;
    color: var(--lessons-white);
}

.ads-lessons-needed-quick-points span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.55;
}


/* FACTORS */

.ads-lessons-needed-factors {
    background: var(--lessons-light);
}

.ads-lessons-needed-factor-grid,
.ads-lessons-needed-efficiency-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ads-lessons-needed-factor-card,
.ads-lessons-needed-efficiency-card {
    padding: 28px;
    border: 1px solid var(--lessons-grey);
    border-top: 5px solid var(--lessons-orange);
    border-radius: 9px;
    background: var(--lessons-white);
    box-shadow: 0 14px 34px rgba(18, 20, 26, 0.06);
}

.ads-lessons-needed-factor-card h3,
.ads-lessons-needed-efficiency-card h3 {
    margin: 0 0 12px;
    color: var(--lessons-navy);
    font-size: 1.25rem;
}

.ads-lessons-needed-factor-card p,
.ads-lessons-needed-efficiency-card p {
    margin: 0;
    line-height: 1.7;
}


/* LEARNER EXAMPLES */

.ads-lessons-needed-examples {
    background: var(--lessons-white);
}

.ads-lessons-needed-example-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ads-lessons-needed-example-card {
    padding: 30px;
    border: 1px solid var(--lessons-grey);
    border-radius: 10px;
    background: var(--lessons-white);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.06);
}

.ads-lessons-needed-example-label {
    display: inline-block;
    margin-bottom: 15px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff0e6;
    color: var(--lessons-orange);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ads-lessons-needed-example-card h3 {
    margin: 0 0 12px;
    color: var(--lessons-navy);
    font-size: 1.35rem;
}

.ads-lessons-needed-example-card p {
    margin: 0;
    line-height: 1.7;
}


/* PROFESSIONAL LESSONS AND PRIVATE PRACTICE */

.ads-lessons-needed-practice {
    background: var(--lessons-light);
}

.ads-lessons-needed-practice-panel {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    gap: 52px;
    align-items: center;
    padding: 52px;
    border-radius: 14px;
    background: var(--lessons-navy);
    color: var(--lessons-white);
}

.ads-lessons-needed-practice-panel h2 {
    margin: 0 0 18px;
    color: var(--lessons-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.08;
}

.ads-lessons-needed-practice-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-lessons-needed-practice-points {
    display: grid;
    gap: 14px;
}

.ads-lessons-needed-practice-points > div {
    padding: 19px 20px;
    border-left: 4px solid var(--lessons-orange);
    background: rgba(255, 255, 255, 0.07);
}

.ads-lessons-needed-practice-points strong,
.ads-lessons-needed-practice-points span {
    display: block;
}

.ads-lessons-needed-practice-points strong {
    margin-bottom: 5px;
    color: var(--lessons-white);
}

.ads-lessons-needed-practice-points span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}


/* LESSON EFFICIENCY */

.ads-lessons-needed-efficiency {
    background: var(--lessons-white);
}


/* TEST READY */

.ads-lessons-needed-ready {
    background: var(--lessons-light);
}

.ads-lessons-needed-ready-panel {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 52px;
    align-items: center;
    padding: 52px;
    border-radius: 14px;
    background: var(--lessons-navy);
    color: var(--lessons-white);
}

.ads-lessons-needed-ready-panel h2 {
    margin: 0 0 18px;
    color: var(--lessons-white);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.08;
}

.ads-lessons-needed-ready-panel p {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.ads-lessons-needed-ready-list {
    display: grid;
    gap: 14px;
}

.ads-lessons-needed-ready-list > div {
    padding: 18px 20px;
    border-left: 4px solid var(--lessons-orange);
    background: rgba(255, 255, 255, 0.07);
}

.ads-lessons-needed-ready-list strong,
.ads-lessons-needed-ready-list span {
    display: block;
}

.ads-lessons-needed-ready-list strong {
    margin-bottom: 5px;
    color: var(--lessons-white);
}

.ads-lessons-needed-ready-list span {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}


/* NO GUARANTEED NUMBER */

.ads-lessons-needed-honest {
    background: var(--lessons-white);
}

.ads-lessons-needed-honest-grid {
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    gap: 45px;
    align-items: center;
}

.ads-lessons-needed-honest-grid h2 {
    margin: 0 0 18px;
    color: var(--lessons-navy);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.08;
}

.ads-lessons-needed-honest-grid p {
    line-height: 1.75;
}

.ads-lessons-needed-honest-note {
    padding: 30px;
    border-top: 6px solid var(--lessons-orange);
    background: var(--lessons-light);
    box-shadow: 0 14px 35px rgba(18, 20, 26, 0.08);
}

.ads-lessons-needed-honest-note strong {
    display: block;
    margin-bottom: 10px;
    color: var(--lessons-navy);
    font-size: 1.25rem;
}

.ads-lessons-needed-honest-note p {
    margin: 0;
}


/* FAQ */

.ads-lessons-needed-faq {
    background: var(--lessons-light);
}

.ads-lessons-needed-faq-list {
    display: grid;
    gap: 14px;
}

.ads-lessons-needed-faq-item {
    border: 1px solid var(--lessons-grey);
    border-radius: 8px;
    background: var(--lessons-white);
    box-shadow: 0 9px 24px rgba(18, 20, 26, 0.05);
}

.ads-lessons-needed-faq-item summary {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--lessons-navy);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.ads-lessons-needed-faq-item summary::-webkit-details-marker {
    display: none;
}

.ads-lessons-needed-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--lessons-orange);
    font-size: 1.7rem;
    transform: translateY(-50%);
}

.ads-lessons-needed-faq-item[open] summary::after {
    content: "−";
}

.ads-lessons-needed-faq-answer {
    padding: 0 24px 22px;
}

.ads-lessons-needed-faq-answer p {
    margin: 0;
    line-height: 1.75;
}


/* FINAL CTA */

.ads-lessons-needed-final {
    padding: 72px 0;
    background: var(--lessons-orange);
    color: var(--lessons-white);
}

.ads-lessons-needed-final-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 50px;
    align-items: center;
}

.ads-lessons-needed-final .ads-lessons-needed-kicker {
    color: var(--lessons-navy);
}

.ads-lessons-needed-final h2 {
    margin: 0 0 14px;
    color: var(--lessons-white);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.ads-lessons-needed-final p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
}

.ads-lessons-needed-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ads-lessons-needed-btn-dark {
    background: var(--lessons-navy);
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-dark:hover {
    background: #282c36;
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-light {
    border-color: var(--lessons-white);
    color: var(--lessons-white);
}

.ads-lessons-needed-btn-light:hover {
    background: var(--lessons-white);
    color: var(--lessons-navy);
}


/* TABLET */

@media (max-width: 920px) {

    .ads-lessons-needed-factor-grid,
    .ads-lessons-needed-efficiency-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ads-lessons-needed-quick-panel,
    .ads-lessons-needed-practice-panel,
    .ads-lessons-needed-ready-panel,
    .ads-lessons-needed-honest-grid,
    .ads-lessons-needed-final-inner {
        grid-template-columns: 1fr;
    }
}


/* MOBILE */

@media (max-width: 650px) {

    .ads-lessons-needed-container,
    .ads-lessons-needed-narrow {
        width: min(100% - 28px, 1180px);
    }

    .ads-lessons-needed-section {
        padding: 64px 0;
    }

    .ads-lessons-needed-hero {
        padding: 75px 0 105px;
    }

    .ads-lessons-needed-hero h1 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .ads-lessons-needed-hero-actions,
    .ads-lessons-needed-final-actions {
        display: grid;
    }

    .ads-lessons-needed-btn {
        width: 100%;
    }

    .ads-lessons-needed-factor-grid,
    .ads-lessons-needed-efficiency-grid,
    .ads-lessons-needed-example-grid {
        grid-template-columns: 1fr;
    }

    .ads-lessons-needed-quick-panel,
    .ads-lessons-needed-practice-panel,
    .ads-lessons-needed-ready-panel {
        padding: 32px 22px;
    }

    .ads-lessons-needed-final {
        padding: 58px 0;
    }
}
/* Flint back link spacing fix */
.gb-ads-flint-hero + .gb-ads-area-back {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    margin: 18px auto 24px;
    padding: 0;
}