/* Approved October 2026 cover. Scoped to the welcome screen only. */
body:has(.screen[data-page=welcome]){overflow:auto;background:#edf1f2}
.app:has(.screen[data-page=welcome]){display:block;height:auto;min-height:var(--viewport-height,100dvh);max-width:1080px;background:#fffdf9}
.shell:has(.screen[data-page=welcome]){height:auto;min-height:var(--viewport-height,100dvh);display:block;background:#fffdf9;color:#102c47}
.shell:has(.screen[data-page=welcome]) .header{max-width:none;margin:0;padding:18px 24px 14px;background:#fffdf9}
.shell:has(.screen[data-page=welcome]) .brand{font-size:27px;line-height:1;letter-spacing:-1.5px;font-weight:800;color:#102c47}
.shell:has(.screen[data-page=welcome]) .brand span{font-weight:500;color:#008e9c}
.shell:has(.screen[data-page=welcome]) .guide-label{color:#526276;font-size:11px;line-height:1.4;letter-spacing:0;text-align:right}
.screen[data-page=welcome]{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);width:100%;max-width:none;max-height:none;min-height:0;margin:0;padding:0;gap:0;overflow:visible;flex:none;overscroll-behavior:auto}
.screen[data-page=welcome]>*{max-width:none;min-width:0}
.shell:has(.screen[data-page=welcome]) .footer{display:none}
.cover-hero{container-type:inline-size;min-height:560px;display:flex;align-items:center;justify-content:center;padding:26px 0;background:linear-gradient(0deg,#071c36c9,transparent 85%),url('/assets/los-cabos.jpg') center 43%/cover;color:white}
.cover-hero-copy{width:100%;padding:0 18px;text-align:center}
.cover-season{margin:0 0 7px;font-size:11px;line-height:1.4;letter-spacing:2px;font-weight:700}
.cover-title{display:flex;justify-content:center;width:100%;margin:0;padding:0;color:white;font-size:clamp(21px,7vw,40px);font-size:clamp(21px,7cqi,40px);font-weight:900;line-height:1.15;letter-spacing:-.9px;text-align:center;white-space:nowrap}
.cover-headline{display:block;width:fit-content;max-width:100%;margin-inline:auto;min-height:44px;padding:7px 0;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none;text-align:center;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cover-headline[aria-disabled=false]{animation:cover-title-glint 2.8s ease-in-out infinite}
.cover-headline[aria-disabled=true]{cursor:wait}
.cover-headline:focus-visible{outline-color:white}
.cover-content{padding:24px 30px 25px;font-family:'DM Sans','Segoe UI',sans-serif;color:#102c47}
.cover-includes{font-size:27px;line-height:1.08;letter-spacing:-.7px;font-weight:800}
.cover-together{font-size:16px;line-height:1.35;font-weight:600;margin-top:4px}
.cover-hotel{font-size:12px;line-height:1.5;color:#526276;margin-top:8px}
.cover-flight{font-size:11px;line-height:1.4;color:#647283;margin-top:3px}
.cover-prices{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #e5e8e9;border-bottom:1px solid #e5e8e9;margin:15px 0 18px;padding:12px 0}
.cover-prices>div{min-width:0}
.cover-prices>div+div{border-left:1px solid #e5e8e9;padding-left:18px}
.cover-prices span,.cover-prices small{display:block;font-size:11px;line-height:1.5;color:#526276}
.cover-prices strong{display:block;font-size:28px;line-height:1.2;letter-spacing:-.8px;font-weight:800;margin:4px 0;color:#102c47}
.cover-start{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:16px 20px;border:0;border-radius:13px;background:#d60056;color:white;box-shadow:0 6px 18px #d6005629;font-size:21px;font-weight:800;line-height:1.2;text-align:left}
.cover-start:not(:disabled){animation:cover-cta-glint 2.8s .35s ease-in-out infinite}
.cover-start span{font-size:28px;line-height:1;font-weight:400}
.cover-start:disabled{opacity:.55;box-shadow:none}
.cover-start:focus-visible{outline-color:#102c47}
.cover-reassurance{font-size:11px;line-height:1.5;text-align:center;color:#526276;margin-top:10px}
.cover-reassurance strong{font-weight:700;color:#102c47}
.cover-content>.error{margin-bottom:12px}
.cover-video{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin-top:20px;padding:0;border:0;border-radius:0;background:transparent;color:#102c47;text-align:left}
.cover-thumbnail{width:62px;height:46px;flex:0 0 62px;border-radius:8px;background:linear-gradient(#071c3644,#071c3644),url('/assets/experiencia-los-cabos-nov2026.jpg') center/cover;display:grid;place-items:center;color:white}
.cover-thumbnail>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #fff9;border-radius:50%;font-size:11px;background:#102c4766;padding-left:2px}
.cover-video strong{display:block;font-size:13px;line-height:1.3;font-weight:700}
.cover-video small{display:block;font-size:11px;color:#526276;line-height:1.4;margin-top:4px}
.cover-thanks{margin:22px 0 0;padding:0;text-align:center;background:none;border:0;border-radius:0;box-shadow:none}
.cover-thanks-title{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-style:italic;font-weight:400;line-height:1.2;letter-spacing:-.6px;color:#16757b}
.cover-past{margin-top:9px;font-size:12px;line-height:1.5;color:#365462}
.cover-past strong{font-weight:700;color:#365462}
.cover-new-dates{margin-top:5px;font-size:11px;line-height:1.5;color:#526276}
@keyframes cover-title-glint{0%,100%{opacity:1;text-shadow:0 1px 7px #001d35aa}50%{opacity:.78;text-shadow:0 0 15px #c7ffffb3}}
@keyframes cover-cta-glint{0%,100%{background:#cf0053;box-shadow:0 5px 16px #d6005629}50%{background:#e50060;box-shadow:0 5px 22px #d6005652}}
@media(max-width:900px){
  .app:has(.screen[data-page=welcome]){max-width:580px}
  .screen[data-page=welcome]{display:block}
  .shell:has(.screen[data-page=welcome]) .header{padding:18px 22px 14px}
  .cover-hero{min-height:0;height:166px;padding:15px 0}
  .cover-hero-copy{padding:0 16px}
  .cover-content{padding:17px 22px max(22px,env(safe-area-inset-bottom))}
  .cover-prices{margin:14px 0 16px}
}
@media(max-width:360px){
  .shell:has(.screen[data-page=welcome]) .header{padding:16px 18px 12px}
  .shell:has(.screen[data-page=welcome]) .guide-label{max-width:130px}
  .cover-content{padding-left:18px;padding-right:18px}
  .cover-hero{height:150px}
  .cover-hero-copy{padding:0 12px}
  .cover-includes{font-size:25px}
  .cover-together{font-size:15px}
  .cover-prices{gap:12px}
  .cover-prices>div+div{padding-left:12px}
  .cover-prices strong{font-size:26px}
  .cover-start{padding:16px;font-size:19px}
  .cover-thanks-title{font-size:23px}
}
@media(max-height:700px) and (max-width:900px){
  .cover-hero{height:135px}
  .shell:has(.screen[data-page=welcome]) .header{padding-top:12px;padding-bottom:10px}
  .cover-content{padding-top:14px}
}
@media(prefers-reduced-motion:reduce){.cover-headline,.cover-start{animation:none!important}}
