/* New enquiry fields follow the site's existing black-and-white form. */
.booking-form-in-view .whatsapp-float{
    visibility:hidden;
    pointer-events:none;
}
.testdrive-form .form-group.floating input,
.testdrive-form .form-group.floating select{
    min-height:52px;
    padding:24px 12px 8px;
    font-size:16px;
}
.form-group.floating.purchase-timing label{
    right:12px;
    line-height:1.35;
}
.marketing-preferences{
    min-width:0;
    margin:12px 0 0;
    padding:0;
    border:0;
    color:#fff;
}
.marketing-preferences > legend{
    padding:0;
    font-size:24px;
    line-height:1.3;
}
.marketing-preferences p{
    margin:16px 0 0;
    font-size:16px;
    line-height:1.6;
}
.marketing-methods{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:20px;
}
.marketing-method{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}
.marketing-method legend{
    padding:0;
    margin-bottom:6px;
    font-size:18px;
    line-height:1.5;
}
.marketing-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:min(100%,220px);
    border:1px solid rgba(255,255,255,.35); /* taste-skill-ignore: boundary of a real radio form control. */
}
.marketing-options label{
    position:relative;
    display:block;
    min-height:48px;
    cursor:pointer;
}
.marketing-options label + label{
    border-left:1px solid rgba(255,255,255,.35); /* taste-skill-ignore: separates the two real radio choices. */
}
.marketing-options input{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    opacity:0;
    cursor:pointer;
    z-index:1;
}
.marketing-options span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 16px;
    box-sizing:border-box;
    color:rgba(255,255,255,.7);
    font-size:16px;
    line-height:1.4;
    transition:background-color .2s ease,color .2s ease;
}
.marketing-options label:hover input:not(:checked) + span{
    background:rgba(255,255,255,.06);
    color:#fff;
}
.marketing-options input:checked + span{
    background:#fff;
    color:#000;
}
.marketing-options input:focus-visible + span{
    outline:2px solid #fff;
    outline-offset:4px;
}
.privacy-acknowledgement input{
    flex-shrink:0;
    width:20px;
    height:20px;
    margin:0;
    accent-color:#fff;
    color-scheme:dark;
    cursor:pointer;
}
.privacy-acknowledgement input:focus-visible{
    outline:2px solid #fff;
    outline-offset:4px;
}
.privacy-acknowledgement{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:4px 0;
    font-size:16px;
    line-height:1.6;
    color:#fff;
}
.privacy-acknowledgement input{ margin-top:3px; }
.privacy-acknowledgement label{ cursor:pointer; }
.privacy-acknowledgement a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:3px;
}
@media(max-width:768px){
    .marketing-methods{ grid-template-columns:minmax(0,1fr); gap:12px; }
    .marketing-method{ display:flex; flex-direction:column; }
    .marketing-method legend{ margin-bottom:0; }
}
@media(max-width:600px){
    .testdrive-form .form-group.floating.purchase-timing select{
        min-height:76px;
        padding-top:40px;
    }
    .form-group.floating.purchase-timing label{ font-size:13px; }
    .form-group.floating.purchase-timing select:valid + label,
    .form-group.floating.purchase-timing select:focus + label{ font-size:11px; }
}
@media(prefers-reduced-motion:reduce){
    .marketing-options span{ transition:none; }
    .testdrive-form.reveal{ opacity:1; transform:none; transition:none; }
}
