:root{
    --blue:#0b5ed7;
    --blue-dark:#084cae;
    --blue-light:#edf5ff;
    --navy:#102a43;
    --navy-dark:#071b2d;
    --ink:#152536;
    --muted:#66788a;
    --line:#dce5ed;
    --soft:#f5f8fb;
    --white:#fff;
    --green:#16965a;
    --orange:#f59e0b;
    --shadow:0 24px 70px rgba(15,38,60,.12);
    --radius:18px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:
        Inter,
        ui-sans-serif,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
    -webkit-font-smoothing:antialiased;
}

button,
input,
select,
textarea{
    font:inherit;
}

a{
    color:inherit;
}

.container{
    width:min(1180px,calc(100% - 36px));
    margin:auto;
}

.topbar{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid rgba(220,229,237,.9);
    backdrop-filter:blur(14px);
}

.topbar-inner{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.brand{
    display:inline-flex;
    align-items:center;
    gap:3px;
    font-size:24px;
    font-weight:900;
    text-decoration:none;
    letter-spacing:-.045em;
}

.brand-one{
    color:var(--navy);
}

.brand-trailer{
    color:var(--blue);
}

.desktop-nav{
    display:flex;
    align-items:center;
    gap:30px;
    margin-left:auto;
}

.desktop-nav a{
    text-decoration:none;
    color:#526477;
    font-size:14px;
    font-weight:750;
}

.desktop-nav a:hover{
    color:var(--blue);
}

.button{
    border:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:0 20px;
    border-radius:11px;
    background:var(--blue);
    color:#fff;
    text-decoration:none;
    font-weight:850;
    cursor:pointer;
    transition:
        transform .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}

.button:hover{
    background:var(--blue-dark);
    transform:translateY(-1px);
}

.button-small{
    min-height:42px;
    padding:0 17px;
    font-size:14px;
}

.button-large{
    min-height:54px;
    padding:0 23px;
}

.hero{
    position:relative;
    overflow:hidden;
    padding:76px 0 78px;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(11,94,215,.08),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #fff,
            #f8fbfe
        );
}

.hero:after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-210px;
    bottom:-190px;
    border:80px solid rgba(11,94,215,.035);
    border-radius:50%;
}

.hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(430px,.85fr);
    gap:72px;
    align-items:center;
}

.eyebrow,
.section-head > span,
.dark-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--blue);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.eyebrow:before,
.section-head > span:before{
    content:"";
    width:26px;
    height:3px;
    background:currentColor;
    border-radius:99px;
}

.hero h1{
    max-width:720px;
    margin:18px 0 22px;
    font-size:clamp(48px,5.9vw,79px);
    line-height:.98;
    letter-spacing:-.06em;
}

.hero h1 span{
    display:block;
    color:var(--blue);
}

.hero-lead{
    max-width:660px;
    margin:0;
    color:var(--muted);
    font-size:19px;
    line-height:1.65;
}

.hero-benefits{
    display:grid;
    gap:11px;
    margin-top:29px;
}

.hero-benefits div{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:720;
    color:#3d5266;
}

.hero-benefits span{
    width:23px;
    height:23px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:#e5f7ed;
    color:var(--green);
    font-size:13px;
    font-weight:950;
}

.hero-actions{
    display:flex;
    align-items:center;
    gap:24px;
    margin-top:34px;
}

.text-link{
    color:var(--navy);
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid #b9c8d5;
    padding-bottom:3px;
}

.booking-shell{
    background:#fff;
    border:1px solid #e0e8ef;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
}

.booking-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.booking-kicker{
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.booking-head h2{
    margin:5px 0 0;
    font-size:26px;
    letter-spacing:-.035em;
}

.booking-time{
    flex:none;
    padding:7px 10px;
    border-radius:999px;
    background:var(--soft);
    color:#607387;
    font-size:12px;
    font-weight:800;
}

.booking-progress{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:5px;
    margin:24px 0 25px;
}

.booking-progress span{
    height:5px;
    background:#e0e7ed;
    border-radius:999px;
}

.booking-progress span.active{
    background:var(--blue);
}

.booking-step{
    display:none;
}

.booking-step.active{
    display:block;
    animation:stepFade .2s ease;
}

@keyframes stepFade{
    from{
        opacity:.2;
        transform:translateY(4px);
    }
    to{
        opacity:1;
        transform:none;
    }
}

.step-number{
    margin-bottom:7px;
    color:#7a8998;
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.booking-step h3{
    margin:0 0 21px;
    font-size:21px;
    letter-spacing:-.025em;
}

.form-field{
    display:block;
    margin-bottom:15px;
}

.form-field > span{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    font-weight:850;
}

.form-field input,
.form-field select{
    width:100%;
    min-height:50px;
    padding:0 14px;
    border:1px solid #cbd8e3;
    border-radius:11px;
    background:#fff;
    color:var(--ink);
    outline:none;
}

.form-field input:focus,
.form-field select:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(11,94,215,.10);
}

.input-with-icon{
    position:relative;
}

.input-with-icon input{
    padding-left:49px;
}

.input-icon{
    position:absolute;
    left:13px;
    top:50%;
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-size:11px;
    font-weight:950;
}

.input-icon.destination{
    background:var(--navy);
}

.route-line{
    width:2px;
    height:13px;
    margin:-8px 0 -7px 25px;
    background:#d5e0e9;
}

.form-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.form-hint{
    margin:2px 0 0;
    color:#728397;
    font-size:12px;
    line-height:1.5;
}

.choice-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.choice-card{
    position:relative;
    min-height:135px;
    padding:15px;
    border:2px solid #e1e8ef;
    border-radius:13px;
    cursor:pointer;
    background:#fff;
    transition:.15s ease;
}

.choice-card:hover{
    border-color:#b9cfe9;
}

.choice-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.choice-card:has(input:checked){
    border-color:var(--blue);
    background:var(--blue-light);
}

.choice-icon{
    display:block;
    margin-bottom:8px;
    font-size:26px;
}

.choice-card strong{
    display:block;
    margin-bottom:4px;
}

.choice-card small{
    color:var(--muted);
    line-height:1.4;
}

.trailer-choice-list{
    display:grid;
    gap:9px;
}

.trailer-choice{
    position:relative;
    padding:14px;
    border:2px solid #e2e9ef;
    border-radius:13px;
    cursor:pointer;
}

.trailer-choice input{
    position:absolute;
    opacity:0;
}

.trailer-choice:has(input:checked){
    border-color:var(--blue);
    background:var(--blue-light);
}

.trailer-choice-main{
    display:flex;
    align-items:center;
    gap:12px;
}

.trailer-choice-main strong{
    display:block;
}

.trailer-choice-main span{
    display:block;
    margin-top:2px;
    color:#6c7d8e;
    font-size:12px;
}

.trailer-choice > small{
    display:block;
    margin:8px 0 0 46px;
    color:#718294;
    line-height:1.4;
}

.trailer-symbol{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:8px;
    background:#eaf2fb;
    color:var(--blue);
}

.recommendation{
    border-style:dashed;
}

.privacy-note{
    padding:11px 13px;
    border-radius:10px;
    background:#f6f9fb;
    color:#657789;
    font-size:12px;
    line-height:1.5;
}

.step-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:22px;
}

.back-button{
    border:0;
    background:transparent;
    color:#657789;
    font-weight:800;
    cursor:pointer;
}

.next-button,
.submit-button{
    margin-left:auto;
}

.summary-card{
    overflow:hidden;
    border:1px solid #dbe5ed;
    border-radius:13px;
}

.summary-card > div{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:14px;
    padding:11px 13px;
    border-bottom:1px solid #e4ebf1;
}

.summary-card > div:last-child{
    border-bottom:0;
}

.summary-card span{
    color:#728397;
    font-size:12px;
}

.summary-card strong{
    font-size:13px;
}

.availability-note{
    margin-top:13px;
    padding:13px;
    border:1px solid #f2d692;
    border-radius:11px;
    background:#fff9e9;
}

.availability-note strong,
.availability-note span{
    display:block;
}

.availability-note strong{
    margin-bottom:3px;
    color:#684d0a;
    font-size:13px;
}

.availability-note span{
    color:#806820;
    font-size:12px;
    line-height:1.4;
}

.trust-strip{
    border-top:1px solid #e6edf2;
    border-bottom:1px solid #e6edf2;
    background:#fff;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.trust-grid div{
    padding:25px 18px;
    text-align:center;
    border-right:1px solid #e6edf2;
}

.trust-grid div:last-child{
    border-right:0;
}

.trust-grid strong{
    display:block;
    margin-bottom:4px;
    color:var(--navy);
    font-size:20px;
}

.trust-grid span{
    color:#748496;
    font-size:12px;
}

.section{
    padding:92px 0;
}

.section-soft{
    background:var(--soft);
}

.section-head{
    max-width:710px;
    margin-bottom:42px;
}

.section-head.centered{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.section-head.centered > span{
    justify-content:center;
}

.section-head h2{
    margin:10px 0 14px;
    font-size:clamp(33px,4vw,51px);
    line-height:1.08;
    letter-spacing:-.045em;
}

.section-head p{
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.feature-card{
    padding:28px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
}

.feature-number{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
    border-radius:10px;
    background:var(--blue-light);
    color:var(--blue);
    font-weight:950;
}

.feature-card h3{
    margin:0 0 9px;
    font-size:21px;
}

.feature-card p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.trailer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.trailer-card{
    position:relative;
    padding:26px;
    border:1px solid #dae4eb;
    border-radius:20px;
    background:#fff;
}

.trailer-card.highlighted{
    border:2px solid var(--blue);
    transform:translateY(-7px);
    box-shadow:0 16px 45px rgba(15,60,110,.10);
}

.popular-badge{
    position:absolute;
    top:-13px;
    right:18px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--blue);
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.trailer-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.trailer-card-top strong{
    font-size:22px;
}

.trailer-tag{
    padding:6px 9px;
    border-radius:999px;
    background:#edf4fb;
    color:#4e6e8b;
    font-size:11px;
    font-weight:850;
}

.trailer-illustration{
    position:relative;
    height:112px;
    margin:29px 0 20px;
}

.trailer-illustration span{
    position:absolute;
    left:5%;
    right:15%;
    bottom:24px;
    height:62px;
    border:3px solid var(--navy);
    border-radius:5px 9px 3px 3px;
    background:#eef4f8;
}

.trailer-illustration:after{
    content:"";
    position:absolute;
    right:2%;
    bottom:29px;
    width:17%;
    height:3px;
    background:var(--navy);
    transform:rotate(7deg);
    transform-origin:left center;
}

.trailer-illustration i{
    position:absolute;
    bottom:13px;
    width:22px;
    height:22px;
    border:5px solid var(--navy);
    border-radius:50%;
    background:#fff;
}

.trailer-illustration i:nth-of-type(1){
    left:26%;
}

.trailer-illustration i:nth-of-type(2){
    right:26%;
}

.trailer-illustration.tall span{
    height:78px;
}

.trailer-illustration.long span{
    right:7%;
}

.trailer-card h3{
    margin:0 0 8px;
    font-size:20px;
}

.trailer-card p{
    min-height:75px;
    margin:0 0 18px;
    color:var(--muted);
    line-height:1.55;
}

.trailer-card a{
    color:var(--blue);
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}

.steps-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.process-card{
    padding:25px 22px;
    border-radius:17px;
    background:#f6f9fb;
}

.process-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-weight:950;
}

.process-card h3{
    margin:0 0 8px;
}

.process-card p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
}

.section-dark{
    background:var(--navy-dark);
    color:#fff;
}

.dark-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:90px;
    align-items:center;
}

.dark-kicker{
    color:#7db6ff;
}

.dark-grid h2{
    margin:12px 0 0;
    max-width:640px;
    font-size:clamp(35px,4.5vw,56px);
    line-height:1.07;
    letter-spacing:-.045em;
}

.dark-grid p{
    margin:0 0 25px;
    color:#b9cad8;
    font-size:17px;
    line-height:1.7;
}

.button-light{
    background:#fff;
    color:var(--navy);
}

.button-light:hover{
    background:#edf5fb;
    color:var(--navy);
}

.faq-layout{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:80px;
}

.faq-list{
    border-top:1px solid var(--line);
}

.faq-list details{
    border-bottom:1px solid var(--line);
}

.faq-list summary{
    position:relative;
    padding:21px 42px 21px 0;
    list-style:none;
    cursor:pointer;
    font-weight:850;
}

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

.faq-list summary:after{
    content:"+";
    position:absolute;
    right:5px;
    top:16px;
    color:var(--blue);
    font-size:25px;
    font-weight:500;
}

.faq-list details[open] summary:after{
    content:"–";
}

.faq-list p{
    max-width:700px;
    margin:-3px 0 22px;
    color:var(--muted);
    line-height:1.65;
}

.final-cta{
    padding:25px 0 88px;
}

.final-cta-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:42px;
    border-radius:24px;
    background:var(--blue);
    color:#fff;
}

.final-cta-box > div > span{
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.75;
}

.final-cta h2{
    margin:7px 0 8px;
    font-size:34px;
    letter-spacing:-.035em;
}

.final-cta p{
    margin:0;
    opacity:.8;
}

footer{
    padding:54px 0 20px;
    border-top:1px solid var(--line);
    background:#f8fafc;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:50px;
}

.footer-brand{
    margin-bottom:13px;
}

.footer-grid p{
    max-width:320px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.footer-grid > div:not(:first-child){
    display:flex;
    flex-direction:column;
    gap:9px;
}

.footer-grid strong{
    margin-bottom:3px;
}

.footer-grid a,
.footer-grid span{
    color:#697b8c;
    font-size:13px;
    text-decoration:none;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:45px;
    padding-top:20px;
    border-top:1px solid var(--line);
    color:#81909d;
    font-size:12px;
}

.test-badge{
    position:fixed;
    right:13px;
    bottom:13px;
    z-index:200;
    padding:7px 10px;
    border-radius:7px;
    background:#101820;
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
}

.dev-result{
    padding:24px 4px 8px;
    text-align:center;
}

.dev-result-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 14px;
    border-radius:50%;
    background:#e8f3ff;
    color:var(--blue);
    font-size:26px;
    font-weight:950;
}

.dev-result h3{
    margin:0 0 9px;
    font-size:23px;
}

.dev-result p{
    margin:0 auto;
    max-width:390px;
    color:var(--muted);
    line-height:1.6;
}

.dev-result-note{
    margin-top:16px!important;
    padding:11px;
    border-radius:10px;
    background:#fff7df;
    color:#705714!important;
    font-size:12px;
}

@media(max-width:980px){

    .hero-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .hero-copy{
        max-width:760px;
    }

    .booking-shell{
        max-width:680px;
    }

    .feature-grid,
    .trailer-grid{
        grid-template-columns:1fr 1fr;
    }

    .trailer-card:last-child{
        grid-column:1 / -1;
    }

    .steps-grid{
        grid-template-columns:1fr 1fr;
    }

    .dark-grid,
    .faq-layout{
        grid-template-columns:1fr;
        gap:38px;
    }

}

@media(max-width:760px){

    .container{
        width:min(100% - 24px,1180px);
    }

    .desktop-nav{
        display:none;
    }

    .topbar-inner{
        min-height:68px;
    }

    .brand{
        font-size:21px;
    }

    .hero{
        padding:47px 0 54px;
    }

    .hero h1{
        font-size:47px;
    }

    .hero-lead{
        font-size:17px;
    }

    .hero-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:17px;
    }

    .booking-shell{
        padding:19px;
        border-radius:18px;
    }

    .booking-head h2{
        font-size:22px;
    }

    .form-grid-2,
    .choice-grid{
        grid-template-columns:1fr;
    }

    .choice-card{
        min-height:112px;
    }

    .trust-grid{
        grid-template-columns:1fr 1fr;
    }

    .trust-grid div:nth-child(2){
        border-right:0;
    }

    .trust-grid div:nth-child(-n+2){
        border-bottom:1px solid #e6edf2;
    }

    .section{
        padding:68px 0;
    }

    .feature-grid,
    .trailer-grid,
    .steps-grid{
        grid-template-columns:1fr;
    }

    .trailer-card:last-child{
        grid-column:auto;
    }

    .trailer-card.highlighted{
        transform:none;
    }

    .final-cta-box{
        align-items:flex-start;
        flex-direction:column;
        padding:28px;
    }

    .final-cta h2{
        font-size:29px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .footer-bottom{
        flex-direction:column;
    }

}

@media(max-width:480px){

    .topbar .button-small{
        padding:0 11px;
        font-size:12px;
    }

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

    .booking-time{
        display:none;
    }

    .summary-card > div{
        grid-template-columns:1fr;
        gap:4px;
    }

    .step-actions{
        flex-wrap:wrap;
    }

    .next-button,
    .submit-button{
        width:100%;
        order:-1;
    }

    .back-button{
        width:100%;
        text-align:center;
    }

}

/* =========================================================
   ONEWAY_TRAILER_PAGE_V1
   ========================================================= */

.nav-active{
    color:var(--blue)!important;
}

.subpage-hero{
    padding:64px 0 68px;
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(11,94,215,.07),
            transparent 35%
        ),
        #f8fbfe;
    border-bottom:1px solid #e4ebf1;
}

.subpage-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:34px;
    color:#80909e;
    font-size:12px;
}

.subpage-breadcrumb a{
    color:#617588;
    text-decoration:none;
}

.subpage-breadcrumb strong{
    color:var(--navy);
}

.subpage-hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:80px;
    align-items:end;
}

.subpage-hero h1{
    margin:15px 0 0;
    max-width:720px;
    font-size:clamp(45px,5.5vw,70px);
    line-height:1;
    letter-spacing:-.055em;
}

.subpage-hero h1 span{
    display:block;
    color:var(--blue);
}

.subpage-hero-grid > div:last-child{
    padding-bottom:5px;
}

.subpage-hero-grid p{
    margin:0 0 12px;
    color:var(--muted);
    font-size:16px;
    line-height:1.65;
}

.trailer-advisor-strip{
    background:var(--navy);
    color:#fff;
}

.trailer-advisor-grid{
    min-height:110px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.trailer-advisor-grid > div{
    display:flex;
    align-items:center;
    gap:16px;
}

.advisor-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:13px;
    background:rgba(255,255,255,.1);
    color:#8dc0ff;
    font-size:23px;
}

.trailer-advisor-grid strong,
.trailer-advisor-grid span{
    display:block;
}

.trailer-advisor-grid strong{
    margin-bottom:4px;
}

.trailer-advisor-grid div div span{
    color:#b8cad9;
    font-size:13px;
}

.trailer-overview-section{
    padding-top:78px;
}

.all-trailer-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.full-trailer-card{
    position:relative;
    padding:25px;
    border:1px solid var(--line);
    border-radius:19px;
    background:#fff;
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}

.full-trailer-card:hover{
    transform:translateY(-3px);
    border-color:#b9cde0;
    box-shadow:0 17px 45px rgba(15,49,78,.08);
}

.full-trailer-card.is-highlighted{
    border:2px solid var(--blue);
    background:
        linear-gradient(
            180deg,
            #fff,
            #f8fbff
        );
}

.full-trailer-popular{
    position:absolute;
    top:-12px;
    right:20px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--blue);
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.full-trailer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-bottom:23px;
}

.full-trailer-head h3{
    margin:9px 0 0;
    font-size:30px;
    letter-spacing:-.04em;
}

.trailer-mini-icon{
    position:relative;
    width:86px;
    height:53px;
    flex:none;
}

.trailer-mini-icon span{
    position:absolute;
    left:0;
    top:3px;
    width:67px;
    height:36px;
    border:3px solid var(--navy);
    border-radius:4px 7px 3px 3px;
    background:#eff4f8;
}

.trailer-mini-icon:after{
    content:"";
    position:absolute;
    right:0;
    bottom:13px;
    width:21px;
    height:3px;
    background:var(--navy);
    transform:rotate(8deg);
}

.trailer-mini-icon i{
    position:absolute;
    left:24px;
    bottom:1px;
    width:18px;
    height:18px;
    border:4px solid var(--navy);
    border-radius:50%;
    background:#fff;
}

.full-trailer-specs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.full-trailer-specs > div{
    padding:12px;
    border-radius:10px;
    background:#f5f8fb;
}

.full-trailer-specs small,
.full-trailer-specs strong{
    display:block;
}

.full-trailer-specs small{
    margin-bottom:4px;
    color:#788997;
    font-size:11px;
}

.full-trailer-specs strong{
    font-size:14px;
}

.full-trailer-use{
    min-height:101px;
    padding:19px 2px 16px;
}

.full-trailer-use small{
    color:#83909d;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.full-trailer-use p{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.55;
}

.full-trailer-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:15px;
    border-top:1px solid #e2e9ef;
    color:var(--blue);
    text-decoration:none;
    font-size:13px;
    font-weight:900;
}

.size-guide-layout{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:75px;
}

.size-guide-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.size-guide-list article{
    display:flex;
    gap:13px;
    padding:18px;
    border:1px solid #e1e8ed;
    border-radius:14px;
    background:#fff;
}

.size-guide-icon{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:9px;
    background:#eaf2fb;
    color:var(--blue);
    font-weight:900;
}

.size-guide-list h3{
    margin:1px 0 5px;
    font-size:15px;
}

.size-guide-list p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.important-info-box{
    padding:32px;
    border:1px solid #cdddeb;
    border-radius:20px;
    background:#f4f9ff;
}

.important-info-title{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
}

.important-info-title > span{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-family:Georgia,serif;
    font-size:24px;
    font-weight:bold;
}

.important-info-title small{
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.important-info-title h2{
    margin:3px 0 0;
    font-size:25px;
    letter-spacing:-.025em;
}

.important-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
    padding-left:62px;
}

.important-info-grid p{
    margin:0;
    color:#597087;
    line-height:1.65;
}


@media(max-width:850px){

    .subpage-hero-grid,
    .size-guide-layout{
        grid-template-columns:1fr;
        gap:30px;
    }

    .trailer-advisor-grid{
        padding-top:22px;
        padding-bottom:22px;
    }

    .all-trailer-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:650px){

    .subpage-hero{
        padding:44px 0 49px;
    }

    .subpage-hero h1{
        font-size:43px;
    }

    .trailer-advisor-grid{
        align-items:flex-start;
        flex-direction:column;
    }

    .trailer-advisor-grid .button{
        width:100%;
    }

    .full-trailer-specs,
    .size-guide-list,
    .important-info-grid{
        grid-template-columns:1fr;
    }

    .important-info-grid{
        gap:14px;
        padding-left:0;
    }

    .important-info-box{
        padding:23px;
    }

}

.section-more-link{
    margin-top:28px;
    text-align:center;
}

.section-more-link a{
    color:var(--blue);
    font-weight:900;
    text-decoration:none;
}

.section-more-link a:hover{
    text-decoration:underline;
}

/* =========================================================
   ONEWAY_HOW_PAGE_V1
   ========================================================= */

.how-intro-strip{
    border-bottom:1px solid var(--line);
    background:#fff;
}

.how-intro-grid{
    min-height:105px;
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:center;
    gap:25px;
}

.how-intro-grid > div:not(.how-route-arrow){
    text-align:center;
}

.how-intro-grid strong,
.how-intro-grid span{
    display:block;
}

.how-intro-grid strong{
    color:var(--navy);
    font-size:18px;
}

.how-intro-grid span{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}

.how-route-arrow{
    color:#9db0c0;
    font-size:25px;
}

.how-timeline{
    position:relative;
    max-width:930px;
    margin:0 auto;
}

.how-timeline:before{
    content:"";
    position:absolute;
    left:39px;
    top:50px;
    bottom:50px;
    width:2px;
    background:#dbe6ef;
}

.how-step{
    position:relative;
    display:grid;
    grid-template-columns:80px 1fr 90px;
    gap:25px;
    align-items:start;
    margin-bottom:20px;
    padding:25px 26px 25px 0;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}

.how-step-number{
    position:relative;
    z-index:2;
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:12px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-size:13px;
    font-weight:950;
}

.how-step-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.how-step h3{
    margin:0 0 10px;
    font-size:23px;
    letter-spacing:-.025em;
}

.how-step p{
    margin:0 0 9px;
    max-width:650px;
    color:var(--muted);
    line-height:1.6;
}

.how-step-note{
    margin-top:13px;
    padding:11px 13px;
    border-radius:10px;
    background:#f5f8fb;
}

.how-step-note strong,
.how-step-note span{
    display:block;
}

.how-step-note strong{
    margin-bottom:3px;
    font-size:12px;
}

.how-step-note span{
    color:#65788b;
    font-size:12px;
}

.how-step-symbol{
    display:flex;
    align-items:center;
    justify-content:center;
    width:61px;
    height:61px;
    margin-top:4px;
    border-radius:15px;
    background:#edf5ff;
    font-size:27px;
}

.how-check-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 15px;
    margin-top:14px;
}

.how-check-list div{
    display:flex;
    align-items:center;
    gap:7px;
    color:#53697d;
    font-size:13px;
}

.how-check-list span{
    width:19px;
    height:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:#e6f7ed;
    color:var(--green);
    font-size:10px;
    font-weight:950;
}

.departure-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.departure-grid article{
    padding:22px;
    border:1px solid #e0e8ee;
    border-radius:16px;
    background:#fff;
}

.departure-grid article > span{
    display:block;
    margin-bottom:24px;
    color:#a1afbb;
    font-size:12px;
    font-weight:900;
}

.departure-grid h3{
    margin:0 0 7px;
}

.departure-grid p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}

.how-photo-section{
    border-top:1px solid #e8eef3;
}

.how-photo-layout{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:center;
}

.how-photo-layout h2{
    margin:13px 0 15px;
    font-size:clamp(35px,4vw,50px);
    line-height:1.08;
    letter-spacing:-.045em;
}

.how-photo-layout p{
    color:var(--muted);
    line-height:1.65;
}

.photo-example-card{
    padding:28px;
    border:1px solid #d8e3ec;
    border-radius:19px;
    background:#f7fafc;
}

.photo-example-head{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:20px;
}

.photo-example-head > span{
    width:41px;
    height:41px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:var(--navy);
    color:#fff;
}

.photo-example-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}

.photo-example-grid div{
    min-height:91px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;
    border:1px solid #dfe7ed;
    border-radius:11px;
    background:#fff;
    color:#52687b;
    font-size:13px;
    font-weight:750;
}

.photo-example-grid span{
    width:27px;
    height:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:#eaf3fc;
    color:var(--blue);
    font-size:11px;
    font-weight:950;
}

.photo-example-card > small{
    display:block;
    margin-top:14px;
    color:#81909d;
    line-height:1.5;
}

.how-faq-layout{
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:75px;
}

.how-info-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.how-info-cards article{
    padding:20px;
    border:1px solid var(--line);
    border-radius:14px;
}

.how-info-cards strong{
    display:block;
    margin-bottom:8px;
}

.how-info-cards p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}


@media(max-width:900px){

    .departure-grid{
        grid-template-columns:1fr 1fr;
    }

    .how-photo-layout,
    .how-faq-layout{
        grid-template-columns:1fr;
        gap:38px;
    }

}


@media(max-width:650px){

    .how-intro-grid{
        grid-template-columns:1fr;
        gap:0;
        padding:18px 0;
    }

    .how-intro-grid > div:not(.how-route-arrow){
        padding:10px;
    }

    .how-route-arrow{
        transform:rotate(90deg);
        text-align:center;
    }

    .how-timeline:before{
        display:none;
    }

    .how-step{
        grid-template-columns:55px 1fr;
        padding:19px;
    }

    .how-step-number{
        width:46px;
        height:46px;
        margin-left:0;
    }

    .how-step-symbol{
        display:none;
    }

    .how-check-list,
    .departure-grid,
    .photo-example-grid,
    .how-info-cards{
        grid-template-columns:1fr;
    }

}

/* =========================================================
   ONEWAY_FAQ_PAGE_V1
   ========================================================= */

.faq-category-strip{
    position:sticky;
    top:76px;
    z-index:50;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}

.faq-category-links{
    min-height:62px;
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
}

.faq-category-links::-webkit-scrollbar{
    display:none;
}

.faq-category-links a{
    flex:none;
    padding:8px 13px;
    border:1px solid #dae4ec;
    border-radius:999px;
    color:#536b80;
    text-decoration:none;
    font-size:12px;
    font-weight:850;
}

.faq-category-links a:hover{
    border-color:var(--blue);
    color:var(--blue);
}

.faq-page-section{
    scroll-margin-top:145px;
}

.faq-page-layout{
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:80px;
    align-items:start;
}

.faq-page-title{
    position:sticky;
    top:170px;
}

.faq-category-number{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:11px;
    background:#eaf3fc;
    color:var(--blue);
    font-size:12px;
    font-weight:950;
}

.faq-page-title h2{
    margin:0 0 12px;
    font-size:35px;
    letter-spacing:-.04em;
}

.faq-page-title p{
    margin:0;
    max-width:310px;
    color:var(--muted);
    line-height:1.6;
}

.faq-page-list{
    border-top:1px solid var(--line);
}

.faq-page-list details{
    border-bottom:1px solid var(--line);
}

.faq-page-list summary{
    position:relative;
    padding:22px 50px 22px 0;
    list-style:none;
    cursor:pointer;
    color:var(--navy);
    font-size:16px;
    font-weight:850;
}

.faq-page-list summary::-webkit-details-marker{
    display:none;
}

.faq-page-list summary:after{
    content:"+";
    position:absolute;
    top:15px;
    right:7px;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#edf4fb;
    color:var(--blue);
    font-size:20px;
    font-weight:500;
}

.faq-page-list details[open] summary:after{
    content:"–";
}

.faq-page-list details[open] summary{
    color:var(--blue);
}

.faq-page-list p{
    max-width:760px;
    margin:-2px 50px 17px 0;
    color:var(--muted);
    line-height:1.68;
}

.faq-page-list p:last-child{
    margin-bottom:24px;
}

.faq-page-list p a{
    color:var(--blue);
    font-weight:800;
}

.faq-checks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:0 50px 24px 0;
}

.faq-checks span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:9px;
    background:#f5f8fb;
    color:#51687c;
    font-size:13px;
}

.faq-checks span::first-letter{
    color:var(--green);
}

.faq-help-callout{
    padding:10px 0 90px;
}

.faq-help-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:30px;
    border:1px solid #d2dfeb;
    border-radius:20px;
    background:#f5f9fe;
}

.faq-help-box > div{
    display:flex;
    align-items:center;
    gap:17px;
}

.faq-help-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-size:22px;
    font-weight:950;
}

.faq-help-box small{
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.faq-help-box h2{
    margin:4px 0 4px;
    font-size:23px;
    letter-spacing:-.025em;
}

.faq-help-box p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}


@media(max-width:800px){

    .faq-page-layout{
        grid-template-columns:1fr;
        gap:30px;
    }

    .faq-page-title{
        position:static;
    }

}


@media(max-width:650px){

    .faq-category-strip{
        top:68px;
    }

    .faq-category-links{
        min-height:56px;
    }

    .faq-page-section{
        scroll-margin-top:130px;
    }

    .faq-page-list summary{
        padding-right:43px;
    }

    .faq-page-list p,
    .faq-checks{
        margin-right:0;
    }

    .faq-checks{
        grid-template-columns:1fr;
    }

    .faq-help-box{
        align-items:flex-start;
        flex-direction:column;
    }

    .faq-help-box .button{
        width:100%;
    }

}

/* =========================================================
   ONEWAY_CONTACT_PAGE_V1
   ========================================================= */

.contact-fast-strip{
    border-bottom:1px solid var(--line);
    background:#fff;
}

.contact-fast-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.contact-fast-item{
    min-height:105px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:22px 25px;
    border-right:1px solid var(--line);
    color:inherit;
    text-decoration:none;
}

.contact-fast-item:last-child{
    border-right:0;
}

a.contact-fast-item:hover{
    background:#f8fbfe;
}

.contact-fast-icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:11px;
    background:#eaf3fc;
    color:var(--blue);
    font-size:19px;
}

.contact-fast-item small,
.contact-fast-item strong,
.contact-fast-item div > span{
    display:block;
}

.contact-fast-item small{
    margin-bottom:3px;
    color:#7a8998;
    font-size:11px;
}

.contact-fast-item strong{
    color:var(--navy);
}

.contact-fast-item div > span{
    margin-top:2px;
    color:var(--muted);
    font-size:11px;
}

.contact-layout{
    display:grid;
    grid-template-columns:1.35fr .65fr;
    gap:55px;
    align-items:start;
}

.contact-main > h2{
    margin:11px 0 28px;
    font-size:43px;
    letter-spacing:-.045em;
}

.contact-card-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.contact-card{
    min-height:250px;
    padding:23px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fff;
}

.contact-card-icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:26px;
    border-radius:11px;
    background:#eef5fb;
    font-size:18px;
}

.contact-card small,
.contact-card strong,
.contact-card > span,
.contact-card > a:not(.contact-inline-link){
    display:block;
}

.contact-card small{
    margin-bottom:6px;
    color:#84929e;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.contact-card strong,
.contact-card > a:not(.contact-inline-link){
    color:var(--navy);
    font-size:20px;
    font-weight:900;
    text-decoration:none;
}

.contact-card > span{
    margin-top:3px;
    color:#52697d;
    font-weight:750;
}

.contact-card p{
    margin:13px 0 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}

.contact-card-blue{
    border-color:#bcd3ed;
    background:#f2f7fd;
}

.contact-inline-link{
    display:inline-block;
    margin-top:17px;
    color:var(--blue);
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.contact-side{
    display:grid;
    gap:13px;
}

.contact-side-box{
    padding:22px;
    border:1px solid var(--line);
    border-radius:16px;
}

.contact-side-kicker{
    color:var(--blue);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.contact-side-box h3{
    margin:7px 0 10px;
    font-size:20px;
    line-height:1.25;
    letter-spacing:-.025em;
}

.contact-side-box p{
    margin:0 0 9px;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
}

.contact-side-soft{
    background:#f5f9fe;
}

.contact-side-soft .button{
    width:100%;
    margin-top:10px;
}

.contact-help-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.contact-help-grid a{
    position:relative;
    min-height:170px;
    padding:23px;
    border:1px solid #dce5ed;
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:.15s ease;
}

.contact-help-grid a:hover{
    transform:translateY(-2px);
    border-color:#b9cde0;
    box-shadow:0 12px 35px rgba(15,49,78,.07);
}

.contact-help-grid a > span{
    width:41px;
    height:41px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:21px;
    border-radius:10px;
    background:#edf4fb;
}

.contact-help-grid strong,
.contact-help-grid small{
    display:block;
}

.contact-help-grid strong{
    margin-bottom:5px;
}

.contact-help-grid small{
    color:var(--muted);
}

.contact-help-grid b{
    position:absolute;
    right:20px;
    bottom:18px;
    color:var(--blue);
    font-size:19px;
}

.footer-grid-expanded{
    grid-template-columns:1.7fr 1fr 1fr 1.15fr;
}


@media(max-width:900px){

    .contact-layout{
        grid-template-columns:1fr;
    }

    .footer-grid-expanded{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:700px){

    .contact-fast-grid{
        grid-template-columns:1fr;
    }

    .contact-fast-item{
        min-height:auto;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .contact-fast-item:last-child{
        border-bottom:0;
    }

    .contact-card-grid,
    .contact-help-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:560px){

    .footer-grid-expanded{
        grid-template-columns:1fr;
    }

}

/* =========================================================
   ONEWAY_LEGAL_PAGE_V1
   ========================================================= */

.legal-hero{
    padding:58px 0 60px;
    border-bottom:1px solid var(--line);
    background:#f8fbfe;
}

.legal-hero h1{
    margin:13px 0 10px;
    font-size:clamp(43px,5vw,66px);
    line-height:1;
    letter-spacing:-.055em;
}

.legal-hero > .container > p{
    margin:0;
    color:var(--muted);
    font-size:17px;
}

.legal-section{
    padding:72px 0 90px;
}

.legal-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:70px;
    align-items:start;
}

.legal-content{
    max-width:800px;
}

.legal-content section{
    padding:0 0 35px;
    margin:0 0 35px;
    border-bottom:1px solid var(--line);
}

.legal-content section:last-child{
    border-bottom:0;
}

.legal-content h2{
    margin:0 0 15px;
    color:var(--navy);
    font-size:24px;
    letter-spacing:-.03em;
}

.legal-content p{
    margin:0 0 12px;
    color:#52687b;
    line-height:1.7;
}

.legal-content a{
    color:var(--blue);
    font-weight:750;
    text-decoration:none;
}

.legal-contact-list{
    margin:0;
}

.legal-contact-list > div{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:20px;
    padding:10px 0;
    border-bottom:1px solid #eef2f5;
}

.legal-contact-list dt{
    color:#81909d;
    font-size:13px;
}

.legal-contact-list dd{
    margin:0;
    color:var(--navy);
    font-weight:750;
}

.legal-side{
    position:sticky;
    top:105px;
    display:grid;
    gap:12px;
}

.legal-side-box{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
}

.legal-side-box small{
    margin-bottom:4px;
    color:#81909d;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.legal-side-box strong{
    color:var(--navy);
    font-size:18px;
}

.legal-side-box span,
.legal-side-box > a:not(.button){
    color:#607487;
    font-size:13px;
    text-decoration:none;
}

.legal-side-note{
    background:#f4f9ff;
}

.legal-side-note p{
    margin:2px 0 11px;
    color:#627689;
    font-size:13px;
    line-height:1.55;
}

.legal-side-note .button{
    width:100%;
}

.legal-pending{
    opacity:.55;
}


@media(max-width:800px){

    .legal-layout{
        grid-template-columns:1fr;
        gap:35px;
    }

    .legal-side{
        position:static;
    }

}


@media(max-width:520px){

    .legal-section{
        padding-top:52px;
    }

    .legal-contact-list > div{
        grid-template-columns:1fr;
        gap:3px;
    }

}

/* =========================================================
   ONEWAY_PRICES_PAGE_V1
   ========================================================= */

.price-facts-strip{
    border-bottom:1px solid var(--line);
    background:#fff;
}

.price-facts-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.price-facts-grid > div{
    min-height:96px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:18px 24px;
    border-right:1px solid var(--line);
}

.price-facts-grid > div:last-child{
    border-right:0;
}

.price-facts-grid small{
    margin-bottom:4px;
    color:#7b8b99;
    font-size:11px;
    font-weight:750;
}

.price-facts-grid strong{
    color:var(--navy);
    font-size:17px;
}

.price-calculator-section{
    background:#fff;
}

.price-calculator{
    max-width:1000px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:0;
    margin:38px auto 0;
    overflow:hidden;
    border:1px solid #d9e4ed;
    border-radius:23px;
    box-shadow:0 24px 65px rgba(15,49,78,.09);
}

.price-calculator-inputs{
    padding:32px;
}

.price-field{
    margin-bottom:20px;
}

.price-field label{
    display:block;
    margin-bottom:8px;
    color:var(--navy);
    font-size:12px;
    font-weight:900;
}

.price-field select{
    width:100%;
    min-height:51px;
    padding:0 14px;
    border:1px solid #cfdce6;
    border-radius:11px;
    background:#fff;
    color:var(--navy);
    font:inherit;
    font-weight:750;
}

.price-field > small{
    display:block;
    margin-top:7px;
    color:#8795a0;
    font-size:11px;
}

.price-option{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:10px;
    padding:16px;
    border:1px solid #dbe5ed;
    border-radius:12px;
    cursor:pointer;
}

.price-option:has(input:checked){
    border-color:var(--blue);
    background:#f2f7ff;
}

.price-option input{
    width:19px;
    height:19px;
    margin-top:2px;
    accent-color:var(--blue);
}

.price-option span{
    display:block;
}

.price-option strong,
.price-option small{
    display:block;
}

.price-option strong{
    margin-bottom:3px;
    color:var(--navy);
}

.price-option small{
    color:var(--muted);
}

.price-info-note{
    margin-top:18px;
    padding:14px 15px;
    border-radius:11px;
    background:#f5f8fb;
}

.price-info-note strong{
    display:block;
    margin-bottom:5px;
    font-size:12px;
}

.price-info-note p{
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.55;
}

.price-result{
    padding:34px;
    background:var(--navy);
    color:#fff;
}

.price-result-head{
    padding-bottom:26px;
    border-bottom:1px solid rgba(255,255,255,.14);
}

.price-result-head small,
.price-result-head strong,
.price-result-head span{
    display:block;
}

.price-result-head small{
    margin-bottom:10px;
    color:#a9bfd1;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.price-result-head strong{
    font-size:46px;
    line-height:1;
    letter-spacing:-.05em;
}

.price-result-head span{
    margin-top:7px;
    color:#9eb3c4;
    font-size:11px;
}

.price-result-lines{
    padding:18px 0 8px;
}

.price-result-lines > div{
    display:flex;
    justify-content:space-between;
    gap:25px;
    padding:8px 0;
}

.price-result-lines span{
    color:#aec1d0;
    font-size:12px;
}

.price-result-lines strong{
    text-align:right;
    font-size:12px;
}

.price-vat-row{
    margin-top:7px;
    padding-top:15px!important;
    border-top:1px solid rgba(255,255,255,.12);
}

.price-result-button{
    width:100%;
    margin-top:13px;
    background:#fff;
    color:var(--navy);
}

.price-result-disclaimer{
    margin:12px 0 0;
    color:#91a9ba;
    font-size:10px;
    line-height:1.5;
    text-align:center;
}

.tariff-table-wrap{
    overflow-x:auto;
    border:1px solid #dce5ec;
    border-radius:17px;
    background:#fff;
}

.tariff-table{
    width:100%;
    border-collapse:collapse;
}

.tariff-table th,
.tariff-table td{
    padding:17px 19px;
    border-bottom:1px solid #e7edf2;
    text-align:left;
}

.tariff-table th{
    background:#f7f9fb;
    color:#738494;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.tariff-table td{
    color:#607386;
    font-size:13px;
}

.tariff-table td strong{
    color:var(--navy);
}

.tariff-table tbody tr:last-child td{
    border-bottom:0;
}

.tariff-table tbody tr:hover{
    background:#f9fbfd;
}

.tariff-bottom-note{
    display:flex;
    gap:14px;
    margin-top:18px;
    padding:17px 19px;
    border:1px solid #d8e4ee;
    border-radius:13px;
    background:#f4f9ff;
}

.tariff-bottom-note > span{
    width:29px;
    height:29px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-weight:900;
}

.tariff-bottom-note p{
    margin:3px 0 0;
    color:#5c7185;
    font-size:13px;
    line-height:1.55;
}

.price-explain-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.price-explain-grid article{
    padding:24px;
    border:1px solid var(--line);
    border-radius:16px;
}

.price-explain-grid article > span{
    display:block;
    margin-bottom:24px;
    color:#a0afbb;
    font-size:11px;
    font-weight:900;
}

.price-explain-grid h3{
    margin:0 0 8px;
    font-size:19px;
}

.price-explain-grid p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
}

.price-example-section{
    padding:0 0 85px;
}

.price-example-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    padding:35px;
    border-radius:20px;
    background:#f4f9ff;
}

.price-example-box h2{
    margin:10px 0 0;
    font-size:34px;
    letter-spacing:-.04em;
}

.price-example-calc > div{
    display:flex;
    justify-content:space-between;
    gap:25px;
    padding:10px 0;
    border-bottom:1px solid #dce7ef;
}

.price-example-calc span{
    color:#64798c;
    font-size:13px;
}

.price-example-total{
    margin-top:7px;
    padding-top:17px!important;
    border-bottom:0!important;
}

.price-example-total strong{
    color:var(--blue);
    font-size:21px;
}


@media(max-width:850px){

    .price-facts-grid{
        grid-template-columns:1fr 1fr;
    }

    .price-facts-grid > div:nth-child(2){
        border-right:0;
    }

    .price-calculator,
    .price-example-box{
        grid-template-columns:1fr;
    }

    .price-result{
        min-height:auto;
    }

}


@media(max-width:650px){

    .price-facts-grid{
        grid-template-columns:1fr;
    }

    .price-facts-grid > div{
        min-height:72px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .price-facts-grid > div:last-child{
        border-bottom:0;
    }

    .price-calculator-inputs,
    .price-result{
        padding:23px;
    }

    .price-result-head strong{
        font-size:40px;
    }

    .price-explain-grid{
        grid-template-columns:1fr;
    }

    .tariff-table{
        min-width:670px;
    }

    .price-example-box{
        gap:30px;
        padding:25px;
    }

}

/* =========================================================
   ONEWAY_WIZARD_V3
   ========================================================= */

.ow-booking-wizard{
    overflow:hidden;
    border:1px solid #d9e4ed;
    border-radius:22px;
    background:#fff;
    box-shadow:0 25px 70px rgba(11,47,77,.12);
}

.ow-wizard-head{
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:flex-start;
    padding:30px 32px 25px;
    border-bottom:1px solid var(--line);
}

.ow-wizard-head h2{
    margin:8px 0 7px;
    color:var(--navy);
    font-size:30px;
    letter-spacing:-.04em;
}

.ow-wizard-head p{
    max-width:620px;
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
}

.ow-test-pill{
    flex:none;
    padding:7px 10px;
    border-radius:999px;
    background:#fff4d8;
    color:#795d0c;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}

.ow-progress{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    padding:0 22px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}

.ow-progress-item{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    padding:16px 5px 13px;
    color:#99a7b3;
    font-size:10px;
    font-weight:800;
}

.ow-progress-item::after{
    content:"";
    position:absolute;
    bottom:-1px;
    left:0;
    right:0;
    height:3px;
    background:transparent;
}

.ow-progress-item b{
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ced9e2;
    border-radius:50%;
    background:#fff;
    font-size:10px;
}

.ow-progress-item.active{
    color:var(--blue);
}

.ow-progress-item.active b{
    border-color:#9fc4ea;
    background:#eaf4ff;
    color:var(--blue);
}

.ow-progress-item.current::after{
    background:var(--blue);
}

.ow-step{
    display:none;
    padding:33px 32px 31px;
}

.ow-step.active{
    display:block;
}

.ow-step-title{
    margin-bottom:27px;
}

.ow-step-title > span{
    display:block;
    margin-bottom:7px;
    color:var(--blue);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.ow-step-title h3{
    margin:0 0 7px;
    color:var(--navy);
    font-size:26px;
    letter-spacing:-.035em;
}

.ow-step-title p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.ow-route-grid{
    display:grid;
    grid-template-columns:1fr 46px 1fr;
    gap:12px;
    align-items:end;
}

.ow-route-arrow{
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#9baab6;
    font-size:22px;
}

.ow-field{
    display:block;
}

.ow-field > span{
    display:block;
    margin-bottom:7px;
    color:var(--navy);
    font-size:11px;
    font-weight:900;
}

.ow-field input,
.ow-field select{
    width:100%;
    min-height:52px;
    box-sizing:border-box;
    padding:0 14px;
    border:1px solid #cddae4;
    border-radius:11px;
    background:#fff;
    color:var(--navy);
    font:inherit;
    outline:none;
}

.ow-field input:focus,
.ow-field select:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(20,112,210,.08);
}

.ow-input-icon{
    position:relative;
}

.ow-input-icon input{
    padding-left:50px;
}

.ow-input-icon i{
    position:absolute;
    z-index:2;
    left:12px;
    top:50%;
    width:27px;
    height:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    border-radius:50%;
    background:#eaf4ff;
    color:var(--blue);
    font-size:10px;
    font-style:normal;
    font-weight:900;
}

.ow-input-icon i.destination{
    background:#eaf8ef;
    color:#318453;
}

.ow-two-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-bottom:17px;
}

.ow-info-strip,
.ow-contact-note{
    display:flex;
    gap:12px;
    margin-top:20px;
    padding:14px 16px;
    border-radius:11px;
    background:#f4f8fc;
}

.ow-info-strip > span,
.ow-contact-note > span{
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:#e0eefb;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
}

.ow-info-strip p,
.ow-contact-note p{
    margin:2px 0 0;
    color:#5c7184;
    font-size:12px;
    line-height:1.55;
}

.ow-duration-card{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    margin-top:17px;
    padding:16px 18px;
    border:1px solid #dbe5ed;
    border-radius:12px;
}

.ow-duration-card small,
.ow-duration-card strong{
    display:block;
}

.ow-duration-card small{
    margin-bottom:3px;
    color:#8a98a4;
    font-size:10px;
}

.ow-duration-card strong{
    color:var(--navy);
    font-size:14px;
}

.ow-duration-card > span{
    padding:6px 9px;
    border-radius:999px;
    background:#edf5fd;
    color:var(--blue);
    font-size:10px;
    font-weight:900;
}

.ow-choice-grid{
    display:grid;
    gap:12px;
}

.ow-transport-grid{
    grid-template-columns:repeat(4,1fr);
}

.ow-choice-card{
    position:relative;
    min-height:165px;
    display:flex;
    flex-direction:column;
    cursor:pointer;
    padding:20px;
    border:1px solid #d8e3eb;
    border-radius:15px;
    transition:.15s ease;
}

.ow-choice-card:hover{
    transform:translateY(-2px);
    border-color:#a9c8e5;
}

.ow-choice-card:has(input:checked){
    border-color:var(--blue);
    background:#f2f7ff;
    box-shadow:0 0 0 2px rgba(20,112,210,.06);
}

.ow-choice-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.ow-choice-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    border-radius:11px;
    background:#edf4fa;
    font-size:19px;
}

.ow-choice-card strong{
    margin-bottom:4px;
    color:var(--navy);
    font-size:14px;
}

.ow-choice-card small{
    color:var(--muted);
    font-size:11px;
    line-height:1.45;
}

.ow-trailer-price-layout{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    align-items:start;
}

.ow-trailer-options{
    display:grid;
    gap:9px;
}

.ow-trailer-choice{
    position:relative;
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    padding:17px;
    border:1px solid #d9e3eb;
    border-radius:13px;
    cursor:pointer;
    transition:.15s ease;
}

.ow-trailer-choice:hover{
    border-color:#aac7e2;
}

.ow-trailer-choice:has(input:checked){
    border-color:var(--blue);
    background:#f2f7ff;
}

.ow-trailer-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.ow-trailer-choice-main strong,
.ow-trailer-choice-main small,
.ow-trailer-choice-main > span{
    display:block;
}

.ow-trailer-choice-main strong{
    color:var(--navy);
    font-size:15px;
}

.ow-trailer-choice-main small{
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
}

.ow-trailer-choice-main > span:not(.ow-recommend-badge){
    margin-top:6px;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
}

.ow-trailer-choice > b{
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    border-radius:50%;
    background:#edf2f6;
    color:#a5b1ba;
    font-size:10px;
}

.ow-trailer-choice:has(input:checked) > b{
    background:var(--blue);
    color:#fff;
}

.ow-recommend-badge{
    width:max-content;
    margin-bottom:6px;
    padding:4px 6px;
    border-radius:5px;
    background:#e0efff;
    color:var(--blue);
    font-size:8px;
    font-weight:900;
    letter-spacing:.05em;
}

.ow-more-trailers{
    display:block;
    padding:9px 5px;
    color:var(--blue);
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}

.ow-live-price{
    position:sticky;
    top:95px;
    overflow:hidden;
    padding:23px;
    border-radius:16px;
    background:var(--navy);
    color:#fff;
}

.ow-live-price-label{
    display:block;
    margin-bottom:17px;
    color:#a8bdcc;
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.ow-price-waiting strong{
    display:block;
    margin-bottom:7px;
    font-size:18px;
}

.ow-price-waiting p{
    margin:0;
    color:#abc0ce;
    font-size:12px;
    line-height:1.55;
}

.ow-price-total{
    display:block;
    font-size:38px;
    line-height:1;
    letter-spacing:-.05em;
}

.ow-price-details > small{
    display:block;
    margin-top:5px;
    color:#a8bdcc;
    font-size:10px;
}

.ow-price-lines{
    margin-top:20px;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
}

.ow-price-lines > div{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:5px 0;
    font-size:11px;
}

.ow-price-lines span{
    color:#a8bdcc;
}

.ow-kasko-toggle{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-top:15px;
    cursor:pointer;
}

.ow-kasko-toggle input{
    width:18px;
    height:18px;
    margin-top:2px;
    accent-color:#fff;
}

.ow-kasko-toggle strong,
.ow-kasko-toggle small{
    display:block;
}

.ow-kasko-toggle strong{
    font-size:11px;
}

.ow-kasko-toggle small{
    margin-top:3px;
    color:#9eb5c5;
    font-size:9px;
}

.ow-price-disclaimer{
    margin:16px 0 0;
    color:#90a7b8;
    font-size:9px;
    line-height:1.5;
}

.ow-summary{
    overflow:hidden;
    border:1px solid #d9e4ec;
    border-radius:15px;
}

.ow-summary-row{
    display:grid;
    grid-template-columns:165px 1fr;
    gap:20px;
    padding:15px 18px;
    border-bottom:1px solid #e6edf2;
}

.ow-summary-row:last-child{
    border-bottom:0;
}

.ow-summary-row span{
    color:#82919d;
    font-size:11px;
}

.ow-summary-row strong{
    color:var(--navy);
    font-size:12px;
}

.ow-test-warning{
    margin-top:17px;
    padding:16px;
    border:1px solid #ead598;
    border-radius:12px;
    background:#fff9e9;
}

.ow-test-warning strong{
    display:block;
    margin-bottom:4px;
    color:#765a08;
    font-size:11px;
}

.ow-test-warning p{
    margin:0;
    color:#806b2d;
    font-size:11px;
    line-height:1.5;
}

.ow-actions{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:28px;
}

.ow-actions-right{
    justify-content:flex-end;
}

.ow-dev-result{
    padding:55px 30px;
    text-align:center;
}

.ow-dev-result-icon{
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    border-radius:50%;
    background:#e6f7ed;
    color:#338a58;
    font-size:24px;
    font-weight:900;
}

.ow-dev-result h3{
    max-width:600px;
    margin:10px auto;
    color:var(--navy);
    font-size:27px;
    letter-spacing:-.035em;
}

.ow-dev-result p{
    max-width:560px;
    margin:0 auto 10px;
    color:var(--muted);
    line-height:1.6;
}

.ow-dev-result-note{
    margin-bottom:22px!important;
    font-size:11px;
}


@media(max-width:850px){

    .ow-transport-grid{
        grid-template-columns:1fr 1fr;
    }

    .ow-trailer-price-layout{
        grid-template-columns:1fr;
    }

    .ow-live-price{
        position:static;
    }

}


@media(max-width:700px){

    .ow-wizard-head{
        padding:23px 20px 20px;
    }

    .ow-wizard-head h2{
        font-size:25px;
    }

    .ow-test-pill{
        display:none;
    }

    .ow-progress{
        padding:0 5px;
    }

    .ow-progress-item{
        padding:12px 2px 10px;
    }

    .ow-progress-item span{
        display:none;
    }

    .ow-progress-item b{
        width:23px;
        height:23px;
    }

    .ow-step{
        padding:25px 20px 23px;
    }

    .ow-step-title h3{
        font-size:23px;
    }

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

    .ow-route-arrow{
        height:25px;
        transform:rotate(90deg);
    }

    .ow-two-grid{
        grid-template-columns:1fr;
    }

    .ow-summary-row{
        grid-template-columns:1fr;
        gap:4px;
    }

}


@media(max-width:520px){

    .ow-transport-grid{
        grid-template-columns:1fr;
    }

    .ow-choice-card{
        min-height:auto;
    }

    .ow-choice-icon{
        margin-bottom:14px;
    }

    .ow-actions{
        flex-direction:column-reverse;
    }

    .ow-actions .button{
        width:100%;
    }

}

/* =========================================================
   ONEWAY_HOMEPAGE_POLISH_V1
   ========================================================= */

/*
 * Der neue OW-Wizard bringt bereits seine eigene Card,
 * Überschrift und Schrittanzeige mit.
 * Deshalb ist booking-shell nur noch Positions-Wrapper.
 */

.booking-shell{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.hero{
    padding:82px 0 88px;
}

.hero-grid{
    grid-template-columns:
        minmax(0,.86fr)
        minmax(520px,1.14fr);

    gap:58px;
    align-items:start;
}

.hero-copy{
    padding-top:34px;
}

.hero h1{
    max-width:650px;
    margin-top:19px;
    font-size:clamp(48px,5.35vw,74px);
    line-height:.97;
}

.hero-lead{
    max-width:590px;
    font-size:18px;
    line-height:1.68;
}

.hero-benefits{
    margin-top:27px;
    gap:10px;
}

.hero-benefits div{
    font-size:14px;
}

.hero-actions{
    margin-top:31px;
}


/* ---------------------------------------------------------
   KLEINER HINWEIS UNTER CTA
   --------------------------------------------------------- */

.hero-request-note{
    max-width:520px;
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid #e4ebf1;
}

.hero-request-note > span{
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    margin-top:1px;
    border-radius:50%;
    background:#edf7f1;
    color:var(--green);
    font-size:10px;
    font-weight:950;
}

.hero-request-note p{
    margin:0;
    color:#778898;
    font-size:11px;
    line-height:1.55;
}


/* ---------------------------------------------------------
   NEUER MIETASSISTENT
   --------------------------------------------------------- */

.hero .ow-booking-wizard{
    border-color:#d5e1ea;
    box-shadow:
        0 32px 80px rgba(15,38,60,.14),
        0 3px 12px rgba(15,38,60,.04);
}

.hero .ow-wizard-head{
    padding:27px 29px 23px;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdff
        );
}

.hero .ow-wizard-head h2{
    font-size:28px;
}

.hero .ow-progress{
    background:#f7fafe;
}

.hero .ow-step{
    padding:30px 29px 29px;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:1100px){

    .hero-grid{
        grid-template-columns:
            minmax(0,.82fr)
            minmax(470px,1.18fr);

        gap:40px;
    }

    .hero h1{
        font-size:clamp(45px,5.2vw,65px);
    }

}


@media(max-width:980px){

    .hero{
        padding:58px 0 66px;
    }

    .hero-grid{
        grid-template-columns:1fr;
        gap:37px;
    }

    .hero-copy{
        max-width:760px;
        padding-top:0;
    }

    .booking-shell{
        width:100%;
        max-width:none;
    }

    .hero .ow-booking-wizard{
        max-width:760px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:700px){

    .hero{
        padding:42px 0 49px;
    }

    .hero h1{
        font-size:clamp(42px,12vw,55px);
        line-height:.98;
    }

    .hero-lead{
        font-size:16px;
        line-height:1.62;
    }

    .hero-benefits{
        margin-top:23px;
    }

    .hero-benefits div{
        align-items:flex-start;
        font-size:13px;
        line-height:1.45;
    }

    .hero-actions{
        width:100%;
    }

    .hero-actions .button{
        width:100%;
    }

    .hero-actions .text-link{
        align-self:center;
    }

    .hero-request-note{
        margin-top:17px;
    }

    .hero .ow-wizard-head{
        padding:22px 20px 19px;
    }

    .hero .ow-step{
        padding:24px 20px 23px;
    }

}


@media(max-width:480px){

    .hero h1{
        font-size:41px;
    }

    .hero-request-note{
        padding-top:14px;
    }

}


/* =========================================================
   ONEWAY_MOBILE_NAV_V1
   ========================================================= */

.mobile-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    padding:0;
    flex:none;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:1px solid #d8e2ea;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}

.mobile-menu-toggle span{
    width:18px;
    height:2px;
    display:block;
    border-radius:99px;
    background:var(--navy);
    transition:
        transform .18s ease,
        opacity .18s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1){
    transform:
        translateY(7px)
        rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.mobile-menu-toggle.is-open span:nth-child(3){
    transform:
        translateY(-7px)
        rotate(-45deg);
}


.mobile-menu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:101;
    padding:0 0 14px;
    border-top:1px solid #edf1f4;
    border-bottom:1px solid #dce5ed;
    background:rgba(255,255,255,.985);
    box-shadow:0 18px 35px rgba(15,38,60,.10);
    backdrop-filter:blur(14px);
}

.mobile-menu[hidden]{
    display:none!important;
}

.mobile-menu-inner{
    padding-top:12px;
}

.mobile-menu nav{
    display:grid;
}

.mobile-menu nav a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:48px;
    padding:0 4px;
    border-bottom:1px solid #edf1f4;
    color:#32495d;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
}

.mobile-menu nav a::after{
    content:"→";
    margin-left:auto;
    color:#9aabb9;
}

.mobile-menu nav a:hover{
    color:var(--blue);
}

.mobile-menu-cta{
    width:100%;
    margin-top:14px;
}


@media(max-width:760px){

    .topbar{
        position:sticky;
    }

    .topbar-inner{
        gap:10px;
    }

    .desktop-nav{
        display:none;
    }

    .mobile-menu-toggle{
        display:flex;
        margin-left:auto;
    }

    .topbar-cta{
        margin-left:0;
    }

}


@media(max-width:430px){

    .brand{
        font-size:19px;
    }

    .topbar-cta{
        display:none;
    }

    .mobile-menu-toggle{
        margin-left:auto;
    }

}


@media(min-width:761px){

    .mobile-menu{
        display:none!important;
    }

}

/* =========================================================
   ONEWAY_HOMEPAGE_SECTIONS_POLISH_V1
   ========================================================= */


/* ---------------------------------------------------------
   TRUST STRIP
   --------------------------------------------------------- */

.trust-strip{
    padding:24px 0;
    border-top:1px solid #e8eef3;
    border-bottom:1px solid #e2eaf0;
    background:#f8fafc;
}

.trust-grid{
    gap:12px;
}

.trust-grid div{
    position:relative;
    min-height:90px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:18px 20px;
    text-align:left;
    border:1px solid #e1e9ef;
    border-radius:14px;
    background:#fff;
}

.trust-grid div:last-child{
    border-right:1px solid #e1e9ef;
}

.trust-grid strong{
    margin-bottom:6px;
    color:var(--navy);
    font-size:16px;
}

.trust-grid span{
    color:#718293;
    font-size:11px;
    line-height:1.45;
}


/* ---------------------------------------------------------
   VORTEILE
   --------------------------------------------------------- */

#vorteile{
    padding-top:86px;
    padding-bottom:90px;
}

#vorteile .section-head{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

.feature-grid{
    margin-top:42px;
    gap:16px;
}

.feature-card{
    position:relative;
    overflow:hidden;
    min-height:245px;
    padding:27px 25px;
    border:1px solid #dce5ec;
    border-radius:17px;
    background:#fff;
    box-shadow:0 10px 32px rgba(15,38,60,.035);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.feature-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#d9e9fa;
}

.feature-card:hover{
    transform:translateY(-3px);
    border-color:#bbd2e7;
    box-shadow:0 18px 42px rgba(15,38,60,.07);
}

.feature-number{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:38px;
    border-radius:11px;
    background:#edf5fd;
    color:var(--blue);
    font-size:11px;
    font-weight:950;
}

.feature-card h3{
    font-size:20px;
    line-height:1.2;
}

.feature-card p{
    max-width:310px;
}


/* ---------------------------------------------------------
   ANHÄNGER
   --------------------------------------------------------- */

#anhaenger{
    padding-top:90px;
    padding-bottom:92px;
}

#anhaenger .section-head{
    max-width:700px;
}

.trailer-grid{
    margin-top:39px;
    gap:17px;
}

.trailer-card{
    min-height:445px;
    display:flex;
    flex-direction:column;
    padding:24px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(15,38,60,.035);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.trailer-card:hover{
    transform:translateY(-4px);
    border-color:#bcd2e6;
    box-shadow:0 22px 48px rgba(15,38,60,.08);
}

.trailer-card.highlighted{
    transform:none;
    border:2px solid #8ebced;
    box-shadow:0 20px 50px rgba(11,94,215,.09);
}

.trailer-card.highlighted:hover{
    transform:translateY(-4px);
}

.trailer-card .trailer-illustration{
    margin-top:25px;
    margin-bottom:27px;
}

.trailer-card h3{
    margin-top:0;
    font-size:22px;
    letter-spacing:-.03em;
}

.trailer-card p{
    min-height:64px;
}

.trailer-card a{
    margin-top:auto;
    padding-top:20px;
    border-top:1px solid #e8eef3;
    color:var(--blue);
    font-size:12px;
    font-weight:900;
}


/* ---------------------------------------------------------
   PROZESS
   --------------------------------------------------------- */

#so-gehts{
    padding-top:91px;
    padding-bottom:91px;
}

.steps-grid{
    position:relative;
    margin-top:44px;
    gap:13px;
}

.process-card{
    position:relative;
    min-height:230px;
    padding:25px 22px;
    border:1px solid #dfe7ed;
    border-radius:16px;
    background:#fff;
}

.process-card .process-icon{
    margin-bottom:31px;
    box-shadow:0 0 0 7px #f2f7fc;
}

.process-card h3{
    font-size:18px;
}

.process-card p{
    font-size:12px;
    line-height:1.65;
}


/* ---------------------------------------------------------
   DARK SECTION
   --------------------------------------------------------- */

.section-dark{
    position:relative;
    overflow:hidden;
    padding:86px 0;
}

.section-dark::after{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    right:-150px;
    top:-160px;
    border:65px solid rgba(255,255,255,.035);
    border-radius:50%;
}

.section-dark .dark-grid{
    position:relative;
    z-index:2;
}

.section-dark h2{
    max-width:520px;
    font-size:clamp(34px,4vw,52px);
    letter-spacing:-.045em;
}

.section-dark p{
    font-size:15px;
    line-height:1.75;
}


/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

#faq{
    padding-top:91px;
    padding-bottom:88px;
}

.faq-layout{
    align-items:start;
}

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

.faq-list details{
    overflow:hidden;
    border:1px solid #dce5ec;
    border-radius:13px;
    background:#fff;
}

.faq-list summary{
    min-height:68px;
    display:flex;
    align-items:center;
    padding:17px 50px 17px 19px;
    font-size:13px;
}

.faq-list details[open]{
    border-color:#bfd4e7;
    box-shadow:0 10px 27px rgba(15,38,60,.045);
}

.faq-list p{
    margin:0;
    padding:0 19px 19px;
    line-height:1.65;
}


/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.final-cta{
    padding-top:18px;
    padding-bottom:92px;
}

.final-cta-box{
    position:relative;
    overflow:hidden;
    padding:40px 42px;
    border-radius:21px;
    box-shadow:0 24px 58px rgba(7,27,45,.16);
}

.final-cta-box::after{
    content:"";
    position:absolute;
    right:-75px;
    bottom:-120px;
    width:260px;
    height:260px;
    border:52px solid rgba(255,255,255,.055);
    border-radius:50%;
}

.final-cta-box > *{
    position:relative;
    z-index:2;
}

.final-cta h2{
    margin-top:6px;
    font-size:36px;
    letter-spacing:-.04em;
}

.final-cta p{
    max-width:570px;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media(max-width:980px){

    .trust-grid{
        grid-template-columns:1fr 1fr;
    }

    .trust-grid div{
        border:1px solid #e1e9ef!important;
    }

}


@media(max-width:760px){

    .trust-strip{
        padding:17px 0;
    }

    .trust-grid{
        gap:8px;
    }

    .trust-grid div{
        min-height:78px;
        padding:14px;
    }

    #vorteile,
    #anhaenger,
    #so-gehts,
    #faq{
        padding-top:68px;
        padding-bottom:68px;
    }

    .feature-grid,
    .trailer-grid,
    .steps-grid{
        margin-top:31px;
    }

    .feature-card{
        min-height:auto;
    }

    .feature-number{
        margin-bottom:25px;
    }

    .trailer-card{
        min-height:auto;
    }

    .trailer-card p{
        min-height:0;
    }

    .section-dark{
        padding:68px 0;
    }

    .final-cta{
        padding-bottom:68px;
    }

    .final-cta-box{
        padding:30px 27px;
    }

}


@media(max-width:480px){

    .trust-grid{
        grid-template-columns:1fr;
    }

    .trust-grid div{
        min-height:70px;
    }

    .final-cta h2{
        font-size:29px;
    }

}



/* =========================================================
   ONEWAY_AVAILABILITY_UI_CSS_V1
   ========================================================= */


/* ---------------------------------------------------------
   PLZ / ORT STATUS
   --------------------------------------------------------- */

.ow-place-status{
    margin-top:-2px;
    margin-bottom:13px;
    padding:9px 12px;
    border:1px solid #dfe7ed;
    border-radius:9px;
    background:#f8fafc;
    color:#66798a;
    font-size:11px;
    font-weight:750;
    line-height:1.45;
}

.ow-place-status.is-loading{
    border-color:#d6e4ef;
    background:#f6f9fc;
    color:#61788b;
}

.ow-place-status.is-ok{
    border-color:#cce6d6;
    background:#f3faf6;
    color:#267044;
}

.ow-place-status.is-error{
    border-color:#ecd6d6;
    background:#fff7f7;
    color:#a14040;
}


/* ---------------------------------------------------------
   VERFÜGBARKEIT
   --------------------------------------------------------- */

.ow-availability-panel{
    margin:20px 0 27px;
    padding:18px;
    border:1px solid #d8e4ed;
    border-radius:15px;
    background:
        linear-gradient(
            180deg,
            #fbfdff 0%,
            #f7fafc 100%
        );
}

.ow-availability-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:13px;
}

.ow-availability-head > div{
    display:flex;
    align-items:center;
    gap:8px;
}

.ow-availability-head strong{
    color:var(--navy);
    font-size:14px;
}

.ow-availability-head small{
    color:#8797a5;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.ow-live-dot{
    width:8px;
    height:8px;
    flex:none;
    border-radius:50%;
    background:#36a568;
    box-shadow:
        0 0 0 4px rgba(54,165,104,.10);
}

.ow-availability-message{
    padding:12px 13px;
    border-radius:10px;
    background:#eef4f8;
    color:#617487;
    font-size:11px;
    line-height:1.55;
}

.ow-availability-message strong,
.ow-availability-message span{
    display:block;
}

.ow-availability-message strong{
    color:var(--navy);
    margin-bottom:2px;
}

.ow-availability-message.is-loading{
    background:#f3f7fb;
}

.ow-availability-message.is-ok{
    border:1px solid #cfe7d8;
    background:#f2faf5;
}

.ow-availability-message.is-empty{
    border:1px solid #eadfcb;
    background:#fffaf1;
}

.ow-availability-message.is-error{
    border:1px solid #ead4d4;
    background:#fff7f7;
}

.ow-availability-grid{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:11px;
}

.ow-availability-card{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:13px;
    border:1px solid #dfe8ee;
    border-radius:11px;
    background:#fff;
    box-shadow:
        0 5px 18px rgba(15,38,60,.035);
}

.ow-availability-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.ow-availability-card-top strong{
    color:var(--navy);
    font-size:15px;
}

.ow-availability-count{
    padding:3px 6px;
    border-radius:999px;
    background:#edf5fd;
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.ow-availability-location{
    color:#425b70;
    font-size:12px;
    font-weight:800;
}

.ow-availability-distance{
    color:#7a8b99;
    font-size:10px;
    line-height:1.45;
}

.ow-availability-free{
    margin-top:4px;
    color:#2e7b4d;
    font-size:10px;
    font-weight:850;
}

.ow-availability-note{
    margin:12px 1px 0;
    color:#8998a5;
    font-size:9px;
    line-height:1.5;
}


@media(max-width:650px){

    .ow-availability-grid{
        grid-template-columns:1fr;
    }

    .ow-availability-head{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }

}




/* =========================================================
   ONEWAY_CSS_ONLY_WIZARD_NAV_V2

   Wizard funktioniert auch komplett ohne JavaScript.
   ========================================================= */


/*
 * Sobald ein Schritt über #ow-step-X angesprungen wurde,
 * werden zunächst alle Schritte ausgeblendet.
 */

.ow-booking-wizard:has(.ow-step:target) .ow-step{
    display:none !important;
}


/*
 * Nur der gewählte Schritt wird angezeigt.
 */

.ow-booking-wizard:has(.ow-step:target) .ow-step:target{
    display:block !important;
}


/*
 * Fallback-Links sehen weiterhin wie Buttons aus.
 */

a[data-fallback-nav]{
    text-decoration:none;
    cursor:pointer;
}


/*
 * Beim Sprung etwas Abstand zum oberen Seitenrand.
 */

.ow-step{
    scroll-margin-top:95px;
}




/* =========================================================
   ONEWAY_WIZARD_RADIO_NAV_V3
   ========================================================= */


/*
 * Steuer-Radios unsichtbar machen.
 */

.ow-wizard-radio{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}


/*
 * Alle Wizard-Schritte zunächst ausblenden.
 * Das überschreibt auch die alte .active-Klasse.
 */

.ow-booking-wizard > .ow-step{
    display:none !important;
}


/*
 * Der gewählte Radio-Schalter bestimmt den sichtbaren Schritt.
 */

#ow-wizard-radio-0:checked ~ .ow-step[data-step="0"],
#ow-wizard-radio-1:checked ~ .ow-step[data-step="1"],
#ow-wizard-radio-2:checked ~ .ow-step[data-step="2"],
#ow-wizard-radio-3:checked ~ .ow-step[data-step="3"],
#ow-wizard-radio-4:checked ~ .ow-step[data-step="4"],
#ow-wizard-radio-5:checked ~ .ow-step[data-step="5"]{
    display:block !important;
}


/*
 * Labels weiterhin optisch wie die bisherigen Buttons.
 */

label[data-radio-nav]{
    text-decoration:none;
    cursor:pointer;
    user-select:none;
}


/*
 * Alte :target-Navigation neutralisieren.
 */

.ow-step:target{
    display:none !important;
}




/* =========================================================
   ONEWAY_WIZARD_CLEAN_UI_V1
   Sauberer Ein-Schritt-Buchungsassistent
   ========================================================= */


/* ---------------------------------------------------------
   Grundkarte
   --------------------------------------------------------- */

.ow-booking-wizard{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
}


/* ---------------------------------------------------------
   WICHTIG:
   Immer exakt EIN Wizard-Schritt sichtbar.
   Alte active/:target-Regeln werden hier überschrieben.
   --------------------------------------------------------- */

.ow-booking-wizard .ow-step{
    display:none !important;
    width:100%;
    margin:0 !important;
}


#ow-wizard-radio-0:checked ~ .ow-step[data-step="0"],
#ow-wizard-radio-1:checked ~ .ow-step[data-step="1"],
#ow-wizard-radio-2:checked ~ .ow-step[data-step="2"],
#ow-wizard-radio-3:checked ~ .ow-step[data-step="3"],
#ow-wizard-radio-4:checked ~ .ow-step[data-step="4"],
#ow-wizard-radio-5:checked ~ .ow-step[data-step="5"]{
    display:block !important;
}


/*
 * Alte Fragmentnavigation darf nichts mehr
 * zusätzlich ein-/ausblenden.
 */

.ow-booking-wizard .ow-step:target{
    display:none !important;
}


#ow-wizard-radio-0:checked ~ .ow-step[data-step="0"]:target,
#ow-wizard-radio-1:checked ~ .ow-step[data-step="1"]:target,
#ow-wizard-radio-2:checked ~ .ow-step[data-step="2"]:target,
#ow-wizard-radio-3:checked ~ .ow-step[data-step="3"]:target,
#ow-wizard-radio-4:checked ~ .ow-step[data-step="4"]:target,
#ow-wizard-radio-5:checked ~ .ow-step[data-step="5"]:target{
    display:block !important;
}


/* ---------------------------------------------------------
   Schritt selbst kompakter
   --------------------------------------------------------- */

.ow-booking-wizard .ow-step{
    padding:28px 30px 26px !important;
}


.ow-step-title{
    margin-bottom:20px !important;
}


.ow-step-title > span{
    margin-bottom:5px !important;
}


.ow-step-title h2,
.ow-step-title h3{
    margin-bottom:7px !important;
}


.ow-step-title p{
    margin-top:0 !important;
    margin-bottom:0 !important;
    max-width:720px;
}


/* ---------------------------------------------------------
   Formfelder kompakter
   --------------------------------------------------------- */

.ow-booking-wizard .form-field{
    margin-bottom:13px !important;
}


.ow-booking-wizard input,
.ow-booking-wizard select,
.ow-booking-wizard textarea{
    max-width:100%;
}


/* ---------------------------------------------------------
   Route Start / Ziel
   --------------------------------------------------------- */

.ow-booking-wizard .route-grid,
.ow-booking-wizard .ow-route-grid{
    gap:14px !important;
}


/* ---------------------------------------------------------
   Aktionen fest und übersichtlich unten
   --------------------------------------------------------- */

.ow-booking-wizard .step-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:22px !important;
    padding-top:18px;
    border-top:1px solid #e5ebf0;
}


.ow-booking-wizard .step-actions > *{
    margin:0 !important;
}


label[data-radio-nav]{
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    cursor:pointer;
    text-decoration:none !important;
}


/* ---------------------------------------------------------
   Statusmeldungen unter PLZ klein halten
   --------------------------------------------------------- */

.ow-place-status{
    margin-top:-5px !important;
    margin-bottom:11px !important;
    padding:7px 10px !important;
    border-radius:8px !important;
    font-size:12px !important;
    line-height:1.35 !important;
}


/* ---------------------------------------------------------
   Verfügbarkeitsbereich später nicht endlos breit/groß
   --------------------------------------------------------- */

.ow-availability-panel{
    margin-top:18px !important;
    padding:16px !important;
    border-radius:14px !important;
}


.ow-availability-results{
    display:grid;
    gap:8px !important;
    margin-top:12px !important;
}


.ow-availability-card{
    padding:11px 13px !important;
    border-radius:10px !important;
}


.ow-availability-card h4,
.ow-availability-card h3{
    margin:0 0 3px !important;
    font-size:14px !important;
}


.ow-availability-card p{
    margin:2px 0 !important;
    font-size:12px !important;
    line-height:1.4 !important;
}


/* ---------------------------------------------------------
   Auswahlkarten kompakter
   --------------------------------------------------------- */

.ow-booking-wizard .choice-card,
.ow-booking-wizard .trailer-choice,
.ow-booking-wizard .transport-choice{
    margin-bottom:8px !important;
}


/* ---------------------------------------------------------
   Desktop: Assistent soll wie EIN zusammenhängender Dialog
   wirken und nicht wie eine lange Webseite.
   --------------------------------------------------------- */

@media (min-width:761px){

    .ow-booking-wizard .ow-step{
        min-height:430px;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width:760px){

    .ow-booking-wizard{
        border-radius:16px;
    }

    .ow-booking-wizard .ow-step{
        min-height:0;
        padding:21px 17px 19px !important;
    }

    .ow-step-title{
        margin-bottom:17px !important;
    }

    .ow-booking-wizard .step-actions{
        margin-top:18px !important;
        padding-top:15px;
    }

    .ow-booking-wizard .step-actions > *{
        flex:1;
    }

    label[data-radio-nav]{
        width:100%;
    }

}


/* =========================================================
   ENDE ONEWAY_WIZARD_CLEAN_UI_V1
   ========================================================= */



/* =========================================================
   ONEWAY_WIZARD_NOJUMP_CLEAN_V2
   ========================================================= */


/*
 * WICHTIG:
 * Die Radio-Steuerung darf NICHT fokussierbar irgendwo
 * oben im Formular liegen. Sonst scrollt der Browser
 * bei jedem Klick dorthin.
 */

.ow-booking-wizard .ow-wizard-radio{
    display:none !important;
    position:static !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
}


/*
 * Kein automatisches Scroll-Ankern innerhalb des Wizards.
 */

.ow-booking-wizard{
    overflow-anchor:none !important;
}


/*
 * Keine künstlich hohen Schritte mehr.
 * Jeder Schritt beginnt exakt an derselben Stelle.
 */

.ow-booking-wizard .ow-step{
    display:none !important;
    position:static !important;
    float:none !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:26px 30px 25px !important;
    scroll-margin:0 !important;
}


/*
 * Genau EIN Schritt sichtbar.
 */

#ow-wizard-radio-0:checked ~ .ow-step[data-step="0"],
#ow-wizard-radio-1:checked ~ .ow-step[data-step="1"],
#ow-wizard-radio-2:checked ~ .ow-step[data-step="2"],
#ow-wizard-radio-3:checked ~ .ow-step[data-step="3"],
#ow-wizard-radio-4:checked ~ .ow-step[data-step="4"],
#ow-wizard-radio-5:checked ~ .ow-step[data-step="5"]{
    display:block !important;
}


/*
 * Alte :target-Regeln komplett neutralisieren.
 */

.ow-booking-wizard .ow-step:target{
    display:none !important;
}


#ow-wizard-radio-0:checked ~ .ow-step[data-step="0"]:target,
#ow-wizard-radio-1:checked ~ .ow-step[data-step="1"]:target,
#ow-wizard-radio-2:checked ~ .ow-step[data-step="2"]:target,
#ow-wizard-radio-3:checked ~ .ow-step[data-step="3"]:target,
#ow-wizard-radio-4:checked ~ .ow-step[data-step="4"]:target,
#ow-wizard-radio-5:checked ~ .ow-step[data-step="5"]:target{
    display:block !important;
}


/*
 * Überschrift kompakt.
 */

.ow-booking-wizard .ow-step-title{
    margin:0 0 20px !important;
}


.ow-booking-wizard .ow-step-title > span{
    margin-bottom:5px !important;
}


/*
 * Formularfelder wieder natürlich.
 */

.ow-booking-wizard .form-field{
    margin-bottom:14px !important;
}


/*
 * Zurück / Weiter direkt unter dem Inhalt,
 * keine riesigen leeren Flächen mehr.
 */

.ow-booking-wizard .step-actions{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin:22px 0 0 !important;
    padding:18px 0 0 !important;
    border-top:1px solid #e3eaf0;
}


.ow-booking-wizard .step-actions > *{
    position:static !important;
    margin:0 !important;
}


/*
 * Navigation bleibt Button-artig.
 */

.ow-booking-wizard label[data-radio-nav]{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    text-decoration:none !important;
    user-select:none;
}


/*
 * Keine Bewegung durch Focus/Target.
 */

.ow-booking-wizard *{
    scroll-margin-top:0;
}


/*
 * Mobil ebenfalls keine künstliche Höhe.
 */

@media(max-width:760px){

    .ow-booking-wizard .ow-step{
        min-height:0 !important;
        padding:21px 17px 20px !important;
    }

    .ow-booking-wizard .step-actions{
        gap:9px !important;
        margin-top:18px !important;
        padding-top:15px !important;
    }

}


/* =========================================================
   ENDE ONEWAY_WIZARD_NOJUMP_CLEAN_V2
   ========================================================= */

