*{box-sizing:border-box}body{margin:0;background:#071b3a;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}header{text-align:center;padding:24px;border-bottom:1px solid #ffffff25}a{color:inherit}header a{text-decoration:none}.brand{font-size:23px;font-weight:900}header p{color:#d3ddeb;font-size:14px}main{width:min(900px,92%);margin:38px auto}h1{font-size:clamp(30px,5vw,42px);line-height:1.2}.eyebrow{font-size:13px;font-weight:800;color:#ff8378;letter-spacing:1px}.steps{padding:0;list-style:none;display:flex;gap:12px;flex-wrap:wrap}.steps li{padding:10px 14px;border:1px solid #ffffff40;border-radius:9px;color:#cbd5e1}.steps [aria-current]{background:#fff;color:#14213d;font-weight:800}.card{background:#fff;color:#14213d;border-radius:18px;padding:clamp(20px,4vw,32px);margin:24px 0}.card h2{margin-top:0}.price{font-size:27px;font-weight:800}label{display:block;font-weight:700;margin:17px 0 7px}input,select,textarea{width:100%;padding:13px;border:1px solid #aab8cd;border-radius:8px;font:inherit;font-size:16px;color:#14213d;background:white}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.summary{background:#f1f5f9;border-radius:12px;padding:18px;margin:20px 0}.summary>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0}.summary strong{text-align:right}.total{font-size:21px;font-weight:800;border-top:1px solid #cbd5e1;margin-top:8px}.note{font-size:14px;color:#52627a}.traveler,fieldset{border:1px solid #d5deeb;border-radius:12px;padding:18px;margin:18px 0;min-width:0}legend{padding:0 8px;font-weight:800}button,.button{display:block;text-align:center;text-decoration:none;width:100%;padding:15px;border:none;border-radius:9px;background:#d92f3d;color:#fff;font:inherit;font-weight:800;cursor:pointer;margin-top:18px}button:hover{background:#bb2330}.back{background:#e2e8f0;color:#14213d}.actions{display:flex;gap:12px}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px}.checkbox input{width:auto;margin-top:5px}#error{background:#fff0f0;color:#8c2020;border-radius:10px;padding:16px}footer{padding:22px;text-align:center;color:#cbd5e1;font-size:13px}:focus-visible{outline:3px solid #137ab7;outline-offset:3px}[hidden]{display:none!important}@media(max-width:600px){.actions{flex-direction:column;gap:0}.steps{font-size:12px;gap:6px}.steps li{padding:8px}.summary>div{font-size:14px}.total{font-size:18px}}

/* Compact controls keep dates and document labels legible on phones. */
#fecha{width:min(100%,170px);min-height:48px}select[data-field="documentType"],#holderDocumentType{display:block;width:min(100%,190px);min-height:48px}.row>div{min-width:0}.row{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}


/* Readable steps, generous touch targets and clear field feedback. */
#stepProgress{font-size:18px;font-weight:700}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.steps li{text-align:center;font-size:16px;padding:12px 6px}button,input,select{min-height:48px}button{line-height:1.5}.note{font-size:16px;color:#40516a}input[aria-invalid="true"],select[aria-invalid="true"]{border:2px solid #a01d2b}a{display:inline-block;line-height:1.6}header a{min-height:44px;padding:8px}#error{border:2px solid #a01d2b;font-weight:700}@media(max-width:600px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li{font-size:16px}.row{grid-template-columns:1fr}.actions button{font-size:16px}.summary>div{flex-wrap:wrap;font-size:16px}.card{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clear selection prompts and compact, prominent controls. */
#booking label[for="product"],#booking label[for="fecha"],#booking label[for="adultos"],#booking label[for="ninos"],#booking label[for="bebes"]{display:block;background:#e7f2ff;color:#073e72;border:2px solid #2878b8;border-radius:12px;padding:12px 14px;font-family:"Arial Black",Arial,Helvetica,sans-serif;font-size:21px;font-weight:900;line-height:1.25}
#booking label[for="fecha"]{background:#fff0f1;color:#a91d30;border-color:#d92f3d}
#product{background:#edf6ff;border:2px solid #2878b8;font-weight:800;min-height:58px}
#fecha{background:#fff0f1;border:2px solid #d92f3d;color:#951a2b;font-size:19px;font-weight:900;width:min(100%,210px);min-height:58px}
#adultos,#ninos,#bebes{background:#edf6ff;border:2px solid #2878b8;font-size:26px;font-weight:900;min-height:60px;width:100px;text-align:center}
#productGroupHint{background:#e7f2ff;border-left:5px solid #2878b8;padding:12px 14px;font-weight:800;color:#073e72}
#booking .card{scroll-margin-top:20px}#travelerCount{background:#e7f2ff;border-radius:10px;padding:14px;font-weight:900;color:#073e72}
#booking .traveler legend{background:#073e72;color:white;border-radius:8px;padding:8px 12px;font-size:18px}
#booking .traveler{border:2px solid #bfd8ef;background:#f8fbff}
@media(max-width:600px){#booking label[for="product"],#booking label[for="fecha"],#booking label[for="adultos"],#booking label[for="ninos"],#booking label[for="bebes"]{font-size:19px}}

/* One instruction per screen; labels do not resemble inactive buttons. */
main{margin:20px auto}main>h1{margin:0 0 8px;font-size:30px}
#stepProgress{margin:0 0 16px;font-size:16px;color:#d3ddeb;font-weight:700}
#booking .card{margin:0 0 20px}#booking h2{font-size:24px;line-height:1.25;margin-bottom:18px}
#booking label[for="product"],#booking label[for="fecha"],#booking label[for="adultos"],#booking label[for="ninos"],#booking label[for="bebes"]{background:none;border:0;border-radius:0;padding:0;color:#14213d;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.35}
#fecha{width:100%;max-width:300px;font-size:18px}
#adultPrice{font-size:21px;margin:12px 0}
.booking-conditions{margin:10px 0 20px;border-bottom:1px solid #d5deeb;padding-bottom:12px}
.booking-conditions summary{cursor:pointer;color:#073e72;font-size:16px;font-weight:700;min-height:44px;display:list-item;padding:10px 0}
.booking-conditions p{font-size:16px}
.booking-help{font-size:16px}.booking-help a{font-weight:700}
.booking-footnote{font-size:14px;color:#d3ddeb}

#productInclusions{padding-left:22px;margin:12px 0;font-size:16px;line-height:1.5}#productInclusions li{margin:6px 0}#productDetails{display:flex;align-items:center;min-height:48px;margin:14px 0 8px;padding:10px 12px;border:2px solid #073e72;border-radius:9px;color:#073e72;font-size:16px;font-weight:700;line-height:1.35}#productDetails:focus-visible{outline:3px solid #e52b38;outline-offset:3px}
