/* YOEL · Motor de solicitudes — diseño premium sin dependencias */
.booking-widget{--book-navy:#092442;--book-gold:#e9b850;--book-stroke:#e2e8ee;--book-muted:#738095;background:#fff;color:var(--book-navy);border:1px solid #e1e8ef;border-top:4px solid var(--book-gold);border-radius:18px;box-shadow:0 28px 72px rgba(3,16,33,.22);overflow:hidden;text-align:left;max-width:640px;width:100%;font-family:Inter,'Segoe UI',Arial,sans-serif}
.booking-widget *, .booking-widget *:before,.booking-widget *:after{box-sizing:border-box}
.booking-widget [hidden]{display:none!important}
.booking-head{padding:26px 29px 15px;border-bottom:1px solid #eff2f5}
.booking-kicker{font-size:10px;font-weight:800;color:#a7741d;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:7px}
.booking-head h2{font-size:clamp(22px,2.4vw,28px);font-weight:800;color:#0c2949;letter-spacing:-.04em;line-height:1.16;margin:0 0 8px}
.booking-head p{font-size:12px;color:#64758a;line-height:1.6;margin:0}
.booking-progress{padding:14px 29px 0}
.booking-progress-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:10px;font-weight:800;letter-spacing:.035em;color:#61738a}
.booking-progress-top strong{color:#0e3255}
.booking-progress-track{height:4px;background:#edf1f4;border-radius:6px;overflow:hidden}
.booking-progress-track span{height:100%;width:50%;background:linear-gradient(90deg,#ecc063,#d89a25);display:block;transition:width .32s ease}
.booking-panel{padding:20px 29px 28px;display:grid;gap:15px}
.booking-panel[data-book-step="2"]{gap:13px}
.booking-field{min-width:0}
.booking-field label{display:block;margin:0 0 7px;color:#29394e;font-size:11px;font-weight:850;letter-spacing:.02em}
.booking-field select,.booking-field input,.booking-field textarea{font-family:inherit;border:1px solid #d5dee7;background:#fcfdfd;border-radius:8px;min-height:46px;width:100%;padding:10px 13px;color:#122f4c;font-size:13px;font-weight:600;appearance:auto;outline-offset:3px}
.booking-field select:focus,.booking-field input:focus,.booking-field textarea:focus{border-color:#bf8d2f;box-shadow:0 0 0 3px #f1d79b50;outline:none}
.booking-field textarea{min-height:76px;resize:vertical;font-weight:500}
.booking-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-price{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(115deg,#fffaf0,#fff);border:1px solid #f2dfa9;border-radius:11px;padding:15px 17px;min-height:74px}
.booking-price-label{font-size:10px;font-weight:800;letter-spacing:.06em;color:#765b31;display:block;margin-bottom:3px}
.booking-price-note{font-size:11px;color:#7e7f80;line-height:1.45}
.booking-price strong{color:#092b4c;font-size:clamp(23px,2.5vw,32px);font-weight:850;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums}
.booking-price strong.is-empty{font-size:17px;color:#8b95a0;letter-spacing:0}
.booking-next,.booking-send{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;width:100%;background:linear-gradient(115deg,#f6ce6e,#e7b344);color:#09213e;font-weight:850;font-size:13px;border:0;border-radius:10px;transition:filter .16s ease,transform .16s ease;cursor:pointer}
.booking-next:hover,.booking-send:hover{filter:brightness(1.05);transform:translateY(-1px)}
.booking-next svg,.booking-send svg{width:17px;height:17px}
.booking-back{border:0;background:transparent;color:#3b536b;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:9px;cursor:pointer}
.booking-back:hover{color:#0b70bb}
.booking-last-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.booking-summary{background:#f4f7fa;border:1px solid #e5ebf0;border-radius:10px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#344d69}
.booking-summary strong{font-size:16px;color:#092b4c}
.booking-help{font-size:10.5px;line-height:1.5;color:#738294;margin:0}
.booking-landing{background:#081e39;position:relative;padding:58px 0 78px;isolation:isolate}
.booking-landing:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05162eeb,#092442cd),url('../img/experiencia-playa.webp') center/cover no-repeat;z-index:-1;opacity:.86}
.booking-landing-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,480px);gap:7%;align-items:center}
.booking-landing-copy{color:white}
.booking-landing-copy .eyebrow{color:#f5cb73}
.booking-landing-copy h2{color:#fff;font-size:clamp(34px,4.5vw,61px);letter-spacing:-.055em;max-width:620px;margin-bottom:22px}
.booking-landing-copy p{color:#cedae7;font-size:15px;line-height:1.8;max-width:530px}
.booking-landing-copy ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:11px;color:#f4f7fa;font-size:13px}
.booking-landing-copy li{display:flex;align-items:center;gap:10px}
.booking-landing-copy li:before{content:'✓';background:#e7b349;color:#0c2e4e;border-radius:50%;width:22px;height:22px;font-size:12px;display:grid;place-items:center;font-weight:900;flex:none}
.booking-section{background:#f3f6f9;padding:78px 0 90px}
.booking-section .booking-widget{box-shadow:0 24px 65px rgba(15,44,79,.11);margin:auto}
.booking-section-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.booking-section-copy h2{max-width:580px}
.booking-section-copy p{max-width:540px;color:#617186}
.booking-section-bullets{display:grid;gap:10px;margin-top:25px;color:#244863;font-size:13px;font-weight:650}
.booking-section-bullets span:before{content:'✓';color:#b88527;margin-right:9px}
.booking-hero-place{width:100%;align-self:center;position:relative;z-index:3}
.page-index .hero-grid.hero-grid-booking{grid-template-columns:minmax(0,48%) minmax(0,52%);gap:0;padding-top:48px;padding-bottom:68px}
.page-index .hero-grid-booking .hero-copy{padding-right:32px}
.page-index .hero-grid-booking .hero-copy h1{font-size:clamp(40px,5.2vw,68px)}
.page-index .hero-grid-booking .hero-bottom{margin-top:42px}
.page-index .hero-grid-booking .booking-widget{max-width:540px;margin-left:auto}
.page-index .hero-grid-booking .booking-hero-place:before{content:"";position:absolute;inset:-38px -60px;background:radial-gradient(circle at 80% 40%,rgba(34,126,192,.28),transparent 65%);z-index:-1;pointer-events:none}
.booking-inline-anchor{scroll-margin-top:115px}
.booking-small-cta{display:inline-flex;gap:10px;align-items:center;font-weight:850;background:#e9b850;color:#082541;border-radius:8px;padding:11px 15px;font-size:12px}
.booking-small-cta:hover{background:#ffd37b}
.booking-field-note{font-size:10px;color:#738294;margin:5px 0 0;line-height:1.4}
@media(max-width:1100px){.page-index .hero-grid.hero-grid-booking{grid-template-columns:1fr 1fr}.page-index .hero-grid-booking .hero-copy h1{font-size:clamp(37px,4.7vw,56px)}}
@media(max-width:850px){.page-index .hero-grid.hero-grid-booking{grid-template-columns:1fr;gap:26px;padding-top:32px;padding-bottom:45px}.page-index .hero-grid-booking .hero-copy{padding:16px 0 0}.page-index .hero-grid-booking .hero-copy h1{font-size:clamp(44px,8vw,62px)}.page-index .hero-grid-booking .hero-bottom{margin-top:22px}.page-index .hero-grid-booking .booking-widget{margin:0 auto}.booking-landing-inner,.booking-section-inner{grid-template-columns:1fr;gap:30px}.booking-landing{padding:48px 0 70px}.booking-section{padding:60px 0}}
@media(max-width:520px){.booking-widget{border-radius:13px}.booking-head{padding:19px 18px 13px}.booking-head h2{font-size:23px}.booking-progress{padding:12px 18px 0}.booking-panel{padding:15px 18px 20px;gap:13px}.booking-price{padding:12px 13px}.booking-price strong{font-size:25px}.booking-two{grid-template-columns:1fr}.booking-field select,.booking-field input{font-size:16px}.booking-landing-copy h2{font-size:35px}.booking-landing-copy p{font-size:13px}.booking-section-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.booking-progress-track span,.booking-next,.booking-send{transition:none}}
