.elementor-kit-8{--e-global-color-primary:#12284B;--e-global-color-secondary:#D9641E;--e-global-color-text:#1A1A1A;--e-global-color-accent:#D9641E;--e-global-color-820c8ff:#12284B;--e-global-color-a1b2c3d:#1E3C6E;--e-global-color-b2c3d4e:#D9641E;--e-global-color-c3d4e5f:#B34E14;--e-global-color-d4e5f6a:#FAF8F5;--e-global-color-e5f6a7b:#F2F4F7;--e-global-color-f6a7b8c:#6B7280;--e-global-color-a7b8c9d:#D6D9DE;--e-global-color-b8c9d0e:#1A1A1A;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1023px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:480px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* RZS Brand: NEVER load fonts from Google. Inter should be self-hosted in the theme.
   Until self-hosted woff2 files are placed in /wp-content/uploads/omgf/ or the theme,
   use the system font stack as a close visual match. Handbook 2.3 forbids fonts.googleapis.com. */

body,
body [class*="elementor-widget"],
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body a, body button, body input, body textarea, body select {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Never italics for emphasis; use weight 600 instead (Handbook 2.3) */
body em, body i, body .elementor-widget em, body .elementor-widget i {
  font-style: normal !important;
  font-weight: 600 !important;
}

/* Body line length cap (Handbook 2.3): never wider than 70ch */
.elementor-widget-text-editor p {
  max-width: 70ch;
}

/* Focus state: 2 px navy outline with 2 px offset (Handbook 2.6) */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [role="button"]:focus-visible {
  outline: 2px solid #12284B !important;
  outline-offset: 2px !important;
}

/* Card radius token (Handbook 2.6) */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper {
  border-radius: 12px;
}

/* Never justify (Handbook 2.3) */
body p, body .elementor-widget-text-editor {
  text-align: start !important;
}

/* Cookie banner: prominent "Alle ablehnen" as equal to "Alle akzeptieren" (Handbook 9.3) */
.cky-btn-reject { font-weight: 600 !important; }

/* RZS Runde 3 – C4 interaction rules */
:root{--rzs-navy:#000052;--rzs-orange:#D9641E;--rzs-orange-d:#B34E14}
body{background-color:#F6F4F0}
/* Buttons */
.elementor-button{min-height:48px;font-weight:600;font-size:max(16px,1em);transition:background-color .18s,color .18s,border-color .18s}
.elementor-button-link .elementor-button-text,.elementor-button .elementor-button-text{font-weight:600}
/* Text links followed by arrow: arrow moves 4px */
.elementor-widget-text-editor a,.elementor-widget-heading a{font-weight:600;text-decoration:none}
.elementor-widget-text-editor a:hover,.elementor-widget-heading a:hover{text-decoration:underline}
/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #000052;outline-offset:2px}
/* Card hover (icon-box / picture cards) */
.elementor-widget-icon-box .elementor-icon-box-wrapper{transition:transform .18s,box-shadow .18s}
/* Section reveal – once, max 300ms */
@media (prefers-reduced-motion:no-preference){.elementor-section.elementor-top-section{animation:rzsFade .3s ease-out both}@keyframes rzsFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Touch targets */
@media (max-width:767px){a.elementor-button,.elementor-button{min-height:48px}.elementor-icon-list-item a{display:inline-block;min-height:44px}}
/* No horizontal scroll */
html,body{overflow-x:hidden}
img{max-width:100%;height:auto}
html,body{overflow-x:clip}
/* Header fix: section fade-in must not trap the mega-menu stacking context */
.elementor-location-header .elementor-section,.elementor-location-footer .elementor-section{animation:none!important;transform:none!important}
.elementor-location-header{position:relative;z-index:1000}
/* Header look */
.elementor-element-9cfeb54{box-shadow:0 1px 0 #E3E7EE,0 6px 18px rgba(18,40,75,.05)}
.elementor-element-45adf47 img{max-height:56px;width:auto}
.elementor-element-768e755 .uc-mega_menu_list{justify-content:center;align-items:center;gap:6px}
.elementor-element-768e755 .uc-mega_menu_list_item>a,.elementor-element-768e755 .uc-mega_menu_list_item a.uc-menu-item-link{font-weight:600;padding:10px 14px}
.elementor-element-89b72e2 .elementor-button{padding:14px 28px;border-radius:8px;min-height:48px;box-shadow:0 2px 8px rgba(217,100,30,.25)}
@media (min-width:1025px){.elementor-element-03f3acb{flex-grow:1}}
/* Mega-menu panels: scoped layouts (panels share class names) */
#schul,#ver,#lern,#beratung,#uber{text-align:left!important}
#schul .rzs-mm,#ver .rzs-mm,#lern .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{text-align:left;justify-items:start}
#schul .rzs-mm{grid-template-columns:1fr 1fr 1fr 1.3fr;align-items:start}
#lern .rzs-mm{grid-template-columns:1fr 1.2fr;align-items:start}
#ver .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{grid-template-columns:1fr}
#schul .rzs-mm .bt,#lern .rzs-mm .bt{grid-column:1/-1;width:100%}
#schul .rzs-mm .ft,#lern .rzs-mm .ft{width:100%}
@media(max-width:1024px){#schul .rzs-mm,#lern .rzs-mm{grid-template-columns:1fr}}
/* Phone menu: button fixed at the bottom */
.elementor-element-9a8cd38{position:fixed!important;left:20px;right:20px;bottom:16px;z-index:10;width:auto!important}
.elementor-element-9a8cd38 .elementor-button{width:100%;justify-content:center}
/* Current menu item: orange 3px underline */
.elementor-element-768e755 .uc-mega_menu_list_item.uc-active_item>a,.elementor-element-768e755 .uc-current-item>a,.elementor-element-768e755 .uc-mega_menu_list_item a:hover{border-bottom:3px solid #D9641E!important}
/* Sticky header shrink 78 -> 64 px */
.elementor-sticky--effects .elementor-element-45adf47 img{max-height:44px;transition:max-height .2s}
.elementor-sticky--effects.elementor-element-9cfeb54{box-shadow:0 2px 14px rgba(18,40,75,.10)}
/* Picture cards on the homepage: zoom image 104% */
.elementor-element-224badb .elementor-widget-container,.elementor-element-2675676 .elementor-widget-container,.elementor-element-21bf591 .elementor-widget-container{overflow:hidden}
.elementor-element-224badb img,.elementor-element-2675676 img,.elementor-element-21bf591 img{transition:transform .3s}
.elementor-element-5f285ab:hover .elementor-element-224badb img,.elementor-element-c27e1c3:hover .elementor-element-2675676 img,.elementor-element-344f5a4:hover .elementor-element-21bf591 img{transform:scale(1.04)}
/* Breadcrumb */
.rzs-bc{background:#F6F4F0;padding:10px 24px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#5a6378}
.rzs-bc ol{max-width:1200px;margin:0 auto;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.rzs-bc li+li::before{content:'\203A';margin-right:6px;color:#8a93a5}
.rzs-bc a{color:#000052;font-weight:600;text-decoration:none}
.rzs-bc a:hover{text-decoration:underline}
.rzs-bc-wrap:has(.rzs-bc[hidden]){display:none!important}
.rzs-bc-wrap .elementor-widget-wrap,.rzs-bc-wrap .elementor-column-wrap{padding:0!important}
.rzs-bc-wrap .elementor-container{max-width:none}
.elementor-form .elementor-message.elementor-message-danger,.elementor-field-group .elementor-message{font-size:14px;color:#B3261E}
.elementor-element-9a8cd38{position:sticky!important;left:auto;right:auto;bottom:16px;z-index:10;width:100%!important;margin-top:-70px}
/* ===== Mega menu – floating card style (per mock-up) ===== */
#schul,#ver,#lern,#beratung,#uber{background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important;padding:0!important}
.uc-mega_menu_section{overflow:visible!important;background:transparent!important}
#schul .rzs-mm,#ver .rzs-mm,#lern .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{background:#fff;border-radius:20px;padding:40px 48px;margin:8px auto 0;box-shadow:0 24px 60px rgba(18,40,75,.18);max-width:1728px;width:calc(100vw - 192px);box-sizing:border-box;gap:40px}
#ver .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{width:420px;margin-left:calc(50% - 210px)}
.rzs-mm h4{font-size:13px!important;letter-spacing:.14em!important;color:#6b7280!important;margin-bottom:14px!important}
.rzs-mm a.i{padding:10px 14px!important;margin-left:-14px;border-radius:12px;font-size:19px!important;font-weight:500;transition:background .15s,color .15s}
.rzs-mm a.i:hover,.rzs-mm a.i:focus-visible{background:#F3F4F8;color:#000052!important;font-weight:700;text-decoration:none!important}
.rzs-mm a.i:hover::after,.rzs-mm a.i:focus-visible::after{content:' \2192';color:#D9641E;font-weight:600}
.rzs-mm .ft{background:#F6F4F0!important;box-shadow:none!important;border-radius:16px!important}
.rzs-mm .ft img{height:180px!important}
.rzs-mm .ft span{font-size:17px!important;padding:18px 24px!important;line-height:1.5}
.rzs-mm .ft b{font-size:20px!important;margin-bottom:6px}
.rzs-mm .bt{margin-top:8px;padding-top:22px!important}
.rzs-mm .bt a{font-size:19px}
/* page dimmed while a dropdown is open */
body:has(.uc-mega_menu_section.uc-active_item)::after{content:'';position:fixed;inset:0;background:rgba(18,40,75,.22);z-index:900;pointer-events:none}
/* main items: caret, bold + orange underline when open */
.elementor-element-768e755 .uc-mega_menu_list_item>a::after{content:'\25BE';font-size:.75em;margin-left:7px;color:#6b7280}
.elementor-element-768e755 .uc-mega_menu_list_item.uc-active_item>a{font-weight:700;color:#000052}
.elementor-element-768e755 .uc-mega_menu_list_item>a{border-bottom:3px solid transparent}
/* top line right-aligned */
.elementor-element-b747187 .elementor-icon-list-items{justify-content:flex-end}
/* logo with tagline */
.elementor-element-45adf47 .elementor-widget-container{display:flex;align-items:center;gap:16px}
.elementor-element-45adf47 .elementor-widget-container::after{content:'Rheinisches Zentrum\Afür Schulservice';white-space:pre;border-left:2px solid #D9641E;padding-left:16px;font-size:15px;line-height:1.35;color:#12284B}
.elementor-sticky--effects .elementor-element-45adf47 .elementor-widget-container::after{font-size:13px}
/* mega menu fixes */
#schul>.elementor-container,#ver>.elementor-container,#lern>.elementor-container,#beratung>.elementor-container,#uber>.elementor-container{max-width:none!important;width:100%!important;padding:0!important}
#schul .elementor-column,#ver .elementor-column,#lern .elementor-column,#beratung .elementor-column,#uber .elementor-column,#schul .elementor-widget-wrap,#ver .elementor-widget-wrap,#lern .elementor-widget-wrap,#beratung .elementor-widget-wrap,#uber .elementor-widget-wrap{padding:0!important}
#schul .elementor-widget-html,#ver .elementor-widget-html,#lern .elementor-widget-html,#beratung .elementor-widget-html,#uber .elementor-widget-html{margin:0!important}
#ver .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{margin-left:auto;margin-right:auto}
.elementor-element-768e755 .uc-mega_menu_list_item>a{white-space:nowrap;padding:10px 12px!important}
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a,.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a:hover{border-bottom:0!important}
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a::after{margin-left:0}
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i:not(:hover):not(:focus-visible)::after{content:none}
/* logo tagline */
.elementor-element-45adf47{display:flex!important;align-items:center;gap:16px}
.elementor-element-45adf47::after{content:'Rheinisches Zentrum\A für Schulservice';white-space:pre;border-left:2px solid #D9641E;padding-left:16px;font-size:15px;line-height:1.35;color:#12284B;font-weight:500}
.elementor-element-45adf47 .elementor-widget-container::after{content:none!important}
.elementor-sticky--effects .elementor-element-45adf47::after{font-size:13px}
/* logo: back to plain (tagline pseudo-element broke the header row) */
.elementor-element-45adf47{display:block!important}
.elementor-element-45adf47::after,.elementor-element-45adf47 .elementor-widget-container::after{content:none!important;display:none!important}
.elementor-element-45adf47 .elementor-widget-container{display:block}
.elementor-element-45adf47 img{max-height:56px;width:auto;max-width:none}
.elementor-element-768e755 .uc-mega_menu_list_item>a{font-size:15.5px!important;padding:10px 9px!important}
.elementor-element-768e755 .uc-mega_menu_list_item>a::after{margin-left:5px}
.elementor-element-768e755 .uc-mega_menu_list{gap:0!important;flex-wrap:nowrap}
.elementor-element-89b72e2 .elementor-button{padding:13px 22px;white-space:nowrap}
/* ===== Mega menu v3: fully white, identical layout for all five panels ===== */
.elementor-location-header .elementor-section.elementor-top-section{background-color:#fff}
.elementor-element-9cfeb54,.elementor-element-15e59f0{background:#fff!important}
.elementor-element-768e755 .uc-mega_menu_list_item,.elementor-element-768e755 .uc-mega_menu_list_item>a{background:transparent!important}
#schul,#ver,#lern,#beratung,#uber{background:#fff!important;border-top:1px solid #E3E7EE!important;box-shadow:0 28px 40px -12px rgba(18,40,75,.18)!important;border-radius:0!important}
#schul .rzs-mm,#ver .rzs-mm,#lern .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{background:transparent!important;box-shadow:none!important;border-radius:0!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:36px 24px 28px!important;display:grid!important;grid-template-columns:1fr 1fr 1fr 1.35fr!important;gap:40px!important;align-items:start;text-align:left;justify-items:stretch}
#schul .rzs-mm .bt,#ver .rzs-mm .bt,#lern .rzs-mm .bt,#beratung .rzs-mm .bt,#uber .rzs-mm .bt{grid-column:1/-1;width:100%}
#schul .rzs-mm .ft,#ver .rzs-mm .ft,#lern .rzs-mm .ft,#beratung .rzs-mm .ft,#uber .rzs-mm .ft{width:100%;display:block}
@media(max-width:1100px){#schul .rzs-mm,#ver .rzs-mm,#lern .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{grid-template-columns:1fr 1fr!important}}
body:has(.uc-mega_menu_section.uc-active_item)::after{background:rgba(18,40,75,.16)}
.rzs-mm a.i{font-size:17px!important;white-space:nowrap}
#schul .rzs-mm,#ver .rzs-mm,#lern .rzs-mm,#beratung .rzs-mm,#uber .rzs-mm{grid-template-columns:1.1fr 1.1fr 1fr 1.3fr!important}
/* ===== Mega menu: smooth motion ===== */
.uc-mega_menu_section{transition:visibility 0s linear .3s!important}
.uc-mega_menu_section.uc-active_item{transition-delay:0s!important}
.uc-mega_menu_section>*{transform:translateY(-10px)!important;transition:opacity .22s ease .08s,transform .32s cubic-bezier(.22,.8,.3,1) .08s!important}
.uc-mega_menu_section.uc-active_item>*{transform:none!important;transition-delay:0s!important}
.rzs-mm>*{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .38s cubic-bezier(.22,.8,.3,1)}
.uc-active_item .rzs-mm>*{opacity:1;transform:none}
.uc-active_item .rzs-mm>*:nth-child(1){transition-delay:.04s}
.uc-active_item .rzs-mm>*:nth-child(2){transition-delay:.09s}
.uc-active_item .rzs-mm>*:nth-child(3){transition-delay:.14s}
.uc-active_item .rzs-mm>*:nth-child(4){transition-delay:.19s}
.uc-active_item .rzs-mm>*:nth-child(5){transition-delay:.24s}
/* dim layer fades */
body::after{content:'';position:fixed;inset:0;background:rgba(18,40,75,.16);z-index:900;pointer-events:none;opacity:0;transition:opacity .3s ease}
body:has(.uc-mega_menu_section.uc-active_item)::after{opacity:1}
/* main items: animated underline + rotating caret */
.elementor-element-768e755 .uc-mega_menu_list_item>a,.elementor-element-768e755 .uc-mega_menu_list_item>a:hover,.elementor-element-768e755 .uc-mega_menu_list_item.uc-active_item>a{border-bottom:0!important;background:linear-gradient(#D9641E,#D9641E) left bottom/0 3px no-repeat!important;transition:background-size .3s cubic-bezier(.22,.8,.3,1),color .2s!important}
.elementor-element-768e755 .uc-mega_menu_list_item>a:hover,.elementor-element-768e755 .uc-mega_menu_list_item.uc-active_item>a{background-size:100% 3px!important}
.elementor-element-768e755 .uc-mega_menu_list_item>a::after{display:inline-block;transition:transform .3s cubic-bezier(.22,.8,.3,1),color .2s}
.elementor-element-768e755 .uc-mega_menu_list_item.uc-active_item>a::after{transform:rotate(180deg);color:#D9641E}
/* items: soft highlight, arrow slides in */
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i{font-weight:500!important;transition:background-color .2s ease,color .2s ease,padding .25s ease!important}
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i::after,.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i:not(:hover):not(:focus-visible)::after{content:'\2192'!important;display:inline-block;margin-left:8px;color:#D9641E;opacity:0;transform:translateX(-8px);transition:opacity .2s ease,transform .25s cubic-bezier(.22,.8,.3,1)}
.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i:hover::after,.elementor-element-768e755 .uc-mega_menu_list_item .rzs-mm a.i:focus-visible::after{opacity:1;transform:none}
.rzs-mm a.i:hover,.rzs-mm a.i:focus-visible{font-weight:500!important}
/* featured tile + bottom link */
.rzs-mm .ft{transition:transform .3s cubic-bezier(.22,.8,.3,1),box-shadow .3s ease!important;overflow:hidden}
.rzs-mm .ft img{transition:transform .6s cubic-bezier(.22,.8,.3,1)}
.rzs-mm .ft:hover{transform:translateY(-4px)!important;box-shadow:0 18px 36px rgba(18,40,75,.14)!important}
.rzs-mm .ft:hover img{transform:scale(1.05)}
.rzs-mm .bt a{display:inline-block;transition:transform .25s ease,color .2s}
.rzs-mm .bt a:hover{transform:translateX(5px);text-decoration:none}/* End custom CSS */