/* Original CHARTER-POOL branding, confined to the editor-only preview header. */
body.cp-preview-header #headerwrap{
    --cp-brand-blue:#007fae;
    --cp-brand-ink:#113b52;
    background:#fff;
    border-bottom:1px solid #e2ebf1;
    box-shadow:0 2px 12px rgba(17,59,82,.045);
}
body.cp-preview-header #headerwrap #header{padding-top:12px;padding-bottom:12px}
body.cp-preview-header #headerwrap #site-logo{margin:0;line-height:1}
body.cp-preview-header #headerwrap #site-logo a{display:block}
body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{
    display:block;width:208px;max-width:100%;height:auto;border:0;
}
body.cp-preview-header #headerwrap #mobile-menu{background:#fff}
body.cp-preview-header #headerwrap #main-nav{margin:0}
body.cp-preview-header #headerwrap #main-nav a{color:var(--cp-brand-ink);text-decoration:none}
body.cp-preview-header #headerwrap #main-nav>li>a{
    padding:12px 10px;border-bottom:2px solid transparent;background:transparent;
    font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.01em;
}
body.cp-preview-header #headerwrap #main-nav>li:hover>a,
body.cp-preview-header #headerwrap #main-nav>li.current-menu-item>a,
body.cp-preview-header #headerwrap #main-nav>li.current-menu-ancestor>a{
    color:var(--cp-brand-blue);border-bottom-color:var(--cp-brand-blue);background:transparent;
}
body.cp-preview-header #headerwrap #main-nav a:focus-visible{
    outline:2px solid var(--cp-brand-blue);outline-offset:3px;border-radius:3px;
}
body.cp-preview-header #headerwrap #main-nav ul a{
    padding:10px 14px;font-size:14px;font-weight:400;line-height:1.45;white-space:normal;
}
body.cp-preview-header #headerwrap #main-nav ul a:hover,
body.cp-preview-header #headerwrap #main-nav ul .current-menu-item>a{
    color:var(--cp-brand-blue);background:#edf6fa;
}
@media(min-width:1101px){
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap #header{
        display:flex;align-items:center;justify-content:space-between;gap:22px;height:auto;
    }
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap #header::before,
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap #header::after{display:none}
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap .header-bar{float:none;flex:0 0 auto}
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap #mobile-menu{float:none;flex:1 1 auto;min-width:0}
    body.cp-preview-header.header-horizontal:not(.mobile_menu_active) #headerwrap .navbar-wrapper{float:none;text-align:right}
    body.cp-preview-header:not(.mobile_menu_active) #headerwrap #main-nav ul{
        background:#fff;border:1px solid #dfebf1;border-radius:5px;padding:6px 0;
        box-shadow:0 12px 30px rgba(17,59,82,.12);
    }
}
@media(min-width:768px) and (max-width:1100px){
    body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{width:190px}
    body.cp-preview-header:not(.mobile_menu_active) #headerwrap #main-nav>li>a{font-size:13px;padding-left:8px;padding-right:8px}
}
@media(max-width:767px){
    body.cp-preview-header #headerwrap #header{padding-top:9px;padding-bottom:9px}
    body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{width:180px}
    body.cp-preview-header #headerwrap #main-nav>li>a{padding-top:13px;padding-bottom:13px;font-size:15px}
}
body.cp-preview-header #headerwrap.fixed-header #site-logo img.cp-preview-brand-image{max-width:180px}

/* Source: original Bootstrap bg-primary #16395e and navbar-dark links. */
body.cp-preview-header #headerwrap{background:#16395e;border-bottom-color:#0c2035;box-shadow:none}
body.cp-preview-header #headerwrap #mobile-menu{background:#16395e}
body.cp-preview-header #headerwrap #main-nav>li>a{color:rgba(255,255,255,.75);text-transform:uppercase}
body.cp-preview-header #headerwrap #main-nav>li:hover>a,
body.cp-preview-header #headerwrap #main-nav>li.current-menu-item>a,
body.cp-preview-header #headerwrap #main-nav>li.current-menu-ancestor>a{color:#fff;border-bottom-color:rgba(255,255,255,.8)}
body.cp-preview-header #headerwrap #main-nav a:focus-visible{outline-color:#ffa500}
body.cp-preview-header #headerwrap #menu-icon{color:#fff}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav ul a{color:#fff}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav ul a:hover{background:#0c2035}
/* Full-width home hero; keep Themify's native controls and swipe behaviour. */
body.cp-preview-home{overflow-x:clip}
body.cp-preview-home .tb_tyrow26064{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
body.cp-preview-home .tb_tyrow26064>.row_inner{width:100%;max-width:none;padding:0}
body.cp-preview-home .tb_tyrow26064 .module_column{padding:0}
body.cp-preview-home #content{padding-top:0}
body.cp-preview-home .tb_tyslider26064 .slide-inner-wrap{position:relative}
body.cp-preview-home .tb_tyslider26064 .slide-image{margin:0;aspect-ratio:37/14;overflow:hidden}
body.cp-preview-home .tb_tyslider26064 .slide-image img{display:block;width:100%;height:100%;object-fit:cover}
body.cp-preview-home .tb_tyslider26064 .slide-image>a{display:block;width:100%;height:100%}
body.cp-preview-home .tb_tyslider26064.slider-overlay .slide-content{
    inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center;
    padding:24px 10%;background:transparent;color:#fff;pointer-events:none;
}
body.cp-preview-home .tb_tyslider26064 .slide-content a{pointer-events:auto}
body.cp-preview-home .tb_tyslider26064 .slide-content .cp-preview-slide-heading{
    background:#ffa500;color:#fff;font-size:clamp(22px,2.4vw,35px);font-weight:500;
    line-height:1.4;padding:5px 20px;margin:0 0 12px;text-shadow:0 1px 2px #0003;
}
body.cp-preview-home .tb_tyslider26064 .slide-content h4{
    color:#fff;font-size:clamp(16px,1.5vw,23px);line-height:1.4;margin:0;
    text-shadow:0 1px 5px #000,0 2px 12px #0009;
}
body.cp-preview-home .tb_tyslider26064 .slide-content a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:767px){
    body.cp-preview-home .tb_tyslider26064 .slide-image{aspect-ratio:4/3}
    body.cp-preview-home .tb_tyslider26064.slider-overlay .slide-content{padding:20px 12%}
    body.cp-preview-home .tb_tyslider26064 .slide-content .cp-preview-slide-heading{padding:5px 10px;font-size:22px}
}

/* Homepage search overlay: original .suche placement and translucent white panel. */
body.cp-preview-home .tb_tyrow26064{position:relative;z-index:0}
body.cp-preview-home .tb_tyrow26085{
    position:relative;z-index:10;box-sizing:border-box;
    width:1045px;max-width:calc(100% - 32px);
    margin:-140px auto 40px;padding:11px 5px 0;
    border-radius:25px;background:rgba(255,255,255,.7);
}
body.cp-preview-home .tb_tyrow26085>.row_inner{width:100%;max-width:none;padding:0}
body.cp-preview-home .tb_tyrow26085 .module_column,
body.cp-preview-home .tb_tyhtml26085{padding:0;margin:0}
body.cp-preview-home .tb_tyhtml26085 .cp-booking-manager{
    display:block;width:100%;height:100px;border:0;margin:0;
}
@media(max-width:1100px){
    body.cp-preview-home .tb_tyrow26085{margin-top:16px;background:rgba(255,255,255,.7)}
}

/* Mobile controls: preserve Themify's own menu and disclosure behaviour. */
body.cp-preview-header.mobile_menu_active #headerwrap #mobile-menu{
    max-width:calc(100vw - 24px);box-sizing:border-box;
    padding-bottom:max(25px,env(safe-area-inset-bottom));
}
body.cp-preview-header.mobile_menu_active #headerwrap :is(#menu-icon,#menu-icon-close){
    display:inline-flex;align-items:center;justify-content:center;
    box-sizing:border-box;min-width:44px;min-height:44px;color:#fff;
}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav .child-arrow{
    box-sizing:border-box;min-width:44px;min-height:44px;color:#fff;
}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav a{
    box-sizing:border-box;min-height:44px;display:flex;align-items:center;
    overflow-wrap:anywhere;
}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav .has-sub-menu>a{padding-right:48px}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav li>.sub-menu{margin-left:.65em}
body.cp-preview-header.mobile_menu_active #headerwrap #main-nav ul a{font-size:16px}
body.cp-preview-header.mobile_menu_active #headerwrap :is(#menu-icon,#menu-icon-close,.child-arrow):focus-visible{
    outline:2px solid #ffa500;outline-offset:2px;
}
@media(max-width:767px){
    body.cp-preview-home #body{font-family:"CP Source Sans","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6}
    body.cp-preview-home .tb_tyslider26064 .slide-content .cp-preview-slide-heading{
        font-size:clamp(18px,5.5vw,22px);line-height:1.3;overflow-wrap:anywhere;
    }
    body.cp-preview-home .tb_tyslider26064 .slide-content h4{font-size:16px;line-height:1.35}
    body.cp-preview-home .tb_tyrow26085{max-width:calc(100% - 24px);margin-bottom:24px;border-radius:12px}
}

/* Larger original logo, slightly overlapping the following hero. */
body.cp-preview-header #headerwrap #site-logo{
    position:relative;z-index:2;transform:translateY(18px);margin-bottom:-18px;
}
body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{width:260px}
@media(min-width:768px) and (max-width:1100px){
    body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{width:240px}
}
@media(max-width:767px){
    body.cp-preview-header #headerwrap #site-logo{transform:translateY(12px);margin-bottom:-12px}
    body.cp-preview-header #headerwrap #site-logo img.cp-preview-brand-image{width:220px}
}
/* Keep the native compact header clear of content when scrolling. */
body.cp-preview-header #headerwrap.fixed-header #site-logo{transform:none;margin-bottom:0}
body.cp-preview-header #headerwrap.fixed-header #site-logo img.cp-preview-brand-image{width:180px;max-width:180px}

/* Search reserves its existing height while the external page loads separately. */
body.cp-preview-home .cp-home-booking-slot{position:relative;min-height:100px}
body.cp-preview-home .cp-home-booking-status{
    position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;
    margin:0;padding:12px 8px;box-sizing:border-box;pointer-events:none;
    color:#16395e;font:400 16px/1.4 "CP Source Sans","Segoe UI",Arial,sans-serif;
}

/* Second destination mosaic: same zoom as the first destination mosaic. */
body.cp-preview-home :is(.cp-source-grid-26128,.cp-source-grid-26170) .zoom{position:relative;transition:transform .2s}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
    body.cp-preview-home :is(.cp-source-grid-26128,.cp-source-grid-26170) .zoom:is(:hover,:focus-within){transform:scale(1.1);z-index:1}
}
@media(prefers-reduced-motion:reduce){
    body.cp-preview-home :is(.cp-source-grid-26128,.cp-source-grid-26170) .zoom{transition:none}
}

/* One native link covers each complete destination tile, including its photo. */
body.cp-preview-home .cp-source-grid .zoom{position:relative}
body.cp-preview-home .cp-source-grid .zoom>a.white{
    display:block;box-sizing:border-box;width:100%;max-width:100%;
    padding:4px;text-align:center;overflow-wrap:anywhere;
}
body.cp-preview-home .cp-source-grid .zoom>a.white::after{
    content:"";position:absolute;inset:0;z-index:1;
}
body.cp-preview-home .cp-source-grid .zoom>a.white:focus-visible{outline:none}
body.cp-preview-home .cp-source-grid .zoom>a.white:focus-visible::after{
    outline:3px solid #fff;outline-offset:-4px;box-shadow:inset 0 0 0 6px #16395e;
}
