.tt-booking,.tt-quick-quote{--tt-navy:#09283c;--tt-yellow:#f8d63f;--tt-green:#18725a;color:var(--tt-navy)}
.tt-booking{margin:2rem auto;padding:clamp(1.2rem,4vw,3rem);background:#fff;border:1px solid #dedfd8;border-radius:20px;max-width:1050px;box-shadow:0 15px 45px #07283c08}
.tt-booking *,.tt-quick-quote *{box-sizing:border-box}.tt-eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.15em;color:#557064}.tt-booking h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:.7rem 0}.tt-booking p{line-height:1.55}.tt-booking-heading{margin-bottom:1.8rem}.tt-booking fieldset{border:0;padding:0;margin:0 0 1.5rem}.tt-booking legend{font-size:1.13rem;font-weight:700;margin-bottom:1.3rem}.tt-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.4rem}.tt-booking label,.tt-quick-quote label{display:flex;flex-direction:column;gap:.5rem;font-size:.91rem;font-weight:650}.tt-booking input,.tt-booking select,.tt-booking textarea,.tt-quick-quote input{font:inherit;font-weight:400;padding:.85rem 1rem;border:1px solid #bdc9c5;border-radius:8px;color:#102f3f;background:#fff;min-height:48px;width:100%;font-size:1rem}.tt-booking input:focus,.tt-booking select:focus,.tt-booking textarea:focus,.tt-quick-quote input:focus{outline:3px solid #ecd466;outline-offset:2px}.tt-booking .tt-check{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.65rem}.tt-booking .tt-check input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#12674e}.tt-booking .tt-check small{flex-basis:100%;font-weight:400;line-height:1.5}.tt-wide{grid-column:1/-1}.tt-help{font-size:.82rem!important;color:#52665f;font-weight:400}.tt-booking .tt-consent{align-items:flex-start;flex-wrap:nowrap;font-weight:400;font-size:.87rem;margin:1.5rem 0}.tt-button{display:inline-flex;justify-content:center;align-items:center;gap:1.1rem;background:#f8d63f;color:#09283c;border:1px solid transparent;border-radius:8px;padding:.95rem 1.35rem;font:inherit;font-size:.95rem;font-weight:750;cursor:pointer;min-height:50px;line-height:1.35}.tt-button:hover{background:#efc721}.tt-button:focus-visible{outline:3px solid #18725a;outline-offset:3px}.tt-button:disabled{opacity:.65;cursor:wait}.tt-quote-result{background:#edf6ef;border-left:4px solid #26725b;padding:1.2rem 1.4rem;border-radius:0 10px 10px 0;margin-bottom:2rem}.tt-quote-result strong{font-size:1.25rem}.tt-quote-result p{margin:.6rem 0 0}.tt-payment-choices{background:#f5f5ef;padding:1.25rem;border-radius:10px;margin-top:1.6rem}.tt-payment-choices p{font-size:.87rem;margin:.6rem 0 0 1.9rem}.tt-pay-choice{margin-top:1rem}.tt-tour-note{font-size:.9rem;background:#fff7d9;padding:1rem;border-radius:8px}.tt-form-message:not(:empty){margin-top:1.5rem;padding:1.25rem;background:#edf6ef;border-radius:8px}.tt-form-message.tt-error{background:#fff0e8;color:#733518}.tt-paypal-buttons{max-width:450px;margin-top:1.5rem}.tt-form-contact{font-size:.9rem;border-top:1px solid #e3e5de;padding-top:1rem;margin-top:1.5rem}.tt-booking a{color:#126b53;text-underline-offset:3px}.tt-fixed-pickup{display:flex;flex-direction:column;gap:.5rem;padding:.2rem 0}.tt-fixed-pickup span{font-size:.9rem;font-weight:650}.tt-fixed-pickup strong{font-size:1rem;font-weight:600}.tt-fixed-pickup small{color:#596d63}.tt-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.tt-booking [hidden]{display:none!important}.tt-quick-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 115px auto;gap:1rem;align-items:end;padding:1.4rem;background:white;border-radius:14px;box-shadow:0 12px 40px #031b3114}.tt-whatsapp-widget{position:fixed;bottom:22px;right:22px;z-index:80;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;background:#126b4e;color:#fff!important;border:2px solid #fff;border-radius:50px;text-decoration:none;box-shadow:0 5px 25px #07261830;font:650 14px/1.2 system-ui,sans-serif}.tt-whatsapp-widget:hover{background:#0d543d}.tt-whatsapp-widget:focus-visible{outline:3px solid #edcf49;outline-offset:3px}
@media(max-width:900px){.tt-quick-quote{grid-template-columns:1fr 1fr}.tt-quick-quote .tt-button{width:100%}}
@media(max-width:600px){.tt-form-grid,.tt-quick-quote{grid-template-columns:1fr}.tt-booking{border-radius:14px;padding:1.25rem;margin:1.3rem auto}.tt-booking .tt-button{width:100%}.tt-whatsapp-widget{right:12px;bottom:14px;padding:.8rem}.tt-whatsapp-widget span{font-size:12px}.tt-booking .tt-check{font-size:.9rem}.tt-quick-quote{gap:.85rem}.tt-quote-result{padding:1rem}}
@media(prefers-reduced-motion:reduce){.tt-booking *{scroll-behavior:auto!important}}
.tt-booking .tt-newsletter-opt-in,.tt-booking .tt-follow-up-opt-in{align-items:flex-start;flex-wrap:nowrap;font-weight:400;font-size:.87rem;margin:.9rem 0 0;line-height:1.5}
.tt-booking .tt-draft-message:empty{display:none}
.tt-booking .tt-newsletter-dialog{width:min(92vw,490px);max-height:90vh;overflow:auto;border:0;border-top:5px solid #f8d63f;border-radius:14px;padding:0;box-shadow:0 18px 60px #092d4355;color:#092d43;background:#fff}
.tt-booking .tt-newsletter-dialog::backdrop{background:#071e32a8}
.tt-booking .tt-newsletter-dialog-inner{position:relative;padding:2rem}
.tt-booking .tt-newsletter-dialog h3{font-size:1.65rem;line-height:1.2;margin:.35rem 2rem .65rem 0}
.tt-booking .tt-newsletter-dialog p{margin:.5rem 0 1.1rem}
.tt-booking .tt-newsletter-close{position:absolute;right:1rem;top:.8rem;width:38px;height:38px;border:0;background:transparent;color:#244b55;font-size:1.8rem;line-height:1;cursor:pointer}
.tt-booking .tt-newsletter-close:focus-visible,.tt-booking .tt-newsletter-dismiss:focus-visible{outline:3px solid #18725a;outline-offset:3px}
.tt-booking .tt-newsletter-form{margin-top:1.3rem}
.tt-booking .tt-newsletter-status:empty{display:none}
.tt-booking .tt-newsletter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1rem}
.tt-booking .tt-newsletter-dismiss{min-height:48px;padding:.7rem 1rem;border:1px solid #bdc9c5;border-radius:8px;color:#244b55;background:#fff;font:inherit;font-weight:650;cursor:pointer}
