
.anu-booking-card,.anu-booking-card *{box-sizing:border-box}
.anu-booking-card{
    width:100%;max-width:var(--anu-width);margin:0 auto;overflow:visible;position:relative;
    padding:42px;border-radius:var(--anu-radius);background:var(--anu-bg);
    border:1px solid var(--anu-border);box-shadow:0 24px 80px rgba(0,0,0,.28);color:var(--anu-text)
}
.anu-booking-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--anu-accent);border-radius:var(--anu-radius) 0 0 var(--anu-radius)}
.anu-booking-top{margin-bottom:28px}
.anu-booking-top h2{margin:0!important;padding:0!important;color:var(--anu-heading)!important;font-size:clamp(28px,4vw,42px)!important;line-height:1.1!important;font-weight:700!important}
.anu-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.anu-field{width:100%;min-width:0;margin:0 0 18px}
.anu-full{grid-column:1/-1}
.anu-field label{display:block;margin:0 0 8px;color:var(--anu-text)!important;font-size:13px!important;line-height:1.4!important;font-weight:600!important}
.anu-field label span{color:var(--anu-accent)}
.anu-field input,.anu-field select,.anu-field textarea{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;
    padding:14px 15px!important;border:1px solid var(--anu-border)!important;border-radius:12px!important;
    outline:none!important;background:var(--anu-input-bg)!important;color:var(--anu-input-text)!important;
    box-shadow:none!important;font-family:inherit!important;font-size:15px!important;line-height:1.4!important
}
.anu-field input,.anu-field select{height:50px!important}
.anu-field textarea{min-height:132px!important;resize:vertical}
.anu-field input::placeholder,.anu-field textarea::placeholder{color:var(--anu-text)!important;opacity:.55!important}
.anu-field input:focus,.anu-field select:focus,.anu-field textarea:focus{border-color:var(--anu-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--anu-accent) 18%,transparent)!important}
.anu-section-heading{margin:12px 0 18px;padding-top:10px;border-top:1px solid var(--anu-border)}
.anu-section-heading h3{margin:0!important;color:var(--anu-heading)!important;font-size:20px!important}
.anu-consent{display:flex!important;width:100%;gap:11px;align-items:flex-start;margin:2px 0 0!important;color:var(--anu-text)!important;font-size:13px!important;line-height:1.55!important;cursor:pointer}
.anu-consent input{flex:0 0 auto;width:17px!important;height:17px!important;margin:2px 0 0!important;accent-color:var(--anu-accent)}
.anu-submit{
    display:flex!important;width:100%!important;min-height:54px!important;align-items:center!important;justify-content:center!important;
    gap:12px;margin:0!important;padding:15px 22px!important;border:0!important;border-radius:12px!important;
    background:var(--anu-button)!important;color:var(--anu-button-text)!important;font-size:13px!important;font-weight:800!important;
    letter-spacing:.7px!important;cursor:pointer!important
}
.anu-submit:disabled{opacity:.55;cursor:not-allowed!important}
.anu-arrow{font-size:20px}
.anu-message{margin-top:14px;font-size:13px}.anu-message.success{color:#a8e8b6}.anu-message.error{color:#ffaaaa}
.anu-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.anu-multi{position:relative;width:100%}
.anu-multi-toggle{
    width:100%!important;height:50px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:0 15px!important;border:1px solid var(--anu-border)!important;border-radius:12px!important;
    background:var(--anu-input-bg)!important;color:var(--anu-input-text)!important;font-size:15px!important;cursor:pointer!important;text-align:left!important
}
.anu-multi-menu{
    display:none;position:absolute;z-index:99999;top:calc(100% + 8px);left:0;width:100%;max-height:360px;overflow:auto;
    padding:10px;background:var(--anu-input-bg);border:1px solid var(--anu-border);border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.45)
}
.anu-multi.open .anu-multi-menu{display:block}
.anu-multi-menu label{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0!important;padding:10px 9px!important;border-radius:9px!important;color:var(--anu-input-text)!important;font-size:13px!important;line-height:1.35!important;cursor:pointer!important}
.anu-multi-menu label:hover{filter:brightness(1.15)}
.anu-multi-menu input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--anu-accent)!important}
.anu-service-group-title{padding:10px 9px 7px;color:var(--anu-accent);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border-top:1px solid var(--anu-border);margin-top:7px}
.anu-selected-summary{margin-top:8px;color:var(--anu-text);opacity:.7;font-size:12px;line-height:1.55}
@media(max-width:767px){
    .anu-booking-card{padding:28px 20px}
    .anu-form-grid{grid-template-columns:1fr;gap:0}
    .anu-multi-menu{position:relative;top:6px}
}

.anu-multi-menu{
    max-height:none!important;
    overflow:hidden!important;
    padding:0!important;
}
.anu-multi-scroll{
    max-height:320px;
    overflow:auto;
    padding:10px;
}
.anu-multi-actions{
    position:sticky;
    bottom:0;
    display:flex;
    gap:10px;
    justify-content:flex-end;
    padding:12px;
    background:var(--anu-input-bg);
    border-top:1px solid var(--anu-border);
}
.anu-multi-actions button{
    min-height:40px;
    padding:9px 14px;
    border-radius:9px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.5px;
    cursor:pointer;
}
.anu-multi-clear{
    background:transparent;
    color:var(--anu-text);
    border:1px solid var(--anu-border);
}
.anu-multi-done{
    background:var(--anu-button);
    color:var(--anu-button-text);
    border:1px solid var(--anu-button);
}
@media(max-width:767px){
    .anu-multi-menu{
        position:fixed!important;
        left:14px!important;
        right:14px!important;
        top:10vh!important;
        width:auto!important;
        max-height:80vh!important;
        z-index:999999!important;
    }
    .anu-multi-scroll{
        max-height:calc(80vh - 66px);
    }
}


/* v2.4 mobile/date-time/fetish fixes */
.anu-date-time-field{
    min-width:0;
}
.anu-multi-menu{
    padding:0!important;
    overflow:hidden!important;
}
.anu-multi-scroll{
    max-height:330px;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:10px;
}
.anu-multi-scroll label{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
}
.anu-multi-actions{
    position:sticky;
    bottom:0;
    z-index:2;
    display:flex;
    gap:10px;
    justify-content:flex-end;
    padding:12px;
    background:var(--anu-input-bg);
    border-top:1px solid var(--anu-border);
}
.anu-multi-clear,.anu-multi-done{
    min-height:42px!important;
    padding:10px 15px!important;
    border-radius:10px!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.4px!important;
}
.anu-multi-clear{
    background:transparent!important;
    color:var(--anu-text)!important;
    border:1px solid var(--anu-border)!important;
}
.anu-multi-done{
    background:var(--anu-button)!important;
    color:var(--anu-button-text)!important;
    border:1px solid var(--anu-button)!important;
}

/* Keep Preferred Date + Preferred Time together */
.anu-field:has(input[name="date"]),
.anu-field:has(input[name="time"]){
    grid-column:auto!important;
}

@media(max-width:767px){
    .anu-booking-card{
        overflow:visible!important;
    }

    /* Date and time stay next to each other on mobile */
    .anu-form-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
        column-gap:12px!important;
    }
    .anu-field:not(.anu-date-time-field){
        grid-column:1/-1;
    }
    .anu-date-time-field{
        grid-column:auto!important;
    }

    .anu-multi-menu{
        position:fixed!important;
        left:14px!important;
        right:14px!important;
        top:8vh!important;
        bottom:8vh!important;
        width:auto!important;
        max-height:none!important;
        z-index:2147483646!important;
        border-radius:16px!important;
        display:none;
        flex-direction:column;
    }
    .anu-multi.open .anu-multi-menu{
        display:flex!important;
    }
    .anu-multi-scroll{
        flex:1 1 auto;
        max-height:none!important;
        overflow-y:auto!important;
        padding:12px!important;
    }
    .anu-multi-actions{
        flex:0 0 auto;
    }
}

@media(max-width:420px){
    .anu-form-grid{
        column-gap:10px!important;
    }
    .anu-date-time-field label{
        font-size:12px!important;
    }
}

/* v2.5 Luxury Black / Gold / Burgundy theme */
.anu-booking-card{
    max-width:var(--anu-width);
    padding:48px 42px!important;
    background:
        linear-gradient(rgba(7,7,8,.94),rgba(7,7,8,.97)),
        radial-gradient(circle at 15% 10%,rgba(194,145,79,.10),transparent 28%),
        radial-gradient(circle at 85% 90%,rgba(122,12,24,.12),transparent 30%)!important;
    border:1px solid #b98a4d!important;
    border-radius:18px!important;
    box-shadow:
        0 0 0 5px rgba(185,138,77,.10),
        inset 0 0 0 1px rgba(255,224,167,.12),
        0 28px 80px rgba(0,0,0,.48)!important;
    position:relative;
}
.anu-booking-card:before{
    content:"";
    position:absolute;
    inset:12px;
    width:auto!important;
    border:1px solid rgba(215,171,102,.48);
    border-radius:12px;
    background:none!important;
    pointer-events:none;
}
.anu-booking-card:after{
    content:"✦";
    position:absolute;
    left:50%;
    bottom:7px;
    transform:translateX(-50%);
    color:#c89b5b;
    font-size:12px;
    letter-spacing:4px;
}
.anu-booking-top{
    text-align:center;
    margin-bottom:30px!important;
}
.anu-luxury-icon{
    color:#d6ab6b;
    font-size:25px;
    line-height:1;
    margin-bottom:10px;
}
.anu-booking-top h2{
    color:#d8b47a!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(34px,5vw,58px)!important;
    font-weight:500!important;
    letter-spacing:.5px!important;
    text-shadow:0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(199,154,89,.12);
}
.anu-luxury-subtitle{
    margin-top:12px;
    color:#e6e0d7;
    font-family:Georgia,"Times New Roman",serif;
    font-size:13px;
    letter-spacing:4px;
    text-transform:uppercase;
}
.anu-luxury-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:18px auto 0;
    color:#b8894d;
}
.anu-luxury-divider:before,.anu-luxury-divider:after{
    content:"";
    height:1px;
    width:120px;
    max-width:28%;
    background:linear-gradient(90deg,transparent,#9d733f);
}
.anu-luxury-divider:after{
    background:linear-gradient(90deg,#9d733f,transparent);
}
.anu-luxury-divider span{font-size:9px}
.anu-field label{
    color:#d8d0c4!important;
    font-family:Georgia,"Times New Roman",serif!important;
    letter-spacing:.4px;
}
.anu-field input,.anu-field select,.anu-field textarea,.anu-multi-toggle{
    background:linear-gradient(180deg,#0c0c0e,#09090a)!important;
    border:1px solid #8a673b!important;
    color:#f0ebe4!important;
    border-radius:5px!important;
    box-shadow:
        inset 0 0 0 1px rgba(255,221,161,.04),
        0 0 0 1px rgba(0,0,0,.25)!important;
}
.anu-field input::placeholder,.anu-field textarea::placeholder{
    color:#a9a098!important;
    opacity:.9!important;
    font-family:Georgia,"Times New Roman",serif;
}
.anu-field input:focus,.anu-field select:focus,.anu-field textarea:focus,.anu-multi-toggle:focus{
    border-color:#d4a65f!important;
    box-shadow:0 0 0 2px rgba(212,166,95,.14),0 0 16px rgba(185,138,77,.10)!important;
}
.anu-section-heading{
    border-top:1px solid rgba(185,138,77,.5)!important;
}
.anu-section-heading h3{
    color:#d6ad70!important;
    font-family:Georgia,"Times New Roman",serif!important;
    letter-spacing:.3px;
}
.anu-multi-menu{
    background:#0b0b0d!important;
    border:1px solid #8a673b!important;
    border-radius:8px!important;
}
.anu-multi-menu label{
    color:#ece6df!important;
}
.anu-multi-menu label:hover{
    background:#171216!important;
}
.anu-service-group-title{
    color:#d0a35f!important;
    border-top:1px solid rgba(185,138,77,.35)!important;
}
.anu-consent{
    color:#bdb5ac!important;
}
.anu-submit{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(180deg,rgba(116,10,23,.98),rgba(58,3,12,.98))!important;
    color:#f0d9b4!important;
    border:1px solid #c79b5b!important;
    border-radius:5px!important;
    min-height:60px!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:18px!important;
    font-weight:500!important;
    letter-spacing:1.2px!important;
    box-shadow:
        inset 0 0 0 2px rgba(255,214,143,.08),
        0 0 0 1px rgba(0,0,0,.6),
        0 10px 28px rgba(74,0,12,.28)!important;
}
.anu-submit:before,.anu-submit:after{
    content:"✦";
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    color:#d2a25e;
    font-size:15px;
}
.anu-submit:before{left:18px}
.anu-submit:after{right:18px}
.anu-submit:hover{
    filter:brightness(1.08);
    transform:translateY(-1px);
}
.anu-selected-summary{
    color:#bfb6ac!important;
}
@media(max-width:767px){
    .anu-booking-card{
        padding:34px 20px!important;
        border-radius:14px!important;
    }
    .anu-booking-card:before{
        inset:8px;
    }
    .anu-luxury-subtitle{
        font-size:10px;
        letter-spacing:2px;
    }
    .anu-booking-top h2{
        font-size:36px!important;
    }
    .anu-submit{
        font-size:16px!important;
    }
}
