.arena-topbar{position:relative;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:9px 50px;background:linear-gradient(110deg,#7024a6,#a91286);color:white;font-size:13px;line-height:1.5;text-align:center}.arena-topbar[hidden]{display:none}.arena-topbar a{font-weight:800;text-decoration:underline;text-underline-offset:4px}.arena-topbar button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:white;font-size:25px;width:32px;height:32px;line-height:1}.arena-seasonal{margin-block:36px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(110deg,#55217c33,#cf119e16);border:1px solid #bc75df40;border-radius:18px}.arena-seasonal h2{font-size:clamp(26px,3vw,38px);margin-bottom:12px}.arena-seasonal p{max-width:760px;margin-bottom:0}.arena-seasonal .eyebrow{margin-bottom:12px}.arena-seasonal .button{flex-shrink:0}.arena-preview-banner{padding:12px;text-align:center;background:#612b86;color:white;position:relative;z-index:40;font-size:13px}.arena-preview-banner a{text-decoration:underline}.arena-opening-exception{border-left:2px solid #ca9bec;padding-left:12px;color:#e3d1ed!important}.arena-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.inquiry-status-success{padding:18px;border:1px solid #7ea990;background:#32644722;border-radius:10px;color:#d0f7df!important}.inquiry-status-error{color:#ffb7ba!important}.inquiry-consent{font-size:12px;font-weight:400;line-height:1.6;display:flex;gap:10px;align-items:flex-start;justify-content:flex-start;margin:18px 0;cursor:pointer}.inquiry-consent input[type=checkbox]{display:block;flex:0 0 18px;width:18px;min-width:18px;height:18px;padding:0;margin:1px 0 0;accent-color:var(--purple,#a247ef);cursor:pointer}.inquiry-consent>span{flex:1;min-width:0}.inquiry-consent a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.arena-topbar{font-size:12px;gap:5px 14px;padding:8px 42px 8px 14px}.arena-seasonal{padding:24px;display:block}.arena-seasonal .button{margin-top:20px}.arena-seasonal p{font-size:14px}}
@media(max-width:1100px){.header .nav-wrap nav{top:100%;height:calc(100dvh - var(--arena-header-height,80px));max-height:calc(100dvh - var(--arena-header-height,80px))}}

/* Kontakty a platební značky ve všech patičkách. */
.footer-service{display:grid;grid-template-columns:1fr auto;gap:32px;padding:30px 0;border-top:1px solid var(--line);align-items:center}.footer-service address{font-style:normal;font-size:13px;line-height:1.85;color:var(--muted)}.footer-service address>strong,.footer-service address>span{display:block}.footer-service address>strong{color:var(--text)}.footer-service a:hover{text-decoration:underline}.footer-service>div>p{font-size:12px;margin:0 0 14px}.footer-payment-logos{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-payment-logos a{display:flex;align-items:center;min-height:44px}.footer-payment-logos img{width:auto;max-width:130px;height:30px;object-fit:contain}.footer-payment-logos a:nth-child(2) img{height:38px}.booking-room-notice{padding:18px 20px;border:1px solid #c38ce0;border-left-width:4px;border-radius:8px;background:#a247ef18;color:#efe3f8!important;font-size:14px;line-height:1.65}.booking-room-notice strong{display:block;color:white}.booking-room-notice a{color:#e3b6fa;text-decoration:underline;text-underline-offset:3px}#inquiry-form [hidden]{display:none!important}
@media(max-width:700px){.footer-service{grid-template-columns:1fr;gap:22px}.footer-payment-logos{gap:22px}.booking-room-notice{padding:15px;font-size:13px}}

/* Nativní datum s jednotnou viditelnou ikonou, včetně iOS. */
input[type="date"],input[type="datetime-local"]{position:relative;box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:48px;padding-right:48px;appearance:none;-webkit-appearance:none;background-image:url('/assets/icons/calendar.svg');background-repeat:no-repeat;background-position:right 14px center;background-size:22px 22px}
input[type="date"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type="date"]::-webkit-datetime-edit,input[type="datetime-local"]::-webkit-datetime-edit{min-width:0;padding:0}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;margin:0;padding:0;opacity:0;cursor:pointer}
.booking-page #booking-mobile-date{background-image:url('/assets/icons/calendar.svg');background-repeat:no-repeat;background-position:right 14px center;background-size:22px 22px;padding-right:48px;box-sizing:border-box;max-width:100%}
@media(max-width:767px){
 html{max-width:100%;overflow-x:hidden}
 @supports(overflow:clip){html{overflow-x:clip}}
 main,form,form fieldset,.form-grid,.form-grid>*,.gift-checkout-layout,.gift-checkout-layout>*,.gift-line-controls,.gift-line-controls>*,.gift-type-selection,.gift-type-option,.gift-type-option>span,.gift-order-summary,.booking-layout,.booking-layout>*,.booking-fields,.booking-fields>*,.booking-workspace,.booking-settings,.booking-slot-panel{min-width:0;max-width:100%;box-sizing:border-box}
 form label{min-width:0;max-width:100%;overflow-wrap:anywhere}
 form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),form select,form textarea{box-sizing:border-box;min-width:0;max-width:100%;font-size:16px}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .form-grid .full{grid-column:1 / -1}
 .gift-line-controls{grid-template-columns:minmax(0,1fr) 86px}
 .gift-checkout .gift-type-selection{grid-template-columns:minmax(0,1fr)}
 form textarea{resize:vertical}
 .inquiry-consent,.gift-terms,.booking-terms{max-width:100%;min-width:0}
 .inquiry-consent>span,.gift-terms>span,.booking-terms>span{min-width:0;overflow-wrap:anywhere}
}

/* Zamknout viewport, aby otevřené menu nepřerušilo sticky hlavičku. */
@media (max-width: 1100px) {
 html:has(> body.mobile-menu-open) { overflow: hidden; }
 body.mobile-menu-open { overflow: visible; }
 .header .nav-wrap nav.open { overflow-y: auto; }
}
