:root{--blue:#0b4f9c;--blue-dark:#083b75;--blue-light:#e8f1fb;--sun:#ffc83d;--green:#136b2f;--green-light:#e6f4ea;--red:#a4161a;--red-light:#fdecea;--ink:#111;--muted:#3d3d3d;--line:#8a8a8a;--bg:#f7f7f4;--white:#fff;--radius:.75rem;--focus:0 0 0 4px var(--sun), 0 0 0 7px var(--ink)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:1.25rem;line-height:1.6}h1,h2,h3{margin:0 0 .75rem;line-height:1.25}h1{font-size:2.1rem}h2{margin-top:2.5rem;font-size:1.6rem}h3{font-size:1.4rem}p{margin:0 0 .75rem}h1:focus{outline:none}:focus-visible{box-shadow:var(--focus);outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{background:var(--ink);color:var(--white);z-index:10;border-radius:var(--radius);padding:.75rem 1.25rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:62rem;margin:0 auto;padding:0 1.25rem}.page{flex-direction:column;min-height:100vh;display:flex}main{flex:1;padding-top:2rem;padding-bottom:3rem}.site-header{background:var(--blue);color:var(--white);padding:.75rem 0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:inherit;cursor:pointer;text-align:left;font:inherit;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:.75rem;padding:.25rem;display:flex}.logo strong{font-size:1.5rem;line-height:1.2;display:block}.logo small{font-size:1rem;display:block}.toolbar{flex-wrap:wrap;gap:1rem;display:flex}.toolbar-group{align-items:center;gap:.4rem;display:flex}.toolbar-label{margin-right:.25rem;font-size:1rem}.toolbar-btn{border:2px solid var(--white);min-width:48px;min-height:48px;color:var(--white);font:inherit;cursor:pointer;background:0 0;border-radius:.5rem;padding:.25rem .75rem;font-size:1rem;font-weight:700}.toolbar-btn[aria-pressed=true]{background:var(--white);color:var(--blue)}.panel{background:var(--white);border-radius:var(--radius);border:2px solid #d6d6d0;padding:2rem}.wizard{max-width:52rem;margin:0 auto}.step-count{color:var(--blue);margin-bottom:.5rem;font-weight:700}.progress{background:var(--blue-light);border-radius:1rem;height:.6rem;margin-bottom:1.5rem;overflow:hidden}.progress-bar{background:var(--blue);height:100%;transition:width .3s}.hint{color:var(--muted)}.step-body{margin:1.5rem 0}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;display:grid}.choice-grid-small{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.choice-list{gap:.75rem;display:grid}.choice{text-align:left;min-height:64px;font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.9rem;padding:.75rem 1rem;display:flex}.choice:hover{border-color:var(--blue);background:var(--blue-light)}.choice[aria-pressed=true]{border:3px solid var(--blue);background:var(--blue-light)}.choice-check{border:2px solid var(--line);width:2rem;height:2rem;color:var(--white);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.choice[aria-pressed=true] .choice-check{background:var(--blue);border-color:var(--blue)}.choice-title{font-weight:700;display:block}.choice-text{color:var(--muted);font-size:1.1rem;display:block}.group{border:0;margin:1.75rem 0 0;padding:0}.group legend{margin-bottom:.75rem;padding:0;font-size:1.35rem;font-weight:700}.field-label{margin-bottom:.5rem;font-weight:700;display:block}.date-input{font:inherit;border:2px solid var(--line);border-radius:var(--radius);background:var(--white);min-width:16rem;min-height:64px;color:var(--ink);padding:.75rem 1rem;font-size:1.4rem}.date-input[aria-invalid=true]{border-color:var(--red)}.date-readout{color:var(--blue-dark);margin-top:.5rem;font-weight:700}.counters{gap:1rem;display:grid}.counter{border-radius:var(--radius);border:2px solid #d6d6d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.counter-label{font-size:1.4rem;font-weight:700;display:block}.counter-hint{color:var(--muted)}.counter-controls{align-items:center;gap:1rem;display:flex}.counter-value{text-align:center;min-width:2.5rem;font-size:2rem;font-weight:700}.child-ages{border-radius:var(--radius);border:2px solid #d6d6d0;margin-top:.5rem;padding:1rem}.child-age-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem;display:grid}.select-input{width:100%;font:inherit;border:2px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:56px;color:var(--ink);padding:.6rem .75rem;font-size:1.25rem}.select-input[aria-invalid=true]{border-color:var(--red)}.summary{margin:0}.summary-row{border-bottom:1px solid #d6d6d0;grid-template-columns:9rem 1fr auto;align-items:center;gap:1rem;padding:.9rem 0;display:grid}.summary-row dt{color:var(--muted);font-weight:700}.summary-row dd{margin:0}.error{background:var(--red-light);color:var(--red);border-left:6px solid var(--red);border-radius:.25rem;padding:.75rem 1rem;font-weight:700}.wizard-nav{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.wizard-nav .btn-primary{margin-left:auto}.btn{min-height:56px;font:inherit;text-align:center;border:2px solid var(--blue);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.6rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn-secondary{background:var(--white);color:var(--blue)}.btn-secondary:hover{background:var(--blue-light)}.btn-link{color:var(--blue);background:0 0;border-color:#0000;padding:.5rem .75rem;text-decoration:underline}.btn-round{background:var(--white);width:64px;height:64px;color:var(--blue);border-radius:50%;padding:0;font-size:2rem}.btn-huge{background:var(--green);border-color:var(--green);min-height:80px;padding:1rem 2.5rem;font-size:1.5rem}.btn-huge:hover{background:#0e5124;border-color:#0e5124}.btn-wide{width:100%;margin-top:1rem}.search-summary{background:var(--white);border-radius:var(--radius);border:2px solid #d6d6d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.search-summary p{margin:0}.summary-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.loading-panel{text-align:center}.loading-title{font-size:1.5rem;font-weight:700}.spinner{border:8px solid var(--blue-light);border-top-color:var(--blue);border-radius:50%;width:64px;height:64px;margin:0 auto 1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:4s}.progress-bar{transition:none}}.loading{text-align:center;padding:3rem 0;font-size:1.5rem}.notice{background:var(--blue-light);border-left:6px solid var(--blue);border-radius:.25rem;padding:.9rem 1.1rem}.notice-sample{background:#fff4d6;border-left-color:#b37400;font-weight:700}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.filter-btn{color:var(--blue);border-color:var(--blue);background:var(--white);font-size:1.1rem}.filter-btn[aria-pressed=true]{background:var(--blue);color:var(--white)}.offer-list{gap:1.25rem;display:grid}.offer{background:var(--white);border-radius:var(--radius);border:2px solid #d6d6d0;padding:1.5rem}.offer-best{border:3px solid var(--green)}.offer-labels{flex-wrap:wrap;gap:.5rem;display:flex}.badge{border-radius:2rem;padding:.2rem .8rem;font-size:1.05rem;font-weight:700;display:inline-block}.badge-best{background:var(--green);color:var(--white)}.badge-sample{color:#6b4600;background:#fff4d6;border:2px solid #b37400;margin:0}.offer-main{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;display:flex}.offer-info{flex:22rem}.offer-type{color:var(--muted);margin-bottom:.25rem;font-weight:700}.offer-title{margin-bottom:.25rem}.offer-route{font-weight:700}.offer-date{margin-bottom:.25rem}.offer-date-label{font-weight:700}.facts{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.facts li{background:var(--blue-light);border-radius:.5rem;padding:.15rem .7rem;font-size:1.1rem}.stars{white-space:nowrap}.stars span{color:#a86b00}.includes{font-size:1.1rem}.offer-price{text-align:right;flex:0 15rem}.price{margin-bottom:.25rem;font-size:2.4rem;font-weight:800;line-height:1.1}.price-note{color:var(--muted);margin-bottom:.15rem}.price-taxes{color:var(--green);margin-top:.5rem;font-size:1.05rem;font-weight:700}.offer-footer{border-top:1px solid #d6d6d0;margin-top:1rem;padding-top:1rem}.offer-meta{color:var(--muted);font-size:1.05rem}.btn-deal{background:var(--green);border-color:var(--green);width:100%;font-size:1.3rem}.btn-deal:hover{background:#0e5124;border-color:#0e5124}.leave-notice{color:var(--muted);margin:.5rem 0 0;font-size:1.05rem}.alert-signup{border:3px solid var(--blue);background:var(--blue-light);margin-top:2rem}.alert-signup h2{margin-top:0}.alert-row{flex-wrap:wrap;gap:.75rem;display:flex}.text-input{font:inherit;border:2px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:56px;color:var(--ink);flex:18rem;padding:.75rem 1rem;font-size:1.3rem}.text-input[aria-invalid=true]{border-color:var(--red)}.small{margin-top:.75rem;font-size:1.05rem}.site-footer{color:var(--muted);background:#e9e9e4;padding:1.5rem 0;font-size:1.05rem}@media (width<=640px){body{font-size:1.15rem}h1{font-size:1.75rem}.panel{padding:1.25rem}.offer-price{text-align:left;flex-basis:100%}.summary-row{grid-template-columns:1fr auto}.summary-row dt{grid-column:1/-1}.wizard-nav .btn{flex:100%}}@media (forced-colors:active){.choice[aria-pressed=true],.toolbar-btn[aria-pressed=true],.filter-btn[aria-pressed=true]{outline:3px solid highlight}}
