.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reservation-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:110px;align-items:center}.reservation-intro>div>p:last-child{font-size:13px;max-width:400px;margin-top:22px}.reservation-price{border-left:1px solid var(--line);padding:12px 0 12px 65px}.reservation-price>span{font-size:10px;letter-spacing:1.7px;color:#718066}.reservation-price>p{font-size:25px;color:var(--green);margin:9px 0 20px}.reservation-price>p strong{font:62px var(--serif);letter-spacing:-2px}.reservation-price>p small{font-size:12px;color:var(--muted)}.reservation-price>div{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:14px 0;font-size:12px}.reservation-price .price-footnote{font-size:11px!important;line-height:1.8;margin:16px 0 0!important;color:var(--muted)}
.reservation-section{background:#eaece3;padding:80px 0 95px;scroll-margin-top:25px}.reservation-section .section-heading{align-items:center;margin-bottom:30px}.inquiry-badge{display:inline-flex;border:1px solid #c7b681;border-radius:30px;color:#766037;background:#f3eedc;font-size:9px;letter-spacing:1.1px;padding:8px 15px;white-space:nowrap;font-weight:700}.inquiry-notice{display:flex;align-items:flex-start;gap:13px;border:1px solid #d7d5be;background:#f4f1e5;padding:16px 20px;border-radius:5px;margin-bottom:20px}.inquiry-notice>span{border:1px solid #9b9269;border-radius:50%;width:19px;height:19px;line-height:17px;flex-shrink:0;text-align:center;font-family:var(--serif);color:#746d4d;margin-top:2px}.inquiry-notice p{font-size:11px;color:#736c54;line-height:1.8}.inquiry-notice strong{color:#58533c;font-weight:600}.inquiry-notice a{text-decoration:underline;text-underline-offset:3px;white-space:normal}.live-availability{border:1px solid #cdd5c2;background:#f5f6ee;border-radius:5px;margin-bottom:29px}.live-availability summary{padding:18px 24px;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}.live-availability summary::-webkit-details-marker{display:none}.live-availability summary>span:first-child{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600}.live-availability summary svg{width:23px;color:#758761}.live-availability small{display:block;font-size:10px;font-weight:400;color:#718166;margin-top:2px}.live-availability summary>span:last-child{font-size:24px;font-weight:300;line-height:1}.live-availability[open] summary>span:last-child{transform:rotate(45deg)}.availability-content{padding:0 24px 25px;border-top:1px solid #dde2d2}.availability-content>p{font-size:12px;margin:18px 0}.availability-content iframe{display:block;width:100%;border:0;margin:15px 0;background:var(--cream);border-radius:4px;min-height:280px}.availability-content .text-link{font-size:11px}.reservation-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:30px;align-items:start}.reservation-main{background:var(--cream);border:1px solid #d9ddce;border-radius:6px;overflow:hidden}.reservation-steps{display:flex;list-style:none;margin:0;padding:25px 28px;border-bottom:1px solid var(--line);gap:12px;justify-content:space-between}.reservation-steps li{display:flex;align-items:center;gap:9px;font-size:11px;color:#828b79}.reservation-steps li>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #d3d9c8;border-radius:50%;font-size:10px;background:#eeeee5}.reservation-steps li[aria-current=step]{color:var(--green);font-weight:700}.reservation-steps li[aria-current=step]>span{color:white;background:var(--green);border-color:var(--green)}.reservation-steps li.is-complete{color:#6a7c59}.reservation-steps li.is-complete>span{background:#e2e7d7;color:#48603c;border-color:#bdcbb0}.reservation-panel{margin:0;padding:32px;border:0;min-width:0}.step-heading h3{font:31px var(--serif);letter-spacing:-.8px;line-height:1.25}.step-heading h3:focus,.booking-success h3:focus{outline:none}.step-heading p{font-size:12px;margin:10px 0 23px;max-width:460px}.reservation-panel label{display:block;font-size:11px;font-weight:600;margin-bottom:18px}.reservation-panel input:not([type=checkbox]):not([type=radio]),.reservation-panel textarea{display:block;width:100%;min-width:0;border:1px solid #ced7c2;background:#fffefa;border-radius:4px;padding:12px;color:var(--green);font-size:13px;line-height:1.5;margin-top:7px;height:46px}.reservation-panel textarea{height:auto;resize:vertical;min-height:100px}.reservation-panel input::placeholder,.reservation-panel textarea::placeholder{color:#87917e;font-size:12px}.date-selection{display:grid;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);gap:14px;align-items:center}.date-selection label{font-size:11px;margin:0}.date-selection label>span{float:right;font-size:9px;font-weight:400;color:var(--muted);padding-top:2px}.date-selection .date-arrow{margin-top:22px;color:#7c8d6a}.inquiry-calendar{border:1px solid var(--line);border-radius:5px;padding:17px 21px 12px;margin-top:20px;background:#fffefa}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-toolbar h4{font-family:var(--serif);font-size:20px;font-weight:400;margin:0;text-transform:capitalize}.calendar-toolbar button{background:none;border:1px solid #d8dfcf;border-radius:50%;width:34px;height:34px;font-size:18px;line-height:1}.calendar-toolbar button:hover:not(:disabled){background:#e8eddc}.calendar-toolbar button:disabled{opacity:.25;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:4px}.calendar-weekdays{font-size:9px;color:#78866d;padding-bottom:8px}.calendar-days>button{border:1px solid transparent;background:transparent;min-height:37px;min-width:0;border-radius:3px;font-size:12px;padding:3px;line-height:1;position:relative}.calendar-days>button:hover:not(:disabled){background:#e2e9d7;border-color:#bfcfb0}.calendar-days>button:disabled{color:#b6bdae;cursor:default}.calendar-days>button.is-today:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:4px;left:calc(50% - 1px)}.calendar-days>button.in-range{background:#e6ebdc;border-radius:0}.calendar-days>button.is-selected,.calendar-days>button.is-selected:hover{background:var(--green);color:white;border-color:var(--green)}.inquiry-calendar>p{font-size:10px;text-align:center;padding-top:13px;margin-top:11px;border-top:1px solid #e4e7dd}.guest-selection{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0}.guest-selection>div:first-child>strong{display:block;font-size:12px;font-weight:600}.guest-selection>div:first-child>span{display:block;font-size:10px;color:var(--muted)}.guest-counter{display:flex;gap:7px;align-items:center;background:#f2f4ea;border:1px solid #d5ddcb;border-radius:999px;padding:5px}.guest-counter button{display:grid;place-items:center;border:1px solid #bccbb0;background:var(--cream);color:var(--green);border-radius:50%;width:44px;height:44px;padding:0;font-size:22px;line-height:1;transition:background .2s,border-color .2s,transform .2s}.guest-counter button:hover:not(:disabled){background:#e2e9d7;border-color:#a3b78e}.guest-counter button:active:not(:disabled){transform:scale(.94)}.guest-counter button:disabled{background:#e6e9dd;border-color:#dce0d2;color:#a9b2a0;opacity:1;cursor:not-allowed}.guest-counter select{appearance:none;-webkit-appearance:none;height:44px;min-width:98px;padding:0 6px;background:none;color:var(--green);border:0;font-size:13px;font-weight:600;text-align:center;text-align-last:center;cursor:pointer}.reservation-next{width:100%;justify-content:space-between}.reservation-helper{text-align:center;font-size:10px;margin-top:13px;color:#7b8471;line-height:1.8}.step-error{border-left:2px solid #ae6551;background:#f4e9e1;color:#854a38;padding:11px 14px;font-size:12px;margin-bottom:18px}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.reservation-panel .consent-check{display:flex;align-items:flex-start;gap:10px;line-height:1.7;font-size:11px;font-weight:400;margin:23px 0}.consent-check input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin:1px 0 0}.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:26px}.wizard-actions .button{font-size:11px;padding:15px 19px;gap:14px}.reservation-back{border:0;border-bottom:1px solid #c0cab5;padding:5px 0;background:none;font-size:11px;color:#6b7a5f;white-space:nowrap}.reservation-panel:disabled .button{opacity:.7;cursor:wait}.reservation-summary{background:var(--cream);border:1px solid #d9ddce;border-radius:6px;overflow:hidden;position:sticky;top:25px}.reservation-summary>img{width:100%;height:185px;object-position:center 46%}.summary-body{padding:27px}.summary-body .eyebrow{font-size:8px;margin-bottom:7px}.summary-body>h3{font:30px var(--serif);letter-spacing:-.5px}.summary-location{display:flex;align-items:center;gap:6px;font-size:10px;margin-top:8px}.summary-location svg{width:13px;height:13px}.summary-dates{display:grid;grid-template-columns:1fr 16px 1fr;gap:10px;align-items:center;padding-block:23px 15px;margin-top:20px;border-top:1px solid var(--line)}.summary-dates>div>span{display:block;font-size:8px;letter-spacing:1.3px;color:#77866b}.summary-dates strong{font-size:12px;font-weight:600;display:block;margin-top:4px;white-space:nowrap}.summary-dates small{font-size:9px;color:#808976;display:block;margin-top:2px}.summary-dates>span{font-size:13px;color:#859374}.summary-body>#summary-guests{font-size:11px}.summary-price-lines{padding:20px 0;border-bottom:1px solid var(--line);margin-top:5px}.summary-price-lines>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#738068}.summary-price-lines>div+div{margin-top:9px}.summary-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.summary-total>span{font-size:12px}.summary-total>strong{font:29px var(--serif);white-space:nowrap;letter-spacing:-.6px}.summary-body>#estimate{font-size:10px;line-height:1.7;margin-top:8px;color:#78866d}.summary-inclusions{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.summary-inclusions>span{display:flex;align-items:center;gap:8px;font-size:10px;color:#6e7e60}.summary-inclusions svg{width:14px;height:14px}.summary-disclaimer{font-size:7px;letter-spacing:1px;text-align:center;margin-top:22px;color:#88907d}.booking-success{text-align:center;padding:45px 32px}.success-icon{display:grid;place-items:center;margin:0 auto 22px;width:67px;height:67px;border-radius:50%;background:#e1e9d5;border:1px solid #bdcdaa;color:#648049}.success-icon svg{width:31px;height:31px}.booking-success .eyebrow{font-size:9px;margin-bottom:16px}.booking-success h3{font:43px/1.15 var(--serif);letter-spacing:-1px}.booking-success h3 em{color:#7d8e66}.booking-success>p:not(.eyebrow){font-size:12px;margin-top:20px}.booking-success>p>strong{font-weight:500}.success-receipt{background:#ecefe3;border:1px solid #d4dec7;border-radius:5px;padding:22px;text-align:left;margin-top:28px}.success-receipt>span{display:block;font-size:9px;color:#7a856e}.success-receipt>strong{display:block;font-size:15px;letter-spacing:1px;margin-bottom:14px}.success-receipt>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;padding-top:10px}.success-receipt>div>span{color:#738064}.success-receipt>div>strong{font-weight:600;text-align:right}.success-receipt .success-contact{display:inline-flex;align-items:center;min-height:30px;font-weight:600;text-decoration:underline;text-decoration-color:#a9b894;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.success-receipt .success-contact:hover{color:#5d7049;text-decoration-color:#7f9068}.booking-success>.button{display:flex;margin-top:24px;width:100%;font-size:12px}.booking-success>.text-link{margin-top:21px;font-size:10px}.reservation-section noscript p{padding:20px;font-size:13px}
@media(max-width:1100px){.reservation-intro{gap:60px}.reservation-price{padding-left:45px}.reservation-layout{gap:22px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.reservation-panel{padding:26px}.reservation-steps{padding:22px;gap:8px}.reservation-steps li{font-size:10px;gap:6px}.summary-body{padding:22px}.wizard-actions{gap:10px}.wizard-actions .button{padding:13px;gap:8px;font-size:10px}.summary-dates strong{font-size:10px}}
@media(max-width:850px){.reservation-layout{grid-template-columns:minmax(0,1fr)}.reservation-summary{position:static;display:grid;grid-template-columns:.8fr 1fr}.reservation-summary>img{height:100%;min-height:350px}.summary-body{padding:27px}.summary-dates strong{font-size:12px}.reservation-panel{padding:30px}.reservation-steps{padding:24px 30px}.reservation-steps li{font-size:12px}.reservation-steps li>span{width:29px;height:29px}.reservation-intro{gap:35px}.reservation-price{padding-left:32px}.reservation-section .section-heading{align-items:flex-start}.reservation-section .section-heading h2{font-size:41px}.inquiry-badge{font-size:8px}.wizard-actions .button{padding:15px 20px;font-size:12px}.reservation-back{font-size:12px}.reservation-fields input{font-size:14px}}
@media(max-width:640px){.reservation-intro{grid-template-columns:1fr;gap:25px}.reservation-price{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.reservation-price>p strong{font-size:55px}.reservation-intro>div>p:last-child{font-size:12px;max-width:none}.reservation-section{padding:52px 0 60px}.reservation-section .section-heading{gap:18px}.reservation-section .section-heading h2{font-size:39px}.inquiry-badge{font-size:8px;letter-spacing:.7px}.inquiry-notice{padding:14px;gap:10px}.inquiry-notice p{font-size:10px}.live-availability summary{padding:16px}.live-availability summary>span:first-child{font-size:11px;gap:9px}.live-availability small{font-size:9px}.availability-content{padding:0 12px 20px}.availability-content>p{font-size:11px}.availability-content .text-link{font-size:10px}.reservation-layout{gap:22px}.reservation-steps{padding:20px 15px;gap:5px}.reservation-steps li{font-size:9px;gap:6px}.reservation-steps li>span{width:23px;height:23px;font-size:9px}.reservation-panel{padding:24px 18px}.step-heading h3{font-size:28px}.step-heading p{font-size:11px}.date-selection{gap:13px;grid-template-columns:minmax(0,1fr)}.date-selection label{font-size:10px}.date-selection label>span{font-size:9px;float:right;display:inline}.date-selection .date-arrow{display:none}.reservation-panel input:not([type=checkbox]):not([type=radio]),.reservation-panel textarea{font-size:16px;padding:10px 7px}.date-selection input{font-size:16px!important}.inquiry-calendar{padding:15px 10px 10px;margin-top:16px}.calendar-days,.calendar-weekdays{gap:3px}.calendar-days>button{min-height:36px;font-size:12px}.calendar-toolbar h4{font-size:20px}.guest-selection{gap:14px;flex-wrap:wrap;padding:20px 0}.guest-selection>div:first-child{flex:1 1 100%}.guest-selection>div:first-child>strong{font-size:11px}.guest-selection>div:first-child>span{font-size:9px}.guest-counter{gap:6px;width:100%;justify-content:space-between}.guest-counter select{font-size:13px;min-width:0;flex:1}.guest-counter button{width:44px;height:44px;flex-shrink:0}.reservation-next{font-size:11px;padding:15px}.reservation-helper{font-size:9px}.reservation-fields{grid-template-columns:1fr;gap:0}.wizard-actions{flex-direction:column-reverse;gap:19px;align-items:stretch}.wizard-actions .button{width:100%;font-size:11px;padding:15px 13px;gap:9px}.reservation-back{align-self:flex-start;font-size:11px}.reservation-summary{display:block}.reservation-summary>img{min-height:0;height:170px}.summary-body{padding:24px}.summary-dates strong{font-size:12px}.booking-success{padding:32px 18px}.booking-success h3{font-size:37px}.booking-success>p:not(.eyebrow){font-size:11px}.success-receipt{padding:17px}.success-receipt>div{font-size:10px;flex-wrap:wrap;gap:5px}.booking-success>.button{font-size:11px}.booking-success>.text-link{font-size:9px}}
@media(max-width:360px){.reservation-steps{padding:17px 10px}.reservation-steps li{font-size:8px;gap:4px}.reservation-steps li>span{width:21px;height:21px}.reservation-panel{padding:21px 13px}.date-selection{gap:13px}.calendar-days>button{min-height:31px}.guest-selection{gap:12px}.guest-counter{gap:4px;padding:4px}.step-heading h3{font-size:26px}.live-availability summary{padding:14px 11px}.live-availability small{font-size:8px}}

/* --- Nezávazná poptávka: doplňky k existujícímu vzhledu rezervace --- */
#echalupy-calendar[data-state=loading]{height:0!important;min-height:0;margin:0;border:0}
.honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.availability-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:20px}
.availability-actions .button-small{font-size:11px;gap:16px}
.season-note{border-left:2px solid #a89a63;background:#f5f1e2;color:#6d6442;padding:11px 14px;font-size:11px;line-height:1.75;margin-bottom:18px}
.inquiry-recap{display:flex;flex-direction:column;gap:3px;background:#eef1e7;border:1px solid #d9dfcd;border-radius:5px;padding:15px 17px;margin:6px 0 4px}
.inquiry-recap>span:first-child{font-size:8px;letter-spacing:1.3px;color:#77866b;text-transform:uppercase}
.inquiry-recap>strong{font-size:13px;font-weight:600;color:var(--green)}
.inquiry-recap>span:last-child{font-size:11px;color:var(--muted)}
.summary-terms{font-size:10px;gap:14px;margin-top:22px}
.reservation-panel.is-sending{opacity:.75}
.reservation-panel.is-sending .consent-check,.reservation-panel.is-sending .reservation-back{pointer-events:none}
#send-inquiry[aria-busy=true]{cursor:progress}
.booking-success .reservation-helper a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.availability-actions{gap:14px;flex-direction:column;align-items:stretch}.availability-actions .button-small{justify-content:center}.availability-actions .text-link{align-self:flex-start;font-size:10px}.season-note{font-size:10px;padding:10px 12px}.inquiry-recap{padding:13px 14px}}
