/* RLS CMS v3.7 – Responsive Stability Layer */
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:980px){
    body.mobile-nav-open{overflow:hidden!important}
    .site-header-home,.inner-header,.subpage-header{z-index:9000!important}
    .site-header-home .header-inner,.inner-header .header-inner,.subpage-header .header-inner{
        position:relative!important;min-height:66px!important;
        display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;gap:8px!important;padding-top:8px!important;padding-bottom:8px!important
    }
    .site-header-home .primary-nav,.inner-header .primary-nav,.subpage-header .primary-nav{
        position:absolute!important;z-index:9200!important;top:calc(100% + 6px)!important;
        left:0!important;right:0!important;display:none!important;flex-direction:column!important;
        align-items:stretch!important;gap:2px!important;width:auto!important;max-height:min(72vh,560px)!important;
        margin:0!important;padding:9px!important;overflow:auto!important;
        border:1px solid rgba(42,39,35,.12)!important;border-radius:13px!important;
        background:rgba(255,255,255,.985)!important;box-shadow:0 18px 48px rgba(34,31,27,.16)!important;
        backdrop-filter:blur(18px)!important
    }
    .site-header-home.is-menu-open .primary-nav,.inner-header.is-menu-open .primary-nav,.subpage-header.is-menu-open .primary-nav{display:flex!important}
    .site-header-home .primary-nav a,.inner-header .primary-nav a,.subpage-header .primary-nav a{
        width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;
        box-sizing:border-box!important;padding:10px 12px!important;border-radius:9px!important;
        color:#2c2926!important;font-size:14px!important;line-height:1.2!important;text-shadow:none!important;text-decoration:none!important
    }
    .header-tools{
        display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;
        gap:5px!important;min-width:0!important
    }
    .language-switcher{
        display:flex!important;flex-direction:row!important;align-items:center!important;
        gap:1px!important;padding:2px!important;border-radius:999px!important
    }
    .language-switcher a{
        min-width:24px!important;width:auto!important;height:25px!important;display:grid!important;
        place-items:center!important;padding:0 4px!important;font-size:8px!important;line-height:1!important
    }
    .inner-header .language-switcher a,.subpage-header .language-switcher a,
    .site-header-home.is-scrolled .language-switcher a,.site-header-home.is-menu-open .language-switcher a{color:#59534d!important}
    .inner-header .language-switcher a.is-active,.subpage-header .language-switcher a.is-active,
    .site-header-home.is-scrolled .language-switcher a.is-active,.site-header-home.is-menu-open .language-switcher a.is-active{
        color:#fff!important;background:#2d2e2b!important
    }
    .mobile-menu-toggle{
        width:38px!important;height:38px!important;flex:0 0 38px!important;
        display:flex!important;align-items:center!important;justify-content:center!important;
        flex-direction:column!important;gap:5px!important;padding:0!important;border-radius:10px!important;cursor:pointer!important
    }
    .mobile-menu-toggle span{width:18px!important;height:2px!important;display:block!important;background:currentColor!important;opacity:1!important}
    .site-header-home .dual-logo,.site-header-home.is-scrolled .dual-logo{
        width:min(180px,43vw)!important;min-width:0!important;height:46px!important
    }
    .site-header-home .brand-logo,.site-header-home.is-scrolled .brand-logo{
        max-width:100%!important;max-height:46px!important;object-fit:contain!important;object-position:left center!important
    }
    .brand-logo-link .site-logo,.inner-header .site-logo,.subpage-header .site-logo{
        width:auto!important;max-width:min(180px,43vw)!important;max-height:46px!important;object-fit:contain!important
    }
    .client-account-link{width:35px!important;height:35px!important;flex:0 0 35px!important;display:grid!important;place-items:center!important}
    .social-icons-header{display:none!important}
}

@media(max-width:520px){
    .site-header-home .header-inner,.inner-header .header-inner,.subpage-header .header-inner{min-height:60px!important;gap:5px!important}
    .site-header-home .dual-logo,.site-header-home.is-scrolled .dual-logo{width:min(150px,39vw)!important;height:40px!important}
    .site-header-home .brand-logo,.site-header-home.is-scrolled .brand-logo,
    .brand-logo-link .site-logo,.inner-header .site-logo,.subpage-header .site-logo{
        max-width:min(150px,39vw)!important;max-height:40px!important
    }
    .language-switcher a{min-width:22px!important;height:23px!important;padding:0 3px!important}
    .client-account-link{width:32px!important;height:32px!important;flex-basis:32px!important}
    .mobile-menu-toggle{width:34px!important;height:34px!important;flex-basis:34px!important}
}

/* Booking layout */
@media(max-width:760px){
    .booking-engine,.booking-layout,.booking-layout-v36{width:100%!important;max-width:100%!important;min-width:0!important}
    .booking-calendar-card,.booking-calendar-card-v36,.booking-form-card,.booking-form-card-v36{
        width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:15px!important;border-radius:14px!important
    }
    .booking-form-card-v36{position:static!important}
    .booking-dates{grid-template-columns:1fr!important;gap:9px!important}
    .booking-form-card-v36 input,.booking-form-card-v36 select,.booking-form-card-v36 textarea{
        width:100%!important;min-width:0!important;min-height:44px!important;box-sizing:border-box!important;font-size:16px!important
    }
    .public-calendar-v36{width:100%!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}
    .public-calendar-v36 .public-day{width:100%!important;min-width:0!important;aspect-ratio:1/1!important;padding:0!important;font-size:12px!important}
}

/* Client Portal isolated from public template */
.client-portal-body{
    margin:0!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;
    background:#f6f2eb!important;color:#2c2b29!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important
}
.client-portal-body *{box-sizing:border-box}
.client-portal-header{
    position:sticky!important;z-index:9500!important;top:0!important;width:100%!important;
    border-bottom:1px solid rgba(63,56,49,.10)!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)!important
}
.client-portal-header-inner{
    min-height:70px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important
}
.client-portal-brand{display:flex!important;align-items:center!important;min-width:0!important}
.client-portal-brand img{width:auto!important;height:auto!important;max-width:205px!important;max-height:46px!important;object-fit:contain!important}
.client-portal-main{flex:1!important;width:100%!important;padding:30px 0 50px!important}
.client-portal-nav{display:flex!important;align-items:center!important;gap:6px!important}
.client-portal-nav>a,.client-portal-nav>form button{
    min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    padding:8px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;
    color:#5c554e!important;font-size:12px!important;font-weight:750!important;text-decoration:none!important
}
.client-portal-nav .client-portal-nav-cta{background:#2d2d2a!important;color:#fff!important}
.client-portal-menu-toggle{display:none!important}
.client-auth-shell{
    width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,480px)!important;
    gap:28px!important;align-items:center!important
}
.client-auth-visual{
    min-height:470px!important;padding:44px!important;border-radius:22px!important;color:#fff!important;
    background:radial-gradient(circle at 84% 12%,rgba(220,178,78,.22),transparent 28%),
               linear-gradient(135deg,#252624,#34322d 68%,#44392f)!important
}
.client-auth-visual h1{color:#fff!important}
.client-auth-card,.client-panel{
    padding:23px!important;border:1px solid #e2dbd1!important;border-radius:17px!important;background:#fff!important;
    box-shadow:0 12px 36px rgba(58,49,38,.055)!important
}
.client-auth-form,.client-profile-form{display:grid!important;gap:12px!important}
.client-auth-form input,.client-auth-form select,.client-profile-form input,.client-profile-form select,.client-profile-form textarea{
    width:100%!important;min-height:44px!important;padding:10px 11px!important;border:1px solid #dcd4c9!important;
    border-radius:9px!important;background:#fff!important;color:#2f2d2a!important;font:inherit!important
}
.client-auth-form button,.client-profile-form button,.client-dashboard-hero-actions a,.client-empty a{
    min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    padding:10px 14px!important;border:0!important;border-radius:9px!important;background:#2d2d2a!important;
    color:#fff!important;font-weight:800!important;text-decoration:none!important
}
.client-dashboard{display:grid!important;gap:15px!important}
.client-dashboard-hero{
    min-height:155px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
    gap:20px!important;padding:26px 29px!important;border-radius:18px!important;color:#fff!important;
    background:radial-gradient(circle at 86% 8%,rgba(215,172,70,.22),transparent 28%),
               linear-gradient(135deg,#242523,#30312e 65%,#413830)!important
}
.client-dashboard-hero h1{color:#fff!important}
.client-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.client-kpi-grid article{
    min-height:108px!important;display:grid!important;align-content:center!important;gap:4px!important;padding:15px!important;
    border:1px solid #e4ddd3!important;border-radius:14px!important;background:#fff!important
}
.client-dashboard-grid{
    display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;gap:15px!important;align-items:start!important
}
.client-portal-footer{border-top:1px solid #e3dcd2!important;background:#efebe4!important}
.client-portal-footer .container{
    min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;text-align:center!important
}

@media(max-width:900px){
    .client-auth-shell{grid-template-columns:1fr!important}
    .client-auth-visual{min-height:310px!important}
    .client-dashboard-grid{grid-template-columns:1fr!important}
    .client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
    .client-portal-header-inner{position:relative!important;min-height:62px!important;gap:8px!important}
    .client-portal-brand img{max-width:155px!important;max-height:38px!important}
    .client-portal-menu-toggle{
        width:38px!important;height:38px!important;display:grid!important;align-content:center!important;gap:4px!important;
        padding:9px!important;border:0!important;border-radius:9px!important;background:#2d2d2a!important
    }
    .client-portal-menu-toggle span{width:100%!important;height:2px!important;display:block!important;border-radius:999px!important;background:#fff!important}
    .client-portal-nav{
        position:absolute!important;z-index:9600!important;top:calc(100% + 7px)!important;right:0!important;
        width:min(310px,calc(100vw - 24px))!important;display:none!important;align-items:stretch!important;
        flex-direction:column!important;gap:3px!important;padding:10px!important;border:1px solid #ddd5ca!important;
        border-radius:12px!important;background:#fff!important;box-shadow:0 18px 42px rgba(42,36,30,.16)!important
    }
    body.client-portal-menu-open .client-portal-nav{display:flex!important}
    .client-portal-nav>a,.client-portal-nav>form button{width:100%!important;justify-content:flex-start!important;font-size:12px!important}
    .client-portal-user{
        width:100%!important;display:flex!important;align-items:center!important;padding:7px!important;border-bottom:1px solid #eee8df!important
    }
    .client-portal-main{padding:22px 0 38px!important}
    .client-auth-shell{gap:15px!important}
    .client-auth-visual{min-height:270px!important;padding:27px!important;border-radius:17px!important}
    .client-auth-visual h1{font-size:clamp(35px,11vw,50px)!important;line-height:1!important}
    .client-auth-card,.client-panel{padding:18px!important}
    .client-dashboard-hero{
        min-height:0!important;align-items:flex-start!important;flex-direction:column!important;padding:21px!important;border-radius:15px!important
    }
    .client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
    .client-kpi-grid article{min-height:94px!important;padding:12px!important}
}

/* Footer compact + centered */
@media(max-width:900px){
    .site-footer-grid{
        grid-template-columns:1fr!important;gap:26px!important;padding-top:34px!important;padding-bottom:24px!important;text-align:center!important
    }
    .site-footer-logo img{
        width:auto!important;height:auto!important;max-width:240px!important;max-height:110px!important;margin:0 auto!important;object-fit:contain!important
    }
    .site-footer-brand>p{max-width:520px!important;margin:11px auto 0!important;font-size:15px!important;line-height:1.55!important}
    .site-footer-links,.site-footer-contact{gap:8px!important;align-items:center!important}
    .site-footer-links a,.site-footer-contact a,.site-footer-contact span{font-size:14px!important;line-height:1.4!important}
    .site-footer-bottom{padding:14px 0!important;min-height:0!important}
}


/* ============================================================
   RLS CMS v3.8.3 – visual / booking / contact hard overrides
   This file loads after the theme stylesheet.
   ============================================================ */

:root{
    --rls-sans:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

/* Public site: eliminate remaining serif font overrides from the theme. */
body:not(.admin-body),
body:not(.admin-body) *,
body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3,
body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6,
body:not(.admin-body) button,
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{
    font-family:var(--rls-sans)!important;
}
body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3{
    letter-spacing:-.045em;
}

/* Header has more links now; keep it compact and professional. */
.site-header-home .primary-nav{
    gap:22px!important;
}
.site-header-home .primary-nav a{
    font-size:14px!important;
    white-space:nowrap;
}
.site-header-home .primary-nav .nav-context-link{
    color:rgba(255,255,255,.82);
    font-size:12px!important;
    font-weight:650;
}
.site-header-home.is-scrolled .primary-nav .nav-context-link{
    color:#67615a;
}
@media(max-width:1180px){
    .site-header-home .primary-nav{
        gap:14px!important;
    }
    .site-header-home .primary-nav a{
        font-size:12px!important;
    }
}

/* Homepage price section heading requested above the cards. */
.home-price-showcase-heading{
    max-width:820px;
    margin:0 auto 46px;
    text-align:center;
}
.home-price-showcase-heading .eyebrow{
    display:block;
    margin-bottom:9px;
}
.home-price-showcase-heading h2{
    margin:0;
    color:#252724;
    font-size:clamp(36px,4.7vw,58px);
    line-height:1.02;
}
.home-price-showcase-heading p{
    max-width:690px;
    margin:15px auto 0;
    color:#716b64;
    font-size:15px;
    line-height:1.65;
}

/* News graphics: stable local SVGs, always visible and nicely cropped. */
.news-card-compact{
    overflow:hidden;
}
.news-card-compact>img{
    width:100%!important;
    height:240px!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#ebe3d6;
}
.news-card-compact h2,
.news-card-compact h3{
    font-size:clamp(20px,1.85vw,28px)!important;
    line-height:1.12!important;
}
.news-card-clickable:hover>img{
    transform:scale(1.018);
}
.news-card-clickable>img{
    transition:transform .28s ease;
}

/* True progressive booking: locked stages are completely absent, not faded. */
.booking-progressive .booking-step-guests,
.booking-progressive .booking-step-contact,
.booking-progressive .booking-step-final{
    display:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    filter:none!important;
}
.booking-progressive.has-dates .booking-step-guests{
    display:block!important;
}
.booking-progressive.has-guests .booking-step-contact{
    display:block!important;
}
.booking-progressive.has-guests .booking-dates.booking-step-contact{
    display:grid!important;
}
.booking-progressive.has-guests .booking-form-divider.booking-step-contact{
    display:flex!important;
}
.booking-progressive.has-contact .booking-step-final{
    display:block!important;
}
.booking-progressive.has-contact button.booking-step-final{
    display:flex!important;
}

/* Step 2 guest selector – each option gets live Kč/person/night from selected stay. */
.booking-progress-step.booking-step-guests{
    margin:18px 0 4px;
    padding:18px;
    border:1px solid #dfcfb3;
    border-radius:16px;
    background:linear-gradient(145deg,#fffaf1,#f6eddd);
    box-shadow:0 12px 30px rgba(74,58,35,.07);
}
.booking-progress-step-head{
    margin-bottom:14px;
}
.booking-guests-row{
    grid-template-columns:minmax(0,1fr) auto!important;
}
.booking-guests-row select{
    min-height:50px;
    border:1px solid #dacbb6;
    border-radius:11px;
    background:#fff;
    font-weight:750;
}
.booking-guests-price{
    min-height:40px;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:9px!important;
    padding:9px 11px;
    border-radius:10px;
    background:#2d302c;
    color:#fff!important;
    font-size:11px!important;
}
.booking-guests-price span{
    color:rgba(255,255,255,.7);
    font-size:10px;
    font-weight:650;
}
.booking-guests-price b{
    color:#e8b550;
    font-size:13px;
    white-space:nowrap;
}

/* CONTACT v3.8.3 – completely rebuilt visual. */
.contact-v383{
    position:relative;
    padding:88px 0!important;
    overflow:hidden;
    background:
        radial-gradient(circle at 8% 8%,rgba(215,164,62,.15),transparent 25%),
        radial-gradient(circle at 94% 89%,rgba(94,116,85,.12),transparent 29%),
        linear-gradient(150deg,#f7f0e4 0%,#eee5d6 100%)!important;
}
.contact-v383::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    top:-260px;
    right:8%;
    border:1px solid rgba(173,128,40,.13);
    border-radius:50%;
}
.contact-v383-head{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}
.contact-v383-head h2{
    margin:8px 0 12px;
    font-size:clamp(42px,5.3vw,64px);
    line-height:1;
}
.contact-v383-head p{
    max-width:680px;
    margin:0 auto;
    color:#6e675f;
    font-size:16px;
    line-height:1.7;
}
.contact-v383-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:stretch;
    gap:26px;
}
.contact-v383-aside{
    display:grid;
    gap:16px;
}
.contact-v383-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.contact-v383-card{
    min-height:88px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border:1px solid rgba(131,102,55,.11);
    border-radius:16px;
    background:rgba(255,255,255,.79);
    color:#36332e;
    text-decoration:none;
    box-shadow:0 9px 26px rgba(77,60,36,.045);
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.contact-v383-card:hover{
    transform:translateY(-2px);
    border-color:rgba(177,129,35,.35);
    box-shadow:0 14px 32px rgba(70,55,34,.08);
}
.contact-v383-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#fff5df;
    color:#b87e1a;
}
.contact-v383-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.contact-v383-card small,
.contact-v383-card strong,
.contact-v383-card em{
    display:block;
}
.contact-v383-card small{
    margin-bottom:3px;
    color:#ad7a1e;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.contact-v383-card strong{
    overflow-wrap:anywhere;
    font-size:14px;
}
.contact-v383-card em{
    margin-top:4px;
    color:#8c847b;
    font-size:10px;
    font-style:normal;
}
.contact-v383-map{
    overflow:hidden;
    border:1px solid rgba(131,102,55,.12);
    border-radius:18px;
    background:#fff;
    box-shadow:0 13px 32px rgba(74,57,34,.07);
}
.contact-v383-map-head{
    min-height:65px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
}
.contact-v383-map-head>div{
    display:flex;
    align-items:center;
    gap:10px;
}
.contact-v383-map-head>div>span{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f8edd7;
    color:#b57e1b;
    font-size:20px;
}
.contact-v383-map-head strong,
.contact-v383-map-head small{
    display:block;
}
.contact-v383-map-head strong{
    font-size:12px;
}
.contact-v383-map-head small{
    margin-top:2px;
    color:#8a837b;
    font-size:9px;
}
.contact-v383-map-head>a{
    color:#996915;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}
.contact-v383-map iframe{
    width:100%;
    height:230px!important;
    display:block;
    border:0;
}
.contact-v383-response{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 15px;
    border-radius:14px;
    background:#e9f3e7;
    color:#3f6d47;
}
.contact-v383-response>span{
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    font-weight:900;
}
.contact-v383-response strong,
.contact-v383-response small{
    display:block;
}
.contact-v383-response strong{
    font-size:11px;
}
.contact-v383-response small{
    margin-top:2px;
    color:#67816a;
    font-size:9px;
}
.contact-v383-form-shell{
    padding:28px;
    border:1px solid rgba(124,96,53,.13);
    border-radius:22px;
    background:rgba(255,255,255,.90);
    box-shadow:0 22px 54px rgba(67,52,31,.10);
    backdrop-filter:blur(12px);
}
.contact-v383-form-head{
    margin-bottom:21px;
}
.contact-v383-form-head>span{
    color:#b17c20;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}
.contact-v383-form-head h3{
    margin:5px 0 5px;
    color:#272824;
    font-size:28px;
    line-height:1.08;
}
.contact-v383-form-head p{
    margin:0;
    color:#8a8178;
    font-size:11px;
}
.public-contact-form-v383{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.public-contact-form-v383 .full{
    grid-column:1/-1;
}
.public-contact-form-v383 label>span:first-child{
    display:block;
    margin-bottom:6px;
    color:#4b4640;
    font-size:10px;
    font-weight:800;
}
.public-contact-form-v383 input:not([type="checkbox"]),
.public-contact-form-v383 textarea{
    width:100%;
    min-height:49px;
    padding:11px 13px;
    border:1px solid #ded2c0;
    border-radius:11px;
    outline:0;
    background:#f8f3ea;
    color:#2e2d29;
    font-size:13px;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.public-contact-form-v383 textarea{
    min-height:142px;
    resize:vertical;
}
.public-contact-form-v383 input:focus,
.public-contact-form-v383 textarea:focus{
    border-color:#c89d4c;
    background:#fff;
    box-shadow:0 0 0 4px rgba(194,145,48,.10);
}
.contact-v383-security{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
    align-items:center;
    gap:13px;
    padding:13px;
    border:1px solid #e2d3b7;
    border-radius:13px;
    background:#fff9ed;
}
.contact-v383-gdpr{
    display:flex!important;
    align-items:flex-start;
    gap:9px;
    margin:0;
    color:#61584d;
    font-size:10px;
    line-height:1.45;
}
.contact-v383-gdpr input{
    width:17px;
    height:17px;
    flex:0 0 17px;
    margin:1px 0 0;
    accent-color:#b27c1c;
}
.contact-v383-gdpr a{
    color:#956615;
    font-weight:800;
}
.contact-v383-math{
    display:grid!important;
    grid-template-columns:max-content auto 58px;
    align-items:center;
    justify-content:end;
    gap:9px;
    margin:0;
}
.contact-v383-math>span{
    margin:0!important;
    color:#756a5d!important;
    font-size:10px!important;
    white-space:nowrap;
}
.contact-v383-math b{
    color:#2b2d29;
    font-size:12px;
    white-space:nowrap;
}
.contact-v383-math input{
    min-height:39px!important;
    padding:7px!important;
    text-align:center;
    font-weight:900;
}
.contact-v383-submit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-top:3px;
}
.contact-v383-submit button{
    min-width:210px;
    min-height:47px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    border-radius:11px;
    box-shadow:0 11px 24px rgba(48,44,38,.16);
}
.contact-v383-submit small{
    max-width:260px;
    color:#958d84;
    font-size:8px;
    line-height:1.45;
}

@media(max-width:960px){
    .contact-v383-grid{
        grid-template-columns:1fr;
    }
    .contact-v383-aside{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
    .site-header-home .primary-nav .nav-context-link{
        font-size:15px!important;
    }
    .home-price-showcase-heading{
        margin-bottom:30px;
        padding-inline:12px;
    }
    .home-price-showcase-heading h2{
        font-size:34px;
    }
    .news-card-compact>img{
        height:205px!important;
    }

    .booking-guests-row{
        grid-template-columns:1fr!important;
    }
    .booking-guests-price{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .contact-v383{
        padding:62px 0!important;
    }
    .contact-v383>.container{
        width:calc(100% - 22px)!important;
    }
    .contact-v383-head{
        margin-bottom:27px;
    }
    .contact-v383-head h2{
        font-size:42px;
    }
    .contact-v383-head p{
        font-size:14px;
    }
    .contact-v383-form-shell{
        padding:19px;
        border-radius:17px;
    }
    .public-contact-form-v383{
        grid-template-columns:1fr;
    }
    .public-contact-form-v383 .full{
        grid-column:auto;
    }
    .contact-v383-security{
        grid-template-columns:1fr;
    }
    .contact-v383-submit{
        align-items:stretch;
        flex-direction:column;
        text-align:center;
    }
    .contact-v383-submit button{
        width:100%;
    }
    .contact-v383-submit small{
        max-width:none;
    }
    .contact-v383-map iframe{
        height:205px!important;
    }
}


/* v3.8.4.2 booking compact overrides */
.booking-guests-price,.booking-continue-button{display:none!important}
.booking-guests-simple{max-width:190px}
.home-info-main-grid{display:block!important}


/* ============================================================
   RLS CMS v3.8.6 – homepage polish requested for Ubytování nad sklepem
   ============================================================ */

/* HERO – approved exact desktop typography. */
.hero h1,
.template-modern .hero h1,
.template-winehouse .hero h1{
    font-size:clamp(54px,6.4vw,75px)!important;
    line-height:1.2!important;
    letter-spacing:-.055em!important;
    padding-bottom:10px!important;
    padding-top:10px!important;
}
@media(max-width:760px){
    .hero h1,
    .template-modern .hero h1,
    .template-winehouse .hero h1{
        font-size:clamp(39px,11.4vw,57px)!important;
        line-height:1.08!important;
        padding-top:7px!important;
        padding-bottom:7px!important;
    }
}

/* Booking success – one continuous cellar crop, without the old three-panel feel. */
.booking-success-v379{
    position:relative;
    isolation:isolate;
    background:linear-gradient(135deg,#d9ccba 0%,#eee4d6 52%,#d6c5af 100%)!important;
}
.booking-success-v379::before{
    content:"";
    position:fixed;
    z-index:-2;
    inset:-34px;
    background-image:url('/assets/img/uvod.jpg');
    background-repeat:no-repeat;
    background-position:100% 50%;
    background-size:300% auto;
    filter:blur(11px) saturate(.82);
    opacity:.34;
    transform:scale(1.04);
    pointer-events:none;
}
.booking-success-v379::after{
    content:"";
    position:fixed;
    z-index:-1;
    inset:0;
    background:
        radial-gradient(circle at 50% 38%,rgba(255,255,255,.54),rgba(245,238,228,.18) 48%,rgba(218,205,187,.28) 100%),
        rgba(238,229,216,.26);
    pointer-events:none;
}
.booking-success-backdrop{
    position:relative;
    background:rgba(248,243,235,.10)!important;
    backdrop-filter:blur(1.5px) saturate(.94);
}
.booking-success-popup{
    background:rgba(255,255,255,.965)!important;
    box-shadow:0 30px 90px rgba(45,38,29,.24)!important;
}

/* Old-site inspired surroundings strip: full width photo + neutral grey ribbon. */
.home-nearby-strip{
    width:100vw;
    min-height:430px;
    position:relative;
    left:50%;
    margin:34px 0 0 -50vw;
    overflow:hidden;
    background-image:
        linear-gradient(90deg,rgba(47,48,47,.88) 0%,rgba(67,68,67,.80) 33%,rgba(71,72,71,.58) 52%,rgba(42,42,42,.18) 72%,rgba(0,0,0,.04) 100%),
        var(--nearby-bg);
    background-size:cover;
    background-position:center;
    box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(0,0,0,.08);
}
.home-nearby-strip-inner{
    width:min(1180px,calc(100% - 44px));
    min-height:430px;
    display:flex;
    align-items:center;
    margin:0 auto;
    padding:52px 0;
    box-sizing:border-box;
}
.home-nearby-copy{
    width:min(620px,100%);
    color:#fff;
}
.home-nearby-kicker{
    display:block;
    margin-bottom:10px;
    color:#d8a33c;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
}
.home-nearby-copy h3{
    max-width:620px;
    margin:0 0 22px;
    color:#fff;
    font-size:clamp(38px,4.3vw,56px);
    line-height:1.03;
    letter-spacing:-.045em;
}
.home-nearby-copy p{
    max-width:590px;
    margin:0 0 24px;
    color:rgba(255,255,255,.84);
    font-size:15px;
    line-height:1.72;
}
.home-nearby-highlight{
    display:block;
    margin:0 0 28px;
    color:#fff;
    font-size:19px;
}
.home-nearby-dots{
    display:flex;
    gap:9px;
    margin:0 0 28px;
}
.home-nearby-dots i{
    width:12px;
    height:12px;
    border:2px solid rgba(255,255,255,.48);
    border-radius:50%;
}
.home-nearby-dots i.is-active{
    border-color:#d89d2d;
    background:#d89d2d;
}
.home-nearby-button{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    padding:0 17px;
    border:1px solid rgba(255,255,255,.6);
    background:rgba(239,239,239,.94);
    color:#373737;
    font-size:12px;
    font-weight:760;
    text-decoration:none;
    transition:transform .18s ease,background .18s ease;
}
.home-nearby-button:hover{
    transform:translateY(-2px);
    background:#fff;
}
.home-info-secondary-grid-single{
    grid-template-columns:1fr!important;
    max-width:900px;
    margin:22px auto 0;
}

/* Aktuality – stronger photographic presentation. */
.news-card-compact{
    border-color:rgba(100,77,42,.11)!important;
    box-shadow:0 16px 42px rgba(54,42,27,.10)!important;
}
.news-card-compact>img{
    height:255px!important;
    filter:saturate(1.08) contrast(1.03);
    transition:transform .35s ease,filter .35s ease;
}
.news-card-compact:hover>img{
    transform:scale(1.025);
    filter:saturate(1.13) contrast(1.04);
}
.news-card-compact>div{
    position:relative;
    z-index:1;
    background:linear-gradient(180deg,#fff,#fcfaf6);
}
.news-card-compact small{
    color:#bd8421!important;
    font-weight:850!important;
}

/* Contact – remove the response notice and let the map consume that space. */
.contact-v383-aside{
    grid-template-rows:auto 1fr!important;
}
.contact-v383-map{
    min-height:0;
    display:flex;
    flex-direction:column;
}
.contact-v383-map iframe{
    min-height:294px!important;
    height:100%!important;
    flex:1 1 auto;
}
@media(max-width:760px){
    .home-nearby-strip{
        min-height:390px;
        background-image:
            linear-gradient(90deg,rgba(46,47,46,.90),rgba(61,62,61,.76),rgba(52,52,52,.42)),
            var(--nearby-bg);
        background-position:60% center;
    }
    .home-nearby-strip-inner{
        min-height:390px;
        width:calc(100% - 30px);
        padding:42px 0;
    }
    .home-nearby-copy h3{font-size:38px}
    .home-nearby-copy p{font-size:14px}
    .news-card-compact>img{height:220px!important}
    .contact-v383-map iframe{min-height:245px!important}
}


/* v3.8.7 homepage finishing overrides */
.homepage-flow ~ .site-footer{margin-top:0!important}
.contact-v383-map{border-color:rgba(157,116,48,.34)!important}

/* ============================================================
   RLS CMS v3.9.3 – stronger homepage section separation
   Clear alternating surfaces without losing the warm winery look.
   ============================================================ */
.homepage-flow > #o-nas{
    background:#fff!important;
    border-top:1px solid rgba(94,78,58,.055);
    border-bottom:1px solid rgba(94,78,58,.055);
}

.homepage-flow > #o-ubytovani{
    background:
        radial-gradient(circle at 88% 4%,rgba(204,155,67,.09),transparent 28%),
        linear-gradient(180deg,#f7f1e8 0%,#f1e8dc 100%)!important;
    border-top:1px solid rgba(123,94,55,.085);
    border-bottom:1px solid rgba(123,94,55,.10);
}

.homepage-flow > #cenik{
    position:relative;
    background:
        linear-gradient(180deg,#eceeef 0%,#e7e9ea 100%)!important;
    border-top:1px solid rgba(66,69,70,.10);
    border-bottom:1px solid rgba(66,69,70,.10);
    box-shadow:inset 0 1px rgba(255,255,255,.7);
}
.homepage-flow > #cenik::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:min(1180px,calc(100% - 44px));
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(183,136,47,.30),transparent);
    pointer-events:none;
}
.homepage-flow > #cenik .home-price-card:not(.is-featured),
.homepage-flow > #cenik .public-price-table-wrap{
    background:rgba(255,255,255,.88);
}

.homepage-flow > #galerie{
    background:#fff!important;
    border-top:1px solid rgba(94,78,58,.055);
    border-bottom:1px solid rgba(94,78,58,.055);
}

.homepage-flow > #aktuality{
    background:
        linear-gradient(180deg,#f5f1eb 0%,#efe9e1 100%)!important;
    border-top:1px solid rgba(112,91,63,.075);
    border-bottom:1px solid rgba(112,91,63,.075);
}

.homepage-flow > #rezervace{
    background:
        radial-gradient(circle at 12% 12%,rgba(255,255,255,.28),transparent 30%),
        linear-gradient(180deg,#e8dece 0%,#ddd0bd 100%)!important;
    border-top:1px solid rgba(116,88,52,.11);
    border-bottom:1px solid rgba(116,88,52,.11);
}

.homepage-flow > #kontakt{
    background:#faf8f4!important;
    border-top:1px solid rgba(100,81,57,.07);
}

/* Full-width surroundings strip should feel deliberately inset between surfaces. */
.homepage-flow > #o-ubytovani .home-nearby-strip{
    box-shadow:
        0 20px 44px rgba(50,43,35,.10),
        inset 0 1px rgba(255,255,255,.10),
        inset 0 -1px rgba(0,0,0,.13)!important;
}

@media(max-width:760px){
    .homepage-flow > #cenik::before{
        width:calc(100% - 30px);
    }
}

/* ============================================================
   RLS CMS v3.9.4 – homepage finishing polish
   Consistent hierarchy, cards, CTA states, footer iconography.
   ============================================================ */
.homepage-flow > .section:not(.hero){
    isolation:isolate;
}

/* One visual rhythm for the major section headings. */
.home-info-heading,
.home-price-showcase-heading,
.home-section-heading,
.news-heading-centered,
.reservation-home-heading-v387,
.contact-v383-head{
    position:relative;
}
.home-info-heading .eyebrow,
.home-price-showcase-heading .eyebrow,
.home-section-heading .eyebrow,
.news-heading-centered .eyebrow,
.reservation-home-heading-v387 .eyebrow,
.contact-v383-head .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#b67f22!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.19em!important;
}
.home-info-heading .eyebrow::before,
.home-price-showcase-heading .eyebrow::before,
.home-section-heading .eyebrow::before,
.news-heading-centered .eyebrow::before,
.reservation-home-heading-v387 .eyebrow::before,
.contact-v383-head .eyebrow::before{
    content:"";
    width:22px;
    height:1px;
    background:currentColor;
    opacity:.58;
}
.home-info-heading h2,
.home-price-showcase-heading h2,
.home-section-heading h2,
.news-heading-centered h2,
.reservation-home-heading-v387 h2,
.contact-v383-head h2{
    letter-spacing:-.045em!important;
    text-wrap:balance;
}
.home-section-heading,
.news-heading-centered{
    margin-bottom:34px!important;
}

/* Buttons: same tactile language everywhere. */
.homepage-flow .cta,
.homepage-flow .booking-submit,
.home-nearby-button,
.homepage-flow .text-cta{
    transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;
}
.homepage-flow .cta,
.homepage-flow .booking-submit{
    position:relative;
    overflow:hidden;
}
@media(hover:hover){
    .homepage-flow .cta:hover,
    .homepage-flow .booking-submit:hover{
        transform:translateY(-2px);
        box-shadow:0 12px 26px rgba(48,39,29,.16);
    }
    .homepage-flow .text-cta:hover{
        opacity:.78;
    }
}
.homepage-flow .cta:focus-visible,
.homepage-flow .booking-submit:focus-visible,
.homepage-flow .text-cta:focus-visible,
.home-nearby-button:focus-visible{
    outline:2px solid rgba(183,127,34,.55);
    outline-offset:4px;
}

/* Small SVGs replace the last character/emoji-like icons. */
.home-info-rules-icon,
.contact-v383-map-pin,
.footer-contact-icon{
    display:grid;
    place-items:center;
}
.home-info-rules-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.home-info-corporate-mini-icon svg{
    width:48px;
    height:48px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.contact-v383-map-pin{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff7e7;
    color:#bd8421;
}
.contact-v383-map-pin svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.footer-contact-icon svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Amenities feel like one premium strip, not four unrelated cells. */
.home-amenities-strip{
    box-shadow:0 8px 24px rgba(57,45,32,.035);
}
.home-amenities-grid article{
    transition:background .22s ease,transform .22s ease;
}
@media(hover:hover){
    .home-amenities-grid article:hover{
        background:rgba(246,239,227,.48);
    }
}

/* Gallery: photo-first, with a finer premium edge. */
.gallery-home-section .wine-gallery{
    gap:14px!important;
}
.gallery-home-section .wine-gallery img{
    border:1px solid rgba(91,72,50,.09);
    border-radius:12px!important;
    box-shadow:0 12px 28px rgba(51,38,27,.075)!important;
    filter:saturate(1.025) contrast(1.015);
}
@media(hover:hover){
    .gallery-home-section .wine-gallery img:hover{
        transform:translateY(-4px) scale(1.008)!important;
        box-shadow:0 18px 38px rgba(51,38,27,.13)!important;
        filter:saturate(1.07) contrast(1.025);
    }
}

/* Aktuality: equal-height editorial cards, stronger photography and calmer text. */
.homepage-flow > #aktuality .news-grid{
    align-items:stretch;
    gap:24px!important;
}
.homepage-flow > #aktuality .news-card-compact{
    min-height:100%;
    border:1px solid rgba(105,82,49,.12)!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 15px 38px rgba(54,42,27,.075)!important;
}
.homepage-flow > #aktuality .news-card-compact>img{
    height:250px!important;
    border-bottom:1px solid rgba(105,82,49,.08);
    filter:saturate(1.08) contrast(1.025);
}
.homepage-flow > #aktuality .news-card-compact>div{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    padding:21px 22px 22px!important;
    background:#fff!important;
}
.homepage-flow > #aktuality .news-card-compact small{
    align-self:flex-start;
    display:inline-flex;
    min-height:26px;
    align-items:center;
    margin-bottom:2px;
    padding:0 9px;
    border:1px solid rgba(183,127,34,.16);
    border-radius:999px;
    background:#fbf5e8;
    color:#9a6815!important;
    font-size:10px!important;
    letter-spacing:.06em;
}
.homepage-flow > #aktuality .news-card-compact h3{
    margin-top:10px!important;
    margin-bottom:10px!important;
}
.homepage-flow > #aktuality .news-card-compact p{
    margin-bottom:18px!important;
    color:#6c665f!important;
    line-height:1.58!important;
}
.homepage-flow > #aktuality .news-card-compact .text-cta{
    margin-top:auto!important;
}
@media(hover:hover){
    .homepage-flow > #aktuality .news-card-compact:hover{
        transform:translateY(-6px)!important;
        border-color:rgba(183,127,34,.26)!important;
        box-shadow:0 22px 48px rgba(54,42,27,.12)!important;
    }
    .homepage-flow > #aktuality .news-card-compact:hover>img{
        transform:scale(1.035)!important;
    }
}

/* Pricing: align CTA baselines and make 8+ offer read as intentional. */
.homepage-flow > #cenik .home-price-cards{
    align-items:stretch;
}
.homepage-flow > #cenik .home-price-card{
    border-color:rgba(89,76,60,.10)!important;
    box-shadow:0 10px 28px rgba(55,48,40,.055);
}
.homepage-flow > #cenik .home-price-card:last-child{
    background:linear-gradient(180deg,#fff,#f7f3eb)!important;
}
.homepage-flow > #cenik .home-price-card .cta{
    min-width:190px;
    text-align:center;
}
.homepage-flow > #cenik .public-price-table-wrap{
    border-radius:10px;
    box-shadow:0 10px 25px rgba(55,48,40,.045);
}

/* Contact: align cards and form with the same visual depth. */
.contact-v383-card,
.contact-v383-map,
.contact-v383-form-shell{
    border-color:rgba(127,96,52,.14)!important;
}
.contact-v383-card{
    box-shadow:0 9px 24px rgba(70,53,31,.045)!important;
}
@media(hover:hover){
    .contact-v383-card:hover{
        transform:translateY(-3px);
        border-color:rgba(183,127,34,.28)!important;
        box-shadow:0 15px 32px rgba(70,53,31,.085)!important;
    }
}

/* Footer: a crisp end to the page and fully vector contact icons. */
.site-footer{
    position:relative;
    border-top:1px solid rgba(228,171,63,.23);
    box-shadow:0 -14px 34px rgba(31,29,25,.055);
}
.site-footer::before{
    content:"";
    position:absolute;
    top:-1px;
    left:50%;
    width:min(1160px,calc(100% - 40px));
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(223,165,53,.56),transparent);
}
.site-footer-contact-icons>a,
.site-footer-contact-icons>span{
    min-height:32px;
    align-items:center!important;
}
.footer-contact-icon{
    width:30px!important;
    height:30px;
    flex:0 0 30px!important;
    border:1px solid rgba(229,172,61,.20);
    border-radius:50%;
    background:rgba(255,255,255,.035);
    color:#e0a332!important;
}

/* Scroll-to-top doubles as a subtle page progress indicator. */
.public-scroll-top{
    --scroll-progress:0deg;
    border:0!important;
    background:conic-gradient(#d39a2f var(--scroll-progress),rgba(255,255,255,.16) 0)!important;
    padding:3px;
}
.public-scroll-top::before{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:#353631;
    transition:background .18s ease;
}
.public-scroll-top span{
    position:relative;
    z-index:1;
}
@media(hover:hover){
    .public-scroll-top:hover::before{background:#292a27}
}

/* Tablet/mobile: slightly tighter but still generous vertical rhythm. */
@media(max-width:900px){
    .homepage-flow > .section:not(.hero){
        padding-top:72px!important;
        padding-bottom:72px!important;
    }
    .homepage-flow > #aktuality .news-card-compact>img{
        height:230px!important;
    }
}
@media(max-width:760px){
    .homepage-flow > .section:not(.hero){
        padding-top:58px!important;
        padding-bottom:58px!important;
    }
    .home-info-heading,
    .home-price-showcase-heading,
    .home-section-heading,
    .news-heading-centered,
    .reservation-home-heading-v387,
    .contact-v383-head{
        margin-bottom:28px!important;
    }
    .home-info-heading h2,
    .home-price-showcase-heading h2,
    .home-section-heading h2,
    .news-heading-centered h2,
    .reservation-home-heading-v387 h2,
    .contact-v383-head h2{
        font-size:clamp(33px,10vw,43px)!important;
        line-height:1.03!important;
    }
    .homepage-flow > #aktuality .news-grid{
        gap:16px!important;
    }
    .homepage-flow > #aktuality .news-card-compact>img{
        height:215px!important;
    }
    .homepage-flow > #aktuality .news-card-compact>div{
        padding:18px!important;
    }
    .footer-contact-icon{
        margin-right:3px;
    }
    .public-scroll-top{
        bottom:16px!important;
    }
}
@media(prefers-reduced-motion:reduce){
    .homepage-flow .cta,
    .homepage-flow .booking-submit,
    .home-nearby-button,
    .homepage-flow .text-cta,
    .home-amenities-grid article,
    .gallery-home-section .wine-gallery img,
    .contact-v383-card{
        transition:none!important;
    }
}


/* ============================================================
   RLS CMS v3.9.5 – navigation + form interaction finishing
   Sticky header progress, clearer one-page state and mobile UX.
   ============================================================ */
:root{
    --rls-header-progress:0%;
}

/* Make anchor landings feel intentional under the fixed header. */
.homepage-flow > [id]{
    scroll-margin-top:96px;
}

/* Sticky header gets a quiet page-progress line. */
.site-header-home{
    isolation:isolate;
}
.site-header-home::after{
    content:"";
    position:absolute;
    z-index:3;
    left:0;
    bottom:-1px;
    width:var(--rls-header-progress,0%);
    height:2px;
    background:linear-gradient(90deg,#c78924,#e0b153);
    box-shadow:0 0 10px rgba(205,151,47,.20);
    opacity:0;
    transition:width .08s linear,opacity .22s ease;
    pointer-events:none;
}
.site-header-home.is-scrolled::after{
    opacity:1;
}
.site-header-home.is-scrolled{
    background:rgba(255,255,255,.925)!important;
    box-shadow:0 9px 30px rgba(38,30,23,.085)!important;
}
.site-header-home.is-scrolled .header-inner{
    min-height:70px!important;
}

/* Current one-page item reads clearly without becoming a pill-heavy nav. */
.site-header-home .onepage-nav a.is-active{
    color:#d6a246;
}
.site-header-home.is-scrolled .onepage-nav a.is-active{
    color:#9b6816!important;
}
.site-header-home .onepage-nav a:focus-visible,
.inner-header .onepage-nav a:focus-visible{
    outline:2px solid rgba(197,143,43,.44);
    outline-offset:6px;
    border-radius:4px;
}

/* Contact + booking forms use the same interaction language. */
.public-contact-form-v383 input:not([type="checkbox"]),
.public-contact-form-v383 textarea,
.booking-form-card-v36 input,
.booking-form-card-v36 select,
.booking-form-card-v36 textarea{
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease;
}
.public-contact-form-v383 input:not([type="checkbox"]):hover,
.public-contact-form-v383 textarea:hover,
.booking-form-card-v36 input:hover,
.booking-form-card-v36 select:hover,
.booking-form-card-v36 textarea:hover{
    border-color:rgba(174,128,47,.42)!important;
}
.public-contact-form-v383 label:focus-within>span:first-child,
.booking-field:focus-within>span:first-child{
    color:#9c6c1c!important;
}
.public-contact-form-v383 input:not([type="checkbox"]):focus,
.public-contact-form-v383 textarea:focus,
.booking-form-card-v36 input:focus,
.booking-form-card-v36 select:focus,
.booking-form-card-v36 textarea:focus{
    background:#fff!important;
    border-color:#c79638!important;
    box-shadow:0 0 0 4px rgba(199,150,56,.105)!important;
}
.public-contact-form-v383 input::placeholder,
.public-contact-form-v383 textarea::placeholder,
.booking-form-card-v36 input::placeholder,
.booking-form-card-v36 textarea::placeholder{
    color:#aaa198;
    opacity:.82;
}
.public-contact-form-v383 input[type="checkbox"],
.booking-form-card-v36 input[type="checkbox"]{
    accent-color:#a97720;
}

/* Submit feedback is calmer and more tactile. */
.public-contact-form-v383 .booking-submit:active,
.booking-form-card-v36 .booking-submit:active,
.homepage-flow .cta:active{
    transform:translateY(0) scale(.985)!important;
    box-shadow:0 6px 15px rgba(48,39,29,.12)!important;
}

/* The calendar keeps focus visible for keyboard users. */
.public-calendar-v36 button:focus-visible,
.public-calendar-v36 .public-day:focus-visible{
    outline:2px solid rgba(180,126,31,.58)!important;
    outline-offset:2px;
}

@media(max-width:980px){
    /* Quiet dimming behind the open nav gives the dropdown a proper layer. */
    body.mobile-nav-open::before{
        content:"";
        position:fixed;
        z-index:8900;
        inset:0;
        background:rgba(31,27,23,.24);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        pointer-events:none;
    }
    .site-header-home.is-menu-open,
    .inner-header.is-menu-open,
    .subpage-header.is-menu-open{
        box-shadow:0 10px 32px rgba(31,27,23,.10)!important;
    }
    .site-header-home .primary-nav,
    .inner-header .primary-nav,
    .subpage-header .primary-nav{
        top:calc(100% + 8px)!important;
        padding:10px!important;
        gap:3px!important;
        border-radius:16px!important;
        box-shadow:0 24px 60px rgba(29,25,21,.20)!important;
    }
    .site-header-home .onepage-nav a,
    .inner-header .onepage-nav a,
    .subpage-header .onepage-nav a{
        position:relative;
        min-height:46px!important;
        padding:11px 14px 11px 36px!important;
        border:1px solid transparent;
        border-radius:10px!important;
        font-size:14px!important;
        font-weight:720!important;
    }
    .site-header-home .onepage-nav a::before,
    .inner-header .onepage-nav a::before,
    .subpage-header .onepage-nav a::before{
        content:"";
        position:absolute;
        left:15px;
        top:50%;
        width:6px;
        height:6px;
        border-radius:50%;
        background:#c6b9a6;
        transform:translateY(-50%);
        transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
    }
    .site-header-home .onepage-nav a::after,
    .inner-header .onepage-nav a::after,
    .subpage-header .onepage-nav a::after{
        display:none!important;
    }
    .site-header-home .onepage-nav a:hover,
    .inner-header .onepage-nav a:hover,
    .subpage-header .onepage-nav a:hover{
        background:#f7f2e9!important;
        border-color:rgba(154,111,36,.09)!important;
    }
    .site-header-home .onepage-nav a.is-active,
    .inner-header .onepage-nav a.is-active,
    .subpage-header .onepage-nav a.is-active{
        background:linear-gradient(90deg,#f8f0df,#fbf8f2)!important;
        border-color:rgba(172,123,38,.18)!important;
        color:#8d5f15!important;
        box-shadow:inset 3px 0 #c18a2b;
    }
    .site-header-home .onepage-nav a.is-active::before,
    .inner-header .onepage-nav a.is-active::before,
    .subpage-header .onepage-nav a.is-active::before{
        background:#bd8526;
        transform:translateY(-50%) scale(1.25);
        box-shadow:0 0 0 4px rgba(189,133,38,.10);
    }
    .mobile-menu-toggle{
        transition:background .18s ease,border-color .18s ease,transform .18s ease;
    }
    .mobile-menu-toggle:active{
        transform:scale(.95);
    }
}

@media(max-width:520px){
    .site-header-home .primary-nav,
    .inner-header .primary-nav,
    .subpage-header .primary-nav{
        left:-2px!important;
        right:-2px!important;
        max-height:min(76vh,590px)!important;
    }
    .site-header-home .onepage-nav a,
    .inner-header .onepage-nav a,
    .subpage-header .onepage-nav a{
        min-height:44px!important;
        padding-top:10px!important;
        padding-bottom:10px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .site-header-home::after,
    .public-contact-form-v383 input,
    .public-contact-form-v383 textarea,
    .booking-form-card-v36 input,
    .booking-form-card-v36 select,
    .booking-form-card-v36 textarea,
    .mobile-menu-toggle{
        transition:none!important;
    }
}


/* ============================================================
   RLS CMS v3.9.6 – mobile conversion + footer/performance finish
   Mobile booking dock, one-page footer and final accessibility polish.
   ============================================================ */
.rls-skip-link{
    position:fixed;
    z-index:12000;
    top:10px;
    left:10px;
    padding:11px 15px;
    border-radius:10px;
    background:#24231f;
    color:#fff;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
    transform:translateY(-150%);
    transition:transform .16s ease;
}
.rls-skip-link:focus{
    transform:none;
    outline:2px solid #d7a13c;
    outline-offset:2px;
}

/* Footer now mirrors the one-page journey instead of sending users through old menu pages. */
.site-footer-links .footer-onepage-link{
    position:relative;
    width:max-content;
    max-width:100%;
    transition:color .18s ease,transform .18s ease;
}
.site-footer-links .footer-onepage-link::after{
    content:"→";
    display:inline-block;
    margin-left:7px;
    color:#d8a247;
    opacity:0;
    transform:translateX(-5px);
    transition:opacity .18s ease,transform .18s ease;
}
.site-footer-links .footer-onepage-link.is-booking{
    color:#e1b45e;
    font-weight:720;
}
@media(hover:hover){
    .site-footer-links .footer-onepage-link:hover{transform:translateX(3px)}
    .site-footer-links .footer-onepage-link:hover::after{opacity:1;transform:none}
}

/* Soft surface edges make the long homepage easier to scan without visible hard bands. */
.homepage-flow > #galerie,
.homepage-flow > #aktuality,
.homepage-flow > #rezervace,
.homepage-flow > #kontakt{
    box-shadow:inset 0 1px rgba(101,78,48,.055),inset 0 -1px rgba(101,78,48,.045);
}
.homepage-flow > #kontakt{
    box-shadow:inset 0 1px rgba(101,78,48,.065);
}

.mobile-booking-dock{display:none}

@media(max-width:760px){
    .mobile-booking-dock{
        position:fixed;
        z-index:150;
        left:50%;
        bottom:calc(13px + env(safe-area-inset-bottom,0px));
        width:min(440px,calc(100% - 26px));
        min-height:64px;
        display:grid;
        grid-template-columns:42px minmax(0,1fr) 24px;
        align-items:center;
        gap:11px;
        padding:9px 13px 9px 10px;
        border:1px solid rgba(226,176,76,.30);
        border-radius:17px;
        background:rgba(39,39,35,.955);
        color:#fff;
        box-shadow:0 18px 46px rgba(25,23,20,.30),0 0 0 1px rgba(255,255,255,.04) inset;
        text-decoration:none;
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
        opacity:0;
        visibility:hidden;
        transform:translate(-50%,18px) scale(.98);
        transition:opacity .2s ease,visibility .2s ease,transform .24s cubic-bezier(.2,.75,.2,1),border-color .18s ease;
        pointer-events:none;
        touch-action:manipulation;
    }
    .mobile-booking-dock.is-visible{
        opacity:1;
        visibility:visible;
        transform:translate(-50%,0) scale(1);
        pointer-events:auto;
    }
    .mobile-booking-dock-icon{
        width:42px;
        height:42px;
        display:grid;
        place-items:center;
        border:1px solid rgba(224,174,74,.25);
        border-radius:13px;
        background:linear-gradient(145deg,#d9a23a,#b77716);
        color:#fff;
        box-shadow:0 7px 18px rgba(174,113,17,.20);
    }
    .mobile-booking-dock-icon svg{
        width:21px;
        height:21px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.6;
        stroke-linecap:round;
        stroke-linejoin:round;
    }
    .mobile-booking-dock-copy{
        min-width:0;
        display:grid;
        gap:2px;
    }
    .mobile-booking-dock-copy strong{
        font-size:14px;
        line-height:1.15;
        letter-spacing:-.01em;
    }
    .mobile-booking-dock-copy small{
        overflow:hidden;
        color:rgba(255,255,255,.62);
        font-size:10px;
        line-height:1.25;
        white-space:nowrap;
        text-overflow:ellipsis;
    }
    .mobile-booking-dock-arrow{
        color:#e0aa45;
        font-size:20px;
        line-height:1;
        transition:transform .18s ease;
    }
    .mobile-booking-dock:active{transform:translate(-50%,1px) scale(.985)}
    .mobile-booking-dock:focus-visible{
        outline:2px solid #dca643;
        outline-offset:3px;
    }
    .mobile-booking-dock.is-visible + .public-scroll-top{
        bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;
    }
    .site-footer-links .footer-onepage-link{
        width:auto;
    }
}

@media(prefers-reduced-motion:reduce){
    .rls-skip-link,
    .site-footer-links .footer-onepage-link,
    .site-footer-links .footer-onepage-link::after,
    .mobile-booking-dock,
    .mobile-booking-dock-arrow{transition:none!important}
}

/* RLS CMS v3.10.1 – on mobile the default guest count (20) is already a
   valid selection. Contact fields therefore appear together with the guest
   selector immediately after a valid date range is priced. */
.booking-progressive.has-dates.has-guests .booking-step-contact{
    opacity:1!important;
    pointer-events:auto!important;
    filter:none!important;
}


/* RLS CMS v3.10.11 – contact form nowrap polish */
@media(max-width:860px){
    .contact-v383-math{
        grid-template-columns:max-content auto 56px;
        gap:8px;
    }
    .contact-v383-math>span{
        font-size:9px!important;
    }
}

/* RLS CMS v3.10.11 – softer map filter */
.contact-v383-map iframe{
    filter:grayscale(.76) sepia(.12) saturate(.92) brightness(1.03) contrast(.98)!important;
}
.contact-v383-map:hover iframe,
.contact-v383-map:focus-within iframe{
    filter:grayscale(.64) sepia(.08) saturate(.96) brightness(1.04) contrast(.99)!important;
}

/* RLS CMS v3.10.12 – remove remaining beige strip under nearby section */
.homepage-flow > #o-ubytovani{
    padding-bottom:0!important;
}
.homepage-flow > #o-ubytovani::after{
    display:none!important;
}
.homepage-flow > #o-ubytovani > .container{
    padding-bottom:0!important;
    margin-bottom:0!important;
}
.homepage-flow > #o-ubytovani .home-nearby-strip{
    margin-bottom:0!important;
}
.homepage-flow > #galerie{
    margin-top:0!important;
}

/* v3.10.19 – approved reservation layout guardrails */
.booking-engine-v319 .booking-v319-form{display:block!important}
.booking-engine-v319 .booking-step-contact,
.booking-engine-v319 .booking-step-final{opacity:1!important;filter:none!important;pointer-events:auto!important}
.booking-engine-v319 .booking-v319-step-body[hidden]{display:none!important}
.booking-engine-v319 .booking-v319-step-body:not([hidden]){display:block!important}
.booking-engine-v319 .booking-v319-engine-hidden{display:block!important;position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:820px){
    .booking-engine-v319 .booking-v319-summary-card{position:static!important}
}

/* RLS CMS v3.10.32 – do not reveal reservation data before explicit Continue. */
.booking-progressive .booking-step-contact,
.booking-progressive .booking-step-final{display:none!important}
.booking-progressive.has-guest-confirmed .booking-step-contact{display:block!important}
.booking-progressive.has-guest-confirmed .booking-dates.booking-step-contact{display:grid!important}
.booking-progressive.has-guest-confirmed .booking-step-final{display:block!important}
.booking-progressive.has-guest-confirmed button.booking-step-final{display:flex!important}


/* RLS CMS v3.10.37 – unified success background */
@media(max-width:760px){
    .booking-success-v379::before{background-size:auto 112%;background-position:72% 50%}
}

/* RLS CMS v3.10.96 – existing Client Portal account guardrail.
   This file is loaded last, so these rules must win over generic progressive-step rules. */
.booking-progressive.has-existing-client-account .booking-account-option,
.booking-progressive.has-existing-client-account .booking-account-fields,
.booking-progressive.has-existing-client-account .booking-submit{
    display:none!important;
}

/* ============================================================
   UBYTOVANI NAD SKLEPEM – OKOLI PHOTO FIX V5
   Use the approved wine-cellar photo directly from local website assets in the
   right side of the homepage "TIPY V OKOLI" strip. This intentionally
   overrides the old broken --nearby-bg URL from the PHP template.
   ============================================================ */
.home-nearby-strip{
    background-color:#555553!important;
    background-image:
        linear-gradient(90deg,
            rgba(47,48,47,.96) 0%,
            rgba(58,59,58,.94) 38%,
            rgba(67,67,65,.82) 49%,
            rgba(58,57,54,.42) 61%,
            rgba(25,25,24,.10) 72%,
            rgba(0,0,0,0) 84%),
        url('/assets/img/uvod.jpg')!important;
    background-size:100% 100%,54% 100%!important;
    background-position:center,right center!important;
    background-repeat:no-repeat,no-repeat!important;
}

@media(max-width:760px){
    .home-nearby-strip{
        background-image:
            linear-gradient(90deg,
                rgba(46,47,46,.94) 0%,
                rgba(54,55,54,.86) 44%,
                rgba(42,42,41,.56) 72%,
                rgba(18,18,18,.25) 100%),
            url('/assets/img/uvod.jpg')!important;
        background-size:cover,cover!important;
        background-position:center,68% center!important;
    }
}


/* ============================================================
   RLS CMS – MOBILE BOOKING FIX 2026-09-17
   iOS/Safari calendar colours + selected range + form overflow
   ============================================================ */
@media(max-width:760px){

    /* iOS Safari otherwise keeps its native blue button text in calendar cells. */
    .reservation-home-section .public-calendar-v36 .public-day,
    .booking-page-direct .public-calendar-v36 .public-day{
        -webkit-appearance:none!important;
        appearance:none!important;
        color:#393530!important;
        -webkit-text-fill-color:currentColor;
    }

    .reservation-home-section .public-calendar-v36 .public-day.free,
    .booking-page-direct .public-calendar-v36 .public-day.free{
        color:#36322e!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day.free .public-day-number,
    .booking-page-direct .public-calendar-v36 .public-day.free .public-day-number{
        color:#36322e!important;
        -webkit-text-fill-color:#36322e!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day.free .public-day-state,
    .booking-page-direct .public-calendar-v36 .public-day.free .public-day-state{
        color:#776f66!important;
        -webkit-text-fill-color:#776f66!important;
    }

    /* Past days remain neutral and readable. */
    .reservation-home-section .public-calendar-v36 .public-day.is-past:not(.selected),
    .booking-page-direct .public-calendar-v36 .public-day.is-past:not(.selected){
        color:#bbb3aa!important;
        -webkit-text-fill-color:#bbb3aa!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day.is-past:not(.selected) .public-day-number,
    .reservation-home-section .public-calendar-v36 .public-day.is-past:not(.selected) .public-day-state,
    .booking-page-direct .public-calendar-v36 .public-day.is-past:not(.selected) .public-day-number,
    .booking-page-direct .public-calendar-v36 .public-day.is-past:not(.selected) .public-day-state{
        color:#b8b0a7!important;
        -webkit-text-fill-color:#b8b0a7!important;
    }

    /* Busy days keep their status colour instead of inheriting Safari blue. */
    .reservation-home-section .public-calendar-v36 .public-day.busy-confirmed:not(.selected),
    .booking-page-direct .public-calendar-v36 .public-day.busy-confirmed:not(.selected){
        color:#a4575e!important;
        -webkit-text-fill-color:#a4575e!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day.busy-confirmed:not(.selected) .public-day-number,
    .reservation-home-section .public-calendar-v36 .public-day.busy-confirmed:not(.selected) .public-day-state,
    .booking-page-direct .public-calendar-v36 .public-day.busy-confirmed:not(.selected) .public-day-number,
    .booking-page-direct .public-calendar-v36 .public-day.busy-confirmed:not(.selected) .public-day-state{
        color:#a4575e!important;
        -webkit-text-fill-color:#a4575e!important;
    }

    /* Selected arrival, nights AND checkout are always a solid gold tile.
       This intentionally wins over is-checkout-boundary / busy styles. */
    .reservation-home-section .public-calendar-v36 .public-day.selected,
    .reservation-home-section .public-calendar-v36 .public-day.selected.is-start,
    .reservation-home-section .public-calendar-v36 .public-day.selected.is-end,
    .reservation-home-section .public-calendar-v36 .public-day.selected.is-range,
    .reservation-home-section .public-calendar-v36 .public-day.selected.is-checkout-boundary,
    .booking-page-direct .public-calendar-v36 .public-day.selected,
    .booking-page-direct .public-calendar-v36 .public-day.selected.is-start,
    .booking-page-direct .public-calendar-v36 .public-day.selected.is-end,
    .booking-page-direct .public-calendar-v36 .public-day.selected.is-range,
    .booking-page-direct .public-calendar-v36 .public-day.selected.is-checkout-boundary{
        background:linear-gradient(180deg,#d8a739 0%,#c99222 100%)!important;
        border-color:#c58c1b!important;
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
        text-decoration:none!important;
        box-shadow:0 7px 15px rgba(176,122,19,.15)!important;
        opacity:1!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day.selected .public-day-number,
    .reservation-home-section .public-calendar-v36 .public-day.selected .public-day-state,
    .booking-page-direct .public-calendar-v36 .public-day.selected .public-day-number,
    .booking-page-direct .public-calendar-v36 .public-day.selected .public-day-state{
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
        text-shadow:0 1px 1px rgba(91,58,0,.14);
    }
    .reservation-home-section .public-calendar-v36 .public-day.selected:after,
    .booking-page-direct .public-calendar-v36 .public-day.selected:after{
        color:#fff!important;
        -webkit-text-fill-color:#fff!important;
    }

    /* Form containment – especially iOS date/email/tel controls with intrinsic width. */
    .reservation-home-section .booking-layout-v36,
    .reservation-home-section .booking-form-card-v36,
    .reservation-home-section .booking-form-card-v36 form,
    .reservation-home-section .booking-dates,
    .reservation-home-section .booking-field,
    .reservation-home-section .booking-dates > *,
    .booking-page-direct .booking-layout-v36,
    .booking-page-direct .booking-form-card-v36,
    .booking-page-direct .booking-form-card-v36 form,
    .booking-page-direct .booking-dates,
    .booking-page-direct .booking-field,
    .booking-page-direct .booking-dates > *{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .reservation-home-section .booking-form-card-v36,
    .booking-page-direct .booking-form-card-v36{
        overflow:hidden!important;
    }

    .reservation-home-section .booking-field input,
    .reservation-home-section .booking-field select,
    .reservation-home-section .booking-field textarea,
    .booking-page-direct .booking-field input,
    .booking-page-direct .booking-field select,
    .booking-page-direct .booking-field textarea{
        display:block!important;
        inline-size:100%!important;
        width:100%!important;
        max-inline-size:100%!important;
        max-width:100%!important;
        min-inline-size:0!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .reservation-home-section .booking-field input[type="date"],
    .booking-page-direct .booking-field input[type="date"]{
        min-width:0!important;
        width:100%!important;
        max-width:100%!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    .reservation-home-section .booking-consent-panel,
    .reservation-home-section .booking-account-option,
    .reservation-home-section .booking-step-contact,
    .booking-page-direct .booking-consent-panel,
    .booking-page-direct .booking-account-option,
    .booking-page-direct .booking-step-contact{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .reservation-home-section textarea,
    .booking-page-direct textarea{
        resize:vertical;
        overflow-wrap:anywhere!important;
    }
}

@media(max-width:430px){
    .reservation-home-section .public-calendar-v36,
    .booking-page-direct .public-calendar-v36{
        gap:3px!important;
    }
    .reservation-home-section .public-calendar-v36 .public-day,
    .booking-page-direct .public-calendar-v36 .public-day{
        min-height:45px!important;
    }
    .reservation-home-section .public-day-state,
    .booking-page-direct .public-day-state{
        font-size:7.5px!important;
        letter-spacing:0!important;
    }
}


/* ============================================================
   RLS CMS – MOBILE BOOKING FIX V2
   Compact + contained date fields on iOS
   ============================================================ */
@media(max-width:760px){

    /* Auto width is safer than 100% for iOS native date controls inside a grid. */
    .reservation-home-section .booking-dates,
    .booking-page-direct .booking-dates{
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }

    .reservation-home-section .booking-dates .booking-field,
    .booking-page-direct .booking-dates .booking-field{
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        overflow:hidden!important;
    }

    .reservation-home-section .booking-dates .booking-field input[type="date"],
    .booking-page-direct .booking-dates .booking-field input[type="date"]{
        -webkit-appearance:none!important;
        appearance:none!important;
        display:block!important;
        width:100%!important;
        inline-size:100%!important;
        max-width:100%!important;
        max-inline-size:100%!important;
        min-width:0!important;
        min-inline-size:0!important;
        height:56px!important;
        min-height:56px!important;
        padding:10px 14px!important;
        margin:0!important;
        border:1px solid #ddd1c1!important;
        border-radius:12px!important;
        background:#fffdf9!important;
        box-sizing:border-box!important;
        color:#25231f!important;
        -webkit-text-fill-color:#25231f!important;
        font-size:18px!important;
        font-weight:600!important;
        line-height:1.2!important;
        text-align:center!important;
        box-shadow:none!important;
        overflow:hidden!important;
    }

    .reservation-home-section .booking-dates .booking-field input[type="date"]:focus,
    .booking-page-direct .booking-dates .booking-field input[type="date"]:focus{
        border-color:#c99a42!important;
        box-shadow:0 0 0 3px rgba(201,154,66,.10)!important;
        background:#fff!important;
    }
}

@media(max-width:430px){
    .reservation-home-section .booking-dates .booking-field input[type="date"],
    .booking-page-direct .booking-dates .booking-field input[type="date"]{
        height:54px!important;
        min-height:54px!important;
        font-size:17px!important;
        padding-inline:12px!important;
    }
}

/* ============================================================
   RLS CMS – MOBILE BOOKING FIX V3
   Final containment for date fields + cleaner selected-stay card
   ============================================================ */
@media(max-width:760px){
    .reservation-home-section .booking-form-card-v36,
    .booking-page-direct .booking-form-card-v36,
    .reservation-home-section .booking-v319-summary-card,
    .booking-page-direct .booking-v319-summary-card{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }

    .reservation-home-section .booking-form-card-v36 > *,
    .booking-page-direct .booking-form-card-v36 > *,
    .reservation-home-section .booking-v319-summary-card > *,
    .booking-page-direct .booking-v319-summary-card > *{
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    /* iPhone date rows: never overshoot the card edge */
    .reservation-home-section .booking-field,
    .reservation-home-section .booking-field > *,
    .booking-page-direct .booking-field,
    .booking-page-direct .booking-field > *{
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .reservation-home-section .booking-field input[type="date"],
    .booking-page-direct .booking-field input[type="date"]{
        display:block!important;
        width:calc(100% - 2px)!important;
        max-width:calc(100% - 2px)!important;
        min-width:0!important;
        margin-left:0!important;
        margin-right:0!important;
        position:relative!important;
        left:0!important;
        right:auto!important;
        transform:none!important;
    }

    /* Selected-stay card: keep content visually centered and prevent the top row/button from clipping */
    .reservation-home-section .booking-v319-summary-card,
    .booking-page-direct .booking-v319-summary-card{
        text-align:center!important;
    }

    .reservation-home-section .booking-v319-summary-card > :first-child,
    .booking-page-direct .booking-v319-summary-card > :first-child{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:10px!important;
    }

    .reservation-home-section .booking-v319-summary-card a,
    .reservation-home-section .booking-v319-summary-card button,
    .booking-page-direct .booking-v319-summary-card a,
    .booking-page-direct .booking-v319-summary-card button{
        max-width:100%!important;
        white-space:normal!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .reservation-home-section .booking-v319-summary-card strong,
    .reservation-home-section .booking-v319-summary-card b,
    .reservation-home-section .booking-v319-summary-card h2,
    .reservation-home-section .booking-v319-summary-card h3,
    .reservation-home-section .booking-v319-summary-card [class*="price"],
    .reservation-home-section .booking-v319-summary-card [class*="total"],
    .booking-page-direct .booking-v319-summary-card strong,
    .booking-page-direct .booking-v319-summary-card b,
    .booking-page-direct .booking-v319-summary-card h2,
    .booking-page-direct .booking-v319-summary-card h3,
    .booking-page-direct .booking-v319-summary-card [class*="price"],
    .booking-page-direct .booking-v319-summary-card [class*="total"]{
        text-align:center!important;
    }
}
