:root{--ab-pink:#ff2b79;--ab-bg:#050505;--ab-panel:#0c0c0e;--ab-line:rgba(255,255,255,.11);--ab-muted:rgba(255,255,255,.62);--ab-soft:rgba(255,255,255,.045)}
.ab-booking{width:100%;overflow:hidden;background:radial-gradient(circle at 50% 14%,rgba(255,43,121,.10),rgba(255,43,121,.025) 27%,transparent 55%),var(--ab-bg);color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;-webkit-tap-highlight-color:transparent}.ab-booking *{box-sizing:border-box}.ab-booking button,.ab-booking input,.ab-booking select{font:inherit}.ab-booking button{touch-action:manipulation}.ab-booking__inner{width:min(100%,760px);margin:0 auto;padding:58px 16px 82px}.ab-booking__label,.ab-panel__eyebrow{margin-bottom:13px;text-align:center;font-size:10px;font-weight:900;letter-spacing:2.7px;color:var(--ab-pink)}.ab-booking__title{margin:0 0 18px;text-align:center;font-size:clamp(38px,10.4vw,58px);line-height:.94;letter-spacing:-1.7px;font-weight:950}.ab-booking__title span,.ab-panel h3 span,.ab-form__heading h3 span,.ab-success h3 span{color:var(--ab-pink)}.ab-booking__intro{max-width:470px;margin:0 auto 30px;text-align:center;font-size:17px;line-height:1.52;color:rgba(255,255,255,.74)}
.ab-steps{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 auto 24px}.ab-step{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--ab-line);background:rgba(255,255,255,.025);color:rgba(255,255,255,.35);font-size:9px;font-weight:900;letter-spacing:.8px}.ab-step b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(255,255,255,.08);font-size:10px}.ab-step.is-active{border-color:rgba(255,43,121,.55);color:#fff;background:rgba(255,43,121,.07)}.ab-step.is-active b,.ab-step.is-complete b{background:var(--ab-pink);color:#fff}.ab-step.is-complete{color:rgba(255,255,255,.7)}
.ab-panel{width:100%;border:1px solid var(--ab-line);background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.012));padding:19px 13px 17px}.ab-panel--calendar{padding-top:18px}.ab-calendar{width:100%;max-width:650px;margin:0 auto}.ab-calendar__head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:2px 0 17px}.ab-calendar__nav{width:44px;height:44px;border:1px solid var(--ab-line);background:#111114;color:#fff;font-size:28px;line-height:1;cursor:pointer;border-radius:8px}.ab-calendar__nav:disabled{opacity:.2;cursor:default}.ab-calendar__month{text-align:center;font-size:20px;font-weight:950;text-transform:uppercase;letter-spacing:.5px}.ab-calendar__week,.ab-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.ab-calendar__week{margin-bottom:5px}.ab-calendar__week span{text-align:center;font-size:8px;font-weight:900;letter-spacing:.5px;color:rgba(255,255,255,.38)}.ab-day{position:relative;display:grid;place-items:center;aspect-ratio:1/1;min-height:43px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:#111114;color:#fff;font-weight:850;font-size:14px;cursor:pointer}.ab-day:hover:not(:disabled){border-color:rgba(255,43,121,.65)}.ab-day.is-today:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--ab-pink)}.ab-day.is-selected{background:var(--ab-pink);border-color:var(--ab-pink);box-shadow:0 8px 24px rgba(255,43,121,.22)}.ab-day.is-selected:after{background:#fff}.ab-day.is-outside{opacity:.08;pointer-events:none}.ab-day:disabled{opacity:.18;cursor:not-allowed}.ab-day.is-past{background:rgba(255,255,255,.018)}
.ab-selection{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:15px 14px;border:1px solid rgba(255,43,121,.34);background:rgba(255,43,121,.045)}.ab-selection>span{display:none}.ab-selection strong{flex:1;font-size:14px;line-height:1.3}.ab-selection button{border:0;background:none;color:var(--ab-pink);font-size:11px;font-weight:900;text-transform:uppercase;cursor:pointer}
.ab-panel--times{margin-top:12px;text-align:center;padding:25px 13px 20px}.ab-panel h3,.ab-form__heading h3,.ab-success h3{margin:0 0 12px;font-size:clamp(29px,8vw,42px);line-height:.96;font-weight:950;letter-spacing:-1.1px}.ab-panel__copy,.ab-form__heading p{max-width:480px;margin:0 auto 20px;font-size:14px;line-height:1.5;color:var(--ab-muted)}.ab-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:620px;margin:0 auto}.ab-time{min-height:55px;border:1px solid rgba(255,255,255,.12);background:#111114;color:#fff;border-radius:8px;font-weight:950;font-size:17px;cursor:pointer}.ab-time:not(:disabled):hover{border-color:var(--ab-pink)}.ab-time.is-selected{background:var(--ab-pink);border-color:var(--ab-pink);box-shadow:0 8px 22px rgba(255,43,121,.2)}.ab-time:disabled{opacity:.22;text-decoration:line-through;cursor:not-allowed}.ab-inline-message,.ab-form-error{margin:13px auto 0;padding:12px 13px;border:1px solid rgba(255,184,0,.35);background:rgba(255,184,0,.07);color:#ffd36d;font-size:13px;line-height:1.45;text-align:center}
.ab-form{margin-top:12px;padding:28px 13px 24px;border:1px solid var(--ab-line);background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.ab-form__heading{text-align:center}.ab-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:620px;margin:23px auto 0}.ab-field{display:block;text-align:left}.ab-field--wide{grid-column:1/-1}.ab-field>span{display:block;margin:0 0 6px 3px;font-size:9px;font-weight:900;letter-spacing:1.3px;color:rgba(255,255,255,.48)}.ab-field input,.ab-field select{width:100%;min-height:55px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#111114;color:#fff;padding:0 14px;outline:none;font-size:16px}.ab-field input::placeholder{color:rgba(255,255,255,.32)}.ab-field input:focus,.ab-field select:focus{border-color:var(--ab-pink);box-shadow:0 0 0 2px rgba(255,43,121,.09)}.ab-field.is-invalid input,.ab-field.is-invalid select{border-color:#ff5c65}.ab-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;max-width:620px;margin:12px auto 0;padding:15px;border:1px solid rgba(255,43,121,.28);background:rgba(255,43,121,.04);text-align:left}.ab-price span{font-size:9px;font-weight:900;letter-spacing:1.2px;color:rgba(255,255,255,.48)}.ab-price strong{grid-row:1/3;grid-column:2;font-size:27px;color:var(--ab-pink)}.ab-price small{font-size:12px;color:rgba(255,255,255,.58)}
.ab-large-group,.ab-consents{max-width:620px;margin:15px auto 0}.ab-large-group{padding:12px;border:1px solid rgba(255,43,121,.35);background:rgba(255,43,121,.045)}.ab-consents{display:grid;gap:8px}.ab-check{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.022);text-align:left;cursor:pointer}.ab-check input{width:20px;height:20px;margin:0;accent-color:var(--ab-pink)}.ab-check span{font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.68)}.ab-check strong{color:#fff}.ab-check.is-invalid{border-color:#ff5c65}.ab-form-error{max-width:620px;border-color:rgba(255,92,101,.4);background:rgba(255,92,101,.07);color:#ff9fa5}.ab-submit{display:block;width:100%;max-width:620px;min-height:67px;margin:17px auto 0;border:0;border-radius:8px;background:var(--ab-pink);color:#fff;cursor:pointer;box-shadow:0 12px 28px rgba(255,43,121,.2)}.ab-submit span,.ab-submit small{display:block}.ab-submit span{font-size:15px;font-weight:950;letter-spacing:.5px}.ab-submit small{margin-top:3px;font-size:10px;opacity:.74}.ab-submit:disabled{opacity:.55;cursor:wait}.ab-arrival-note{margin:20px auto 0;text-align:center;font-size:12px;line-height:1.5;color:rgba(255,255,255,.5)}.ab-arrival-note strong{color:var(--ab-pink)}
.ab-success{text-align:center;padding:36px 13px;border:1px solid rgba(255,43,121,.35);background:radial-gradient(circle at 50% 0,rgba(255,43,121,.12),transparent 44%),rgba(255,255,255,.02)}.ab-success__symbol{margin-bottom:18px;color:var(--ab-pink);font-size:28px;font-weight:900;letter-spacing:12px}.ab-success__eyebrow{margin-bottom:12px;color:var(--ab-pink);font-size:9px;font-weight:900;letter-spacing:2px}.ab-success>p{max-width:470px;margin:0 auto 20px;color:var(--ab-muted);font-size:15px}.ab-success__card{max-width:520px;margin:0 auto;padding:20px;border:1px solid var(--ab-line);background:#101012}.ab-success__card>span{display:block;font-size:9px;font-weight:900;letter-spacing:1.4px;color:rgba(255,255,255,.4)}.ab-success__card>strong{display:block;margin:8px 0 15px;color:var(--ab-pink);font-size:22px;letter-spacing:1px}.ab-success__card>div{font-size:14px;line-height:1.6;color:#fff}.ab-success__note{margin-top:18px!important;font-size:12px!important}
.ab-booking [hidden]{display:none!important}
@media(min-width:600px){.ab-booking__inner{padding-left:22px;padding-right:22px}.ab-times{grid-template-columns:repeat(4,minmax(0,1fr))}.ab-panel{padding-left:22px;padding-right:22px}.ab-form{padding-left:22px;padding-right:22px}.ab-day{min-height:64px;font-size:16px}.ab-selection>span{display:block;font-size:8px;font-weight:900;letter-spacing:1px;color:rgba(255,255,255,.4)}}
@media(max-width:420px){.ab-booking__inner{padding:50px 10px 72px}.ab-booking__intro{font-size:16px;padding:0 8px}.ab-step{padding:7px 7px;font-size:8px}.ab-step b{width:18px;height:18px}.ab-panel,.ab-form{padding-left:8px;padding-right:8px}.ab-calendar__week,.ab-calendar__days{gap:3px}.ab-day{min-height:41px;font-size:13px}.ab-calendar__head{grid-template-columns:42px 1fr 42px}.ab-calendar__nav{width:42px;height:42px}.ab-calendar__month{font-size:17px}.ab-times{gap:6px}.ab-time{min-height:53px}.ab-form__grid{grid-template-columns:1fr}.ab-field--wide{grid-column:auto}.ab-field input,.ab-field select{min-height:57px;font-size:16px}.ab-check{padding:11px 9px}.ab-check span{font-size:12px}.ab-success__symbol{letter-spacing:8px}}


/* v0.2.2 - Selettore giocatori proprietario: niente select nativo/iOS */
.ab-booking .ab-field--players{display:block}
.ab-booking .ab-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.ab-booking .ab-player{min-width:0;min-height:70px;margin:0;padding:10px 4px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#111114;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;touch-action:manipulation;-webkit-appearance:none;appearance:none}
.ab-booking .ab-player strong{font-size:22px;line-height:1;font-weight:900}
.ab-booking .ab-player small{font-size:11px;line-height:1.1;color:rgba(255,255,255,.48)}
.ab-booking .ab-player:hover,.ab-booking .ab-player:focus-visible{border-color:var(--ab-pink);outline:none}
.ab-booking .ab-player.is-selected{background:var(--ab-pink);border-color:var(--ab-pink);box-shadow:0 8px 22px rgba(255,43,121,.22)}
.ab-booking .ab-player.is-selected small{color:rgba(255,255,255,.88)}
.ab-booking .ab-player-hint{display:block;margin:7px 2px 0;font-size:11px;color:rgba(255,255,255,.42)}
.ab-booking .ab-field--players.is-invalid .ab-player-grid{outline:1px solid #ff5c65;outline-offset:2px;border-radius:8px}
@media(max-width:420px){.ab-booking .ab-player-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ab-booking .ab-player{min-height:64px}.ab-booking .ab-player strong{font-size:20px}.ab-booking .ab-player small{font-size:10px}}

/* v0.2.3 - Consensi espliciti e link policy */
.ab-booking .ab-check a{color:var(--ab-pink);text-decoration:underline;text-underline-offset:2px;font-weight:800}
.ab-booking .ab-check a:hover,.ab-booking .ab-check a:focus{color:#fff}
.ab-booking .ab-check span strong:first-child{letter-spacing:.15px}

/* v0.5.0 - Temi grafici multi-room */
.ab-booking--area51{--ab-pink:#62ff7d;--ab-bg:#020704;--ab-panel:#07100a;--ab-line:rgba(98,255,125,.18);--ab-muted:rgba(220,255,226,.64);background:linear-gradient(rgba(98,255,125,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(98,255,125,.025) 1px,transparent 1px),radial-gradient(circle at 50% 12%,rgba(98,255,125,.13),transparent 42%),#020704;background-size:28px 28px,28px 28px,auto,auto}
.ab-booking--area51 .ab-booking__title,.ab-booking--area51 .ab-panel h3,.ab-booking--area51 .ab-form__heading h3{font-family:"Courier New",monospace;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 0 20px rgba(98,255,125,.13)}
.ab-booking--area51 .ab-panel,.ab-booking--area51 .ab-form{box-shadow:inset 0 0 0 1px rgba(98,255,125,.025)}

/* =========================================================
   STRANGER ROOM — HAWKINS / SOTTOSOPRA SKIN
   v0.7.10
   Solo il tema .ab-booking--stranger.
   Nessuna modifica agli altri calendari.
========================================================= */
.ab-booking--stranger{
    --ab-pink:#ed1515;
    --ab-bg:#020202;
    --ab-panel:#080606;
    --ab-line:rgba(255,255,255,.12);
    --ab-muted:rgba(230,225,221,.62);
    --ab-soft:rgba(237,21,21,.045);
    position:relative;
    isolation:isolate;
    background:
        radial-gradient(circle at 50% 0,rgba(184,0,0,.16),transparent 34%),
        radial-gradient(circle at 82% 28%,rgba(105,0,0,.08),transparent 30%),
        linear-gradient(180deg,#020202 0%,#080404 52%,#020202 100%);
    color:#f4f0ec;
}
.ab-booking--stranger:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.10;
    background:
        repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.03) 4px),
        linear-gradient(90deg,transparent 0 49.9%,rgba(237,21,21,.025) 50%,transparent 50.1%);
}
.ab-booking--stranger:after{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:min(680px,82%);
    height:1px;
    transform:translateX(-50%);
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(237,21,21,.78),transparent);
    box-shadow:0 0 18px rgba(237,21,21,.24);
}
.ab-booking--stranger .ab-booking__inner{position:relative;z-index:1}

/* Header */
.ab-booking--stranger .ab-booking__label,
.ab-booking--stranger .ab-panel__eyebrow,
.ab-booking--stranger .ab-success__eyebrow{
    color:#ed1515;
    font-family:"Courier New",monospace;
    letter-spacing:2.4px;
    text-shadow:0 0 10px rgba(237,21,21,.22);
}
.ab-booking--stranger .ab-booking__title,
.ab-booking--stranger .ab-panel h3,
.ab-booking--stranger .ab-form__heading h3,
.ab-booking--stranger .ab-success h3{
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:-1.2px;
    color:#f4f0ec;
    text-shadow:0 3px 24px rgba(0,0,0,.72);
}
.ab-booking--stranger .ab-booking__title span,
.ab-booking--stranger .ab-panel h3 span,
.ab-booking--stranger .ab-form__heading h3 span,
.ab-booking--stranger .ab-success h3 span{
    color:#ed1515;
    text-shadow:0 0 18px rgba(237,21,21,.22);
}
.ab-booking--stranger .ab-booking__intro,
.ab-booking--stranger .ab-panel__copy,
.ab-booking--stranger .ab-form__heading p,
.ab-booking--stranger .ab-success>p{
    color:rgba(225,220,216,.60);
}

/* Lingua */
.ab-booking--stranger .ab-language-selector{
    position:relative;
    margin:0 0 20px;
    padding:15px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:2px;
    background:linear-gradient(145deg,rgba(92,0,0,.10),rgba(5,5,5,.82));
    box-shadow:0 16px 45px rgba(0,0,0,.28);
}
.ab-booking--stranger .ab-language-selector:before{
    content:"";
    position:absolute;
    left:-1px;
    top:-1px;
    width:88px;
    height:2px;
    background:linear-gradient(90deg,#ed1515,transparent);
    box-shadow:0 0 10px rgba(237,21,21,.24);
}
.ab-booking--stranger .ab-language-selector__label{
    color:rgba(255,255,255,.62);
    font-family:"Courier New",monospace;
    font-size:10px;
    letter-spacing:.13em;
}
.ab-booking--stranger .ab-language-option{
    min-height:46px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:2px;
    background:#080808;
    color:#e4e0dc;
    box-shadow:none;
}
.ab-booking--stranger .ab-language-option:hover,
.ab-booking--stranger .ab-language-option:focus-visible{
    border-color:rgba(237,21,21,.58);
    outline:none;
}
.ab-booking--stranger .ab-language-option.is-selected{
    border-color:#ed1515;
    background:linear-gradient(180deg,#b9090c,#650004);
    color:#fff;
    box-shadow:0 0 18px rgba(237,21,21,.18);
}

/* Step */
.ab-booking--stranger .ab-steps{margin-bottom:20px}
.ab-booking--stranger .ab-step{
    border-color:rgba(255,255,255,.10);
    border-radius:1px;
    background:#070707;
    color:rgba(255,255,255,.34);
}
.ab-booking--stranger .ab-step b{
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.08);
}
.ab-booking--stranger .ab-step.is-active{
    border-color:rgba(237,21,21,.58);
    background:rgba(115,0,0,.14);
    color:#fff;
    box-shadow:inset 0 -2px 0 #ed1515;
}
.ab-booking--stranger .ab-step.is-active b,
.ab-booking--stranger .ab-step.is-complete b{
    background:#ed1515;
    border-color:#ed1515;
    color:#fff;
}

/* Pannelli */
.ab-booking--stranger .ab-panel,
.ab-booking--stranger .ab-form{
    position:relative;
    border:1px solid rgba(255,255,255,.105);
    border-radius:0;
    background:linear-gradient(145deg,rgba(21,7,7,.88),rgba(5,5,5,.96));
    box-shadow:0 20px 58px rgba(0,0,0,.32),inset 0 0 0 1px rgba(237,21,21,.015);
}
.ab-booking--stranger .ab-panel:before,
.ab-booking--stranger .ab-form:before{
    content:"";
    position:absolute;
    left:-1px;
    top:-1px;
    width:72px;
    height:2px;
    background:linear-gradient(90deg,#ed1515,transparent);
}

/* Calendario */
.ab-booking--stranger .ab-calendar__month{
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    letter-spacing:.5px;
    color:#f1ede9;
}
.ab-booking--stranger .ab-calendar__nav{
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
    background:#080808;
    color:#fff;
    box-shadow:none;
}
.ab-booking--stranger .ab-calendar__nav:not(:disabled):hover,
.ab-booking--stranger .ab-calendar__nav:not(:disabled):focus-visible{
    border-color:#ed1515;
    color:#ed1515;
    outline:none;
    box-shadow:0 0 14px rgba(237,21,21,.15);
}
.ab-booking--stranger .ab-calendar__week span{
    color:rgba(255,255,255,.32);
    font-family:"Courier New",monospace;
}
.ab-booking--stranger .ab-day{
    border:1px solid rgba(255,255,255,.075);
    border-radius:1px;
    background:#080808;
    color:#d8d4d0;
    box-shadow:none;
}
.ab-booking--stranger .ab-day:hover:not(:disabled){
    border-color:rgba(237,21,21,.58);
    background:rgba(105,0,0,.13);
    color:#fff;
}
.ab-booking--stranger .ab-day.is-today{
    border-color:rgba(237,21,21,.42);
}
.ab-booking--stranger .ab-day.is-today:after{background:#ed1515;box-shadow:0 0 7px rgba(237,21,21,.85)}
.ab-booking--stranger .ab-day.is-selected{
    border-color:#ed1515;
    background:linear-gradient(180deg,#c8090d,#680004);
    color:#fff;
    box-shadow:0 8px 24px rgba(237,21,21,.18);
}
.ab-booking--stranger .ab-day.is-selected:after{background:#fff;box-shadow:none}
.ab-booking--stranger .ab-day.is-past{background:rgba(255,255,255,.012)}

/* Selezione data */
.ab-booking--stranger .ab-selection{
    border-color:rgba(237,21,21,.28);
    border-left:2px solid #ed1515;
    background:linear-gradient(90deg,rgba(110,0,0,.11),rgba(0,0,0,.06));
}
.ab-booking--stranger .ab-selection button{color:#ed1515}

/* Orari */
.ab-booking--stranger .ab-time{
    border:1px solid rgba(255,255,255,.11);
    border-radius:1px;
    background:#080808;
    color:#e0dcd8;
    box-shadow:none;
}
.ab-booking--stranger .ab-time:not(:disabled):hover,
.ab-booking--stranger .ab-time:not(:disabled):focus-visible{
    border-color:#ed1515;
    background:rgba(105,0,0,.14);
    outline:none;
}
.ab-booking--stranger .ab-time.is-selected{
    border-color:#ed1515;
    background:linear-gradient(180deg,#c8090d,#680004);
    color:#fff;
    box-shadow:0 8px 22px rgba(237,21,21,.17);
}
.ab-booking--stranger .ab-time.is-call{
    border-color:rgba(204,157,70,.48);
    color:#d9b56f;
}

/* Messaggi */
.ab-booking--stranger .ab-inline-message{
    border-color:rgba(214,166,70,.35);
    background:rgba(170,119,35,.07);
    color:#e5c579;
}
.ab-booking--stranger .ab-form-error{
    border-color:rgba(237,21,21,.40);
    background:rgba(126,0,0,.10);
    color:#ff9a9a;
}

/* Campi */
.ab-booking--stranger .ab-field>span{
    color:rgba(255,255,255,.47);
    font-family:"Courier New",monospace;
}
.ab-booking--stranger .ab-field input,
.ab-booking--stranger .ab-field select{
    border:1px solid rgba(255,255,255,.12);
    border-radius:1px;
    background:#080808;
    color:#fff;
    box-shadow:none;
}
.ab-booking--stranger .ab-field input:focus,
.ab-booking--stranger .ab-field select:focus{
    border-color:#ed1515;
    box-shadow:0 0 0 1px rgba(237,21,21,.12);
}

/* Telefono */
.ab-booking--stranger .ab-phone-prefix__button{
    border-color:rgba(255,255,255,.12);
    border-radius:1px;
    background:#080808;
    color:#fff;
}
.ab-booking--stranger .ab-phone-prefix__button:hover,
.ab-booking--stranger .ab-phone-prefix__button:focus-visible{
    border-color:#ed1515;
    outline:none;
}
.ab-booking--stranger .ab-phone-prefix__menu{
    border-color:rgba(237,21,21,.24);
    border-radius:2px;
    background:#070707;
    box-shadow:0 18px 52px rgba(0,0,0,.78);
}
.ab-booking--stranger .ab-phone-prefix__option{border-radius:1px}
.ab-booking--stranger .ab-phone-prefix__option:hover,
.ab-booking--stranger .ab-phone-prefix__option:focus{background:rgba(110,0,0,.18)}
.ab-booking--stranger .ab-phone-prefix__option.is-selected{background:#720005}
.ab-booking--stranger .ab-phone-prefix__option-code{color:#d0aaa9}

/* Giocatori */
.ab-booking--stranger .ab-player{
    border:1px solid rgba(255,255,255,.11);
    border-radius:1px;
    background:#080808;
    color:#fff;
}
.ab-booking--stranger .ab-player:hover,
.ab-booking--stranger .ab-player:focus-visible{
    border-color:#ed1515;
    outline:none;
}
.ab-booking--stranger .ab-player.is-selected{
    border-color:#ed1515;
    background:linear-gradient(180deg,#c8090d,#680004);
    box-shadow:0 8px 22px rgba(237,21,21,.17);
}
.ab-booking--stranger .ab-player-hint{color:rgba(255,255,255,.38)}

/* Prezzo */
.ab-booking--stranger .ab-price{
    border-color:rgba(237,21,21,.26);
    background:linear-gradient(90deg,rgba(105,0,0,.11),rgba(0,0,0,.08));
}
.ab-booking--stranger .ab-price strong{color:#ed1515;text-shadow:0 0 12px rgba(237,21,21,.15)}

/* Gruppi / consensi */
.ab-booking--stranger .ab-large-group{
    border-color:rgba(237,21,21,.28);
    background:rgba(105,0,0,.08);
}
.ab-booking--stranger .ab-check{
    border-color:rgba(255,255,255,.08);
    background:rgba(255,255,255,.014);
}
.ab-booking--stranger .ab-check:hover{border-color:rgba(237,21,21,.28)}
.ab-booking--stranger .ab-check input{accent-color:#ed1515}
.ab-booking--stranger .ab-check a{color:#ed1515}

/* CTA */
.ab-booking--stranger .ab-submit{
    border:1px solid #ff3434;
    border-radius:1px;
    background:linear-gradient(180deg,#c9090d 0%,#700005 100%);
    color:#fff;
    box-shadow:0 0 18px rgba(237,21,21,.17),0 14px 34px rgba(0,0,0,.30);
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.ab-booking--stranger .ab-submit:not(:disabled):hover,
.ab-booking--stranger .ab-submit:not(:disabled):focus-visible{
    transform:translateY(-2px);
    filter:brightness(1.08);
    box-shadow:0 0 30px rgba(237,21,21,.26),0 18px 40px rgba(0,0,0,.34);
    outline:none;
}
.ab-booking--stranger .ab-arrival-note strong{color:#ed1515}

/* Conferma */
.ab-booking--stranger .ab-success{
    border-color:rgba(237,21,21,.30);
    border-radius:0;
    background:radial-gradient(circle at 50% 0,rgba(160,0,0,.14),transparent 44%),rgba(255,255,255,.012);
}
.ab-booking--stranger .ab-success__symbol,
.ab-booking--stranger .ab-success__card>strong{color:#ed1515}
.ab-booking--stranger .ab-success__card{
    border-color:rgba(255,255,255,.10);
    border-radius:0;
    background:#080808;
}

/* Mobile */
@media(max-width:480px){
    .ab-booking--stranger .ab-language-selector__options{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ab-booking--stranger .ab-language-option{min-height:44px;padding:8px 7px;font-size:13px}
    .ab-booking--stranger .ab-booking__inner{padding-top:46px}
    .ab-booking--stranger .ab-booking__title{font-size:clamp(35px,10.2vw,48px);line-height:.96}
    .ab-booking--stranger .ab-booking__intro{font-size:14px;line-height:1.48}
    .ab-booking--stranger .ab-panel,
    .ab-booking--stranger .ab-form{padding-left:10px;padding-right:10px}
    .ab-booking--stranger .ab-day{min-height:40px}
    .ab-booking--stranger .ab-panel h3,
    .ab-booking--stranger .ab-form__heading h3,
    .ab-booking--stranger .ab-success h3{font-size:clamp(27px,8vw,36px)}
}

.ab-booking--caveau{--ab-pink:#e3b04b;--ab-bg:#050505;--ab-panel:#11100c;--ab-line:rgba(227,176,75,.18);--ab-muted:rgba(255,247,226,.65);background:radial-gradient(circle at 50% 5%,rgba(227,176,75,.10),transparent 36%),#050505}
.ab-booking--caveau .ab-booking__title,.ab-booking--caveau .ab-panel h3,.ab-booking--caveau .ab-form__heading h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-1px}
.ab-booking--alcatraz{--ab-pink:#9aa4ad;--ab-bg:#060708;--ab-panel:#0d0f11;--ab-line:rgba(183,194,204,.15);--ab-muted:rgba(235,240,244,.60);background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 45%),#060708}
.ab-booking--alcatraz .ab-booking__title,.ab-booking--alcatraz .ab-panel h3,.ab-booking--alcatraz .ab-form__heading h3{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.2px}
