.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* GLASPOINT v6 */
:root{--gp-bg-deep:#020308;--gp-fg:#EDEFF5;--gp-fg-muted:#8A93A6;--gp-accent:#2E9CFF;--gp-accent-soft:#66B8FF;--gp-accent-deep:#0064D9;--gp-glow:rgba(46,156,255,0.55);--gp-radius:18px;--gp-easing:cubic-bezier(0.16,1,0.3,1);--gp-mobile-header-h:64px;}
.elementor-invisible{visibility:visible !important;opacity:1 !important;}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 12% 8%,rgba(46,156,255,.18),transparent 45%),radial-gradient(circle at 88% 92%,rgba(0,100,217,.16),transparent 50%),var(--gp-bg-deep) !important;color:var(--gp-fg) !important;overflow-x:hidden;}
body::before,body::after{content:'';position:fixed;pointer-events:none;z-index:0;width:60vmax;height:60vmax;border-radius:50%;background:radial-gradient(circle at center,var(--gp-glow),transparent 70%);filter:blur(80px);opacity:.30;animation:gp-blob 26s ease-in-out infinite alternate;}
body::before{top:-22vmax;left:-22vmax;}
body::after{bottom:-25vmax;right:-25vmax;animation-duration:34s;animation-delay:-8s;opacity:.26;background:radial-gradient(circle at center,rgba(0,100,217,.6),transparent 70%);}
@keyframes gp-blob{0%{transform:translate(0,0) scale(1);}50%{transform:translate(8vmax,4vmax) scale(1.15);}100%{transform:translate(-4vmax,8vmax) scale(.95);}}
html::before{content:'';position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gp-accent),var(--gp-accent-soft),var(--gp-accent));transform-origin:0 0;transform:scaleX(0);z-index:9999;box-shadow:0 0 12px var(--gp-glow);pointer-events:none;}
@supports (animation-timeline:scroll()){html::before{animation:gp-progress linear;animation-timeline:scroll(root);}@keyframes gp-progress{to{transform:scaleX(1);}}}
.elementor-section,.elementor-element{z-index:1;}
header,footer,.gp-header-sticky{z-index:100;}
section,[id]{scroll-margin-top:120px}
@media (max-width:767px){section,[id]{scroll-margin-top:80px}}

/* === HEADER DESKTOP === */
.gp-header-sticky{background:linear-gradient(180deg,rgba(2,3,8,.92),rgba(2,3,8,.78)) !important;backdrop-filter:blur(18px) saturate(160%) !important;-webkit-backdrop-filter:blur(18px) saturate(160%) !important;border-bottom:1px solid rgba(255,255,255,.06) !important;position:sticky !important;top:0 !important;}
.gp-header-sticky > .e-con-inner,.gp-header-sticky .elementor-container{max-width:1280px !important;margin:0 auto !important;width:100% !important;}
.gp-nav .elementor-icon-list-items{gap:36px !important;flex-wrap:nowrap !important;justify-content:center;align-items:center;}
.gp-nav .elementor-icon-list-item{position:relative;padding:8px 0 !important;margin:0 !important;}
.gp-nav .elementor-icon-list-item a{padding:0 !important;display:inline-block;}
.gp-nav .elementor-icon-list-text{position:relative;padding:0 !important;transition:color .35s var(--gp-easing) !important;}
.gp-nav .elementor-icon-list-text::after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:2px;background:linear-gradient(90deg,var(--gp-accent-soft),var(--gp-accent));transition:width .45s var(--gp-easing);box-shadow:0 0 8px var(--gp-glow);}
.gp-nav .elementor-icon-list-item:hover .elementor-icon-list-text::after{width:100%;}
.gp-nav .elementor-icon-list-icon{display:none !important;}
.gp-cta-pulse .elementor-button{background:linear-gradient(135deg,var(--gp-accent),var(--gp-accent-deep)) !important;border-radius:999px !important;white-space:nowrap !important;animation:gp-cta-pulse 2.4s var(--gp-easing) infinite;}
@keyframes gp-cta-pulse{0%{box-shadow:0 0 0 0 rgba(46,156,255,.55),0 8px 24px rgba(46,156,255,.30);}70%{box-shadow:0 0 0 16px rgba(46,156,255,0),0 8px 24px rgba(46,156,255,.30);}100%{box-shadow:0 0 0 0 rgba(46,156,255,0),0 8px 24px rgba(46,156,255,.30);}}
.gp-header-social{width:auto !important;}
.gp-header-social .elementor-grid{display:inline-flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:6px !important;grid-template-columns:none !important;}
.gp-header-social .elementor-grid-item{width:auto !important;}
.gp-header-social .elementor-social-icon{background:transparent !important;width:36px !important;height:36px !important;border:1px solid rgba(255,255,255,.12);transition:all .35s var(--gp-easing) !important;}
.gp-header-social .elementor-social-icon i,.gp-header-social .elementor-social-icon svg{color:#fff !important;fill:#fff !important;}
.gp-header-social .elementor-social-icon:hover{background:var(--gp-accent) !important;border-color:var(--gp-accent) !important;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px rgba(46,156,255,.45);}
@media (max-width:1024px){.gp-nav{display:none !important;}}
body.elementor-page header.site-header,body.elementor-page footer.site-footer,body.elementor-page .site-header,body.elementor-page .site-footer,body.elementor-page .entry-title,body.elementor-page .page-header{display:none !important;}

/* === HEADER MOBILE === LAYOUT ENFORCEMENT */
.gp-header-mobile{min-height:var(--gp-mobile-header-h) !important;}
.gp-header-mobile > .e-con-inner,
.gp-header-mobile .elementor-container{
  display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;
  justify-content:space-between !important;align-items:center !important;
  width:100% !important;max-width:100% !important;
}
.gp-header-mobile > .e-con-inner > *{flex:0 0 auto !important;}
.gp-header-mobile .elementor-widget-image{width:auto !important;flex:0 0 auto !important;}
.gp-header-mobile .elementor-widget-image .elementor-widget-container{display:inline-flex;align-items:center;width:auto;}
.gp-header-mobile .elementor-widget-image .elementor-image,
.gp-header-mobile .elementor-widget-image a{display:inline-flex;align-items:center;width:auto;}
.gp-header-mobile .elementor-widget-image img{
  height:40px !important;width:auto !important;max-width:140px !important;
  object-fit:contain !important;display:block !important;
}
.gp-header-mobile .elementor-widget-icon{width:auto !important;flex:0 0 auto !important;}
.gp-header-mobile .elementor-widget-html{width:auto !important;flex:0 0 auto !important;}
.gp-header-mobile .elementor-widget-html .elementor-widget-container{display:inline-flex;align-items:center;width:auto;}

/* === BURGER BUTTON === */
.gp-burger-checkbox{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;}
.gp-burger-btn{
  display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);
  cursor:pointer;transition:background .25s ease,border-color .25s ease;
  -webkit-tap-highlight-color:transparent;
  position:relative;z-index:1100;
}
.gp-burger-btn:hover{background:rgba(46,156,255,.18);border-color:rgba(102,184,255,.4);}
.gp-burger-btn:active{transform:scale(.95);}
.gp-burger-bar{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .35s var(--gp-easing),opacity .25s ease,width .35s var(--gp-easing);transform-origin:center;}
.gp-burger-checkbox:checked ~ .gp-burger-btn,
.gp-burger-checkbox:checked + .gp-burger-btn{background:rgba(46,156,255,.25);border-color:var(--gp-accent);}
.gp-burger-checkbox:checked ~ .gp-burger-btn .gp-burger-bar:nth-child(1),
.gp-burger-checkbox:checked + .gp-burger-btn .gp-burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.gp-burger-checkbox:checked ~ .gp-burger-btn .gp-burger-bar:nth-child(2),
.gp-burger-checkbox:checked + .gp-burger-btn .gp-burger-bar:nth-child(2){opacity:0;width:0;}
.gp-burger-checkbox:checked ~ .gp-burger-btn .gp-burger-bar:nth-child(3),
.gp-burger-checkbox:checked + .gp-burger-btn .gp-burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* === DRAWER + SCRIM (positioned BELOW the header) === */
.gp-drawer-scrim{
  position:fixed !important;top:var(--gp-mobile-header-h) !important;left:0 !important;right:0 !important;bottom:0 !important;
  background:rgba(2,3,8,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;z-index:1000;
  transition:opacity .35s var(--gp-easing);cursor:pointer;
}
.gp-burger-checkbox:checked ~ .gp-drawer-scrim{opacity:1;pointer-events:auto;}

.gp-drawer{
  position:fixed !important;top:var(--gp-mobile-header-h) !important;right:0 !important;bottom:0 !important;
  width:min(86vw,360px) !important;
  background:linear-gradient(180deg,rgba(5,10,22,.98),rgba(2,4,12,.99)) !important;
  border-left:1px solid rgba(102,184,255,.18);
  box-shadow:-40px 0 80px rgba(0,0,0,.65),-2px 0 0 rgba(46,156,255,.12);
  z-index:1050;
  transform:translateX(100%);
  transition:transform .45s var(--gp-easing);
  display:flex;flex-direction:column;
  padding:24px 24px 28px;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding-bottom:max(28px,env(safe-area-inset-bottom,0px));
}
.gp-burger-checkbox:checked ~ .gp-drawer{transform:translateX(0);}
body.gp-drawer-open{overflow:hidden;}

/* DRAWER NAV */
.gp-drawer-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.gp-drawer-nav li{opacity:0;transform:translateX(20px);transition:opacity .4s var(--gp-easing),transform .4s var(--gp-easing);}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li{opacity:1;transform:translateX(0);}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(1){transition-delay:.10s;}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(2){transition-delay:.16s;}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(3){transition-delay:.22s;}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(4){transition-delay:.28s;}
.gp-drawer-nav a{display:flex;align-items:center;gap:14px;padding:16px 14px;border-radius:14px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;letter-spacing:.3px;color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:background .3s ease,color .3s ease,padding-left .3s var(--gp-easing);min-height:52px;}
.gp-drawer-nav a::before{content:'';position:absolute;left:0;top:50%;height:0;width:3px;background:linear-gradient(180deg,var(--gp-accent-soft),var(--gp-accent));border-radius:3px;transform:translateY(-50%);transition:height .3s var(--gp-easing);}
.gp-drawer-nav a:hover{background:rgba(46,156,255,.08);padding-left:20px;color:var(--gp-accent-soft);}
.gp-drawer-nav a:hover::before{height:24px;}
.gp-drawer-nav a:active{background:rgba(46,156,255,.18);}
.gp-drawer-nav i{margin-left:auto;font-size:14px;opacity:.5;transition:transform .3s var(--gp-easing),opacity .3s ease;}
.gp-drawer-nav a:hover i{transform:translateX(4px);opacity:1;color:var(--gp-accent-soft);}
.gp-drawer-idx{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-family:'Inter',monospace;font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--gp-accent-soft);background:rgba(46,156,255,.10);border:1px solid rgba(102,184,255,.20);}
.gp-drawer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(102,184,255,.25),transparent);margin:22px 0;}
.gp-drawer-contact{display:flex;flex-direction:column;gap:6px;font-family:'Inter',sans-serif;font-size:13px;color:#A8B2C5;}
.gp-drawer-contact a,.gp-drawer-contact p{display:inline-flex;align-items:center;gap:10px;color:#A8B2C5;text-decoration:none;margin:0;padding:8px;border-radius:8px;transition:color .25s ease,background .25s ease;}
.gp-drawer-contact a:hover{color:var(--gp-accent-soft);background:rgba(46,156,255,.06);}
.gp-drawer-contact i{color:var(--gp-accent);width:16px;text-align:center;font-size:13px;}
.gp-drawer-social{display:flex;gap:10px;justify-content:flex-start;margin:22px 0 16px;padding:0 8px;}
.gp-drawer-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:16px;transition:all .3s var(--gp-easing);}
.gp-drawer-social a:hover{background:var(--gp-accent);border-color:var(--gp-accent);transform:translateY(-3px) scale(1.06);box-shadow:0 10px 20px rgba(46,156,255,.45);}
.gp-drawer-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding:16px 22px;background:linear-gradient(135deg,var(--gp-accent),var(--gp-accent-deep));color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:15px;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;text-decoration:none;box-shadow:0 14px 32px rgba(46,156,255,.40),0 0 0 1px rgba(102,184,255,.20) inset;position:relative;overflow:hidden;transition:transform .3s var(--gp-easing),box-shadow .3s ease,filter .3s ease;min-height:52px;}
.gp-drawer-cta::before{content:'';position:absolute;top:0;left:-100%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .8s var(--gp-easing);}
.gp-drawer-cta:hover::before{left:120%;}
.gp-drawer-cta:hover{filter:brightness(1.06);}
.gp-drawer-cta:active{transform:scale(.97);}

@media (min-width:1025px){.gp-burger-btn,.gp-burger-checkbox,.gp-drawer,.gp-drawer-scrim,.gp-header-mobile{display:none !important;}}

/* === PILL === */
.gp-pill{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px 8px 14px;border-radius:999px;color:var(--gp-accent-soft);background:linear-gradient(135deg,rgba(46,156,255,.10),rgba(46,156,255,.02));border:1px solid rgba(102,184,255,.25);backdrop-filter:blur(8px);box-shadow:0 0 0 1px rgba(46,156,255,.08),0 0 20px rgba(46,156,255,.10);}
.gp-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gp-accent-soft);box-shadow:0 0 10px var(--gp-accent-soft),0 0 20px var(--gp-accent);animation:gp-pulse 2s ease-in-out infinite;}
@keyframes gp-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}

/* === GLASS === */
.gp-glass{background:linear-gradient(135deg,rgba(10,18,32,.65),rgba(5,10,20,.78)) !important;backdrop-filter:blur(18px) saturate(140%) !important;-webkit-backdrop-filter:blur(18px) saturate(140%) !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 40px rgba(46,156,255,.10),inset 0 1px 0 rgba(255,255,255,.05) !important;position:relative;overflow:hidden;transition:transform .6s var(--gp-easing),box-shadow .6s var(--gp-easing),border-color .4s ease;}
.gp-glass::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 0%,rgba(46,156,255,.18),transparent 50%);opacity:.7;transition:opacity .6s var(--gp-easing);}
.gp-glass:hover{transform:translateY(-6px);box-shadow:0 32px 70px rgba(0,0,0,.65),0 0 60px rgba(46,156,255,.30),inset 0 1px 0 rgba(255,255,255,.08) !important;border-color:rgba(102,184,255,.20) !important;}
.gp-glass:hover::before{opacity:1;}

/* === CARDS === */
.gp-card{position:relative;background:linear-gradient(155deg,rgba(10,18,32,.85),rgba(2,6,14,.95)) !important;border:1px solid rgba(255,255,255,.06) !important;border-radius:var(--gp-radius) !important;overflow:hidden;transition:transform .55s var(--gp-easing),box-shadow .55s var(--gp-easing),border-color .4s ease;box-shadow:0 14px 40px rgba(0,0,0,.50);}
.gp-card::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:radial-gradient(circle at 0% 0%,rgba(46,156,255,.22),transparent 35%);border-radius:inherit;pointer-events:none;opacity:.8;transition:opacity .55s var(--gp-easing);}
.gp-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(102,184,255,.08) 50%,transparent 70%);transform:translateX(-100%);transition:transform .9s var(--gp-easing);pointer-events:none;}
.gp-card:hover{transform:translateY(-8px) scale(1.012);border-color:rgba(102,184,255,.28) !important;box-shadow:0 28px 60px rgba(0,0,0,.65),0 0 50px rgba(46,156,255,.32) !important;}
.gp-card:hover::before{opacity:1;}
.gp-card:hover::after{transform:translateX(100%);}
.gp-card-dot{padding-left:32px !important;}
.gp-card-dot > *:first-child{position:relative;}
.gp-card-dot > *:first-child::before{content:'';position:absolute;left:-22px;top:8px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--gp-accent-soft),var(--gp-accent-deep));box-shadow:0 0 12px var(--gp-accent-soft),0 0 24px rgba(46,156,255,.6);}

/* === SERVICE-IMG === */
.gp-service-img{display:flex;flex-direction:column;}
.gp-service-img .elementor-image-box-wrapper{display:flex;flex-direction:column;height:100%;}
.gp-service-img .elementor-image-box-img{width:100% !important;max-width:100% !important;margin:0 0 18px 0 !important;border-radius:14px !important;overflow:hidden;aspect-ratio:16/9;position:relative;box-shadow:0 0 18px rgba(46,156,255,.20);}
.gp-service-img .elementor-image-box-img img{width:100% !important;height:100% !important;object-fit:cover;display:block;transition:transform .8s var(--gp-easing),filter .6s ease;filter:saturate(.95) contrast(1.02);}
.gp-service-img:hover .elementor-image-box-img img{transform:scale(1.08);filter:saturate(1.1) contrast(1.08);}
.gp-service-img .elementor-image-box-content{flex:1;display:flex;flex-direction:column;}
.gp-service-img .elementor-image-box-title{position:relative;padding-bottom:8px;margin-bottom:8px !important;}
.gp-service-img .elementor-image-box-title::after{content:'';position:absolute;left:0;bottom:0;width:24px;height:2px;background:linear-gradient(90deg,var(--gp-accent-soft),transparent);border-radius:2px;transition:width .55s var(--gp-easing);}
.gp-service-img:hover .elementor-image-box-title::after{width:60px;}

/* === BUTTONS === */
.elementor-button{position:relative !important;overflow:hidden !important;transition:transform .35s var(--gp-easing),box-shadow .35s ease,filter .35s ease !important;letter-spacing:.3px;}
.elementor-button::after{content:'';position:absolute;top:0;left:-100%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);transition:left .8s var(--gp-easing);z-index:0;pointer-events:none;}
.elementor-button:hover::after{left:120%;}
.elementor-button > *{position:relative;z-index:1;}
.elementor-button:active{transform:scale(.97) !important;}

/* === FOOTER === */
.gp-footer-wrap{background:linear-gradient(180deg,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.85) 100%);border-top:1px solid rgba(255,255,255,.06) !important;position:relative;overflow:hidden;}
.gp-footer-wrap::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--gp-accent-soft),transparent);opacity:.4;}
.gp-footer-col-title{font-size:13px !important;font-weight:700 !important;letter-spacing:.18em !important;text-transform:uppercase !important;color:#fff !important;margin-bottom:14px !important;}
.gp-footer-col-title::after{content:'';display:block;width:32px;height:2px;margin-top:8px;background:linear-gradient(90deg,var(--gp-accent-soft),transparent);border-radius:2px;}
.gp-footer-list .elementor-icon-list-item{padding:5px 0 !important;}
.gp-footer-list .elementor-icon-list-item a,.gp-footer-list .elementor-icon-list-text{color:#A8B2C5 !important;transition:color .3s ease,padding-left .3s var(--gp-easing);}
.gp-footer-list .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--gp-accent-soft) !important;padding-left:6px;}
.gp-footer-list .elementor-icon-list-icon i{color:var(--gp-accent) !important;}
.gp-footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:18px !important;margin-top:24px;}
.gp-footer-bottom p{color:#6B7588 !important;font-size:13px !important;}
.gp-footer-bottom a{color:#A8B2C5 !important;transition:color .3s ease;}
.gp-footer-bottom a:hover{color:var(--gp-accent-soft) !important;}

/* === FORM === */
.gp-form .elementor-field-group label{color:var(--gp-fg-muted) !important;font-size:12px !important;letter-spacing:.08em !important;text-transform:uppercase !important;font-weight:600 !important;margin-bottom:6px !important;}
.gp-form .elementor-field,.gp-form select,.gp-form textarea{background:rgba(2,4,9,.7) !important;border:1px solid rgba(255,255,255,.10) !important;color:#fff !important;border-radius:12px !important;padding:14px 16px !important;}
.gp-form .elementor-field::placeholder{color:rgba(168,178,197,.55) !important;}
.gp-form .elementor-field:focus,.gp-form select:focus,.gp-form textarea:focus{border-color:var(--gp-accent) !important;background:rgba(2,4,9,.92) !important;box-shadow:0 0 0 4px rgba(46,156,255,.15) !important;outline:none !important;}
.gp-form .elementor-button{background:linear-gradient(135deg,var(--gp-accent),var(--gp-accent-deep)) !important;border-radius:999px !important;padding:16px 24px !important;font-weight:700 !important;}

/* HERO */
.gp-hero h1{background:linear-gradient(135deg,#ffffff 0%,#ffffff 60%,var(--gp-accent-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent !important;text-shadow:0 0 40px rgba(46,156,255,.15);}
@media (min-width:1025px) and (prefers-reduced-motion:no-preference){.gp-hero{background-attachment:fixed;}}
@media (prefers-reduced-motion:no-preference){.gp-hero .gp-glass{animation:gp-float 6s ease-in-out infinite;}}
@keyframes gp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
p a{color:var(--gp-accent-soft);text-decoration:none;border-bottom:1px solid rgba(102,184,255,.3);}
p a:hover{color:var(--gp-accent);border-color:var(--gp-accent);}
@media (max-width:480px){.gp-pill{font-size:10px !important;padding:6px 12px 6px 10px !important;}h1{font-size:clamp(28px,8vw,40px) !important;}h2{font-size:clamp(22px,5.5vw,28px) !important;}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}body::before,body::after{animation:none !important;}.gp-drawer{transition:none !important;}}
.elementor-page h1{background:linear-gradient(135deg,#fff,var(--gp-accent-soft));-webkit-background-clip:text;background-clip:text;color:transparent !important;}
iframe{filter:saturate(.9) contrast(1.05);}

/* ===== GLOBAL HEADER/FOOTER VIEWPORT SWITCH (site-wide) ===== */
/* Mobile (≤1024px): show only mobile header/footer */
@media (max-width:1024px){
  .gp-header-sticky:not(.gp-header-mobile){display:none !important;}
  .gp-footer-wrap:not(.gp-footer-mobile){display:none !important;}
}
/* Desktop (≥1025px): show only desktop header/footer */
@media (min-width:1025px){
  .gp-header-mobile,
  .gp-footer-mobile{display:none !important;}
}
/* ===== FAQ ACCORDION ===== */
.gp-faq{display:flex;flex-direction:column;gap:12px;margin-top:8px;}
.gp-faq-item{
  background:linear-gradient(135deg,rgba(10,18,32,.78),rgba(2,6,14,.92));
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:0;overflow:hidden;
  transition:border-color .35s var(--gp-easing),box-shadow .35s var(--gp-easing);
}
.gp-faq-item[open]{border-color:rgba(102,184,255,.28);box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 32px rgba(46,156,255,.18);}
.gp-faq-item summary{
  list-style:none;cursor:pointer;
  padding:20px 24px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  transition:color .25s ease;
}
.gp-faq-item summary::-webkit-details-marker{display:none;}
.gp-faq-item summary::after{
  content:'+';flex:0 0 28px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:300;line-height:1;color:var(--gp-accent-soft);
  background:rgba(46,156,255,.10);border:1px solid rgba(102,184,255,.22);border-radius:50%;
  transition:transform .35s var(--gp-easing),background .25s ease;
}
.gp-faq-item[open] summary::after{content:'−';transform:rotate(180deg);background:var(--gp-accent);color:#fff;border-color:var(--gp-accent);}
.gp-faq-item summary:hover{color:var(--gp-accent-soft);}
.gp-faq-item p{
  margin:0;padding:0 24px 22px;
  font-family:'Inter',sans-serif;font-size:14.5px;line-height:1.7;color:#A8B2C5;
}
.gp-faq-item p a{color:var(--gp-accent-soft);text-decoration:none;border-bottom:1px solid rgba(102,184,255,.3);}
.gp-faq-item p a:hover{color:var(--gp-accent);border-color:var(--gp-accent);}
@media (max-width:480px){
  .gp-faq-item summary{padding:16px 18px;font-size:15px;}
  .gp-faq-item p{padding:0 18px 18px;font-size:14px;}
}

/* ===== SEO accessibility polish ===== */
.gp-pill{aria-label:badge;}
img{height:auto;}
/* ========== CONTACT FORM 7 — Glaspoint-Style ========== */
.gp-form .wpcf7-form,
.gp-form form.wpcf7-form{display:flex;flex-direction:column;gap:14px;margin:0;}
.gp-form .wpcf7-form p{margin:0;display:flex;flex-direction:column;gap:6px;}

/* Two-column: Name + Telefon nebeneinander (Desktop), gestapelt mobile */
@media (min-width:768px){
  .gp-form .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
  .gp-form .wpcf7-form p:nth-of-type(3),
  .gp-form .wpcf7-form p:nth-of-type(4),
  .gp-form .wpcf7-form p:nth-of-type(5),
  .gp-form .wpcf7-form p:last-of-type,
  .gp-form .wpcf7-form > .wpcf7-form-control-wrap.acceptance,
  .gp-form .wpcf7-form > p.acceptance{grid-column:1 / -1;}
}

/* Label */
.gp-form .cf7-label,
.gp-form .wpcf7-form label:not(.wpcf7-list-item-label):not(.wpcf7-list-item label){
  display:flex !important;flex-direction:column !important;gap:6px !important;
  color:var(--gp-fg-muted) !important;
  font-family:'Inter',sans-serif !important;font-size:12px !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;font-weight:600 !important;
  margin:0 !important;
}

/* Form Controls */
.gp-form .wpcf7-form-control-wrap{display:block;width:100%;}
.gp-form input.wpcf7-form-control,
.gp-form select.wpcf7-form-control,
.gp-form textarea.wpcf7-form-control{
  background:rgba(2,4,9,0.7) !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  color:#fff !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  font-family:'Inter',sans-serif !important;font-size:15px !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:normal !important;
  width:100% !important;outline:none !important;
  transition:border-color .35s ease,box-shadow .35s ease,background .35s ease !important;
}
.gp-form input.wpcf7-form-control::placeholder,
.gp-form textarea.wpcf7-form-control::placeholder{color:rgba(168,178,197,.55) !important;}
.gp-form input.wpcf7-form-control:focus,
.gp-form select.wpcf7-form-control:focus,
.gp-form textarea.wpcf7-form-control:focus{
  border-color:var(--gp-accent) !important;background:rgba(2,4,9,.92) !important;
  box-shadow:0 0 0 4px rgba(46,156,255,.15),0 0 30px rgba(46,156,255,.18) !important;
}
.gp-form textarea.wpcf7-form-control{min-height:120px;resize:vertical;}

/* Select dropdown styling */
.gp-form select.wpcf7-form-control{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366B8FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat:no-repeat !important;background-position:right 16px center !important;background-size:18px !important;
  padding-right:46px !important;cursor:pointer;
}
.gp-form select.wpcf7-form-control option{background:#0a1220;color:#fff;}

/* Acceptance Checkbox */
.gp-form .wpcf7-acceptance{display:block;}
.gp-form .wpcf7-list-item{margin:0 !important;display:block;}
.gp-form .wpcf7-list-item label{
  display:flex !important;flex-direction:row !important;align-items:flex-start !important;gap:10px !important;
  text-transform:none !important;letter-spacing:normal !important;
  font-family:'Inter',sans-serif !important;font-size:13px !important;font-weight:400 !important;
  color:var(--gp-fg-muted) !important;cursor:pointer;
}
.gp-form .wpcf7-list-item input[type="checkbox"]{
  flex:0 0 18px;width:18px;height:18px;margin:1px 0 0 0;
  accent-color:var(--gp-accent);
  background:rgba(2,4,9,.7);border:1px solid rgba(255,255,255,.18);border-radius:4px;
  cursor:pointer;
}
.gp-form .wpcf7-list-item-label{flex:1;line-height:1.5;}

/* Submit Button */
.gp-form input.wpcf7-submit,
.gp-form button.wpcf7-submit{
  background:linear-gradient(135deg,var(--gp-accent),var(--gp-accent-deep)) !important;
  color:#fff !important;border:none !important;
  border-radius:999px !important;padding:16px 24px !important;
  font-family:'Inter',sans-serif !important;font-weight:700 !important;font-size:15px !important;letter-spacing:.5px !important;
  text-transform:none !important;cursor:pointer;
  box-shadow:0 14px 32px rgba(46,156,255,.40),0 0 0 1px rgba(102,184,255,.20) inset !important;
  position:relative;overflow:hidden;width:100%;min-height:52px;
  transition:transform .3s var(--gp-easing),box-shadow .3s ease,filter .3s ease !important;
  margin-top:6px;
}
.gp-form .wpcf7-submit:hover{filter:brightness(1.06) !important;transform:translateY(-2px) !important;box-shadow:0 20px 40px rgba(46,156,255,.55),0 0 0 1px rgba(102,184,255,.30) inset !important;}
.gp-form .wpcf7-submit:active{transform:scale(.97) !important;}
.gp-form .wpcf7-submit:disabled{opacity:.6 !important;cursor:wait !important;}

/* Spinner während Submit */
.gp-form .wpcf7-spinner{
  background:transparent;width:20px;height:20px;margin:0 0 0 10px;
  display:inline-block;vertical-align:middle;position:relative;
}
.gp-form .wpcf7-spinner::before{
  content:'';display:block;width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  animation:gp-spin .8s linear infinite;
}
@keyframes gp-spin{to{transform:rotate(360deg);}}

/* Validation Error Tooltip */
.gp-form .wpcf7-not-valid-tip{
  color:#ff6b6b !important;font-size:12px !important;margin-top:4px;
  font-family:'Inter',sans-serif;font-weight:500;letter-spacing:0;text-transform:none;
}
.gp-form input.wpcf7-not-valid,
.gp-form select.wpcf7-not-valid,
.gp-form textarea.wpcf7-not-valid{border-color:#ff6b6b !important;box-shadow:0 0 0 3px rgba(255,107,107,.15) !important;}

/* Response Output Messages */
.gp-form .wpcf7-response-output{
  margin:14px 0 0 !important;padding:14px 18px !important;
  border-radius:12px !important;border:1px solid rgba(255,255,255,.10) !important;
  font-family:'Inter',sans-serif !important;font-size:14px !important;
  background:rgba(10,18,32,.65) !important;color:#fff !important;
  backdrop-filter:blur(8px);
}
.gp-form .wpcf7 form.sent .wpcf7-response-output{
  border-color:rgba(40,210,140,.4) !important;background:rgba(40,210,140,.12) !important;color:#a8f0c8 !important;
}
.gp-form .wpcf7 form.invalid .wpcf7-response-output,
.gp-form .wpcf7 form.failed .wpcf7-response-output,
.gp-form .wpcf7 form.spam .wpcf7-response-output{
  border-color:rgba(255,107,107,.4) !important;background:rgba(255,107,107,.10) !important;color:#ffb3b3 !important;
}

/* Required indicator */
.gp-form .cf7-label,
.gp-form .wpcf7-form > p > label{position:relative;}

/* Mobile spacing */
@media (max-width:767px){
  .gp-form .wpcf7-form{gap:12px;}
  .gp-form input.wpcf7-form-control,
  .gp-form select.wpcf7-form-control,
  .gp-form textarea.wpcf7-form-control{padding:13px 14px !important;font-size:15px !important;}
}
/* Drawer-Stagger-Delays for 5+6 items */
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(5){transition-delay:.34s;}
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(6){transition-delay:.40s;}
/* ═══════════════════════════════════════════════════
   COOKIE-RICHTLINIE PAGE · Complianz im Glaspoint-Stil
   ═══════════════════════════════════════════════════ */

/* Document wrapper (vom Complianz Shortcode generiert) */
.cmplz-document,
.cmplz-cookies-overview{
  font-family: 'Inter', sans-serif !important;
  color: #A8B2C5 !important;
  line-height: 1.7 !important;
  max-width: 900px;
  margin: 0 auto;
}

/* Headings im Cookie-Document */
.cmplz-document h1,
.cmplz-cookies-overview h1{
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #FFFFFF 0%, #66B8FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 0 24px !important;
  line-height: 1.15 !important;
}
.cmplz-document h2,
.cmplz-cookies-overview h2{
  font-family: 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 32px 0 14px !important;
  line-height: 1.25 !important;
}
.cmplz-document h3,
.cmplz-cookies-overview h3{
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #66B8FF !important;
  margin: 24px 0 10px !important;
  line-height: 1.3 !important;
  position: relative;
  padding-left: 14px;
}
.cmplz-document h3::before,
.cmplz-cookies-overview h3::before{
  content:''; position:absolute; left:0; top:9px;
  width:4px; height:16px;
  background: linear-gradient(180deg, #66B8FF, #2E9CFF);
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(46,156,255,0.5);
}
.cmplz-document h4,
.cmplz-cookies-overview h4{
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #A8B2C5 !important;
  margin: 20px 0 10px !important;
}

/* Paragraphs */
.cmplz-document p,
.cmplz-cookies-overview p{
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #A8B2C5 !important;
  margin: 0 0 14px !important;
}
.cmplz-document p strong,
.cmplz-cookies-overview p strong{
  color: #FFFFFF !important;
  font-weight: 600 !important;
}
.cmplz-document a,
.cmplz-cookies-overview a{
  color: #66B8FF !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(102,184,255,0.30) !important;
  transition: color 0.25s ease, border-color 0.25s ease !important;
}
.cmplz-document a:hover,
.cmplz-cookies-overview a:hover{
  color: #2E9CFF !important;
  border-bottom-color: #2E9CFF !important;
}

/* Listen */
.cmplz-document ul,
.cmplz-document ol,
.cmplz-cookies-overview ul,
.cmplz-cookies-overview ol{
  margin: 12px 0 18px !important;
  padding-left: 24px !important;
  color: #A8B2C5 !important;
}
.cmplz-document li,
.cmplz-cookies-overview li{
  margin-bottom: 6px !important;
  line-height: 1.7 !important;
}
.cmplz-document ul li::marker{ color: #66B8FF; }

/* Service-Group / Category Container */
.cmplz-cookies-overview .cmplz-service{
  background: linear-gradient(135deg, rgba(10,18,32,0.65), rgba(2,6,14,0.85)) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  margin: 18px 0 !important;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease !important;
}
.cmplz-cookies-overview .cmplz-service:hover{
  border-color: rgba(102,184,255,0.20) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.45), 0 0 28px rgba(46,156,255,0.15) !important;
}
.cmplz-cookies-overview .cmplz-service::before{
  content:''; position:absolute; top:-1px; left:-1px; right:-1px; bottom:-1px;
  background: radial-gradient(circle at 0% 0%, rgba(46,156,255,0.18), transparent 35%);
  border-radius: inherit; pointer-events:none; opacity:0.6;
}
.cmplz-cookies-overview .cmplz-service > *{ position: relative; z-index: 1; }

/* Cookie-Tabellen */
.cmplz-document table,
.cmplz-cookies-overview table{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: rgba(2,6,14,0.55) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 14px 0 18px !important;
  font-size: 13px !important;
}
.cmplz-document table thead,
.cmplz-cookies-overview table thead{
  background: linear-gradient(135deg, rgba(46,156,255,0.18), rgba(0,100,217,0.10)) !important;
}
.cmplz-document table th,
.cmplz-cookies-overview table th{
  padding: 12px 16px !important;
  text-align: left !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
  border: none !important;
}
.cmplz-document table td,
.cmplz-cookies-overview table td{
  padding: 12px 16px !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  color: #A8B2C5 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  vertical-align: top !important;
  word-break: break-word;
}
.cmplz-document table td:first-child,
.cmplz-cookies-overview table td:first-child{
  color: #EDEFF5 !important;
  font-weight: 600 !important;
}
.cmplz-document table tr:hover td,
.cmplz-cookies-overview table tr:hover td{
  background: rgba(46,156,255,0.04) !important;
}

/* Dropdown / Akkordeon Bereiche (falls Complianz die nutzt) */
.cmplz-document details,
.cmplz-cookies-overview details,
.cmplz-dropdown{
  background: linear-gradient(135deg, rgba(10,18,32,0.78), rgba(2,6,14,0.92));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  margin: 12px 0;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.cmplz-document details[open],
.cmplz-cookies-overview details[open]{
  border-color: rgba(102,184,255,0.28);
  box-shadow: 0 14px 36px rgba(0,0,0,0.55), 0 0 32px rgba(46,156,255,0.18);
}
.cmplz-document details summary,
.cmplz-cookies-overview details summary{
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: color 0.25s ease;
}
.cmplz-document details summary::-webkit-details-marker,
.cmplz-cookies-overview details summary::-webkit-details-marker{ display: none; }
.cmplz-document details summary::after,
.cmplz-cookies-overview details summary::after{
  content: '+';
  flex: 0 0 26px; width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 300;
  color: #66B8FF;
  background: rgba(46,156,255,0.10);
  border: 1px solid rgba(102,184,255,0.22);
  border-radius: 50%;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), background 0.25s ease;
}
.cmplz-document details[open] summary::after,
.cmplz-cookies-overview details[open] summary::after{
  content: '−';
  background: #2E9CFF;
  color: #FFFFFF;
  border-color: #2E9CFF;
}

/* Manage Consent Inline-Button (falls Complianz [cmplz-manage-consent] Shortcode auf der Page nutzt) */
.cmplz-manage-consent-link,
button.cmplz-manage-consent{
  background: linear-gradient(135deg, #2E9CFF, #0064D9) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.4px !important;
  cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(46,156,255,0.40) !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), filter 0.3s ease, box-shadow 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  margin: 14px 0 !important;
}
.cmplz-manage-consent-link:hover,
button.cmplz-manage-consent:hover{
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px rgba(46,156,255,0.55) !important;
}

/* Code/HR */
.cmplz-document hr,
.cmplz-cookies-overview hr{
  border: none !important;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(102,184,255,0.30), transparent);
  margin: 28px 0 !important;
}
.cmplz-document code,
.cmplz-cookies-overview code{
  background: rgba(46,156,255,0.10);
  color: #66B8FF;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: Menlo, Consolas, monospace;
  font-size: 12px;
}

/* Mobile Tabellen */
@media (max-width: 700px){
  .cmplz-document table,
  .cmplz-cookies-overview table{
    font-size: 12px !important;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cmplz-document table th,
  .cmplz-cookies-overview table th{ padding: 10px 12px !important; font-size: 10px !important; }
  .cmplz-document table td,
  .cmplz-cookies-overview table td{ padding: 10px 12px !important; }
  .cmplz-cookies-overview .cmplz-service{ padding: 18px 20px !important; }
  .cmplz-document h2,
  .cmplz-cookies-overview h2{ font-size: 20px !important; }
  .cmplz-document h3,
  .cmplz-cookies-overview h3{ font-size: 16px !important; }
}

/* Drawer-Stagger für Item 7 (Cookie-Richtlinie) */
.gp-burger-checkbox:checked ~ .gp-drawer .gp-drawer-nav li:nth-child(7){transition-delay:.46s;}
/* Drawer-Fallback: auch ohne Klassen anhand IDs verstecken */
nav#gp-drawer{position:fixed !important;top:var(--gp-mobile-header-h, 64px) !important;right:0 !important;bottom:0 !important;width:min(86vw,360px) !important;transform:translateX(100%);z-index:1050;}
input#gp-burger{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;}
input#gp-burger:checked ~ nav#gp-drawer{transform:translateX(0);}
@media (min-width:1025px){nav#gp-drawer,input#gp-burger{display:none !important;}}

/* Cookie-Page Container */
.gp-cookie-page{min-height:60vh;}
.gp-cookie-page h1{
  background:linear-gradient(135deg,#FFFFFF 0%,#66B8FF 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-family:'Montserrat',sans-serif;font-size:clamp(28px,5vw,44px);font-weight:800;
  margin:0 0 8px;line-height:1.15;
}
/* FIX: body.cmplz-document hatte 900px max-width geerbt – Scope nur auf Divs/Shortcode-Output */
body.cmplz-document{max-width:none !important;margin:0 !important;}
div.cmplz-document,
.elementor-widget-shortcode .cmplz-document,
.elementor-widget-shortcode .cmplz-cookies-overview{
  max-width:900px;margin:0 auto;
}
/* ═══ Complianz Cookie-Tabellen (CSS-Grid, nicht <table>) ═══ */
.cookies-per-purpose{
  background: rgba(2,6,14,0.55) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 14px 0 18px !important;
  gap: 1px !important;
  background-clip: padding-box;
}
.cookies-per-purpose > .purpose{
  background: linear-gradient(135deg, rgba(46,156,255,0.18), rgba(0,100,217,0.10)) !important;
  grid-column: 1 / -1 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(102,184,255,0.20) !important;
}
.cookies-per-purpose > .purpose h4{
  margin: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
  padding-left: 0 !important;
}
.cookies-per-purpose > .purpose h4::before{ display: none !important; }
.cookies-per-purpose > .name-header,
.cookies-per-purpose > .retention-header,
.cookies-per-purpose > .function-header{
  background: rgba(10,18,32,0.85) !important;
  padding: 10px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.cookies-per-purpose > .name-header h5,
.cookies-per-purpose > .retention-header h5,
.cookies-per-purpose > .function-header h5{
  margin: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
}
.cookies-per-purpose > .name,
.cookies-per-purpose > .retention,
.cookies-per-purpose > .function{
  background: rgba(2,6,14,0.50) !important;
  padding: 12px 16px !important;
  color: #A8B2C5 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  word-break: break-word;
}
.cookies-per-purpose > .name{
  color: #EDEFF5 !important;
  font-weight: 600 !important;
}
.cookies-per-purpose > .name a,
.cookies-per-purpose > .retention a,
.cookies-per-purpose > .function a{
  color: #66B8FF !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(102,184,255,0.30) !important;
}
.cookies-per-purpose > .name a:hover,
.cookies-per-purpose > .retention a:hover,
.cookies-per-purpose > .function a:hover{
  color: #2E9CFF !important;
  border-bottom-color: #2E9CFF !important;
}

/* Service-Header (Akkordeon-Kopf mit Toggle) */
.cmplz-dropdown.cmplz-service-desc{
  background: linear-gradient(135deg, rgba(10,18,32,0.78), rgba(2,6,14,0.92)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  margin: 12px 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.cmplz-dropdown.cmplz-service-desc[open],
.cmplz-dropdown.cmplz-service-desc.cmplz-active{
  border-color: rgba(102,184,255,0.28) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.55), 0 0 32px rgba(46,156,255,0.18) !important;
}
.cmplz-service-header{
  padding: 18px 22px !important;
  background: transparent !important;
}
.cmplz-service-header > div{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap;
}
.cmplz-service-header h3{
  margin: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #FFFFFF !important;
  padding-left: 0 !important;
  line-height: 1.3 !important;
}
.cmplz-service-header h3::before{ display: none !important; }
.cmplz-service-header > div > p{
  margin: 0 !important;
  margin-left: auto !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
  padding: 4px 12px !important;
  background: rgba(46,156,255,0.10) !important;
  border: 1px solid rgba(102,184,255,0.22) !important;
  border-radius: 999px !important;
}

/* Service Description / Sharing-Data Blocks */
.cmplz-service-description,
.cmplz-sharing-data{
  padding: 14px 22px !important;
  background: rgba(2,6,14,0.35) !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
}
.cmplz-service-description h4,
.cmplz-sharing-data h4{
  margin: 0 0 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
}
.cmplz-service-description p,
.cmplz-sharing-data p{
  margin: 0 !important;
  font-size: 14px !important;
  color: #A8B2C5 !important;
  line-height: 1.6 !important;
}

/* Service-Toggle (consent per service) */
.cmplz_consent_per_service_label{
  position: relative;
  width: 44px; height: 24px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 999px;
  cursor: pointer;
  flex: 0 0 44px;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.cmplz_consent_per_service_label::after{
  content:''; position: absolute;
  top: 2px; left: 2px;
  width: 18px; height: 18px;
  background: #FFFFFF;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}
.cmplz-accept-service:checked + .cmplz_consent_per_service_label,
input[type="checkbox"]:checked ~ .cmplz_consent_per_service_label{
  background: linear-gradient(135deg, #2E9CFF, #0064D9) !important;
  border-color: #2E9CFF !important;
}
.cmplz-accept-service:checked + .cmplz_consent_per_service_label::after,
input[type="checkbox"]:checked ~ .cmplz_consent_per_service_label::after{
  transform: translateX(20px);
}

/* Mobile-Anpassung: Grid 1-spaltig */
@media (max-width: 700px){
  .cookies-per-purpose{
    grid-template-columns: 1fr !important;
  }
  .cookies-per-purpose > .name-header,
  .cookies-per-purpose > .retention-header,
  .cookies-per-purpose > .function-header{
    padding: 8px 14px !important;
  }
  .cookies-per-purpose > .name,
  .cookies-per-purpose > .retention,
  .cookies-per-purpose > .function{
    padding: 10px 14px !important;
  }
  .cmplz-service-header > div > p{ margin-left: 0 !important; }
}
/* ═══ Complianz Einwilligungs-Kategorien (Funktional / Marketing etc.) ═══ */
.cmplz-categories{
  display:flex;flex-direction:column;gap:12px;margin:14px 0 18px;
}
details.cmplz-category{
  background: linear-gradient(135deg, rgba(10,18,32,0.78), rgba(2,6,14,0.92)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: border-color .35s ease, box-shadow .35s ease !important;
}
details.cmplz-category[open]{
  border-color: rgba(102,184,255,0.28) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.55), 0 0 32px rgba(46,156,255,0.18) !important;
}
details.cmplz-category > summary{
  list-style:none !important;cursor:pointer !important;
  padding: 18px 22px !important;
  background: transparent !important;
  position: relative;
  display: block !important;
}
details.cmplz-category > summary::-webkit-details-marker,
details.cmplz-category > summary::marker{ display:none !important; content:'' !important; }
/* deaktiviere das + / − Pseudo aus .cmplz-document details summary für diese */
details.cmplz-category > summary::after{ content:none !important; display:none !important; }

/* Category Header Row */
.cmplz-category-header{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap;
  width: 100%;
}
.cmplz-category-title{
  font-family:'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #FFFFFF !important;
  flex: 1 1 auto;
  letter-spacing: 0.2px;
}
.cmplz-always-active{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family:'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #66B8FF !important;
  padding: 4px 14px 4px 4px !important;
  background: rgba(46,156,255,0.10) !important;
  border: 1px solid rgba(102,184,255,0.22) !important;
  border-radius: 999px !important;
  margin-left: auto;
}

/* Toggle Switch (banner-checkbox) */
.cmplz-banner-checkbox{
  position: relative;
  display: inline-block;
  width: 36px; height: 20px;
  flex: 0 0 36px;
}
.cmplz-banner-checkbox input[type="checkbox"]{
  position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 2;
}
.cmplz-banner-checkbox .cmplz-label{
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  cursor: pointer;
  transition: background .3s ease, border-color .3s ease;
  margin: 0 !important;
}
.cmplz-banner-checkbox .cmplz-label::after{
  content:''; position:absolute;
  top: 2px; left: 2px;
  width: 14px; height: 14px;
  background: #FFFFFF;
  border-radius: 50%;
  transition: transform .3s cubic-bezier(0.16,1,0.3,1);
}
.cmplz-banner-checkbox input[type="checkbox"]:checked + .cmplz-label{
  background: linear-gradient(135deg, #2E9CFF, #0064D9) !important;
  border-color: #2E9CFF !important;
}
.cmplz-banner-checkbox input[type="checkbox"]:checked + .cmplz-label::after{
  transform: translateX(16px);
}
/* "Immer aktiv" Kategorien sind disabled aber checked */
.cmplz-banner-checkbox input[type="checkbox"]:disabled + .cmplz-label{
  background: linear-gradient(135deg, rgba(46,156,255,0.55), rgba(0,100,217,0.45)) !important;
  border-color: rgba(102,184,255,0.45) !important;
  cursor: not-allowed;
  opacity: 0.85;
}
.cmplz-banner-checkbox input[type="checkbox"]:disabled + .cmplz-label::after{
  transform: translateX(16px);
}

/* Chevron Icon */
.cmplz-icon{
  flex: 0 0 26px;
  width: 26px; height: 26px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(46,156,255,0.10);
  border: 1px solid rgba(102,184,255,0.22);
  border-radius: 50%;
  color: #66B8FF !important;
  transition: transform .35s cubic-bezier(0.16,1,0.3,1), background .25s ease, color .25s ease;
}
.cmplz-icon svg{
  width: 12px !important; height: 12px !important;
  fill: currentColor !important;
}
details.cmplz-category[open] .cmplz-icon{
  background: #2E9CFF !important;
  border-color: #2E9CFF !important;
  color: #FFFFFF !important;
  transform: rotate(180deg);
}
.cmplz-icon.cmplz-close{ display: none !important; }
details.cmplz-category[open] .cmplz-icon.cmplz-open{ display: inline-flex !important; }

/* Description Body */
details.cmplz-category > .cmplz-description{
  padding: 0 22px 20px !important;
  margin: 0 !important;
}
details.cmplz-category > .cmplz-description span,
details.cmplz-category > .cmplz-description p{
  display: block;
  font-family:'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #A8B2C5 !important;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 700px){
  details.cmplz-category > summary{ padding: 14px 16px !important; }
  details.cmplz-category > .cmplz-description{ padding: 0 16px 16px !important; }
  .cmplz-category-title{ font-size: 15px !important; }
  .cmplz-always-active{ font-size: 10px !important; padding: 3px 10px 3px 3px !important; }
}
/* Chevron-Background-Force für Einwilligungs-Akkordeons */
details.cmplz-category .cmplz-icon{
  background-color: rgba(46,156,255,0.10) !important;
}
details.cmplz-category[open] .cmplz-icon{
  background-color: #2E9CFF !important;
}
/* Floating "Einwilligung verwalten"-Pill ausblenden */
#cmplz-manage-consent,
.cmplz-manage-consent,
.cmplz-manage-consent-container{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* REVERT: .cmplz-manage-consent-container hat die Section 7.1 versteckt — wieder anzeigen */
.cmplz-manage-consent-container{
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* Floating "Einwilligung verwalten"-Banner (cmplz-categories-type-view-preferences) ausblenden — erscheint nach Consent als View-Preferences-Bar unten am Bildschirm. Das initiale Consent-Banner bleibt sichtbar (gesetzlich erforderlich) */
.cmplz-cookiebanner.cmplz-categories-type-view-preferences{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#cmplz-cookiebanner-container.cmplz-soft-cookiewall:has(.cmplz-categories-type-view-preferences){
  display: none !important;
  pointer-events: none !important;
}
/* CRITICAL FIX: Maintenance-Plugin oder ähnliches setzt pointer-events:none auf main – auf jedem Element re-aktivieren */
html, body, main, #content, .site-main, .page-content, .elementor, .e-con, .elementor-element, .elementor-widget, details, summary, button, a, input, select, textarea, label, .gp-faq, .gp-faq-item, .cmplz-categories, details.cmplz-category, details.cmplz-category > summary, details.cmplz-category .cmplz-icon, .cmplz-banner-checkbox, .cmplz-banner-checkbox input, .cmplz-banner-checkbox .cmplz-label, .cmplz_consent_per_service_label{
  pointer-events: auto !important;
}
/* Ausnahmen: dekorative Pseudo-Elemente bleiben pointer-events:none */
body::before, body::after, html::before{ pointer-events: none !important; }
/* CRITICAL FIX: Complianz Soft-Cookie-Wall override (banner-1-optin.css setzt body.cmplz-banner-active * pointer-events:none) */
body.cmplz-banner-active :not(.cmplz-cookiebanner):not(.cmplz-cookiebanner *){
  pointer-events: auto !important;
  user-select: auto !important;
}
/* Sicherheits-Override für FAQ + alle Akkordeons */
details, summary, .gp-faq, .gp-faq-item{
  pointer-events: auto !important;
  user-select: auto !important;
}
/* REVERT: Banner nicht mehr komplett verstecken, sondern sichtbar lassen */
.cmplz-cookiebanner.cmplz-categories-type-view-preferences{
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
#cmplz-cookiebanner-container.cmplz-soft-cookiewall:has(.cmplz-categories-type-view-preferences){
  display: block !important;
  pointer-events: auto !important;
}
/* Nur die "Einstellungen verwalten / Optionen verwalten / Einstellungen ansehen"-Buttons im Banner verstecken */
.cmplz-cookiebanner .cmplz-manage-options,
.cmplz-cookiebanner .cmplz-manage-third-parties,
.cmplz-cookiebanner .cmplz-manage-vendors,
.cmplz-cookiebanner .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-save-preferences{
  display: none !important;
}
/* HIGHER SPECIFICITY: Soft-Cookie-Wall überschreiben (Complianz banner-1-optin.css) */
body.cmplz-banner-active.elementor-default :not(.cmplz-cookiebanner):not(.cmplz-cookiebanner *),
html body.cmplz-banner-active :not(.cmplz-cookiebanner):not(.cmplz-cookiebanner *){
  pointer-events: auto !important;
  user-select: auto !important;
}
/* ═══════════════════════════════════════════════════
   COMPLIANZ COOKIE-BANNER · MOBILE OPTIMIZATION
   (Mobile-First: ≤ 768px / ≤ 480px / Touch-Targets)
   ═══════════════════════════════════════════════════ */

/* === Tablet & Mobile (≤ 768px) === */
@media (max-width: 768px){
  .cmplz-cookiebanner{
    border-radius: 14px !important;
    margin: 0 8px 8px !important;
    padding: 18px 18px 16px !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.55), 0 0 28px rgba(46,156,255,0.18) !important;
  }
  .cmplz-cookiebanner .cmplz-header{
    gap: 10px !important;
    padding-bottom: 10px !important;
  }
  .cmplz-cookiebanner .cmplz-title{
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }
  .cmplz-cookiebanner .cmplz-message{
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-top: 8px !important;
  }
  .cmplz-cookiebanner .cmplz-close{
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
  }
  .cmplz-cookiebanner .cmplz-close svg{
    width: 12px !important;
    height: 12px !important;
  }
  .cmplz-cookiebanner .cmplz-divider{
    margin: 10px 0 !important;
  }

  /* Buttons: vollbreit gestapelt + Touch-Target ≥48px */
  .cmplz-cookiebanner .cmplz-buttons{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 14px !important;
    width: 100% !important;
  }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px 18px !important;
    font-size: 14px !important;
    letter-spacing: 0.3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Document-Links unten: gestapelt, kleiner, mit Touch-Spacing */
  .cmplz-cookiebanner .cmplz-links{
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
  }
  .cmplz-cookiebanner .cmplz-links a{
    font-size: 11.5px !important;
    padding: 8px 0 !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Kategorien (innerhalb Banner) — kompakter */
  .cmplz-cookiebanner .cmplz-category{
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }
  .cmplz-cookiebanner .cmplz-category-title{
    font-size: 14px !important;
  }
  .cmplz-cookiebanner .cmplz-description{
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }
  /* Toggle Switch — etwas größer für Touch */
  .cmplz-cookiebanner .cmplz-banner-checkbox,
  .cmplz-cookiebanner .cmplz-slider{
    transform: scale(1.05);
    transform-origin: right center;
  }
}

/* === Small Mobile (≤ 480px) === */
@media (max-width: 480px){
  .cmplz-cookiebanner{
    border-radius: 12px !important;
    margin: 0 6px 6px !important;
    padding: 16px 16px 14px !important;
  }
  .cmplz-cookiebanner .cmplz-title{
    font-size: 16.5px !important;
  }
  .cmplz-cookiebanner .cmplz-message{
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
    min-height: 46px !important;
    padding: 12px 16px !important;
    font-size: 13.5px !important;
  }
  .cmplz-cookiebanner .cmplz-links a{
    font-size: 11px !important;
  }
  .cmplz-cookiebanner .cmplz-category{
    padding: 10px 12px !important;
  }
  .cmplz-cookiebanner .cmplz-category-title{
    font-size: 13px !important;
  }
  .cmplz-cookiebanner .cmplz-description{
    font-size: 12px !important;
  }
  /* Close Button etwas weiter weg vom Rand für Touch */
  .cmplz-cookiebanner .cmplz-close{
    width: 30px !important;
    height: 30px !important;
  }
}

/* === Soft Cookie Wall — Mobile === */
@media (max-width: 768px){
  .cmplz-soft-cookiewall{
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
}

/* === Blocked Content Placeholder — Mobile (z.B. blockiertes YouTube) === */
@media (max-width: 700px){
  .cmplz-blocked-content-container{
    padding: 18px 16px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  .cmplz-blocked-content-container .cmplz-blocked-content-notice{
    font-size: 13px !important;
  }
  button.cmplz-accept-service{
    width: 100% !important;
    padding: 12px 18px !important;
    font-size: 13.5px !important;
    min-height: 46px !important;
    margin-top: 10px !important;
  }
}

/* === AMP Notice — Mobile === */
@media (max-width: 768px){
  #cmplz-consent-ui,
  #cmplz-post-consent-ui{
    margin: 0 8px 8px !important;
    padding: 16px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }
  #cmplz-consent-ui button,
  #cmplz-post-consent-ui button{
    width: 100% !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    font-size: 14px !important;
  }
}

/* === Reduced Motion (Mobile inkl.) — keine slide-in Animationen === */
@media (prefers-reduced-motion: reduce){
  .cmplz-cookiebanner,
  .cmplz-cookiebanner *{
    animation: none !important;
    transition: none !important;
  }
}

/* === Landscape-Mobile (kurze Höhe) — Banner scrollbar halten === */
@media (max-height: 480px) and (orientation: landscape){
  .cmplz-cookiebanner{
    max-height: 90vh !important;
    overflow-y: auto !important;
    padding: 14px 18px !important;
  }
  .cmplz-cookiebanner .cmplz-title{ font-size: 16px !important; }
  .cmplz-cookiebanner .cmplz-message{ font-size: 12.5px !important; }
  .cmplz-cookiebanner .cmplz-buttons{
    flex-direction: row !important;
    gap: 8px !important;
  }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
    flex: 1 1 0 !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
}
/* === HIGH-SPECIFICITY: Manage-Buttons sicher verstecken (auch auf Mobile) === */
body .cmplz-cookiebanner .cmplz-manage-options,
body .cmplz-cookiebanner .cmplz-manage-third-parties,
body .cmplz-cookiebanner .cmplz-manage-vendors,
body .cmplz-cookiebanner .cmplz-view-preferences,
body .cmplz-cookiebanner .cmplz-save-preferences,
body .cmplz-cookiebanner a.cmplz-manage-options,
body .cmplz-cookiebanner button.cmplz-view-preferences,
body .cmplz-cookiebanner button.cmplz-save-preferences{
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === Banner-Position-Fix für Mobile (Complianz default left:50% mit transform schiebt es raus) === */
@media (max-width: 768px){
  .cmplz-cookiebanner.cmplz-bottom,
  body .cmplz-cookiebanner{
    left: 0 !important;
    right: 0 !important;
    margin: 0 8px 8px !important;
    transform: none !important;
    width: auto !important;
    max-width: calc(100vw - 16px) !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 480px){
  .cmplz-cookiebanner.cmplz-bottom,
  body .cmplz-cookiebanner{
    margin: 0 6px 6px !important;
    max-width: calc(100vw - 12px) !important;
  }
}
/* Mobile Header: Inner children (auch nested containers) dürfen nicht 100% breit werden — sonst wrappt der rechte Cluster */
.gp-header-mobile > .e-con-inner > .e-con,
.gp-header-mobile > .e-con-inner > div{
  width: auto !important;
  flex: 0 0 auto !important;
  max-width: 100% !important;
}
.gp-header-mobile > .e-con-inner{
  flex-wrap: nowrap !important;
  gap: 8px !important;
}
.gp-header-mobile > .e-con-inner > .e-con > .e-con-inner,
.gp-header-mobile > .e-con-inner > div > .e-con-inner{
  width: auto !important;
}
/* === AGGRESSIVE MOBILE HEADER FIX (CSS custom properties + explicit width) === */
@media (max-width: 1024px){
  .gp-header-mobile > .e-con-inner{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .gp-header-mobile > .e-con-inner > .e-con,
  .gp-header-mobile > .e-con-inner > div.elementor-element{
    --width: auto !important;
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: max-content !important;
  }
  /* Right Cluster soll seine Kinder horizontal halten */
  .gp-header-mobile > .e-con-inner > .e-con > .e-con-inner{
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
  }
  /* Logo bleibt eine eigene Spalte */
  .gp-header-mobile > .e-con-inner > .elementor-widget-image{
    --width: auto !important;
    width: auto !important;
  }
}
/* === NUCLEAR FIX: Elementor CSS Custom Properties für Mobile Header === */
@media (max-width: 1024px){
  .gp-header-mobile,
  .gp-header-mobile.e-con,
  .gp-header-mobile.e-con.e-flex,
  .gp-header-mobile.elementor-element{
    --flex-wrap: nowrap !important;
    --flex-wrap-mobile: nowrap !important;
    --flex-wrap-tablet: nowrap !important;
    --justify-content: space-between !important;
    --align-items: center !important;
    --width: 100% !important;
  }
  .gp-header-mobile > .e-con-inner > .e-con,
  .gp-header-mobile > .e-con-inner > .e-con.e-flex,
  .gp-header-mobile > .e-con-inner > .elementor-element{
    --width: auto !important;
    --container-widget-width: auto !important;
    --container-widget-flex-grow: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: max-content !important;
  }
  /* Logo darf seine natürliche Breite haben */
  .gp-header-mobile > .e-con-inner > .elementor-widget-image,
  .gp-header-mobile > .e-con-inner > .elementor-element.elementor-widget-image{
    --width: auto !important;
    width: auto !important;
  }
}
/* Override CSS-Vars für Mobile Header Justify */
@media (max-width: 1024px){
  .gp-header-mobile > .e-con-inner{
    justify-content: space-between !important;
  }
  .gp-header-mobile > .e-con-inner > .e-con > .e-con-inner{
    justify-content: flex-end !important;
  }
}
/* SPECIFICITY BUMP — Mobile Header Justify (Elementor .e-con.e-flex > .e-con-inner hat 0,3,0) */
@media (max-width: 1024px){
  .gp-header-mobile.e-con.e-flex > .e-con-inner{
    justify-content: space-between !important;
    align-items: center !important;
  }
  .gp-header-mobile > .e-con-inner > .e-con.e-flex > .e-con-inner{
    justify-content: flex-end !important;
    align-items: center !important;
  }
}
/* MAX SPEC — Mobile Header Layout */
.elementor .gp-header-mobile.e-con.e-flex > .e-con-inner,
.elementor-page .gp-header-mobile.e-con.e-flex > .e-con-inner,
body .gp-header-mobile.e-con.e-flex > .e-con-inner{
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
}
.elementor .gp-header-mobile > .e-con-inner > .e-con.e-flex > .e-con-inner,
.elementor-page .gp-header-mobile > .e-con-inner > .e-con.e-flex > .e-con-inner,
body .gp-header-mobile > .e-con-inner > .e-con.e-flex > .e-con-inner{
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
/* CORRECTED — Mobile Header: e-con-inner ist 2 Ebenen tief (f22ee3b → eb87418 → .e-con-inner) */
.gp-header-mobile .e-con-inner{
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
}
/* Right Cluster (innerstes .e-con-inner): Phone+Burger nach rechts */
.gp-header-mobile .e-con-inner > .e-con .e-con-inner{
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}
/* === DRAWER SVG/IMAGE SIZE FIXES (waren zufällig auf anderen Pages OK durch Browser-Defaults) === */
.gp-drawer .gp-drawer-logo{
  height: 40px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  display: block !important;
}
.gp-drawer .gp-drawer-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
  gap: 12px !important;
}
.gp-drawer .gp-drawer-close{
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
  color: #FFFFFF !important;
  cursor: pointer !important;
  flex: 0 0 36px !important;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.3s cubic-bezier(0.16,1,0.3,1) !important;
}
.gp-drawer .gp-drawer-close svg{
  width: 18px !important;
  height: 18px !important;
}
.gp-drawer .gp-drawer-close:hover{
  background: rgba(46,156,255,0.18) !important;
  border-color: rgba(102,184,255,0.4) !important;
  transform: rotate(90deg) !important;
}
.gp-drawer .gp-drawer-eyebrow{
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(168,178,197,0.6) !important;
  margin: 8px 0 12px !important;
  padding: 0 4px !important;
}
.gp-drawer .gp-arr{
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin-left: auto !important;
  opacity: 0.5 !important;
  color: #FFFFFF !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), opacity 0.3s ease !important;
}
.gp-drawer-nav a:hover .gp-arr{
  opacity: 1 !important;
  transform: translateX(4px) !important;
}
.gp-drawer .gp-drawer-label{
  flex: 1 1 auto !important;
}
.gp-drawer .gp-ico{
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  color: #2E9CFF !important;
}
.gp-drawer .gp-drawer-social svg{
  width: 18px !important;
  height: 18px !important;
}
.gp-drawer .gp-drawer-cta svg{
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}/* End custom CSS */