.batin-reservation{--tour-navy:#143f4b;--tour-gold:#dfc17f;--tour-line:#d4ded7;color:#143f4b;font:400 15px/1.6 system-ui,sans-serif;text-align:left;box-sizing:border-box}.batin-reservation *{box-sizing:border-box}.batin-reservation [hidden]{display:none!important}.batin-reservation input,.batin-reservation select,.batin-reservation textarea{font:inherit}.batin-reservation .tour-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:13px 18px;border-radius:6px;text-decoration:none;font:700 .8rem/1.4 system-ui,sans-serif;cursor:pointer}.batin-reservation .tour-button--gold{background:#dfc17f;color:#143f4b;border:1px solid #dfc17f}.batin-reservation .tour-button--navy{background:#143f4b;color:#fff;border:1px solid #143f4b}.batin-reservation a[href^="https://wa.me/"]{display:flex;background:#f2faf5;color:#167447;border:1px solid #b8d8c5}.batin-reservation .tour-kicker{font-size:.7rem;font-weight:700;letter-spacing:.1em}.batin-reservation .tour-payment-demo{margin:auto}.batin-reservation .tour-field input{width:100%}.batin-reservation .tour-field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}.batin-reservation .tour-field input:not([type=checkbox]){min-height:46px;padding:10px 12px;border:1px solid #a9bcb7;border-radius:5px;background:#fff;color:#143f4b}.batin-reservation .tour-total{font:400 2.7rem/1.2 Georgia,serif;margin:22px 0}.batin-reservation .tour-field-error{color:#a1402d;font-size:.8rem;line-height:1.7}.batin-reservation .tour-age-note{grid-column:1/-1;font-size:.75rem;color:#576f67;line-height:1.8}.batin-reservation .tour-checkout-note{font-size:.75rem;color:#61776d}

.batin-reservation.tour-calculator{display:grid;grid-template-columns:1.5fr 1fr;background:#fff;border:1px solid #d4ded7;border-radius:8px;overflow:hidden}
.batin-reservation .tour-calculator__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:30px;align-content:center}
.batin-reservation .tour-field:first-child{grid-column:1/-1}
.batin-reservation .tour-field label{display:block;font-size:.8rem;font-weight:700;color:#163c48;margin-bottom:8px}
.batin-reservation .tour-field small{display:block;font-size:.7rem;color:#5a7074;font-weight:400}
.batin-reservation .tour-field input{width:100%;min-width:0;min-height:47px;padding:10px 12px;border:1px solid #99acac;border-radius:4px;background:#fff;color:#14333d;font:inherit;font-size:1rem;color-scheme:light}
.batin-reservation .tour-field input[aria-invalid=true]{border:2px solid #a83228}
.batin-reservation .tour-age-note{grid-column:1/-1;font-size:.75rem;color:#516a70;margin:0}
.batin-reservation .tour-calculator__total{padding:30px;background:#f5f2eb;border-left:1px solid #d4ded7}
.batin-reservation .tour-calculator__total>span{font-size:.85rem;color:#294b57}
.batin-reservation .tour-total{font-size:2.6rem;font-family:Georgia,serif;color:var(--tour-navy);line-height:1.15;margin:14px 0 6px;letter-spacing:-.04em}
.batin-reservation .tour-calculator__total p[data-tour-breakdown]{font-size:.77rem;color:#50686d;margin:0 0 18px}
.batin-reservation .tour-checkout-note{font-size:.75rem;color:#5a6b6d;margin:0 0 12px}
.batin-reservation .tour-field-error{color:#a83228;font-size:.8rem}
.batin-reservation .tour-field input:focus-visible{outline:3px solid #b6812e;outline-offset:4px}
.batin-reservation.tour-calculator [hidden]{display:none!important}
@media(max-width:999px){.batin-reservation.tour-calculator{grid-template-columns:1.2fr 1fr}}
@media(max-width:699px){.batin-reservation.tour-calculator{grid-template-columns:1fr}
.batin-reservation .tour-calculator__fields,.batin-reservation .tour-calculator__total{padding:24px 20px}
.batin-reservation .tour-calculator__total{border-left:0;border-top:1px solid #d4ded7}
.batin-reservation .tour-calculator__fields{gap:18px 12px}}
@media(max-width:360px){.batin-reservation .tour-calculator__fields{grid-template-columns:1fr}
.batin-reservation .tour-field,.batin-reservation .tour-age-note{grid-column:1/-1}}
.batin-reservation .tour-demo-open{width:100%;cursor:pointer;margin-bottom:12px}
.batin-reservation .tour-payment-demo{width:min(500px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #c8d7d1;border-radius:10px;padding:30px;color:var(--tour-navy);background:#fbfaf7}
.batin-reservation .tour-payment-demo::backdrop{background:#031e2bcc}
.batin-reservation .tour-payment-demo h2{font:400 2rem/1.15 Georgia,serif;margin:0 24px 16px 0}
.batin-reservation .tour-payment-demo p:not(.tour-kicker){font-size:.85rem;line-height:1.6}
.batin-reservation .tour-payment-demo .tour-field{margin-bottom:16px}
.batin-reservation .tour-demo-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.batin-reservation .tour-demo-close{position:absolute;right:14px;top:12px;background:transparent;border:0;font-size:1.7rem;min-width:44px;min-height:44px;color:var(--tour-navy);cursor:pointer}
.batin-reservation .tour-demo-summary{background:#e6eeea;padding:12px;border-radius:4px}
.batin-reservation .tour-payment-demo [hidden]{display:none!important}
.batin-reservation .tour-payment-demo button{cursor:pointer}
.batin-reservation .tour-payment-demo :focus-visible{outline:3px solid #b6812e;outline-offset:3px}
@media(max-width:699px){.batin-reservation .tour-payment-demo{padding:24px 20px}
.batin-reservation .tour-payment-demo h2{font-size:1.6rem}}
.batin-reservation .tour-demo-row .tour-field:first-child{grid-column:auto}
.batin-reservation .tour-meals{grid-column:1/-1;margin:0;padding:18px;border:1px solid #d0dcd5;border-radius:4px;min-width:0}
.batin-reservation .tour-meals legend{font-size:.85rem;font-weight:700;padding-inline:7px}
.batin-reservation .tour-meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.batin-reservation .tour-meals .tour-field:first-child{grid-column:auto}
.batin-reservation .tour-meals label{font-size:.8rem}
.batin-reservation .tour-meals textarea{width:100%;min-height:85px;margin-top:7px;border:1px solid #99acac;border-radius:4px;padding:10px;font:inherit;font-size:.88rem;resize:vertical}
.batin-reservation .tour-meals>p{font-size:.75rem;line-height:1.7;color:#506a70;margin-block:12px}
.batin-reservation .tour-meal-result{font-size:.78rem;color:#3c6169}
@media(max-width:699px){.batin-reservation .editorial-page .tour-calculator__fields{padding:20px 15px}
.batin-reservation .tour-meals{padding:13px}
.batin-reservation .tour-meal-grid{gap:12px}
.batin-reservation .editorial-page .tour-calculator__total{padding:24px 20px}}
.batin-reservation.tour-calculator{box-shadow:0 12px 40px #24402c09;border-radius:10px;border-color:#d8e0d8}
.batin-reservation .tour-calculator__fields{padding:32px}
.batin-reservation .tour-calculator__total{background:#f5f1e7;display:flex;flex-direction:column;justify-content:center}
.batin-reservation .tour-total{font-size:3rem}
@media(max-width:699px){.batin-reservation .tour-calculator__fields{padding:24px 18px}}
.batin-reservation .reservation-alternative{font-size:.8rem;line-height:1.7;margin-top:25px;padding-top:20px;border-top:1px solid #c8d6d2}
.batin-reservation .tour-calculator__total .reservation-phone{display:flex;margin-top:12px;background:#fff;border:1px solid #274f59;color:#143f4b;font-size:.73rem;padding:13px 10px}
.batin-reservation .guest-manifest,.batin-reservation .standard-menu,.batin-reservation .guest-diet-field,.batin-reservation .guest-row-status{grid-column:1/-1;min-width:0}
.batin-reservation .tour-calculator__fields>.tour-field:first-child{grid-column:auto}
.batin-reservation .tour-calculator__fields{align-content:start}
.batin-reservation .guest-manifest__intro{font-size:.88rem;line-height:1.7;margin:0 0 12px;color:#385b64}
.batin-reservation .guest-preview-note{font-size:.73rem;line-height:1.7;color:#627773;margin:0 0 20px;padding:12px 14px;border-left:2px solid #c1cfc1;background:#f5f7f2}
.batin-reservation .guest-card{margin:0 0 23px;min-width:0;padding:19px 17px 22px;border:1px solid #d3ddd4;background:#fdfdfa;border-radius:8px}
.batin-reservation .guest-card legend{padding-inline:8px;font-size:.84rem;font-weight:700;color:#214f5a}
.batin-reservation .guest-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;min-width:0}
.batin-reservation .guest-card__grid .tour-field{min-width:0}
.batin-reservation .guest-card__grid .tour-field:last-child{grid-column:1/-1}
.batin-reservation .guest-card__grid input,.batin-reservation .guest-card__grid select{width:100%;min-width:0;height:45px;padding:10px 12px;border:1px solid #a9bcb7;border-radius:5px;background:#fff;color:#163f4b;font:inherit;font-size:.9rem;box-sizing:border-box}
.batin-reservation .guest-card__grid label{font-size:.77rem;margin-bottom:8px;display:block}
.batin-reservation .guest-card__grid input:focus-visible,.batin-reservation .guest-card__grid select:focus-visible{outline:2px solid #296a70;outline-offset:3px}
.batin-reservation .guest-card__grid [aria-invalid=true]{border-color:#b14d35;background:#fff9f6}
.batin-reservation .guest-row-status{font-size:.72rem;color:#637a75;margin:0}
.batin-reservation .standard-menu{padding:18px 20px;border-radius:7px;background:#eef2e8;border:1px solid #dde4d4}
.batin-reservation .standard-menu strong{font-size:.81rem;color:#315b51}
.batin-reservation .standard-menu p{font-size:.8rem;line-height:1.8;color:#526c62;margin:7px 0 0}
.batin-reservation .guest-diet-field textarea{width:100%;min-height:76px;margin-top:8px;padding:11px 12px;border:1px solid #a9bcb7;border-radius:5px;background:#fff;font:inherit;font-size:.88rem;resize:vertical}
.batin-reservation .guest-diet-field p{font-size:.72rem;line-height:1.7;color:#647a74;margin-block:8px 0}
.batin-reservation .tour-calculator__total{justify-content:flex-start;align-self:stretch}
.batin-reservation .tour-calculator__total>.tour-button{font-size:.75rem;letter-spacing:0}
@media(max-width:699px){.batin-reservation .guest-card{padding:16px 13px 19px}
.batin-reservation .guest-card__grid{grid-template-columns:1fr;gap:16px}
.batin-reservation .guest-card__grid .tour-field{grid-column:1/-1}
.batin-reservation .tour-calculator__fields>.tour-field:first-child{grid-column:1/-1}
.batin-reservation .standard-menu{padding:16px}
.batin-reservation .guest-card__grid input,.batin-reservation .guest-card__grid select{font-size:16px}}
.batin-reservation .guest-card__grid .tour-field:first-child{grid-column:auto}
@media(max-width:699px){.batin-reservation .guest-card__grid .tour-field:first-child{grid-column:1/-1}}
.batin-reservation .guest-delivery-note{font-size:.78rem;line-height:1.75;color:#496c61;margin:0 0 16px}
.batin-reservation .guest-card__grid .tour-field:last-child{grid-column:auto}
.batin-reservation .guest-card__grid .guest-foreign-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;min-height:36px;margin:10px 0 0;font-size:.72rem;font-weight:400;line-height:1.6;color:#47655f}
.batin-reservation .guest-card__grid .guest-foreign-label input{appearance:auto;flex:0 0 17px;width:17px;height:17px;min-height:0;padding:0;margin:2px 0 0;border-radius:3px;accent-color:#22744e}
.batin-reservation .guest-card__grid input:disabled{background:#edf0eb;border-color:#d3dbd1;color:#77897d;cursor:not-allowed}
@media(max-width:699px){.batin-reservation .guest-card__grid .tour-field:last-child{grid-column:1/-1}
.batin-reservation .guest-card__grid .guest-foreign-label{font-size:.76rem;min-height:40px}
.batin-reservation .guest-delivery-note{font-size:.8rem}}
.batin-reservation.tour-calculator:not(.has-guests){grid-template-columns:1fr;max-width:680px;margin-inline:auto}
.batin-reservation.tour-calculator:not(.has-guests) .tour-calculator__fields{padding:22px 25px;gap:14px 20px}
.batin-reservation .guest-details{display:grid;gap:20px;grid-column:1/-1;min-width:0}
.batin-reservation .guest-start-hint{grid-column:1/-1;margin:0;font-size:.76rem;line-height:1.7;color:#687c72}
.batin-reservation .tour-calculator__fields>[data-tour-error]{grid-column:1/-1;margin:0}
.batin-reservation .tour-date-picker{position:relative;min-width:0}
.batin-reservation .tour-date-trigger{width:100%;min-height:49px;display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fffefa;color:#5b736d;border:1px solid #afc2b7;border-radius:7px;cursor:pointer;text-align:left;font:inherit;font-size:.86rem;box-shadow:0 2px 5px #193a2c05}
.batin-reservation .tour-date-trigger span:last-child{margin-left:auto;color:#6b8577}
.batin-reservation .tour-date-trigger svg{flex-shrink:0;color:#6c8b75}
.batin-reservation .tour-date-trigger.has-date{color:#163f4b}
.batin-reservation .tour-date-trigger:hover{border-color:#6b9881;background:#f8fbf5}
.batin-reservation .tour-date-trigger:focus-visible,.batin-reservation .tour-calendar button:focus-visible{outline:2px solid #236c58;outline-offset:3px}
.batin-reservation .tour-calendar{position:absolute;top:calc(100% + 9px);left:0;z-index:40;width:310px;max-width:calc(100vw - 80px);padding:15px;background:#fffefb;border:1px solid #d8e1d5;border-radius:12px;box-shadow:0 16px 45px #153b3926;box-sizing:border-box}
.batin-reservation .tour-calendar__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.batin-reservation .tour-calendar__head span{font-size:.86rem;font-weight:700;color:#244e4a;text-transform:capitalize}
.batin-reservation .tour-calendar__head button{border:0;background:#edf3eb;width:32px;height:32px;border-radius:7px;font-size:1.4rem;color:#315f50;cursor:pointer}
.batin-reservation .tour-calendar__head button:disabled{opacity:.3;cursor:default}
.batin-reservation .tour-calendar__week,.batin-reservation .tour-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.batin-reservation .tour-calendar__week{margin-bottom:5px}
.batin-reservation .tour-calendar__week span{text-align:center;font-size:.65rem;font-weight:600;color:#7c8e80;padding:3px 0}
.batin-reservation .tour-calendar__days button{padding:0;min-width:0;min-height:33px;border:1px solid transparent;border-radius:7px;background:transparent;font:inherit;font-size:.78rem;color:#234f49;cursor:pointer}
.batin-reservation .tour-calendar__days button:hover:not(:disabled){background:#edf3e8}
.batin-reservation .tour-calendar__days button:disabled{color:#c6cdc3;cursor:default}
.batin-reservation .tour-calendar__days button.is-today{border-color:#c7d8c7}
.batin-reservation .tour-calendar__days button[aria-pressed=true]{background:#174d43;color:#fff;border-color:#174d43}
.batin-reservation .tour-calendar>p{font-size:.65rem;color:#7b8f80;text-align:center;margin:11px 0 0;padding-top:10px;border-top:1px solid #edf0e7}
@media(max-width:699px){.batin-reservation.tour-calculator:not(.has-guests) .tour-calculator__fields{padding:19px;gap:14px}
.batin-reservation .tour-date-trigger{font-size:16px}
.batin-reservation .tour-calendar{max-width:calc(100vw - 80px)}
.batin-reservation .guest-details{gap:18px}}
.batin-reservation.tour-calculator{overflow:visible}
.batin-reservation .tour-calculator__fields{border-radius:9px 0 0 9px}
.batin-reservation .tour-calculator__total{border-radius:0 9px 9px 0}
.batin-reservation.tour-calculator:not(.has-guests) .tour-calculator__fields{border-radius:9px}
@media(max-width:699px){.batin-reservation .tour-calculator__fields{border-radius:9px 9px 0 0}
.batin-reservation .tour-calculator__total{border-radius:0 0 9px 9px}}
.batin-reviews{padding:35px 0 45px;color:#143f4b;font-family:system-ui,sans-serif}.batin-reviews h2{font:400 clamp(1.9rem,3vw,2.6rem)/1.2 Georgia,serif;margin:10px 0 15px}.batin-reviews__intro{font-size:.9rem;color:#637a70}.batin-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.batin-review{background:#fffefa;border:1px solid #dae3d5;border-radius:9px;padding:25px}.batin-review__meta{display:flex;justify-content:space-between;gap:15px;font-size:.78rem}.batin-review__meta>span{color:#a07832;letter-spacing:2px}.batin-review blockquote{margin:22px 0;font-size:.9rem;line-height:1.85;white-space:normal}.batin-review footer{display:grid;gap:8px;font-size:.75rem;color:#63796d}.batin-review footer strong{color:#285744}.batin-review footer a{color:#285f52;font-size:.73rem;text-underline-offset:4px}.batin-review time{font-size:.7rem}@media(max-width:900px){.batin-reviews__grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.batin-reviews__grid{grid-template-columns:1fr}}
.batin-review-source-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.batin-review-source-links a{display:inline-flex;align-items:center;min-height:44px;padding:12px 20px;border:1px solid #d1ddcc;border-radius:6px;background:#fffefa;color:#315f50;text-decoration:none;font:600 .8rem/1.5 system-ui,sans-serif}

/* Daily prices and persistent booking checkout. */
.batin-reservation .tour-calendar{width:min(440px,calc(100vw - 48px));max-width:none;padding:18px;z-index:80}
.batin-reservation .tour-calendar__days button{height:57px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px 1px}
.batin-reservation .tour-calendar__days button small{font:500 9px/1.2 system-ui;white-space:normal;word-break:normal;letter-spacing:-.2px}
.batin-reservation .tour-calendar__days button.is-unavailable{background:#f2f0ec;color:#8a8681;opacity:1}
.batin-reservation .booking-payment-methods{display:grid;gap:12px;margin:20px 0;padding:16px;border:1px solid #d6ded5;border-radius:12px;background:#fff}
.batin-reservation .booking-payment-methods label,.batin-reservation .booking-acknowledgement{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6}
.batin-reservation .booking-payment-methods input,.batin-reservation .booking-acknowledgement input{width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:#173e46}
.batin-reservation .booking-payment-methods small,.batin-reservation .booking-privacy-note{font-size:11px;line-height:1.6;color:#64716b}
.batin-reservation .booking-billing{border:1px solid #d6ded5;border-radius:10px;padding:15px;margin:15px 0}
.batin-reservation .booking-billing label{display:block;font-size:12px;margin:12px 0 4px}.batin-reservation .booking-billing input{width:100%;min-height:42px;border:1px solid #bbc9c4;border-radius:8px;padding:8px;background:#fff;box-sizing:border-box}
.batin-reservation .booking-result{margin-top:20px;border:1px solid #94bba7;border-radius:12px;padding:17px;background:#f0f8f1;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.batin-reservation .booking-result p{font-size:13px;line-height:1.8}
.batin-reservation [hidden]{display:none!important}
@media(max-width:699px){.batin-reservation .tour-calendar{width:min(375px,calc(100vw - 44px));padding:10px}.batin-reservation .tour-calendar__days{gap:2px}.batin-reservation .tour-calendar__days button small{font-size:8px}.batin-reservation .tour-calendar__days button{height:55px}}

@media(max-width:699px){.batin-reservation .tour-calendar{position:fixed;top:auto;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;max-width:440px;max-height:calc(100dvh - 170px);margin:0 auto;overflow-y:auto;z-index:120;box-shadow:0 12px 70px #123d4560}}

.batin-reservation .guest-whatsapp-optin{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:11px;font-weight:400;line-height:1.6}.batin-reservation .guest-whatsapp-optin input{width:16px;height:16px;min-height:0;flex:0 0 16px;margin-top:3px;accent-color:#1a7250}.batin-reservation .booking-result details{margin:15px 0}.batin-reservation .booking-result summary{font-weight:700;cursor:pointer}
