/* Geotour Availability. Themes restyle it through these variables; fonts and text colour are inherited. */
.gta-calendar,.gta-enquiry{--gta-accent:#2f5d50;--gta-accent-ink:#fff;--gta-taken:#e4ded2;--gta-taken-ink:#8a857a;--gta-line:rgba(0,0,0,.14);--gta-field:transparent;--gta-radius:999px;--gta-gap:24px;--gta-tip-bg:#1f2522;--gta-tip-ink:#fff;--gta-ease:cubic-bezier(.22,1,.36,1);--gta-soft:color-mix(in srgb,var(--gta-accent) 14%,transparent);--gta-softer:color-mix(in srgb,var(--gta-accent) 8%,transparent)}
.gta-calendar *,.gta-enquiry *{box-sizing:border-box}
.gta-calendar{position:relative}
.gta-calendar .screen-reader-text,.gta-timeline .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Loading skeleton: keeps the space while the dates load */
.gta-skeleton{display:grid;grid-template-columns:1fr 1fr;gap:var(--gta-gap)}
.gta-skeleton-bar{grid-column:1/-1;height:40px;width:min(320px,70%);border-radius:var(--gta-radius)}
.gta-skeleton-grid{height:300px;border-radius:10px}
.gta-skeleton>*{background:linear-gradient(100deg,var(--gta-softer) 30%,var(--gta-soft) 50%,var(--gta-softer) 70%);background-size:300% 100%;animation:gta-shimmer 1.4s linear infinite}
@media (max-width:620px){.gta-skeleton{grid-template-columns:1fr}.gta-skeleton-grid+.gta-skeleton-grid{display:none}}

/* Header: houses, guests, legend */
.gta-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin-bottom:18px}
.gta-head-main{min-width:0}
.gta-head-side{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.gta-tabs{display:flex;flex-wrap:wrap;gap:8px}
.gta-tab,.gta-choice span{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid var(--gta-line);border-radius:var(--gta-radius);background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;transition:background .25s var(--gta-ease),border-color .25s,color .25s,transform .2s var(--gta-ease),box-shadow .25s}
.gta-tab:hover:not(:disabled),.gta-choice span:hover{border-color:var(--gta-accent);box-shadow:0 2px 10px var(--gta-soft);transform:translateY(-1px)}
.gta-tab:active:not(:disabled){transform:translateY(0) scale(.97)}
.gta-tab[aria-pressed="true"],.gta-choice input:checked+span{background:var(--gta-accent);border-color:var(--gta-accent);color:var(--gta-accent-ink);box-shadow:0 4px 14px var(--gta-soft)}
.gta-tab:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.gta-houses{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:13px}
.gta-house{display:inline-flex;align-items:center;gap:7px}
.gta-calendar.is-fresh .gta-house{animation:gta-fade-up .5s var(--gta-ease) both;animation-delay:calc(var(--i) * 60ms)}
.gta-house i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--gta-accent);color:var(--gta-accent-ink);font-style:normal;font-size:10px;font-weight:600}
.gta-guests{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.gta-guests-label{margin-right:4px;opacity:.75}
.gta-step{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--gta-line);border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:16px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .15s var(--gta-ease),color .2s}
.gta-step:hover:not(:disabled){border-color:var(--gta-accent);background:var(--gta-accent);color:var(--gta-accent-ink)}
.gta-step:active:not(:disabled){transform:scale(.9)}
.gta-step:disabled{opacity:.3;cursor:not-allowed}
.gta-guests-value{min-width:22px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.gta-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px}
.gta-key{display:inline-flex;align-items:center;gap:6px;opacity:.85}
.gta-key::before{content:"";width:12px;height:12px;border:1px solid var(--gta-line);border-radius:3px}
.gta-key.is-taken::before{background:var(--gta-taken);border-color:var(--gta-taken)}
.gta-key.is-partial::before{background:linear-gradient(90deg,var(--gta-soft) 50%,var(--gta-taken) 50%)}
.gta-key.is-soon::before,.gta-day.is-soon{background-image:repeating-linear-gradient(135deg,transparent 0 4px,var(--gta-line) 4px 5px)}
.gta-key.is-closed::before,.gta-day.is-closed{background-image:radial-gradient(var(--gta-line) 1px,transparent 1.2px);background-size:6px 6px}
.gta-key.is-closed{cursor:help}

/* Months (one house, or every house combined) */
.gta-months{display:grid;grid-template-columns:repeat(var(--gta-cols,2),minmax(0,1fr));gap:var(--gta-gap)}
.gta-cols-1{--gta-cols:1}.gta-cols-2{--gta-cols:2}.gta-cols-3{--gta-cols:3}
.gta-month{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed;margin:0}
.gta-month caption{text-align:left;font-weight:600;padding:0 3px 8px}
.gta-month caption::first-letter{text-transform:uppercase}
.gta-month th{font-size:11px;font-weight:400;opacity:.6;padding:2px 0 4px;text-align:center;border:0}
.gta-month td{padding:0;text-align:center;border:0}

/* Days: the same states in every layout */
.gta-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;aspect-ratio:1;min-height:34px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:1;cursor:pointer;padding:0;transition:transform .18s var(--gta-ease),box-shadow .2s,background-color .25s,color .2s}
.gta-num{position:relative;z-index:1;font-variant-numeric:tabular-nums}
button.gta-day:hover:not([aria-disabled="true"]){transform:translateY(-1px) scale(1.06);box-shadow:0 0 0 1.5px var(--gta-accent),0 6px 16px var(--gta-soft);z-index:2}
button.gta-day:active:not([aria-disabled="true"]){transform:scale(.93);transition-duration:.08s}
.gta-day:focus-visible{outline:2px solid var(--gta-accent);outline-offset:2px;z-index:3}
.gta-day.is-today .gta-num::after{content:"";position:absolute;left:50%;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.7}
.gta-day.is-past{opacity:.28;cursor:default}
.gta-day.is-taken{background:var(--gta-taken);color:var(--gta-taken-ink)}
.gta-day.is-taken .gta-num{text-decoration:line-through;text-decoration-thickness:1px}
.gta-day.is-taken-from{background:linear-gradient(135deg,transparent 50%,var(--gta-taken) 50%)}
.gta-day.is-taken-until{background:linear-gradient(135deg,var(--gta-taken) 50%,transparent 50%)}
.gta-day.is-taken-from .gta-num{text-decoration:none}
.gta-day.is-soon,.gta-day.is-closed{color:var(--gta-taken-ink)}
.gta-day[aria-disabled="true"]{cursor:not-allowed}
.gta-day.is-partial{background:linear-gradient(180deg,transparent 60%,var(--gta-softer) 60%)}
.gta-calendar .gta-day.is-preview{background:var(--gta-softer);border-radius:3px}
.gta-calendar .gta-day.is-preview-end{box-shadow:inset 0 0 0 2px var(--gta-accent)}
.gta-calendar .gta-day.is-range{background:var(--gta-soft);border-radius:3px;color:inherit}
.gta-calendar .gta-day.is-arrive,.gta-calendar .gta-day.is-depart{background:var(--gta-accent);color:var(--gta-accent-ink);box-shadow:0 6px 16px var(--gta-soft)}
.gta-calendar .gta-day.is-arrive{border-radius:10px 4px 4px 10px}
.gta-calendar .gta-day.is-depart{border-radius:4px 10px 10px 4px}
.gta-day.is-arrive .gta-num,.gta-day.is-depart .gta-num{text-decoration:none;font-weight:600}
/* Combined: one small bar per house under the day number */
.gta-segs{display:flex;gap:2px;width:62%;max-width:30px}
.gta-segs i{flex:1;height:4px;border-radius:2px;background:var(--gta-accent);opacity:.55;transition:opacity .2s,transform .2s}
.gta-segs i.is-taken{background:var(--gta-taken-ink);opacity:.25}
button.gta-day:hover .gta-segs i.is-free{opacity:.9;transform:scaleY(1.3)}
.gta-day.is-taken .gta-segs,.gta-day.is-arrive .gta-segs i,.gta-day.is-depart .gta-segs i{opacity:.6}
.gta-day.is-arrive .gta-segs i.is-free,.gta-day.is-depart .gta-segs i.is-free{background:var(--gta-accent-ink)}
.gta-count{font-size:9px;opacity:.6;font-variant-numeric:tabular-nums}

/* Timeline: one row per house */
.gta-timeline-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px 6px;scrollbar-width:thin}
.gta-timeline{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}
.gta-tl-unit{width:160px;text-align:left;font-weight:600;font-size:13px;padding:0 10px 0 0;position:sticky;left:0;z-index:4;background:var(--gta-surface,#fff)}
.gta-tl-unit small{display:block;font-weight:400;font-size:11px;opacity:.6;margin-top:3px}
.gta-tl-month{text-align:left;font-size:12px;font-weight:600;padding:0 3px 2px}
.gta-tl-month::first-letter{text-transform:uppercase}
.gta-tl-day{font-size:12px;font-weight:600;text-align:center;padding:2px 0 6px;font-variant-numeric:tabular-nums}
.gta-tl-day span{display:block;font-size:10px;font-weight:400;opacity:.6;margin-bottom:2px}
.gta-tl-day.is-weekend span{opacity:.9}
.gta-tl-day.is-today{color:var(--gta-accent)}
.gta-timeline td{padding:0}
.gta-timeline .gta-day{aspect-ratio:auto;height:40px;border-radius:6px;background-color:var(--gta-softer)}
.gta-timeline .gta-day.is-taken{background-color:var(--gta-taken)}
.gta-timeline .gta-day.is-taken-from{background-color:var(--gta-softer)}
.gta-timeline tr{transition:opacity .25s}
.gta-timeline tbody:has(tr.is-active) tr:not(.is-active){opacity:.55}
.gta-timeline tbody tr:hover{opacity:1}
.gta-timeline tr.is-active .gta-tl-unit{color:var(--gta-accent)}
@media (max-width:600px){.gta-tl-unit{width:104px;font-size:12px}}

/* Pager */
.gta-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.gta-page,.gta-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:8px 2px;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:4px;transition:text-decoration-color .2s,color .2s,transform .2s var(--gta-ease)}
.gta-page:hover:not(:disabled),.gta-link:hover{text-decoration-color:currentColor;color:var(--gta-accent)}
.gta-page:hover:not(:disabled) [aria-hidden]{transform:translateX(0)}
.gta-page[data-page="1"]:hover:not(:disabled),.gta-page[data-shift="7"]:hover:not(:disabled){transform:translateX(2px)}
.gta-page[data-page="-1"]:hover:not(:disabled),.gta-page[data-shift="-7"]:hover:not(:disabled){transform:translateX(-2px)}
.gta-page:disabled{opacity:.3;cursor:default;text-decoration:none}
.gta-page-today{margin:0 auto}
.gta-page:focus-visible,.gta-link:focus-visible,.gta-button:focus-visible,.gta-tab:focus-visible,.gta-step:focus-visible,.gta-pick:focus-visible,.gta-choice input:focus-visible+span{outline:2px solid var(--gta-accent);outline-offset:3px}

/* Selection summary */
.gta-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gta-line);font-size:14px}
.gta-selection p{margin:0}
.gta-selection.is-complete{display:grid;grid-template-columns:1fr auto;align-items:end}
.gta-selection.is-complete>:not(.gta-selection-actions){grid-column:1}
.gta-selection.is-complete .gta-selection-actions{grid-column:2;grid-row:1/span 4}
.gta-chosen{font-weight:600;font-size:15px}
.gta-chosen-house{display:block;font-size:12px;opacity:.7;margin-bottom:2px}
.gta-hint a{color:var(--gta-accent);font-weight:600}
.gta-selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.gta-pick-title{font-size:12px;opacity:.75;margin-top:4px!important}
.gta-picks{display:flex;flex-wrap:wrap;gap:8px}
.gta-pick{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 16px;border:1px solid var(--gta-line);border-radius:14px;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:1.3;cursor:pointer;text-align:left;animation:gta-fade-up .45s var(--gta-ease) both;animation-delay:calc(var(--i) * 70ms);transition:background .25s var(--gta-ease),border-color .25s,color .25s,transform .2s var(--gta-ease),box-shadow .25s}
.gta-pick span{font-size:11px;opacity:.75}
.gta-pick strong{font-weight:600}
.gta-pick:hover:not(:disabled){border-color:var(--gta-accent);transform:translateY(-1px);box-shadow:0 4px 12px var(--gta-soft)}
.gta-pick:active:not(:disabled){transform:scale(.97)}
.gta-pick[aria-pressed="true"]{background:var(--gta-accent);border-color:var(--gta-accent);color:var(--gta-accent-ink)}
.gta-pick[aria-pressed="true"] strong::before{content:"✓ "}
.gta-pick.is-off{opacity:.45;cursor:not-allowed}
.gta-pick.is-off strong{text-decoration:line-through}
.gta-empty{display:grid;justify-items:start;gap:14px;padding:28px 0}
.gta-empty p{margin:0;max-width:46ch}
.gta-error{margin:0;opacity:.75}

/* Tooltip */
.gta-tip{position:absolute;z-index:20;left:0;top:0;width:max-content;max-width:240px;padding:9px 12px;border-radius:8px;background:var(--gta-tip-bg);color:var(--gta-tip-ink);font-size:12px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.18);pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 4px)) scale(.96);transform-origin:50% 100%;transition:opacity .16s ease,transform .2s var(--gta-ease)}
.gta-tip::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);border-radius:2px}
.gta-tip.is-visible{opacity:1;transform:translate(-50%,calc(-100% - 10px)) scale(1)}
.gta-tip.is-below{transform:translate(-50%,4px) scale(.96);transform-origin:50% 0}
.gta-tip.is-below.is-visible{transform:translate(-50%,10px) scale(1)}
.gta-tip.is-below::after{bottom:auto;top:-5px}
.gta-tip strong{display:block;font-weight:600;margin-bottom:2px}
.gta-tip em{display:block;font-style:normal;opacity:.75;margin-top:3px}
.gta-tip-row{display:flex;align-items:center;gap:6px}
.gta-tip-row i{width:8px;height:8px;border-radius:2px;background:var(--gta-tip-ink)}
.gta-tip-row i.is-taken{opacity:.3}

/* Motion */
.gta-enter{animation:gta-fade-up .45s var(--gta-ease) both}
.gta-slide-next{animation:gta-slide-next .45s var(--gta-ease) both}
.gta-slide-prev{animation:gta-slide-prev .45s var(--gta-ease) both}
.gta-pop{animation:gta-pop .42s var(--gta-ease)}
.gta-nope{animation:gta-nope .4s ease}
.gta-flash{animation:gta-flash 1.2s ease}
@keyframes gta-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes gta-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes gta-slide-next{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes gta-slide-prev{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes gta-pop{0%{transform:scale(.82)}55%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes gta-nope{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes gta-flash{0%{box-shadow:0 0 0 0 var(--gta-soft)}30%{box-shadow:0 0 0 12px var(--gta-soft)}100%{box-shadow:0 0 0 0 transparent}}

/* Form */
.gta-form{display:grid;gap:18px}
.gta-choices{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gta-choices legend{font-size:12px;margin-bottom:8px;padding:0}
.gta-choice input{position:absolute;opacity:0;width:1px;height:1px}
.gta-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gta-field{display:grid;gap:6px;font-size:12px}
.gta-field input,.gta-field select,.gta-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--gta-line);border-radius:6px;background:var(--gta-field);color:inherit;font:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}
.gta-field input:hover,.gta-field select:hover,.gta-field textarea:hover{border-color:color-mix(in srgb,var(--gta-accent) 55%,var(--gta-line))}
.gta-field input:focus,.gta-field select:focus,.gta-field textarea:focus{outline:none;border-color:var(--gta-accent);box-shadow:0 0 0 3px var(--gta-soft)}
.gta-field textarea{resize:vertical;min-height:90px}
.gta-stay{margin:-6px 0 0;font-size:13px}
.gta-stay.is-taken{color:#9a4b2f}
.gta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.gta-button{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:12px 24px;border:0;border-radius:var(--gta-radius);background:var(--gta-accent);color:var(--gta-accent-ink);font:inherit;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .2s var(--gta-ease),box-shadow .25s,filter .2s}
.gta-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px var(--gta-soft);filter:brightness(1.06)}
.gta-button:active:not(:disabled){transform:translateY(0) scale(.98)}
.gta-button:disabled{opacity:.45;cursor:not-allowed}
.gta-button [aria-hidden]{transition:transform .2s var(--gta-ease)}
.gta-button:hover:not(:disabled) [aria-hidden]{transform:translateX(3px)}
.gta-whatsapp{font-size:14px;color:inherit;transition:color .2s}
.gta-whatsapp:hover{color:var(--gta-accent)}
.gta-privacy{margin:0;font-size:11px;opacity:.75}
.gta-notice{padding:12px 16px;border-radius:6px;font-size:14px;margin:0 0 18px;animation:gta-fade-up .45s var(--gta-ease) both}
.gta-notice.is-ok{background:var(--gta-soft)}
.gta-notice.is-error{background:#f6e3dc;color:#7a2e17}
.gta-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:600px){.gta-row{grid-template-columns:1fr}.gta-selection.is-complete{grid-template-columns:1fr}.gta-selection.is-complete .gta-selection-actions{grid-column:1;grid-row:auto}.gta-head{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.gta-calendar *,.gta-enquiry *,.gta-skeleton>*{animation:none!important;transition:none!important}button.gta-day:hover:not([aria-disabled="true"]){transform:none}.gta-tip{transition:none}}
