
/* Casotel availability search */
.availability-panel{max-width:980px;margin:0 auto;padding:clamp(22px,4vw,42px)}
.availability-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end}
.availability-field{display:grid;gap:7px;text-align:left;color:var(--muted);font-size:13px}
.availability-field input,.availability-field select{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#10110f;color:#fff;font:inherit;color-scheme:dark}
.availability-field input:focus,.availability-field select:focus{outline:2px solid #a9b989;outline-offset:2px}
.availability-submit{min-width:190px;min-height:48px;border:0;cursor:pointer}
.availability-status{min-height:1.6em;margin:18px 0 0;color:var(--muted);text-align:center}
.availability-status[data-state="error"]{color:#ffc0b7}
.availability-status[data-state="success"]{color:#dce9c7}
.availability-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:24px;margin-top:24px}
.availability-card{display:flex;flex-direction:column;overflow:hidden;padding:0;height:100%;min-width:0;background:#151815;border:1px solid #303830;border-radius:18px;box-shadow:0 16px 36px rgba(0,0,0,.2)}
.availability-card>img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;background:#101310}
.availability-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}
.availability-card__body h3{margin:0 0 12px;font-size:23px;line-height:1.2}
.availability-card__body p{color:var(--muted);margin:0}
.availability-badge{display:inline-flex;align-items:center;min-height:32px;margin:0 0 14px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.01em}
.availability-badge.is-available{color:#e0e9cf;border-color:#64764b;background:rgba(108,122,81,.22)}
.availability-badge.is-unavailable{color:#ffd3cb;border-color:#9b5349;background:rgba(140,58,48,.18)}
.availability-card__body>.availability-card__description{line-height:1.55}
.availability-price-block{display:flex;flex-direction:column;gap:0;margin-top:auto;padding-top:26px}
.availability-price{display:block;color:#fff;font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.025em}
.availability-per-night{margin-top:4px;color:var(--muted2);font-size:14px}
.availability-note{min-height:54px;margin-top:12px!important;color:var(--muted2)!important;font-size:12px;line-height:1.45}
.availability-book{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:20px;padding:12px 16px;border:1px solid #7f915f;border-radius:999px;background:#6c7a51;color:#fff;text-align:center;font:inherit;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.availability-book:hover{transform:translateY(-2px);border-color:#9cac7d;background:#7d8c5d}
.availability-book:focus-visible{outline:2px solid #dce9c7;outline-offset:3px}
.availability-book.is-disabled,.availability-book.is-disabled:hover{border-color:#454a43;background:#292d28;color:#adb2a8;cursor:not-allowed;transform:none}
.lang-switch a[aria-current="page"]{border-color:#7f915f;background:rgba(108,122,81,.24);color:#fff}
.hero-search{position:relative;z-index:3;max-width:1050px;margin:28px auto 0;padding:24px}
.hero-search .availability-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
.hero-search .availability-field{color:#fff}
.hero-search .availability-field input,.hero-search .availability-field select{background:rgba(6,7,5,.82)}
.hero-search .availability-submit{min-width:205px}
.hero-search .availability-status{margin-top:8px}
.hero .availability-panel.hero-search{width:100%;max-width:850px;margin:0 auto;padding:13px 16px 9px;position:absolute;left:50%;bottom:clamp(90px,15vh,120px);transform:translateX(-50%);border:1px solid rgba(226,232,211,.24);border-radius:20px;background:linear-gradient(135deg,rgba(25,33,24,.84),rgba(15,21,16,.76));color:#f4f1e8;box-shadow:0 20px 58px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.hero-search .availability-heading{margin:0 0 5px;color:#f4f1e8;font-size:15px;text-align:center;font-weight:700;line-height:1.3;letter-spacing:-.015em}
.hero-search .availability-form{display:grid;grid-template-columns:1fr 1fr .72fr 1.1fr auto;gap:0;align-items:end}
.hero-search .availability-field{position:relative;display:grid;align-content:end;grid-template-rows:18px 46px;gap:5px;min-width:0;padding:0 12px;color:rgba(244,241,232,.88);font-size:12px;font-weight:600}
.hero-search .availability-field:first-of-type{padding-left:0}
.hero-search .availability-field+.availability-field:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:rgba(237,239,224,.2)}
.hero-search .availability-field>span{display:flex;align-items:center;gap:7px;min-height:18px}
.hero-search .availability-field svg{width:15px;height:15px;flex:0 0 15px;color:#bac69e}
.hero-search .availability-field input,.hero-search .availability-field select{width:100%;min-width:0;min-height:46px;padding:7px 4px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.055);color:#fff;font:500 15px/1.3 "Raleway",sans-serif;color-scheme:dark}
.hero-search .availability-field input:focus-visible,.hero-search .availability-field select:focus-visible{outline:2px solid #bac69e;outline-offset:1px;background:rgba(255,255,255,.12)}
.hero .hero-search .availability-submit{align-self:end;justify-self:center;width:auto;min-width:0;min-height:46px;margin:0;padding:9px 12px;border:1px solid #526044;border-radius:12px;background:#526044;color:#fff;font-size:12px;letter-spacing:0;line-height:1.3;text-transform:none;white-space:nowrap}
.hero .hero-search .availability-submit:hover{border-color:#87966b;background:#69794f;color:#fff;transform:translateY(-1px)}
.hero .hero-search .availability-submit:focus-visible{outline:3px solid #bac69e;outline-offset:3px}
.hero-search .availability-submit:disabled{opacity:.78;cursor:wait;transform:none}
.hero-search .availability-status{display:flex;align-items:center;justify-content:center;min-height:0;margin:4px 0 0;color:rgba(244,241,232,.78);text-align:left;font-size:13px;line-height:1.45}
.hero-search .availability-status[data-state="error"]{color:#ffd0c7}
.hero-search .availability-status[data-state="success"]{color:#dce9c7}
.hero-search .availability-status:empty:not([data-state]){display:none}
@media(max-width:900px){.availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-submit{width:100%}.availability-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hero-search .availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-search .availability-submit{width:100%}}
@media(max-width:600px){.availability-form,.availability-results{grid-template-columns:1fr}.availability-submit{min-width:100%}.availability-card__body{padding:24px}.availability-card__body h3{font-size:22px}}
@media(max-width:1024px){.hero .hero-copy{position:static;top:auto;left:auto;transform:none;width:min(650px,100%);margin:0 auto}.hero .availability-panel.hero-search{position:relative;left:auto;bottom:auto;transform:none;margin:24px auto 0;max-width:850px}.hero .hero-search .availability-field{grid-template-rows:auto auto}}
@media(max-width:600px){.hero .hero-copy{margin:0 auto}.hero .availability-panel.hero-search{margin:18px auto 0;padding:16px 14px 8px}.hero-search .availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .hero-search .availability-submit{width:100%;min-height:48px;white-space:normal}}
