:root { --title-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; --body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
html, body { max-width:100%; overflow-x:hidden; }
a { text-underline-offset: 3px; }
.th-header .header-logo img { max-width: 210px; height:auto; }
.contact-links a { display:inline-flex!important; }
.hero-title, .sec-title, h1, h2, h3, .box-title, .location-link { hyphens:none!important; -webkit-hyphens:none!important; word-break:normal!important; overflow-wrap:normal!important; text-transform:none!important; }
.service-note { margin-top:28px; background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:18px; padding:20px 22px; }
.four-cards { grid-template-columns: repeat(4, minmax(0,1fr)); }
.local-card h2 { font-size:26px; margin-bottom:12px; }
.local-list { margin:0; padding-left:1.1rem; }
.local-list li { margin-bottom:10px; }
.contact-strip { display:grid; grid-template-columns:1fr; gap:10px; padding:18px 20px; background:#0b3d24; border-radius:18px; color:#fff; }
.contact-strip a, .contact-strip strong { color:#fff; }
.mini-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.mini-links a { display:inline-flex; padding:8px 12px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:#fff; color:#0b3d24; font-weight:700; font-size:14px; }
.location-overview-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.area-list { display:grid; gap:22px; }
.area-block { padding:30px; }
.compact-grid { margin-top:18px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.legal-card h3 { margin-top:26px; margin-bottom:8px; }
.privacy-note { font-size:14px; line-height:1.5; color:#556; margin:8px 0 22px; text-align:center; }
.rta-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.cookie-banner { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); width:min(680px,calc(100% - 28px)); z-index:99999; background:#102a1b; color:#fff; border-radius:18px; padding:18px 20px; box-shadow:0 14px 45px rgba(0,0,0,.28); font-size:15px; line-height:1.5; }
.cookie-banner a { color:#fff; font-weight:700; text-decoration:underline; }
.cookie-banner .cookie-actions { display:flex; justify-content:center; margin-top:12px; gap:10px; }
.cookie-banner button { border:0; border-radius:999px; padding:10px 18px; font-weight:700; background:#23a33a; color:#fff; cursor:pointer; }
.cookie-banner.is-hidden { display:none!important; }
@media (max-width: 1199px) { .four-cards, .compact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 991px) {
  .header-top { display:none!important; }
  .th-header .header-logo img { max-width: 170px; }
  .header-button > a:not(:last-child), .header-button .th-btn { display:none!important; }
  .menu-area { padding:8px 0!important; }
  #hero { min-height:520px!important; }
  #hero .hero-inner, #hero .swiper-slide { min-height:520px!important; }
  .hero-title { font-size: clamp(28px, 7vw, 40px)!important; line-height:1.14!important; }
  .hero-text { font-size:16px!important; line-height:1.55!important; }
  .location-overview-grid { grid-template-columns:1fr; }
}
@media (max-width: 767px) {
  body { padding-bottom: 88px!important; }
  .th-header .header-logo img { max-width: 155px; }
  #hero { min-height:500px!important; height:auto!important; }
  #hero .hero-inner, #hero .swiper-slide { min-height:500px!important; height:auto!important; }
  #hero .hero-style1 { padding-top:92px!important; padding-bottom:70px!important; }
  #hero .btn-group { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; max-width:330px; }
  #hero .btn-group .th-btn { width:100%; justify-content:center; }
  .page-hero { padding-top:86px!important; padding-bottom:52px!important; }
  .page-hero .hero-title, .page-hero h1 { font-size: clamp(27px, 7.4vw, 34px)!important; line-height:1.16!important; }
  .page-hero .hero-text { font-size:17px!important; line-height:1.65!important; }
  .four-cards, .compact-grid, .local-card-grid, .location-grid { grid-template-columns:1fr!important; }
  .cookie-banner { bottom:92px; font-size:14px; }
  .scroll-top { display:none!important; }
}
@media (max-width: 430px) {
  .th-header .header-logo img { max-width: 145px; }
  #hero .hero-title { font-size: 29px!important; }
  .sec-title { font-size: clamp(27px, 8vw, 32px)!important; line-height:1.16!important; }
  .local-card { padding:22px 18px!important; }
}


/* Final RTA corrections: inline icons, clean service hero backgrounds, stable local grids. */
.rta-icon { width:1em; height:1em; display:inline-block; vertical-align:-0.13em; fill:currentColor; flex:0 0 auto; }
.rta-icon.ms-2 { margin-left:.5rem; }
.header-button a, .th-social a, .social-links a { display:inline-flex; align-items:center; justify-content:center; }
.header-button .rta-icon, .header-links .rta-icon, .th-social .rta-icon { font-size:1.05em; }
.th-btn .rta-icon { position:relative; top:-1px; }
.icon-box .slider-arrow .rta-icon, .slider-arrow .rta-icon { display:block; margin:auto; }
.checklist li .rta-icon { color:var(--theme-color); margin-right:10px; }

.page-hero { background-position:center center !important; background-size:cover !important; }
.service-hero:before { background:linear-gradient(90deg,rgba(0,21,36,.82),rgba(0,21,36,.52)) !important; }
.service-hero-gebaeudereinigung { background-position:center center !important; }
.service-hero-gartenpflege { background-position:center center !important; }
.service-hero-winterdienst { background-position:center center !important; }
.page-hero .hero-title, .page-hero h1 { max-width:980px; font-size:clamp(42px,4.7vw,68px) !important; line-height:1.06 !important; overflow-wrap:normal !important; }
.page-hero .hero-text { max-width:820px; }

.location-grid, .compact-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important; gap:18px !important; }
.location-link { justify-content:center !important; text-align:center !important; overflow-wrap:normal !important; word-break:normal !important; }

@media (max-width: 991px) {
  .page-hero .hero-title, .page-hero h1 { font-size:clamp(34px,6.4vw,52px) !important; }
}
@media (max-width: 767px) {
  .location-grid, .compact-grid { grid-template-columns:1fr !important; }
  .page-hero .hero-title, .page-hero h1 { font-size:clamp(27px,7.2vw,34px) !important; line-height:1.16 !important; }
  .page-hero .hero-text { font-size:16px !important; line-height:1.7 !important; }
}


/* RTA final visual polish after user screenshot review */
.rta-icon{width:1.18em;height:1.18em;display:inline-block;vertical-align:-0.18em;fill:currentColor;flex:0 0 auto;}
.btn-arrow{display:inline-flex;align-items:center;justify-content:center;margin-left:.55rem;font-size:1.1em;font-weight:800;line-height:1;}

/* Contact icons: crisp, larger and aligned */
.header-layout1 .header-top .contact-links{display:flex;gap:12px;align-items:center;justify-content:flex-end;}
.header-layout1 .header-top .contact-links a,
.header-layout1 .header-button > a:not(.th-btn){width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--theme-color);background:#fff;border:1px solid rgba(0,100,0,.14);transition:.25s ease;}
.header-layout1 .header-top .contact-links a{color:#fff;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.34);}
.header-layout1 .header-top .contact-links a:hover,
.header-layout1 .header-button > a:not(.th-btn):hover{background:var(--theme-color);color:#fff;border-color:var(--theme-color);}
.header-layout1 .header-top .rta-icon,
.header-layout1 .header-button > a:not(.th-btn) .rta-icon{width:20px;height:20px;display:block;}
.header-links li > .rta-icon{width:20px;height:20px;margin-right:8px;}
.th-social a .rta-icon{width:19px;height:19px;display:block;}

/* Remove obsolete overlay box from about image, even if cached markup exists */
/* Footer/link arrows without missing icon-font squares */
.widget_nav_menu a::before,
.widget_meta a::before,
.widget_pages a::before,
.widget_archive a::before,
.widget_categories a::before,
.wp-block-categories a::before,
.footer-widget.widget_meta a:before,
.footer-widget.widget_pages a:before,
.footer-widget.widget_archive a:before,
.footer-widget.widget_categories a:before,
.footer-widget.widget_nav_menu a:before{content:""!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;line-height:1!important;color:var(--theme-color)!important;}
.footer-widget.widget_nav_menu a:before{top:3px!important;left:0!important;}

/* Back-to-top: replace missing icon font with real text arrow */
.scroll-top:after{content:""!important;font-family:Arial,Helvetica,sans-serif!important;font-size:0!important;font-weight:700!important;color:var(--theme-color)!important;display:block!important;background:transparent!important;}
.scroll-top svg{display:block!important;}
@media (max-width: 767px){.scroll-top{display:none!important;}}

/* Service section: no inactive carousel arrows */
#dienst .sec-btn,.service-area .sec-btn{display:none!important;}
#dienst .title-area{margin-bottom:36px;}

/* Reduce oversized gap before process section */
#work-process.space{padding-top:55px!important;padding-bottom:90px!important;}
#work-process .title-area{margin-bottom:34px!important;}
#work-process .sec-title{margin-bottom:0;}
@media (max-width: 767px){#work-process.space{padding-top:38px!important;padding-bottom:65px!important;}}

/* Contact form icon alignment */
.team-contact-form .form-group{position:relative;margin-bottom:24px;}
.team-contact-form .form-group > .rta-icon{position:absolute!important;right:22px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;color:var(--theme-color)!important;pointer-events:none!important;opacity:.82!important;}
.team-contact-form .form-group textarea + .rta-icon{top:25px!important;transform:none!important;}
.team-contact-form .form-control,
.team-contact-form .form-select{padding-right:58px!important;min-height:58px;}
.team-contact-form textarea.form-control{min-height:138px;padding-top:18px;}
.team-contact-form .privacy-note{font-size:14px;line-height:1.55;margin:8px auto 22px;text-align:center;max-width:760px;color:#6b7280;}
.team-contact-form .form-btn{margin-top:0!important;}
.rta-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* Map like the original, but cleaner and responsive */
.rta-map-embed{position:relative;width:100%;height:430px;overflow:hidden;border-radius:24px;box-shadow:0 12px 35px rgba(2,29,53,.12);border:1px solid rgba(0,0,0,.06);}
.rta-map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media (max-width: 767px){.rta-map-embed{height:340px;border-radius:16px;}}

/* Better background for location hub and cleaner hero overlay */
.page-hero:before{background:linear-gradient(90deg,rgba(0,20,38,.86) 0%,rgba(0,33,58,.65) 52%,rgba(0,33,58,.38) 100%)!important;}
.einsatzgebiete-page .page-hero{background-position:center center!important;}

/* Header comfort on desktop and legacy browsers */
.header-layout1 .header-button{gap:10px;align-items:center;}
.header-layout1 .th-btn{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:0;}
.header-layout1 .menu-area .container{max-width:1320px;}

/* Extra legacy-browser icon-font cleanup */
.th-mobile-menu ul li a:before{content:""!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;}
.th-mobile-menu ul .th-item-has-children>a .th-mean-expand:before{content:"+"!important;font-family:Arial,Helvetica,sans-serif!important;}
.th-mobile-menu ul .th-item-has-children.th-active>a .th-mean-expand:before{content:""!important;font-family:Arial,Helvetica,sans-serif!important;}
.accordion-button:after,.accordion-card .accordion-button:after{font-family:Arial,Helvetica,sans-serif!important;}

/* Final safe polish: no icon-font glyphs, no unsupported Unicode arrows, stable form layout. */
.btn-arrow{position:relative!important;display:inline-block!important;flex:0 0 15px!important;width:15px!important;height:15px!important;margin-left:10px!important;font-size:0!important;line-height:0!important;vertical-align:-2px!important;color:currentColor!important;}
.btn-arrow:before{content:""!important;position:absolute!important;right:1px!important;top:1px!important;width:8px!important;height:8px!important;border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;background:transparent!important;}
.btn-arrow:after{content:""!important;position:absolute!important;right:2px!important;top:8px!important;width:14px!important;height:2px!important;background:currentColor!important;transform:rotate(-45deg)!important;transform-origin:right center!important;border:0!important;border-radius:0!important;}

.scroll-top{background:#fff!important;border:2px solid var(--theme-color)!important;box-shadow:0 8px 28px rgba(0,0,0,.15)!important;}
.scroll-top:before{content:""!important;position:absolute!important;left:50%!important;top:52%!important;width:3px!important;height:22px!important;background:var(--theme-color)!important;transform:translate(-50%,-25%)!important;z-index:3!important;border:0!important;border-radius:2px!important;}
.scroll-top:after{content:""!important;position:absolute!important;left:50%!important;top:41%!important;width:14px!important;height:14px!important;border-top:3px solid var(--theme-color)!important;border-left:3px solid var(--theme-color)!important;border-right:0!important;border-bottom:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;transform:translate(-50%,-50%) rotate(45deg)!important;z-index:3!important;line-height:0!important;font-size:0!important;}
.scroll-top svg{position:absolute!important;inset:-2px!important;width:50px!important;height:50px!important;z-index:1!important;background:transparent!important;}

.footer-widget.widget_meta a:before,
.footer-widget.widget_pages a:before,
.footer-widget.widget_archive a:before,
.footer-widget.widget_categories a:before,
.footer-widget.widget_nav_menu a:before,
.widget_nav_menu a::before,
.widget_meta a::before,
.widget_pages a::before,
.widget_archive a::before,
.widget_categories a::before,
.wp-block-categories a::before{content:""!important;width:7px!important;height:7px!important;border-top:2px solid var(--theme-color)!important;border-right:2px solid var(--theme-color)!important;transform:rotate(45deg)!important;background:transparent!important;left:0!important;top:.62em!important;font-family:Arial,Helvetica,sans-serif!important;line-height:1!important;border-radius:0!important;}

.th-mobile-menu ul li a:before{content:""!important;width:7px!important;height:7px!important;border-top:2px solid var(--theme-color)!important;border-right:2px solid var(--theme-color)!important;transform:rotate(45deg)!important;background:transparent!important;font-family:Arial,Helvetica,sans-serif!important;}
.th-mobile-menu ul .th-item-has-children>a .th-mean-expand:before{content:""!important;width:12px!important;height:2px!important;background:currentColor!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;}
.th-mobile-menu ul .th-item-has-children>a .th-mean-expand:after{content:""!important;width:2px!important;height:12px!important;background:currentColor!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;}
.th-mobile-menu ul .th-item-has-children.th-active>a .th-mean-expand:after{display:none!important;}

/* Safer contact form: no floating icon artifacts, clean native fields. */
.team-contact-form .form-group{position:relative!important;margin-bottom:24px!important;}
.team-contact-form .form-group > .rta-icon{display:none!important;}
.team-contact-form .form-control,
.team-contact-form .form-select{height:60px!important;min-height:60px!important;padding:0 24px!important;border-radius:8px!important;line-height:60px!important;}
.team-contact-form textarea.form-control{height:150px!important;min-height:150px!important;line-height:1.55!important;padding:18px 24px!important;resize:vertical;}
.team-contact-form .row{--bs-gutter-x:24px;--bs-gutter-y:0;}
.team-contact-form .privacy-note{clear:both;width:100%;font-size:14px!important;line-height:1.55!important;margin:0 auto 22px!important;text-align:center!important;max-width:760px!important;color:#6b7280!important;}
.team-contact-form .form-messages{width:100%;}
.rta-hp,.rta-hp[hidden]{display:none!important;visibility:hidden!important;position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* Tighten the transition from services to process without touching the old visual style. */
#dienst.space-bottom{padding-bottom:48px!important;}
#work-process.space{padding-top:38px!important;}
@media (max-width:767px){#dienst.space-bottom{padding-bottom:34px!important;}#work-process.space{padding-top:28px!important;}}

/* Sharper header contact icons. */
.header-layout1 .header-button > a:not(.th-btn){width:42px!important;height:42px!important;border-radius:50%!important;}
.header-layout1 .header-button > a:not(.th-btn) .rta-icon{width:22px!important;height:22px!important;}
.header-layout1 .header-top .contact-links a{width:32px!important;height:32px!important;}
.header-layout1 .header-top .contact-links a .rta-icon{width:19px!important;height:19px!important;}
.header-links li > .rta-icon{width:21px!important;height:21px!important;margin-right:8px!important;}

/* Outline SVG icons stay crisp and never depend on icon fonts. */
.rta-icon-outline,
.rta-icon-outline *{fill:none!important;stroke:currentColor!important;vector-effect:non-scaling-stroke;}
