/* Scoped to the public booking page; the existing admin keeps its styles. */
.arcano-booking{--ink:#342c38;--muted:#746e78;--purple:#72527f;--deep:#60426c;--lilac:#f0eaf3;--soft:#faf8fb;--line:#e9e3eb;background:#faf9f7}
.arcano-booking [hidden]{display:none!important}.arcano-booking .site-header{max-width:960px;height:100px}.arcano-logo{width:155px;height:72px;object-fit:contain}.arcano-booking .header-note{font-size:12px}.arcano-booking .booking-shell{max-width:960px;margin:0 auto}.arcano-booking .intro{margin:28px auto 38px}.arcano-booking .intro h1{font-size:clamp(28px,4vw,43px);line-height:1.25;font-weight:600}.arcano-booking .intro h1 span{color:var(--purple)}.arcano-booking .intro-copy{font-size:15px;margin:17px auto 10px}.required-note{font-size:12px;color:var(--muted)}.arcano-booking .eyebrow{font-size:10px;letter-spacing:.18em}.arcano-booking .booking-card{border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 35px #342c3805;background:#fff}.booking-section{padding:32px;scroll-margin-top:20px}.booking-section+.booking-section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.step-number{flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--lilac);color:var(--deep);border-radius:50%;font-size:13px}.section-heading p{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}.section-heading h2{font-family:'Playfair Display',serif;font-size:23px;font-weight:600;margin:0}.service-options{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-card{position:relative;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:20px 10px;cursor:pointer}.service-card input{position:absolute;top:10px;right:10px;accent-color:var(--purple);margin:0}.service-card:has(input:checked){border-color:var(--purple);background:var(--soft);box-shadow:inset 0 0 0 1px var(--purple)}.service-symbol{font-size:30px;line-height:1.3;color:var(--purple)}.service-card strong{font-size:14px;font-weight:600}.service-card small{font-size:11px;color:var(--muted)}.service-card.unavailable{background:#fafafa;color:#969198;cursor:not-allowed}.unavailable .service-symbol{color:#b3aab7}.unavailable input{display:none}.arcano-booking .primary-button{background:var(--deep);box-shadow:none;border-radius:9px;font-size:13px}.arcano-booking .next-button{margin-top:20px;width:auto;display:block;margin-left:auto}.next-button span{margin-left:18px}.arcano-booking .schedule-grid{min-height:0;grid-template-columns:1fr 1fr}.arcano-booking .calendar-panel{padding:10px 24px 10px 0}.arcano-booking .times-panel{padding:10px 0 10px 24px;background:none}.arcano-booking .calendar-head{margin-bottom:20px}.arcano-booking .calendar-head h2,.arcano-booking .times-panel h2{font-size:20px}.arcano-booking .day.is-selected{background:var(--deep)!important;box-shadow:none}.arcano-booking .times{margin:20px 0;gap:8px}.arcano-booking .time-button{padding:12px 10px;border-radius:8px}.arcano-booking .details-form{max-width:none;margin:0}.arcano-booking .selection-summary{font-size:13px;border-radius:9px;flex-wrap:wrap}.arcano-booking .field input{border-radius:8px}.payment-summary{margin:28px 0 20px;padding:24px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.price-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.price-heading h3{margin:0;font-size:20px;font-family:'Playfair Display',serif}.price-heading p:not(.section-label){font-size:12px;color:var(--muted);margin:7px 0}.price-heading>strong{font-size:27px;white-space:nowrap;font-weight:500}.price-heading>strong span{display:block;font-size:11px;color:var(--muted);text-align:right;margin-top:3px}.price-breakdown{margin:20px 0;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.price-breakdown>div{display:flex;justify-content:space-between;gap:15px;margin:10px 0}.price-breakdown dd{margin:0;font-weight:600;white-space:nowrap}.deposit-terms,.payment-help{font-size:12px;line-height:1.6;color:var(--muted)}#pix-payment{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:20px 0 10px}#pix-link{font-size:12px;background:#fff;border-color:var(--line);border-radius:8px;cursor:pointer}#pix-code-wrap{min-width:0;width:100%}#pix-code{width:100%}.terms-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;margin-bottom:22px}.terms-check input{accent-color:var(--purple);margin-top:3px;flex:none}.arcano-booking :focus-visible{outline:3px solid #ac91b7;outline-offset:3px}#confirmation-whatsapp{display:block;margin:20px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:650px){.arcano-booking .site-header{height:80px;padding:0 20px}.arcano-logo{width:135px;height:60px}.arcano-booking .intro{margin:20px auto 28px}.arcano-booking .intro h1{font-size:28px}.arcano-booking .intro-copy{font-size:14px;max-width:290px}.booking-section{padding:24px 18px}.section-heading{gap:10px}.section-heading h2{font-size:21px}.service-options{gap:7px}.service-card{padding:25px 3px 16px;gap:6px}.service-card strong{font-size:12px}.service-card small{font-size:10px}.service-card input{top:8px;right:8px;width:13px;height:13px}.arcano-booking .schedule-grid{grid-template-columns:1fr}.arcano-booking .calendar-panel{padding:0 0 24px}.arcano-booking .times-panel{padding:24px 0 0}.arcano-booking .details-form{padding:24px 18px}.arcano-booking .next-button{width:100%}.payment-summary{padding:18px}.price-heading>strong{font-size:24px}.arcano-booking .state-card{padding:24px 10px}}

.payment-options,.currency-options{border:0;padding:0;margin:24px 0 0;min-width:0}.payment-options legend,.currency-options legend{font-size:13px;font-weight:600;margin-bottom:12px}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:17px 12px;border-radius:10px;background:#fff;cursor:pointer;min-width:0}.payment-option input,.currency-options input{accent-color:var(--deep);flex:none;margin:0}.payment-option>span{flex:1}.payment-option strong,.payment-option small{display:block}.payment-option strong{font-size:13px}.payment-option small{font-size:10px;line-height:1.6;margin-top:4px;color:var(--muted)}.payment-option>b{font-size:16px;font-weight:500;color:var(--purple);white-space:nowrap}.payment-option:has(input:checked),.currency-options label:has(input:checked){border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple);background:#f5f0f7}.payment-panel{padding-top:8px}.secure-payment{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--deep);line-height:1.5;margin:18px 0 8px}.secure-payment svg{flex:none}.payment-description,.currency-note{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 14px}.payment-action{display:flex;justify-content:space-between;gap:14px;width:100%;font-size:13px;border-radius:8px;background:#fff}.currency-options{display:flex;gap:10px;margin-top:10px}.currency-options label{flex:1;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer;font-size:12px}.currency-options b{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.currency-note{font-size:11px}.payment-help{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:550px){.payment-options{grid-template-columns:1fr}.payment-option{padding:14px}.payment-option small{font-size:11px}.secure-payment{font-size:11px}}

.arcano-booking,.arcano-booking h1,.arcano-booking h2,.arcano-booking h3,.arcano-booking button,.arcano-booking input{font-family:'Nunito Sans',sans-serif!important}.arcano-booking h1,.arcano-booking h2{font-weight:800!important}.practitioner{font-size:12px;color:var(--muted)}.service-card strong{font-size:12px}.stage-fields{border:0;padding:0;margin:0;min-width:0}.stage-fields:disabled{opacity:.48}.stage-hint{font-size:12px;color:var(--muted);background:var(--soft);padding:12px;border-radius:8px}.success-state{max-width:900px!important}.success-state #payment-form{text-align:left}.payment-options{grid-template-columns:1fr}.arcano-booking .success-state h2{font-size:26px}#pix-qr{margin:15px 0}#payment-feedback{font-size:13px;color:var(--deep)}@media(max-width:480px){.service-card strong{font-size:10px}.practitioner{font-size:10px}}
