/* Independiente del tema; inspirado en la paleta oficial de Abraza Tu Luz. */
.atl-booking-section{--bkp:#8B4513;--bkg:#D5AA57;--bkcream:#FDF6C7;--bkrose:#EFB8E4;--bklav:#e7d6f0;box-sizing:border-box;position:relative;scroll-margin-top:100px;background:radial-gradient(ellipse at top right,#f1d4e9 0%,transparent 47%),linear-gradient(145deg,#fdf6c7,#fff8dd 65%,#ebdeef);padding:95px 20px 105px;color:var(--bkp)}
.atl-booking-section *{box-sizing:border-box}
.atl-booking-wrap{max-width:1080px;margin:0 auto}
.atl-booking-head{text-align:center;margin:0 auto 35px;max-width:730px}
.atl-booking-kicker{display:block;color:#9d5374;font:700 12px/1.6 sans-serif;letter-spacing:.2em;margin-bottom:12px}
.atl-booking-head h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600;font-size:clamp(43px,6vw,72px)!important;line-height:1.04!important;margin:0 0 14px!important;color:#8B4513!important}
.atl-booking-head p{font:400 16px/1.7 'DM Sans',sans-serif;color:#6c4234;margin:0}
.atl-booking-panel{max-width:820px;margin:0 auto;padding:clamp(22px,4vw,48px);background:#fffdf8fa;border:1px solid #d8b87d;border-radius:24px;box-shadow:0 18px 60px #6d3a451a}
.atl-booking-form{display:block}
.atl-booking-line{display:flex;align-items:center;gap:13px;margin:8px 0 20px;padding:0 0 13px;border-bottom:1px solid #ebd8cf}
.atl-booking-line:not(:first-child){margin-top:31px}
.atl-booking-step{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#ead5e9;color:#643650;font:700 12px 'DM Sans',sans-serif}
.atl-booking-line h3{font:600 27px/1.2 'Cormorant Garamond',Georgia,serif!important;color:#8B4513!important;margin:0!important}
.atl-booking-form label{display:block;color:#704139;font:600 13px/1.4 'DM Sans',sans-serif;margin:0 0 8px}
.atl-booking-form input:not([type="checkbox"]),.atl-booking-form select,.atl-booking-form textarea{display:block;width:100%;max-width:none;padding:13px 15px;border:1px solid #cfae9c;border-radius:12px;background:#fff;box-shadow:none;color:#58372e;font:500 15px/1.4 'DM Sans',sans-serif;outline:none;margin:0 0 10px;min-height:48px}
.atl-booking-form input:focus,.atl-booking-form select:focus,.atl-booking-form textarea:focus{border-color:#a36c98!important;box-shadow:0 0 0 3px #c9a8d84d!important}
.atl-booking-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:12px}
.atl-booking-wide{grid-column:1/-1}
.atl-time-hint{font:600 13px/1.4 'DM Sans',sans-serif;color:#704139;margin:16px 0 9px}
.atl-booking-times{min-height:58px;display:flex;flex-wrap:wrap;gap:9px;padding:13px;border-radius:14px;background:#faf3fa;border:1px dashed #b8a0bb;color:#79576a}
.atl-booking-times p{margin:0}
.atl-booking-placeholder{font-size:14px}
.atl-time-slot{min-width:84px;min-height:42px;padding:10px 14px;background:#fff;color:#633348;border:1px solid #dbc5d7;border-radius:11px;cursor:pointer;font:600 14px 'DM Sans',sans-serif;transition:background .15s,transform .15s,border-color .15s}
.atl-time-slot:hover{border-color:#8B4513;transform:translateY(-1px)}
.atl-time-slot.selected,.atl-time-slot[aria-pressed="true"]{background:#8B4513;color:#fff;border-color:#8B4513}
.atl-booking-consent{display:flex!important;align-items:flex-start;gap:12px;line-height:1.55!important;font-weight:400!important;margin:22px 0!important;cursor:pointer}
.atl-booking-consent input{flex-shrink:0;margin:3px 0 0!important;width:18px;height:18px;accent-color:#8B4513}
.atl-booking-submit{width:100%;max-width:none;min-height:56px;display:flex;justify-content:center;align-items:center;gap:15px;padding:14px 22px;border:0;border-radius:100px;background:linear-gradient(110deg,#8B4513,#a5643a);color:#fff;font:700 15px/1.2 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 9px 23px #763e3140;transition:transform .2s,opacity .2s}
.atl-booking-submit:hover{transform:translateY(-2px);background:#633415}
.atl-booking-submit:disabled{opacity:.6;cursor:wait}
.atl-booking-result{margin:15px 0 0!important;font:600 14px/1.65 'DM Sans',sans-serif;white-space:pre-wrap}
.atl-booking-result:empty{display:none}
.atl-booking-result.is-success{padding:14px;border:1px solid #83b48d;background:#eff8ed;color:#27603c;border-radius:12px}
.atl-booking-result.is-error{padding:14px;border:1px solid #d7aaa0;background:#fff2f0;color:#842c24;border-radius:12px}
.atl-booking-footnote{text-align:center;color:#866d68;font:400 12px/1.5 'DM Sans',sans-serif;margin:15px 0 0}
.atl-agenda-notice{padding:25px;text-align:center;border-radius:16px;background:#f8e6ef;color:#78445b;font:500 16px/1.7 'DM Sans',sans-serif}
.atl-bk-trap{position:absolute!important;left:-99999px!important;opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important}
@media(max-width:620px){.atl-booking-section{padding:70px 15px 75px}.atl-booking-panel{padding:23px 18px;border-radius:18px}.atl-booking-fields{grid-template-columns:1fr}.atl-booking-wide{grid-column:1}.atl-booking-head p{font-size:14px}.atl-booking-line h3{font-size:24px!important}.atl-time-slot{min-width:75px;min-height:41px}.atl-booking-times{gap:7px;padding:10px}}
@media(prefers-reduced-motion:reduce){.atl-time-slot,.atl-booking-submit{transition:none!important}}
