/*
Theme Name: Baby Kids Ottbergen Child
Theme URI: https://gsottbergen.de/
Description: Child theme for Baby Kids, prepared for Grundschule Ottbergen. Adds a lightweight static homepage hero, a CSS-only HotInfo ticker, cleaner typography and navigation styling. No Revolution Slider required.
Author: Grundschule Ottbergen / custom adaptation
Template: babykids
Version: 1.0.49
Requires PHP: 7.0
Text Domain: babykids-ottbergen-child
*/

:root {
    --gs-mint: #61d9bd;
    --gs-mint-dark: #2e9f87;
    --gs-ink: #23312f;
    --gs-muted: #687673;
    --gs-paper: #ffffff;
    --gs-soft: #f5f8f7;
    --gs-sand: #f3ede3;
    --gs-sand-deep: #e7dcc8;
    --gs-line: #d9e2dd;
    --gs-warning: #f2b544;
    --gs-warning-ink: #302817;
    --gs-radius: 18px;
    --gs-shadow: 0 14px 38px rgba(31, 55, 50, .10);
    --gs-container: 1280px;
}

/* Privacy-friendly system font: no external font is required by this child. */
body.gs-ottbergen-child {
    color: var(--gs-ink);
    background: var(--gs-paper);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

.gs-ottbergen-child h1,
.gs-ottbergen-child h2,
.gs-ottbergen-child h3,
.gs-ottbergen-child h4,
.gs-ottbergen-child h5,
.gs-ottbergen-child h6,
.gs-ottbergen-child .nicdark_first_font {
    color: var(--gs-ink);
    font-family: inherit;
}

.gs-ottbergen-child p,
.gs-ottbergen-child li {
    color: var(--gs-muted);
}

.gs-ottbergen-child a {
    color: var(--gs-mint-dark);
}

.gs-ottbergen-child img {
    max-width: 100%;
    height: auto;
}

/* ---------------------------------------------------------
   Baby Kids header: calmer, cleaner school-oriented styling
   --------------------------------------------------------- */
.gs-ottbergen-child .nicdark_custom_bg {
    background: linear-gradient(180deg, rgba(245, 239, 228, .98), rgba(240, 247, 244, .97)) !important;
    border-bottom: 1px solid rgba(171, 193, 186, .55);
    box-shadow: 0 10px 28px rgba(25, 47, 43, .07);
}

.gs-ottbergen-child .nicdark_custom_bg > .nicdark_clearfix {
    max-width: var(--gs-container);
    margin: 0 auto;
}


.gs-ottbergen-child .gs-nav-wrap {
    background: transparent !important;
}

.gs-ottbergen-child .gs-site-logo-link,
.gs-ottbergen-child .gs-mobile-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
}

.gs-ottbergen-child .nicdark_logo_section {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.gs-ottbergen-child .nicdark_logo_section img {
    width: auto !important;
    height: auto !important;
    max-width: 175px !important;
    max-height: 118px !important;
    object-fit: contain;
    filter: drop-shadow(0 2px 8px rgba(58, 73, 68, .06));
}

.gs-ottbergen-child .nicdark_blog_info_name {
    color: #355047 !important;
    font-size: 22px !important;
    letter-spacing: .02em !important;
}

.gs-ottbergen-child .nicdark_navigation_1 > div > ul > li > a,
.gs-ottbergen-child .nicdark_navigation_1 > ul > li > a {
    color: #334842 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;
    padding-top: 33px !important;
    padding-bottom: 33px !important;
}

.gs-ottbergen-child .nicdark_navigation_1 > div > ul > li > a:hover,
.gs-ottbergen-child .nicdark_navigation_1 > ul > li > a:hover,
.gs-ottbergen-child .nicdark_navigation_1 .current-menu-item > a,
.gs-ottbergen-child .nicdark_navigation_1 .current_page_item > a {
    color: var(--gs-mint-dark) !important;
}

.gs-ottbergen-child .nicdark_navigation_1 > div > ul > li.current-menu-item > a,
.gs-ottbergen-child .nicdark_navigation_1 > div > ul > li.current_page_item > a {
    text-decoration: underline;
    text-decoration-color: rgba(46,159,135,.55);
    text-underline-offset: 8px;
}


/* ---------------------------------------------------------
   HotInfo – pure CSS, no jQuery / no slider / no plugin
   --------------------------------------------------------- */
.gs-hotinfo {
    position: relative;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999;
    align-items: stretch;
    min-height: 44px;
    overflow: hidden;
    background: #fff7e5 !important;
    border-top: 1px solid rgba(242, 181, 68, .45);
    border-bottom: 1px solid rgba(242, 181, 68, .55);
    color: var(--gs-warning-ink);
}

.gs-hotinfo__label {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 0 18px;
    background: var(--gs-warning) !important;
    color: var(--gs-warning-ink);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    white-space: nowrap;
}

.gs-hotinfo__viewport {
    position: relative;
    flex: 1;
    overflow: hidden;
    min-width: 0;
}

.gs-hotinfo__track {
    display: inline-block;
    min-width: 100%;
    padding-left: 55%;
    white-space: nowrap;
    box-sizing: content-box;
    animation: gs-hotinfo-marquee 16s linear infinite;
    will-change: transform;
}

.gs-hotinfo__track:hover,
.gs-hotinfo__track:focus-within {
    animation-play-state: paused;
}

.gs-hotinfo__text,
.gs-hotinfo__text:visited {
    display: inline-block;
    padding: 10px 42px 10px 0;
    color: var(--gs-warning-ink) !important;
    font-size: 15px;
    font-weight: 650;
    text-decoration: none;
}

.gs-hotinfo__text:hover,
.gs-hotinfo__text:focus {
    text-decoration: underline;
}

@keyframes gs-hotinfo-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}

/* ---------------------------------------------------------
   Static homepage hero
   --------------------------------------------------------- */
.gs-home-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-start;
    min-height: clamp(390px, 62vh, 650px);
    overflow: hidden;
    background-color: #385c54;
    background-image: linear-gradient(135deg, #385c54, #6ecdb7);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.gs-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        180deg,
        rgba(14, 27, 24, .03) 20%,
        rgba(14, 27, 24, .18) 55%,
        rgba(14, 27, 24, .72) 100%
    );
}

.gs-home-hero__inner {
    width: min(calc(100% - 40px), var(--gs-container));
    margin: 0 auto;
    padding: 34px 0 64px;
}

.gs-home-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    background: rgba(20, 37, 33, .28);
    color: #fff !important;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(5px);
}

.gs-home-hero__title {
    display: inline-block;
    max-width: 620px;
    margin: 0;
    padding: 10px 16px 12px;
    color: #f5efe2 !important;
    background: linear-gradient(90deg, rgba(27, 39, 35, .28), rgba(27, 39, 35, .10));
    border-radius: 14px;
    font-family: inherit !important;
    font-size: clamp(26px, 3.6vw, 44px) !important;
    font-weight: 740 !important;
    line-height: 1.1 !important;
    letter-spacing: -.02em !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
    text-shadow: 0 2px 10px rgba(0,0,0,.22);
    backdrop-filter: blur(2px);
}

.gs-home-hero__subtitle {
    display: inline-block;
    max-width: 680px;
    margin: 14px 0 0;
    padding: 8px 14px 10px;
    color: rgba(248,243,235,.96) !important;
    background: linear-gradient(90deg, rgba(27, 39, 35, .26), rgba(27, 39, 35, .10));
    border-radius: 12px;
    font-size: clamp(16px, 2vw, 21px);
    font-weight: 430;
    line-height: 1.45;
    text-shadow: 0 2px 10px rgba(0,0,0,.22);
    backdrop-filter: blur(2px);
}

@media (max-width: 768px) {
    .gs-home-hero__title {
        max-width: min(84vw, 340px);
        padding: 9px 13px 11px;
        font-size: clamp(24px, 7vw, 34px) !important;
    }

    .gs-home-hero__subtitle {
        max-width: 100%;
        padding: 7px 12px 9px;
    }
}

/* ---------------------------------------------------------
   Homepage content
   --------------------------------------------------------- */
.gs-home-main {
    background: linear-gradient(180deg, #f4efe5 0%, #f2f6f2 100%);
    border-top: 1px solid rgba(192, 205, 198, .42);
}

.gs-home-content {
    width: min(calc(100% - 40px), var(--gs-container));
    margin: 0 auto;
    padding: 68px 0 82px;
}

.gs-home-content__article {
    padding: 28px 34px 34px;
    border: 1px solid rgba(189, 205, 197, .40);
    border-radius: 22px;
    background: rgba(255,255,255,.28);
    box-shadow: 0 16px 36px rgba(31, 55, 50, .05);
    backdrop-filter: blur(2px);
}

.gs-home-content__title {
    margin: 0 0 30px;
    color: #355047 !important;
    font-size: clamp(30px, 4vw, 44px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.gs-home-content .wp-block-image img,
.gs-home-content .vc_single_image-wrapper img,
.gs-home-content .aligncenter,
.gs-home-content img.size-full {
    border-radius: 14px;
}

.gs-home-content p {
    max-width: 900px;
    color: #51635e;
}

.gs-home-content a:not(.vc_btn3):not(.wp-element-button) {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* Existing Baby Kids page/footer polish. */
.gs-ottbergen-child .nicdark_container_page_php {
    font-family: inherit;
}

.gs-ottbergen-child footer,
.gs-ottbergen-child .nicdark_bg_black {
    background: #26332f !important;
}

.gs-ottbergen-child .nicdark_bg_black p,
.gs-ottbergen-child .nicdark_bg_black a {
    color: rgba(255,255,255,.9) !important;
}

/* Desktop: make navigation use the space of the optional theme button if it is hidden by theme settings. */
@media only screen and (min-width: 1200px) {
    .gs-ottbergen-child .nicdark_custom_bg > .nicdark_clearfix {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}

@media only screen and (max-width: 1199px) {
    .gs-ottbergen-child .nicdark_logo_section img {
        max-height: 74px;
    }

    .gs-home-hero {
        min-height: 480px;
    }
}

@media only screen and (max-width: 767px) {
    body.gs-ottbergen-child {
        font-size: 16px;
    }

    .gs-hotinfo {
        min-height: 40px;
    }

    .gs-hotinfo__label {
        padding: 0 10px;
        font-size: 11px;
    }

    .gs-hotinfo__text {
        padding-top: 8px;
        padding-bottom: 8px;
        font-size: 14px;
    }

    .gs-home-hero {
        min-height: 410px;
        background-position: center center;
    }

    .gs-home-hero__inner,
    .gs-home-content {
        width: min(calc(100% - 28px), var(--gs-container));
    }

    .gs-home-hero__inner {
        padding: 26px 0 42px;
    }

    .gs-home-content {
        padding-top: 48px;
        padding-bottom: 58px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gs-hotinfo__track {
        padding-left: 0;
        white-space: normal;
        animation: none;
        transform: none;
    }

    .gs-hotinfo__text {
        padding-left: 16px;
    }
}


/* Local-test hardening: HotInfo must stay visible even with aggressive parent styles. */
.gs-ottbergen-child .gs-hotinfo { width: 100% !important; clear: both !important; }
.gs-ottbergen-child .gs-hotinfo__viewport { display: block !important; }
.gs-ottbergen-child .gs-hotinfo__track { visibility: visible !important; opacity: 1 !important; }

@media (max-width: 767px) {
    .gs-hotinfo__label { padding: 0 12px; font-size: 11px; }
    .gs-hotinfo__track {
        padding-left: 30%;
        animation-duration: 14s;
    }
    .gs-hotinfo__text { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .gs-hotinfo__track {
        animation: none;
        padding-left: 16px;
        min-width: 0;
    }
}


/* =========================================================
   1.0.5 — header cleanup requested for Grundschule Ottbergen
   Plain black contact bar + more room for logo and menu.
   ========================================================= */
.gs-contactbar {
    width: 100%;
    background: #161a1b;
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.2;
}

.gs-contactbar__inner {
    width: min(calc(100% - 40px), var(--gs-container));
    min-height: 34px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.gs-contactbar__item,
.gs-contactbar__item:visited,
.gs-contactbar__item:hover,
.gs-contactbar__item:focus {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff !important;
    text-decoration: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

.gs-contactbar__icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .92;
}

.gs-contactbar__item:hover .gs-contactbar__icon,
.gs-contactbar__item:focus .gs-contactbar__icon {
    opacity: 1;
}

/* Phone and e-mail deliberately use exactly the same typography. */
.gs-contactbar__inner > .gs-contactbar__item:first-child,
.gs-contactbar__inner > .gs-contactbar__item:last-child {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

.gs-main-header {
    position: relative;
    z-index: 1000;
}

.gs-ottbergen-child .gs-main-header__inner {
    width: min(calc(100% - 40px), var(--gs-container));
    min-height: 92px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    clear: both;
}

.gs-ottbergen-child .gs-logo-wrap {
    width: 18% !important;
    flex: 0 0 18%;
    min-width: 150px;
    float: none !important;
    box-sizing: border-box;
    padding: 8px 10px 8px 0 !important;
}

.gs-ottbergen-child .gs-nav-wrap {
    width: 82% !important;
    flex: 1 1 auto;
    float: none !important;
    box-sizing: border-box;
    padding: 0 !important;
}

.gs-ottbergen-child .gs-logo-link {
    display: inline-flex;
    align-items: center;
    min-height: 76px;
}

.gs-ottbergen-child .gs-site-logo {
    display: block;
    width: auto !important;
    max-width: 150px !important;
    max-height: 76px !important;
    object-fit: contain;
}

.gs-ottbergen-child .nicdark_blog_info_name {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

.gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 {
    padding: 0 0 0 18px !important;
}

.gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul {
    text-align: right !important;
    white-space: nowrap;
}

.gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul > li {
    padding: 0 !important;
}

.gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul > li:after {
    margin: 0 10px !important;
}

.gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul > li > a {
    display: inline-block;
    padding: 34px 0 !important;
    font-size: 14px !important;
    line-height: 24px !important;
}

/* HotInfo is a separate row below the full-height header. */
.gs-ottbergen-child .gs-hotinfo {
    position: relative !important;
    z-index: 900 !important;
    clear: both !important;
    margin: 0 !important;
}

.gs-mobile-menu-toggle {
    display: none !important;
    text-align: right;
}

.gs-mobile-menu-button,
.gs-mobile-menu-button:visited,
.gs-mobile-menu-button:hover,
.gs-mobile-menu-button:focus {
    color: #334842 !important;
    text-decoration: none !important;
}

.gs-mobile-menu-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 52px;
    min-height: 44px;
    box-sizing: border-box;
    border: 1px solid rgba(67, 102, 91, .18);
    border-radius: 10px;
    background: rgba(255,255,255,.30);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
}

.gs-mobile-menu-icon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 22px;
    height: 18px;
}

.gs-mobile-menu-icon span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: #355047;
}

.gs-mobile-menu-label {
    display: inline-block;
}

.gs-mobile-site-logo {
    display: block;
    max-width: 180px;
    max-height: 80px;
    width: auto;
    height: auto;
    margin: 0 auto;
}

@media only screen and (max-width: 1349px) {
    .gs-ottbergen-child .gs-main-header__inner {
        min-height: 86px;
    }

    .gs-ottbergen-child .gs-logo-wrap {
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
    }

    .gs-ottbergen-child .gs-nav-wrap {
        flex: 0 0 60px;
        width: 60px !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 {
        display: none !important;
    }

    .gs-ottbergen-child .gs-mobile-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        padding: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .gs-ottbergen-child .gs-mobile-menu-toggle .nicdark_open_navigation_1_sidebar_content {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: 10px 12px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 99999 !important;
    }
}

@media (max-width: 640px) {
    .gs-contactbar__inner {
        width: calc(100% - 28px);
        min-height: 42px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 2px;
        padding: 6px 0;
        box-sizing: border-box;
    }

    .gs-ottbergen-child .gs-main-header__inner {
        width: calc(100% - 28px);
    }

    .gs-ottbergen-child .gs-site-logo {
        max-height: 68px !important;
    }
}

/* 1.0.6 — removed the small "Grundschule" eyebrow from the homepage hero. */


/* =========================================================
   1.0.8 — homepage content refresh below the hero
   Cleaner typography and stronger contrast for the old content.
   ========================================================= */
.gs-ottbergen-child .gs-home-main {
    background: #f6f8f7 !important;
    border-top: 1px solid #e7eeeb;
}

.gs-ottbergen-child .gs-home-content {
    width: min(calc(100% - 40px), 1080px);
    padding: 72px 0 92px;
}

.gs-ottbergen-child .gs-home-content__title {
    position: relative;
    margin: 0 0 38px !important;
    padding: 0 0 18px !important;
    color: #1f2c29 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 4.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

.gs-ottbergen-child .gs-home-content__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72px;
    height: 4px;
    border-radius: 999px;
    background: var(--gs-mint-dark);
}

.gs-ottbergen-child .gs-home-content__article,
.gs-ottbergen-child .gs-home-content__article .wpb_wrapper,
.gs-ottbergen-child .gs-home-content__article .wpb_text_column,
.gs-ottbergen-child .gs-home-content__article .vc_column-inner {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

.gs-ottbergen-child .gs-home-content__article p,
.gs-ottbergen-child .gs-home-content__article li,
.gs-ottbergen-child .gs-home-content__article span:not(.vc_btn3-icon) {
    color: #40504c !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
}

.gs-ottbergen-child .gs-home-content__article p {
    max-width: 920px;
    margin-top: 0;
    margin-bottom: 18px;
}

/* Give the opening paragraph a little more presence without changing its text. */
.gs-ottbergen-child .gs-home-content__article > p:first-of-type,
.gs-ottbergen-child .gs-home-content__article .wpb_text_column:first-child p:first-of-type {
    color: #273633 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
}

.gs-ottbergen-child .gs-home-content__article strong,
.gs-ottbergen-child .gs-home-content__article b {
    color: #263431 !important;
    font-weight: 700 !important;
}

.gs-ottbergen-child .gs-home-content__article a:not(.vc_btn3):not(.wp-element-button) {
    color: #238e77 !important;
    font-weight: 600;
    text-decoration-color: rgba(35, 142, 119, .35);
    text-underline-offset: 3px;
}

/* Old WPBakery rows often carry narrow or pale theme defaults. */
.gs-ottbergen-child .gs-home-content__article .vc_row,
.gs-ottbergen-child .gs-home-content__article .wpb_row {
    margin-bottom: 18px;
}

.gs-ottbergen-child .gs-home-content__article .wpb_content_element {
    margin-bottom: 22px;
}

/* Make the existing staff/school photos feel intentional instead of pasted in. */
.gs-ottbergen-child .gs-home-content__article img,
.gs-ottbergen-child .gs-home-content__article .vc_single_image-wrapper img,
.gs-ottbergen-child .gs-home-content__article .wp-block-image img {
    display: block;
    width: auto;
    max-width: min(100%, 820px) !important;
    height: auto;
    margin: 34px auto 38px !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 46px rgba(31, 55, 50, .14);
}

.gs-ottbergen-child .gs-home-content__article figure {
    max-width: 820px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.gs-ottbergen-child .gs-home-content__article figcaption,
.gs-ottbergen-child .gs-home-content__article .wp-caption-text {
    margin-top: -24px;
    color: #72807c !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .gs-ottbergen-child .gs-home-content {
        width: min(calc(100% - 28px), 1080px);
        padding: 50px 0 64px;
    }

    .gs-ottbergen-child .gs-home-content__title {
        margin-bottom: 28px !important;
        font-size: 38px !important;
    }

    .gs-ottbergen-child .gs-home-content__article p,
    .gs-ottbergen-child .gs-home-content__article li,
    .gs-ottbergen-child .gs-home-content__article span:not(.vc_btn3-icon) {
        font-size: 17px !important;
        line-height: 1.7 !important;
    }

    .gs-ottbergen-child .gs-home-content__article img,
    .gs-ottbergen-child .gs-home-content__article .vc_single_image-wrapper img,
    .gs-ottbergen-child .gs-home-content__article .wp-block-image img {
        margin: 26px auto 30px !important;
        border-radius: 14px !important;
    }
}


/* =========================================================
   1.0.10 — brighter copyright/footer text
   Keep the dark footer, but make the school name as crisp and
   readable as the white phone/e-mail text in the top contact bar.
   ========================================================= */
.gs-ottbergen-child .nicdark_bg_black .nicdark_color_white,
.gs-ottbergen-child .nicdark_bg_black p.nicdark_color_white,
.gs-ottbergen-child .nicdark_bg_black p.nicdark_color_white a {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 500 !important;
    text-shadow: none !important;
}


/* ---------------------------------------------------------
   1.0.11 — desktop dropdown menu: stronger colour + readability
   --------------------------------------------------------- */
@media only screen and (min-width: 1350px) {
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul > li > a {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 650 !important;
        letter-spacing: .015em !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children {
        width: 235px !important;
        margin-left: -18px !important;
        padding: 8px 0 !important;
        background: #2e8f7d !important;
        border: 1px solid rgba(24, 86, 74, .18) !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 16px 34px rgba(24, 56, 50, .22) !important;
        overflow: hidden !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border-bottom: 1px solid rgba(255,255,255,.16) !important;
        box-shadow: none !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li:last-child,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li:last-child {
        border-bottom: 0 !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu li > a,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children li > a {
        display: block !important;
        padding: 12px 18px !important;
        color: #ffffff !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 650 !important;
        line-height: 1.35 !important;
        letter-spacing: .01em !important;
        text-transform: none !important;
        text-shadow: none !important;
        transition: background-color .18s ease, padding-left .18s ease !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li:hover,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li:hover,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li:focus-within,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li:focus-within {
        background: #256f62 !important;
    }

    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li:hover > a,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li:hover > a,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu > li:focus-within > a,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children > li:focus-within > a {
        color: #ffffff !important;
        padding-left: 22px !important;
    }

    /* Nested dropdowns keep the same school palette. */
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.sub-menu li > ul.sub-menu,
    .gs-ottbergen-child .gs-nav-wrap .nicdark_navigation_1 div > ul li > ul.children li > ul.children {
        margin-left: 214px !important;
        top: -8px !important;
        padding-top: 8px !important;
        border-radius: 12px !important;
    }
}


/* =========================================================
   1.0.12 — cleaner information architecture
   Contact is shown as a top-level menu item; legal pages live
   in the footer, where users expect to find them.
   ========================================================= */
.gs-ottbergen-child .gs-footer {
    padding: 4px 0;
}

.gs-ottbergen-child .gs-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 22px;
    padding: 12px 16px;
}

.gs-ottbergen-child .gs-footer__copyright {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

.gs-ottbergen-child .gs-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
}

.gs-ottbergen-child .gs-footer__legal a,
.gs-ottbergen-child .gs-footer__legal a:visited {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    opacity: .88 !important;
    transition: opacity .18s ease, color .18s ease;
}

.gs-ottbergen-child .gs-footer__legal a:hover,
.gs-ottbergen-child .gs-footer__legal a:focus {
    color: #8be5d0 !important;
    opacity: 1 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

@media only screen and (max-width: 767px) {
    .gs-ottbergen-child .gs-footer__inner {
        flex-direction: column;
        gap: 6px;
        padding: 14px 18px;
    }

    .gs-ottbergen-child .gs-footer__copyright,
    .gs-ottbergen-child .gs-footer__legal a {
        font-size: 13px !important;
    }
}


@media (max-width: 768px) {
    .gs-ottbergen-child .nicdark_custom_bg {
        background: linear-gradient(180deg, rgba(244, 238, 228, .99), rgba(239, 245, 241, .98)) !important;
    }

    .gs-ottbergen-child .gs-site-logo-link,
    .gs-ottbergen-child .gs-mobile-logo-link {
        min-height: 82px;
    }
}


@media (max-width: 768px) {
    .gs-home-main {
        background: linear-gradient(180deg, #f4efe5 0%, #f3f6f3 100%);
    }

    .gs-home-content__article {
        padding: 20px 18px 24px;
        border-radius: 18px;
    }
}


@media (max-width: 767px) {
    .gs-contactbar__item,
    .gs-contactbar__item:visited,
    .gs-contactbar__item:hover,
    .gs-contactbar__item:focus,
    .gs-contactbar__inner > .gs-contactbar__item:first-child,
    .gs-contactbar__inner > .gs-contactbar__item:last-child {
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }
}


/* 1.0.18 — robust responsive navigation */
@media only screen and (max-width: 420px) {
    .gs-mobile-menu-label {
        display: none !important;
    }

    .gs-mobile-menu-button {
        min-width: 46px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

body.gs-menu-open {
    overflow: hidden;
}


/* =========================================================
   1.0.23 — standard subpages (Kontakt, Schule, etc.)
   Warmer page background, clearer typography and calmer cards.
   Homepage is intentionally excluded.
   ========================================================= */
body.gs-ottbergen-child.page:not(.home) {
    background: linear-gradient(180deg, #f3ede3 0%, #f2f6f2 58%, #eef4f1 100%);
}

/* Page title area generated by Baby Kids page.php. */
body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #eee3d2 0%, #eaf2ed 58%, #dfeee8 100%) !important;
    border-bottom: 1px solid rgba(154, 181, 171, .48) !important;
}

body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 25px;
    width: 54px;
    height: 3px;
    border-radius: 999px;
    background: var(--gs-mint);
    transform: translateX(-50%);
    opacity: .95;
}

body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey .nicdark_height_80 {
    height: 48px !important;
}

body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey h1 {
    margin: 0 !important;
    color: #355047 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: clamp(36px, 4.2vw, 50px) !important;
    font-weight: 760 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
    text-shadow: none !important;
}

/* Reduce the large empty gap below the old theme title strip. */
body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_height_50 {
    height: 34px !important;
}

/* Main content card. */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php {
    box-sizing: border-box;
    padding: clamp(24px, 3vw, 42px) !important;
    border: 1px solid rgba(174, 194, 185, .52);
    border-radius: 22px;
    background: rgba(255, 253, 248, .72);
    box-shadow: 0 16px 38px rgba(38, 67, 59, .07);
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php p,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php li,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php td,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php th,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php label {
    color: #33423f !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.78 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php p {
    margin-bottom: 1.15em;
}

/* Give short information pages (especially Kontakt/Anschrift) more presence. */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php > p:first-of-type,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .entry-content > p:first-of-type,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_text_column:first-child p:first-of-type {
    color: #293733 !important;
    font-size: 19px !important;
    line-height: 1.82 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h2,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h3,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h4 {
    color: #24312f !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 720 !important;
    letter-spacing: -.015em !important;
    line-height: 1.25 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button),
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button):visited {
    color: #1e5f53 !important;
    font-weight: 650 !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button):hover,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button):focus {
    color: #154a40 !important;
}

/* Images on internal pages get the same visual language as the homepage. */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php img {
    border-radius: 14px;
}

/* Common contact/form controls, including Contact Form 7 and generic forms. */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="text"],
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="email"],
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="tel"],
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="url"],
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php select,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #c8d7d1 !important;
    border-radius: 10px;
    background: rgba(255,255,255,.88) !important;
    color: #344a43 !important;
    font: inherit !important;
    box-shadow: inset 0 1px 2px rgba(35, 49, 47, .025);
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input:focus,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php select:focus,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php textarea:focus {
    outline: none;
    border-color: var(--gs-mint-dark) !important;
    box-shadow: 0 0 0 3px rgba(46, 159, 135, .12);
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="submit"],
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php button,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpcf7-submit {
    border: 0 !important;
    border-radius: 999px !important;
    padding: 11px 22px !important;
    background: #2e8f7d !important;
    color: #fff !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php input[type="submit"]:hover,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php button:hover,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpcf7-submit:hover {
    background: #267565 !important;
}

@media (max-width: 767px) {
    body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey .nicdark_height_80 {
        height: 34px !important;
    }

    body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey::after {
        bottom: 17px;
    }

    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php {
        padding: 22px 18px !important;
        border-radius: 18px;
    }

    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php p,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php li,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php td,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php th,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php label {
        font-size: 17px !important;
        line-height: 1.72 !important;
    }

    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php > p:first-of-type,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .entry-content > p:first-of-type,
    body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_text_column:first-child p:first-of-type {
        font-size: 18px !important;
    }
}


/* =========================================================
   1.0.27 — tighter content flow for simple information pages
   Reduces legacy WPBakery spacer blocks and improves schedules/
   timetable-like content on internal pages such as Unterrichtszeiten.
   ========================================================= */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .vc_empty_space,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_empty_space {
    display: none !important;
    height: 0 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .vc_row,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_row {
    margin-bottom: 12px !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_content_element,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_text_column {
    margin-bottom: 14px !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h2:first-child,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h3:first-child,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_text_column:first-child h2:first-child,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php .wpb_text_column:first-child h3:first-child {
    margin-top: 0 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php ul,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php ol {
    margin: 0 0 1.1em 1.2em;
    padding: 0;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php li {
    margin-bottom: .45em;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0 20px;
    background: rgba(255,255,255,.36);
    border: 1px solid rgba(176, 194, 186, .48);
    border-radius: 14px;
    overflow: hidden;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php th,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(176, 194, 186, .34);
    text-align: left;
    vertical-align: top;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   1.0.29 — unify contrast inside legacy WPBakery page content
   Some old pages carry their own pale inline/theme colours. These
   selectors deliberately override them so headings and opening text
   are at least as readable as the lower body copy.
   ========================================================= */
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper p,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper li,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper span:not(.vc_btn3-icon),
body.gs-ottbergen-child.page:not(.home) .vc_column-inner,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner p,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner li,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner span:not(.vc_btn3-icon) {
    color: #33423f !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h1,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h2,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h3,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h4,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h1,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h2,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h3,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h4 {
    color: #24312f !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Old Baby Kids utility classes and inline pale colours inside page content. */
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper .nicdark_color_grey,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper .nicdark_color_greydark,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper [style*="color"],
body.gs-ottbergen-child.page:not(.home) .vc_column-inner .nicdark_color_grey,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner .nicdark_color_greydark,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner [style*="color"] {
    color: #33423f !important;
    opacity: 1 !important;
}

body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h1[style*="color"],
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h2[style*="color"],
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h3[style*="color"],
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h1[style*="color"],
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h2[style*="color"],
body.gs-ottbergen-child.page:not(.home) .vc_column-inner h3[style*="color"] {
    color: #24312f !important;
}


/* =========================================================
   1.0.30 — stronger, uniform contrast on legacy subpages
   Forces old inline/theme pale text to the same readable tone,
   including the page title and nested WPBakery text wrappers.
   ========================================================= */
body.gs-ottbergen-child.page:not(.home) > .nicdark_section.nicdark_border_bottom_1_solid_grey h1 {
    color: #202b28 !important;
    opacity: 1 !important;
    font-weight: 760 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php p,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php li,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php td,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php th,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php label,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php span:not(.vc_btn3-icon),
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php div:not(.vc_btn3),
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper p,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper li,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper span:not(.vc_btn3-icon),
body.gs-ottbergen-child.page:not(.home) .vc_column-inner p,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner li,
body.gs-ottbergen-child.page:not(.home) .vc_column-inner span:not(.vc_btn3-icon) {
    color: #293532 !important;
    opacity: 1 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h1,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h2,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h3,
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php h4,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h1,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h2,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h3,
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper h4 {
    color: #202b28 !important;
    opacity: 1 !important;
}

/* Neutralise legacy pale inline colours/opacity without touching buttons. */
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php [style*="color"]:not(.vc_btn3),
body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php [style*="opacity"]:not(.vc_btn3),
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper [style*="color"]:not(.vc_btn3),
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper [style*="opacity"]:not(.vc_btn3) {
    color: #293532 !important;
    opacity: 1 !important;
}

body.gs-ottbergen-child.page:not(.home) .nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button),
body.gs-ottbergen-child.page:not(.home) .wpb_wrapper a:not(.vc_btn3):not(.wp-element-button) {
    color: #185a4d !important;
    opacity: 1 !important;
}


/* =========================================================
   1.0.31 — robust legacy-page typography override
   Some old content is not rendered with the normal WordPress `page`
   body class, so earlier selectors could miss it. Target the Baby Kids
   content container directly, independent of post type / page template.
   ========================================================= */
.nicdark_container_page_php,
.nicdark_container_page_php p,
.nicdark_container_page_php li,
.nicdark_container_page_php td,
.nicdark_container_page_php th,
.nicdark_container_page_php label,
.nicdark_container_page_php blockquote,
.nicdark_container_page_php span:not(.vc_btn3-icon) {
    color: #26332f !important;
    opacity: 1 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

.nicdark_container_page_php h1,
.nicdark_container_page_php h2,
.nicdark_container_page_php h3,
.nicdark_container_page_php h4,
.nicdark_container_page_php h5,
.nicdark_container_page_php h6,
.nicdark_section.nicdark_border_bottom_1_solid_grey h1 {
    color: #1f2b28 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Beat legacy inline pale colours used by the old theme / WPBakery. */
.nicdark_container_page_php [style*="color"]:not(.vc_btn3),
.nicdark_container_page_php [style*="opacity"]:not(.vc_btn3),
.nicdark_container_page_php .nicdark_color_grey,
.nicdark_container_page_php .nicdark_color_greydark,
.nicdark_container_page_php .wpb_wrapper,
.nicdark_container_page_php .wpb_wrapper p,
.nicdark_container_page_php .wpb_wrapper li,
.nicdark_container_page_php .wpb_wrapper span:not(.vc_btn3-icon) {
    color: #26332f !important;
    opacity: 1 !important;
}

.nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button),
.nicdark_container_page_php a:not(.vc_btn3):not(.wp-element-button):visited {
    color: #185a4d !important;
    opacity: 1 !important;
    font-weight: 650 !important;
}

/* The same direct targeting also catches old WPBakery spacer blocks. */
.nicdark_container_page_php .vc_empty_space,
.nicdark_container_page_php .wpb_empty_space {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   1.0.36 — WPBakery-safe page wrapper
   Preserve BabyKids' direct-builder behaviour, but provide the same
   predictable content container used by our typography rules.
   No sidebar and no extra theme-generated page title are added.
   ========================================================= */
.gs-builder-page {
    min-height: 42vh;
    padding: clamp(34px, 4vw, 58px) 20px clamp(46px, 5vw, 72px);
    background: linear-gradient(180deg, #f3ede3 0%, #f2f6f2 58%, #eef4f1 100%);
}

.gs-builder-page__outer {
    width: min(100%, 1080px);
    margin: 0 auto;
}

.gs-builder-page .nicdark_container_page_php {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.gs-builder-page .nicdark_container_page_php .vc_row,
.gs-builder-page .nicdark_container_page_php .wpb_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.gs-builder-page .nicdark_container_page_php .vc_row.vc_row-o-full-height,
.gs-builder-page .nicdark_container_page_php .wpb_row.vc_row-o-full-height {
    min-height: 0 !important;
}

.gs-builder-page .nicdark_container_page_php .vc_empty_space,
.gs-builder-page .nicdark_container_page_php .wpb_empty_space {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gs-builder-page .nicdark_container_page_php p,
.gs-builder-page .nicdark_container_page_php li,
.gs-builder-page .nicdark_container_page_php td,
.gs-builder-page .nicdark_container_page_php th,
.gs-builder-page .nicdark_container_page_php label,
.gs-builder-page .nicdark_container_page_php span:not(.vc_btn3-icon) {
    color: #26332f !important;
    opacity: 1 !important;
    -webkit-text-fill-color: currentColor !important;
}

.gs-builder-page .nicdark_container_page_php h1,
.gs-builder-page .nicdark_container_page_php h2,
.gs-builder-page .nicdark_container_page_php h3,
.gs-builder-page .nicdark_container_page_php h4,
.gs-builder-page .nicdark_container_page_php h5,
.gs-builder-page .nicdark_container_page_php h6 {
    color: #1f2b28 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: currentColor !important;
}

@media (max-width: 767px) {
    .gs-builder-page {
        padding: 26px 14px 44px;
    }
}


/* =========================================================
   1.0.37 — more breathing room below the header
   Internal WPBakery pages should not visually touch the header.
   ========================================================= */
.gs-builder-page {
    padding-top: clamp(64px, 6vw, 86px) !important;
}

.gs-builder-page .nicdark_container_page_php > *:first-child,
.gs-builder-page .nicdark_container_page_php .wpb_wrapper > *:first-child {
    margin-top: 0 !important;
}

.gs-builder-page .nicdark_container_page_php h1:first-child,
.gs-builder-page .nicdark_container_page_php h2:first-child,
.gs-builder-page .nicdark_container_page_php h3:first-child {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

@media (max-width: 767px) {
    .gs-builder-page {
        padding-top: 42px !important;
    }

    .gs-builder-page .nicdark_container_page_php h1:first-child,
    .gs-builder-page .nicdark_container_page_php h2:first-child,
    .gs-builder-page .nicdark_container_page_php h3:first-child {
        margin-bottom: 22px !important;
    }
}


/* =========================================================
   1.0.38 — hard separation between header and WPBakery content
   This spacer lives in page.php, outside WPBakery, so legacy rows,
   negative margins or builder styles cannot collapse it.
   ========================================================= */
.gs-builder-page-spacer {
    display: block !important;
    width: 100% !important;
    height: clamp(54px, 5vw, 76px) !important;
    min-height: 54px !important;
    clear: both !important;
    background: linear-gradient(180deg, #f3ede3 0%, #f2f6f2 100%);
}

.gs-builder-page {
    padding-top: 0 !important;
}

@media (max-width: 767px) {
    .gs-builder-page-spacer {
        height: 38px !important;
        min-height: 38px !important;
    }

    .gs-builder-page {
        padding-top: 0 !important;
    }
}


/* =========================================================
   1.0.39 — compact typography on the Kontakt/Anschrift page
   Keep the clearer contrast, but make the short contact card less dominant.
   ========================================================= */
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php p,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php li,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php td,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php th,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php label,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php span:not(.vc_btn3-icon) {
    font-size: 16px !important;
    line-height: 1.62 !important;
}

body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php > p:first-of-type,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php .entry-content > p:first-of-type,
body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php .wpb_text_column:first-child p:first-of-type {
    font-size: 17px !important;
    line-height: 1.65 !important;
}

@media (max-width: 767px) {
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php p,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php li,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php td,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php th,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php label,
    body.gs-page-anschrift .gs-builder-page .nicdark_container_page_php span:not(.vc_btn3-icon) {
        font-size: 15.5px !important;
        line-height: 1.6 !important;
    }
}


/* =========================================================
   1.0.40 — symmetrical breathing room around internal page cards
   The visible content card now gets the same hard separation from
   the small strip/header above and from the footer below.
   ========================================================= */

/* The hard spacers are outside WPBakery, so legacy builder margins
   cannot collapse or cancel them. */
.gs-builder-page-spacer,
.gs-builder-page-spacer--bottom {
    display: block !important;
    width: 100% !important;
    height: clamp(72px, 6vw, 92px) !important;
    min-height: 72px !important;
    clear: both !important;
    background: linear-gradient(180deg, #f3ede3 0%, #f2f6f2 100%);
}

/* Let the two physical spacers control vertical spacing exactly.
   Keep only the horizontal page gutter here. */
.gs-builder-page {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* The lower spacer continues the page background smoothly. */
.gs-builder-page-spacer--bottom {
    background: linear-gradient(180deg, #f2f6f2 0%, #eef4f1 100%);
}

@media (max-width: 767px) {
    .gs-builder-page-spacer,
    .gs-builder-page-spacer--bottom {
        height: 44px !important;
        min-height: 44px !important;
    }
}


/* =========================================================
   1.0.41 — real symmetric gap around internal content cards
   Previous outer spacers only changed the strip around the page.
   These spacers sit directly before and after the content card,
   outside WPBakery, so the visual gap is guaranteed.
   ========================================================= */

/* Keep only the small transition strip directly below the header. */
.gs-builder-page-spacer:not(.gs-builder-page-spacer--bottom) {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    clear: both !important;
    background: linear-gradient(180deg, #f3ede3 0%, #f2f6f2 100%);
}

/* Old lower spacer is no longer used. */
.gs-builder-page-spacer--bottom {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* The actual visible breathing room around the card. */
.gs-builder-page__inner-gap {
    display: block !important;
    width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    flex: 0 0 68px !important;
    clear: both !important;
}

/* No extra vertical padding here — the physical inner gaps control it. */
.gs-builder-page {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Ensure the wrapper itself cannot collapse the physical gaps. */
.gs-builder-page__outer {
    display: block !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .gs-builder-page-spacer:not(.gs-builder-page-spacer--bottom) {
        height: 34px !important;
        min-height: 34px !important;
    }

    .gs-builder-page__inner-gap {
        height: 38px !important;
        min-height: 38px !important;
        flex-basis: 38px !important;
    }
}


/* =========================================================
   1.0.43 — homepage hero title as a bottom-left photo caption
   ========================================================= */
.gs-home-hero {
    align-items: flex-end !important;
}

.gs-home-hero__inner {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 22px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.gs-home-hero__title {
    margin: 0 !important;
}

@media (max-width: 768px) {
    .gs-home-hero__inner {
        width: 100% !important;
        padding: 0 14px 16px !important;
    }
}


/* =========================================================
   1.0.44 — subtle reduction of the homepage "Die Schule" title
   Exactly 1px smaller than the previous responsive size.
   ========================================================= */
.gs-ottbergen-child .gs-home-content__title {
    font-size: calc(clamp(38px, 4.2vw, 52px) - 1px) !important;
}

@media only screen and (max-width: 767px) {
    .gs-ottbergen-child .gs-home-content__title {
        font-size: 37px !important;
    }
}
\n\n/* =========================================================\n   1.0.45 — WPBakery font-weight fix\n   The old intro rule used font-weight:500 !important. On legacy pages\n   almost every separate WPBakery Text Block is its own “first paragraph”,\n   so normal editor text was being rendered medium/bold on the front end.\n   Keep visual defaults, but let WPBakery/inline formatting control weight.\n   ========================================================= */\n\n/* Normal running text. Deliberately NO !important here: an inline\n   font-weight selected in WPBakery must be allowed to win. */\n.gs-builder-page .nicdark_container_page_php p,\n.gs-builder-page .nicdark_container_page_php li,\n.gs-builder-page .nicdark_container_page_php td,\n.gs-builder-page .nicdark_container_page_php th,\n.gs-builder-page .nicdark_container_page_php label,\n.gs-builder-page .nicdark_container_page_php address {\n    font-weight: 400;\n}\n\n/* Ordinary spans inherit the paragraph/list weight. Inline styles from\n   WPBakery (e.g. 300/light or another explicit weight) remain authoritative. */\n.gs-builder-page .nicdark_container_page_php span:not(.vc_btn3-icon) {\n    font-weight: inherit;\n}\n\n/* Bold from the visual editor remains visibly bold. */\n.gs-builder-page .nicdark_container_page_php strong,\n.gs-builder-page .nicdark_container_page_php b {\n    font-weight: 700;\n}\n\n/* Headings keep a clear hierarchy by default, but their weight is no longer\n   locked with !important, so a WPBakery inline/custom weight can override it. */\n.gs-builder-page .nicdark_container_page_php h1,\n.gs-builder-page .nicdark_container_page_php h2,\n.gs-builder-page .nicdark_container_page_php h3,\n.gs-builder-page .nicdark_container_page_php h4,\n.gs-builder-page .nicdark_container_page_php h5,\n.gs-builder-page .nicdark_container_page_php h6 {\n    font-weight: 700;\n}\n

/* =========================================================
   1.0.46 — phone-only header / HotInfo / mobile-menu hardening
   Keep the ticker in one horizontal line and make the whole
   mobile navigation reliably scrollable down to "Kontakt".
   ========================================================= */
@media only screen and (max-width: 640px) {

    /* HotInfo must stay BELOW the header and remain one compact row. */
    .gs-ottbergen-child .gs-hotinfo {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        min-height: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        clear: both !important;
        overflow: hidden !important;
        z-index: 900 !important;
    }

    .gs-ottbergen-child .gs-hotinfo__label {
        position: relative !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 36px !important;
        padding: 0 9px !important;
        font-size: 10px !important;
        line-height: 36px !important;
        letter-spacing: .055em !important;
        white-space: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .gs-ottbergen-child .gs-hotinfo__viewport {
        position: relative !important;
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 36px !important;
        overflow: hidden !important;
    }

    .gs-ottbergen-child .gs-hotinfo__track {
        display: inline-block !important;
        min-width: 100% !important;
        padding-left: 42% !important;
        white-space: nowrap !important;
        animation-duration: 14s !important;
        vertical-align: top !important;
    }

    .gs-ottbergen-child .gs-hotinfo__text,
    .gs-ottbergen-child .gs-hotinfo__text:visited {
        display: inline-block !important;
        padding: 6px 34px 6px 0 !important;
        font-size: 13px !important;
        line-height: 24px !important;
        white-space: nowrap !important;
    }

    /* Mobile drawer: use the real viewport height and preserve a bottom
       safe area so the final "Kontakt" line can always be reached. */
    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content {
        top: 0 !important;
        bottom: auto !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        padding-top: 112px !important;
        padding-right: 26px !important;
        padding-bottom: calc(54px + env(safe-area-inset-bottom)) !important;
        padding-left: 26px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        box-sizing: border-box !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar {
        display: block !important;
        min-height: min-content !important;
        padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar ul {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar li:last-child,
    .gs-ottbergen-child .nicdark_navigation_1_sidebar li:last-child > a {
        margin-bottom: 0 !important;
    }

    /* Keep the drawer's logo/close header attached to the drawer itself,
       not to the page behind it. */
    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content > .nicdark_bg_orange {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        margin-left: 0 !important;
        width: 300px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media only screen and (max-width: 360px) {
    .gs-ottbergen-child .gs-hotinfo__label {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 9px !important;
        letter-spacing: .035em !important;
    }

    .gs-ottbergen-child .gs-hotinfo__track {
        padding-left: 34% !important;
    }

    .gs-ottbergen-child .gs-hotinfo__text,
    .gs-ottbergen-child .gs-hotinfo__text:visited {
        font-size: 12px !important;
    }
}


/* =========================================================
   1.0.47 — real-phone navigation correction
   Wider drawer opens further to the left, menu is more compact,
   and the old orange/brown top rectangle is visually removed.
   Rules start at 900px so physical phones with unusual viewport
   reporting are covered as well.
   ========================================================= */
@media only screen and (max-width: 900px) {

    /* Move the hamburger slightly away from the right edge. */
    .gs-ottbergen-child .gs-mobile-menu-toggle {
        padding-right: 8px !important;
    }

    .gs-ottbergen-child .gs-mobile-menu-button {
        transform: translateX(-6px);
    }

    /* Make the drawer wider so its left edge moves further left. */
    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content {
        width: calc(100vw - 12px) !important;
        max-width: 360px !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        padding: 66px 18px calc(28px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    /* The old BabyKids orange/brown fixed rectangle becomes a small,
       transparent header integrated into the dark drawer. */
    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content > .nicdark_bg_orange {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 7px 44px 7px 14px !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content > .nicdark_bg_orange .gs-mobile-site-logo {
        max-width: 126px !important;
        max-height: 42px !important;
        margin: 0 auto !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content .nicdark_close_navigation_1_sidebar_content {
        top: 18px !important;
        right: 18px !important;
        width: 13px !important;
        filter: invert(1);
        z-index: 3 !important;
    }

    /* Compact the list enough that Downloads and Kontakt remain reachable
       even on shorter physical phone screens. */
    .gs-ottbergen-child .nicdark_navigation_1_sidebar {
        display: block !important;
        width: 100% !important;
        padding: 0 0 calc(18px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul > li {
        display: block !important;
        width: 100% !important;
        padding: 0 0 2px !important;
        text-align: left !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div li > a {
        display: block !important;
        padding: 5px 2px !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.sub-menu,
    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.children {
        margin: 0 !important;
        padding: 0 0 2px 12px !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.sub-menu > li,
    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.children > li {
        padding: 0 0 0 10px !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.sub-menu li a,
    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.children li a {
        padding: 3px 2px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    /* Keep HotInfo as one row on actual phones/tablets too. */
    .gs-ottbergen-child .gs-hotinfo {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        height: 36px !important;
        min-height: 36px !important;
        overflow: hidden !important;
    }

    .gs-ottbergen-child .gs-hotinfo__label {
        flex: 0 0 auto !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 10px !important;
        line-height: 36px !important;
        white-space: nowrap !important;
    }

    .gs-ottbergen-child .gs-hotinfo__viewport {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        height: 36px !important;
        overflow: hidden !important;
    }
}

@media only screen and (max-width: 380px) {
    .gs-ottbergen-child .nicdark_navigation_1_sidebar_content {
        width: calc(100vw - 6px) !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div li > a {
        font-size: 16px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.sub-menu li a,
    .gs-ottbergen-child .nicdark_navigation_1_sidebar div > ul li > ul.children li a {
        font-size: 12.5px !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }
}


/* =========================================================
   1.0.48 — replace legacy BabyKids mobile menu completely
   No fixed 300px parent sidebar, no orange/brown legacy header.
   ========================================================= */

/* Legacy BabyKids sidebar is intentionally disabled. */
.gs-ottbergen-child .nicdark_navigation_1_sidebar_content {
    display: none !important;
}

/* Our custom drawer/backdrop are hidden on desktop by default. */
.gs-mobile-nav-backdrop,
.gs-mobile-nav-panel {
    display: none;
}

@media only screen and (max-width: 1349px) {

    .gs-mobile-nav-backdrop {
        position: fixed;
        inset: 0;
        display: block;
        background: rgba(17, 27, 24, .48);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .22s ease, visibility .22s ease;
        z-index: 99990;
    }

    .gs-mobile-nav-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .gs-mobile-nav-panel {
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        width: min(88vw, 360px);
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        padding: 0;
        background: #1f2f2a;
        color: #fff;
        box-sizing: border-box;
        transform: translateX(105%);
        visibility: hidden;
        transition: transform .24s ease, visibility .24s ease;
        overflow: hidden;
        z-index: 99999;
        box-shadow: -18px 0 38px rgba(0, 0, 0, .22);
    }

    .gs-mobile-nav-panel.is-open {
        transform: translateX(0);
        visibility: visible;
    }

    .gs-mobile-nav-head {
        flex: 0 0 auto;
        min-height: 70px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px 10px 18px;
        background: #253b34;
        border-bottom: 1px solid rgba(255,255,255,.10);
        box-sizing: border-box;
    }

    .gs-mobile-nav-logo {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        color: #fff !important;
        text-decoration: none !important;
    }

    .gs-mobile-nav-logo img {
        display: block;
        width: auto;
        height: auto;
        max-width: 154px;
        max-height: 48px;
        object-fit: contain;
    }

    .gs-mobile-nav-close {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: rgba(255,255,255,.08);
        color: #fff;
        font: 400 34px/40px Arial, Helvetica, sans-serif;
        text-align: center;
        cursor: pointer;
        appearance: none;
    }

    .gs-mobile-nav-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding: 14px 18px calc(28px + env(safe-area-inset-bottom));
        box-sizing: border-box;
    }

    .gs-mobile-nav-menu,
    .gs-mobile-nav-menu ul {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .gs-mobile-nav-menu > li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.09);
    }

    .gs-mobile-nav-menu li > a {
        display: block !important;
        margin: 0 !important;
        padding: 10px 4px !important;
        color: #fff !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    .gs-mobile-nav-menu li.current-menu-item > a,
    .gs-mobile-nav-menu li.current_page_item > a {
        color: #f5d47b !important;
    }

    .gs-mobile-nav-menu .sub-menu,
    .gs-mobile-nav-menu .children {
        display: block !important;
        position: static !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 0 6px 0 !important;
        padding: 0 0 2px 14px !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .gs-mobile-nav-menu .sub-menu li,
    .gs-mobile-nav-menu .children li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .gs-mobile-nav-menu .sub-menu li > a,
    .gs-mobile-nav-menu .children li > a {
        padding: 5px 4px !important;
        color: rgba(255,255,255,.82) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    body.gs-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }
}

@media only screen and (max-width: 420px) {
    .gs-mobile-nav-panel {
        width: calc(100vw - 18px);
        max-width: none;
    }

    .gs-mobile-nav-head {
        min-height: 62px;
        padding-left: 14px;
        padding-right: 10px;
    }

    .gs-mobile-nav-logo img {
        max-width: 132px;
        max-height: 42px;
    }

    .gs-mobile-nav-scroll {
        padding: 10px 14px calc(22px + env(safe-area-inset-bottom));
    }

    .gs-mobile-nav-menu li > a {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-size: 16px !important;
    }

    .gs-mobile-nav-menu .sub-menu li > a,
    .gs-mobile-nav-menu .children li > a {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        font-size: 12.5px !important;
    }
}


/* =========================================================
   1.0.49 — physical-phone menu: full-width + single scroll area
   The menu items Downloads/Kontakt are already present in the DOM.
   This removes the nested-scroll/touch lock that could make the
   bottom of the menu unreachable on a real phone.
   ========================================================= */
@media only screen and (max-width: 700px) {

    /* Open across the whole phone width: visually moves the menu left
       towards the logo and gives the list maximum usable space. */
    .gs-ottbergen-child .gs-mobile-nav-panel {
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain !important;
        transform: translateX(105%) !important;
        padding-bottom: calc(34px + env(safe-area-inset-bottom)) !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-panel.is-open {
        transform: translateX(0) !important;
    }

    /* No separate brown/coloured rectangle at the top. */
    .gs-ottbergen-child .gs-mobile-nav-head {
        position: relative !important;
        min-height: 58px !important;
        padding: 8px 12px 4px 16px !important;
        background: transparent !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-logo img {
        max-width: 130px !important;
        max-height: 40px !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-close {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
        background: rgba(255,255,255,.06) !important;
        font-size: 30px !important;
        line-height: 36px !important;
    }

    /* One scroll area only: the panel itself scrolls. */
    .gs-ottbergen-child .gs-mobile-nav-scroll {
        display: block !important;
        flex: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 2px 16px calc(48px + env(safe-area-inset-bottom)) !important;
    }

    /* Move the list itself further left and compact it vertically. */
    .gs-ottbergen-child .gs-mobile-nav-menu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu > li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu li > a {
        padding: 7px 0 !important;
        font-size: 16px !important;
        line-height: 1.18 !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu .sub-menu,
    .gs-ottbergen-child .gs-mobile-nav-menu .children {
        margin: 0 !important;
        padding: 0 0 3px 12px !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu .sub-menu li > a,
    .gs-ottbergen-child .gs-mobile-nav-menu .children li > a {
        padding: 3px 0 !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
    }

    /* Keep body from moving behind the menu, but DO NOT disable touch
       actions: touch-action:none on an ancestor can block menu scrolling. */
    body.gs-menu-open {
        overflow: hidden !important;
        touch-action: auto !important;
    }

    /* Keep HotInfo as a single compact strip below the header. */
    .gs-ottbergen-child .gs-hotinfo {
        position: relative !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        width: 100% !important;
        height: 34px !important;
        min-height: 34px !important;
        overflow: hidden !important;
    }

    .gs-ottbergen-child .gs-hotinfo__label {
        position: relative !important;
        flex: 0 0 auto !important;
        height: 34px !important;
        padding: 0 7px !important;
        line-height: 34px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }

    .gs-ottbergen-child .gs-hotinfo__viewport {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        height: 34px !important;
    }
}

@media only screen and (max-width: 390px) {
    .gs-ottbergen-child .gs-mobile-nav-scroll {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu li > a {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: 15.5px !important;
    }

    .gs-ottbergen-child .gs-mobile-nav-menu .sub-menu li > a,
    .gs-ottbergen-child .gs-mobile-nav-menu .children li > a {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        font-size: 12px !important;
    }
}
