/*
Theme Name: kuehl-entsorgung-website
Theme URI: https://example.com/kuehl-entsorgung-website
Author: Template Engine
Description: Block theme generated from an HTML template by the Template Engine conversion pipeline.
Version: 0.2.1
Requires PHP: 8.1
Text Domain: kuehl-entsorgung-website
*/

/* Bundled from assets/css/design.css */
:root{
    --brand:#15512E; --brand2:#2F7D4F; --leaf:#6FB23E; --wash:#EDF4E8; --wash2:#F6F9F2;
    --ink:#15201A; --muted:#5C6A60; --line:#DBE5D4; --paper:#fff;
    --sek:#1B3A5C; --sek2:#2C6090;
    --shadow:0 1px 2px rgba(20,40,26,.05), 0 14px 34px -18px rgba(20,40,26,.25);
  }
  *{box-sizing:border-box; margin:0}
  html{scroll-behavior:smooth}
  body{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif; color:var(--ink); background:var(--wash2); line-height:1.55; font-size:16px}
  a{color:var(--brand2); text-decoration:none; cursor:pointer}
  img{max-width:100%; display:block}
  .wrap{max-width:1120px; margin:0 auto; padding:0 24px}

  /* Markenverbund-Bar */
  .brandbar{background:var(--brand); color:#DCEBD2; font-size:12.5px}
  .brandbar .wrap{display:flex; justify-content:space-between; align-items:center; height:34px}
  .brandbar .brands{display:flex; gap:18px}
  .brandbar a,
  .brandbar .wp-block-navigation-item__content{color:#fff !important; font-weight:600 !important; letter-spacing:.04em !important}
  .brandbar .tel,
  .brandbar .tel-link{color:#DCEBD2 !important; font-weight:600 !important}
  .brandbar p{margin:0 !important; padding:0 !important; display:flex !important; align-items:center !important}
  .brandbar .wp-block-navigation,
  .brandbar .wp-block-navigation__container{display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; gap:14px !important; margin:0 !important; padding:0 !important}
  .brandbar .wp-block-navigation-item{margin:0 !important; padding:0 !important; white-space:nowrap !important}

  @media(max-width:768px){
    .brandbar{font-size:11.5px; line-height:1.3}
    .brandbar .wrap{height:34px; min-height:34px; padding-top:0; padding-bottom:0; gap:8px; flex-wrap:nowrap; justify-content:space-between}
    .brandbar .brands{gap:10px; flex-shrink:1; min-width:0}
    .brandbar .brands a{font-size:11px; letter-spacing:.02em; white-space:nowrap}
    .brandbar .tel{font-size:11.5px; white-space:nowrap; flex-shrink:0}
    .brandbar p.wp-block-paragraph,
    .brandbar p{display:none !important}
  }
  @media(max-width:540px){
    .brandbar .tel-hours{display:none}
    .brandbar .tel-link{text-decoration:none; white-space:nowrap}
    .brandbar .tel-link:hover{color:#fff !important; text-decoration:underline}
  }

  /* Header */
  header.site{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
  header.site .wrap{display:flex; align-items:center; gap:20px; height:76px}
  header.site .wrap > *{
    margin-block-start:0 !important;
    margin-block-end:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  .logo, .wp-block-site-logo{display:flex; align-items:center; flex:0 0 auto; margin:0 !important}
  .wp-block-site-logo a{display:inline-flex; align-items:center}
  .logo img, .wp-block-site-logo img{height:46px; width:auto; max-width:200px; object-fit:contain; display:block}
  nav.main,
  header.site .wp-block-navigation.main{display:flex; align-items:center; gap:2px; margin-left:auto; margin-top:0 !important; margin-bottom:0 !important}
  nav.main a{padding:9px 12px; border-radius:9px; color:var(--ink); font-weight:600; font-size:15px; white-space:nowrap}
  nav.main a:hover{background:var(--wash)}
  nav.main a.active{background:var(--wash); color:var(--brand)}
  .hactions,
  header.site .hactions,
  header.site p.hactions{display:flex; align-items:center; gap:10px; flex:none; margin-top:0 !important; margin-bottom:0 !important}
  .htel{font-weight:700; font-size:14.5px; color:var(--brand); white-space:nowrap}
  .btn-outline{border:1.5px solid var(--brand); color:var(--brand); font-weight:700; padding:9px 16px; border-radius:10px; font-size:14.5px; white-space:nowrap}
  .btn-outline:hover{background:var(--wash)}
  .cta-btn{background:var(--leaf); color:#fff !important; font-weight:700; padding:10px 16px; border-radius:10px; box-shadow:var(--shadow); font-size:14.5px; white-space:nowrap}
  .cta-btn:hover{background:#5FA032}
  @media(max-width:1080px){.htel{display:none}}

  /* Mobile & Tablet Header (<= 1024px) */
  @media(max-width:1024px){
    header.site{z-index:100; background:rgba(255,255,255,.98); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px)}
    header.site .wrap{height:62px; padding:0 24px; gap:10px; justify-content:space-between; align-items:center}

    /* Flex Ordering: 1 = Logo, 2 = CTA Action, 3 = Hamburger Nav */
    .wp-block-site-logo{order:1; flex:0 0 auto !important; margin:0 !important; display:flex !important; align-items:center}
    .wp-block-site-logo img{height:36px !important; width:auto !important; max-width:145px !important}

    header.site .hactions,
    header.site p.hactions{
      order:2;
      margin:0 0 0 auto !important;
      padding:0 !important;
      display:flex !important;
      align-items:center !important;
      gap:8px;
      flex:0 0 auto;
    }
    .hactions .htel{display:none !important}
    .hactions .btn-outline{display:none !important}
    .hactions .cta-btn{
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      height:36px !important;
      padding:0 13px !important;
      font-size:12.5px !important;
      border-radius:8px !important;
      font-weight:700 !important;
      line-height:1 !important;
      white-space:nowrap !important;
    }

    .wp-block-navigation.main{order:3; margin:0 !important; flex:0 0 auto !important; display:flex !important; align-items:center}
    .wp-block-navigation.main:not(.has-modal-open) > .wp-block-navigation__container{display:none !important}
    .wp-block-navigation.main .wp-block-navigation__responsive-container:not(.is-menu-open){display:none !important}

    /* Hamburger Toggle Button */
    .wp-block-navigation.main .wp-block-navigation__responsive-container-open{
      display:flex !important;
      align-items:center;
      justify-content:center;
      width:36px;
      height:36px;
      padding:0;
      margin:0;
      background:var(--wash);
      border:1px solid var(--line);
      border-radius:8px;
      color:var(--brand);
      cursor:pointer;
      transition:all .15s ease;
    }
    .wp-block-navigation.main .wp-block-navigation__responsive-container-open:hover,
    .wp-block-navigation.main .wp-block-navigation__responsive-container-open:active{
      background:#e2edd9;
      border-color:var(--leaf);
      color:var(--leaf);
    }
    .wp-block-navigation.main .wp-block-navigation__responsive-container-open svg{
      width:20px;
      height:20px;
      fill:currentColor;
    }
  }

  @media(max-width:380px){
    .wp-block-site-logo img{height:32px !important; max-width:120px !important}
    .hactions .cta-btn{height:34px !important; padding:0 9px !important; font-size:11.5px !important}
    .wp-block-navigation.main .wp-block-navigation__responsive-container-open{width:34px; height:34px}
  }

  /* Pages */
  
  
  @keyframes fade{from{opacity:0; transform:translateY(6px)}to{opacity:1}}

  /* Hero */
  .hero{background:radial-gradient(110% 140% at 90% -20%, rgba(111,178,62,.35), transparent 55%), linear-gradient(160deg,#0F3B21, #15512E 55%, #1B6238); color:#fff; padding:64px 0 58px; position:relative; overflow:hidden}
  .hero::after{content:""; position:absolute; right:-140px; bottom:-200px; width:480px; height:480px; border-radius:50%; border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 50px rgba(255,255,255,.05), 0 0 0 110px rgba(255,255,255,.03)}
  .hero .wrap{position:relative; z-index:2}
  .kicker{font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:#9FD07C; font-weight:700; margin-bottom:14px}
  .hero h1{font-size:clamp(30px,4.4vw,50px); line-height:1.08; letter-spacing:-.02em; max-width:18ch}
  .hero p.sub{margin:18px 0 26px; font-size:18px; color:#D7E8CB; max-width:52ch}
  .hero .btns{display:flex; gap:12px; flex-wrap:wrap}
  .btn{display:inline-block; padding:13px 22px; border-radius:11px; font-weight:700; font-size:15.5px}
  .btn.primary{background:var(--leaf); color:#fff}
  .btn.primary:hover{background:#5FA032}
  .btn.ghost{border:1.5px solid var(--brand); color:var(--brand); background:transparent}
  .btn.ghost:hover{background:var(--wash); border-color:var(--brand); color:var(--brand)}
  .hero .btn.ghost,
  .section-hero .btn.ghost,
  .career-band .btn.ghost,
  footer.site .btn.ghost{border:1.5px solid rgba(255,255,255,.5); color:#fff; background:transparent}
  .hero .btn.ghost:hover,
  .section-hero .btn.ghost:hover,
  .career-band .btn.ghost:hover,
  footer.site .btn.ghost:hover{background:rgba(255,255,255,.1); border-color:#fff; color:#fff}
  .single-standort .btn.ghost,
  .standort-single .btn.ghost,
  body[class*="standort"] .btn.ghost,
  .section-hero:has(+ .section-panels) .btn.ghost{border:none !important; color:var(--brand) !important; background:transparent !important}
  .single-standort .btn.ghost:hover,
  .standort-single .btn.ghost:hover,
  body[class*="standort"] .btn.ghost:hover,
  .section-hero:has(+ .section-panels) .btn.ghost:hover{background:var(--wash) !important; border:none !important; color:var(--brand) !important}
  .trust{display:flex; gap:22px; margin-top:32px; flex-wrap:wrap; font-size:13.5px; color:#BBD6AC}
  .trust b{color:#fff}

  section{padding:52px 0}
  .sec-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap}
  h2.sec{font-size:clamp(22px,3vw,32px); letter-spacing:-.01em}
  .sec-head .more{font-weight:700; font-size:14.5px}
  .grid{display:grid; gap:16px}
  .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)} .g5{grid-template-columns:repeat(5,1fr)} .g2{grid-template-columns:repeat(2,1fr)}
  @media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)} .g5{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:600px){.g3,.g4,.g2{grid-template-columns:1fr} .g5{grid-template-columns:repeat(2,1fr)}}

  .card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow); display:block; color:var(--ink)}
  .card:hover{border-color:var(--leaf)}
  .card .ic{width:44px; height:44px; border-radius:12px; background:var(--wash); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px}
  .card h3{font-size:17.5px; margin-bottom:6px}
  .card p{font-size:14px; color:var(--muted)}
  .card .link{display:inline-block; margin-top:12px; font-weight:700; font-size:14px; color:var(--brand2)}

  /* Bild-Karten (Branchen) */
  .icard{position:relative; border-radius:16px; overflow:hidden; display:block; box-shadow:var(--shadow); aspect-ratio:1/1.05; background:var(--wash)}
  .icard img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease}
  .icard:hover img{transform:scale(1.05)}
  .icard .lbl{position:absolute; inset:auto 0 0 0; padding:40px 16px 14px; background:linear-gradient(transparent, rgba(15,45,25,.88)); color:#fff; font-weight:700; font-size:15.5px; line-height:1.25}
  .icard .lbl small{display:block; font-weight:500; font-size:12px; color:#CBE0BE; margin-top:2px}

  /* Foto-Karten (News etc.) */
  .pcard{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); display:block; color:var(--ink)}
  .pcard:hover{border-color:var(--leaf)}
  .pcard img{width:100%; aspect-ratio:16/9; object-fit:cover}
  .pcard .pc{padding:16px 18px 18px}
  .pcard h3{font-size:16.5px; margin-top:4px}
  .pcard p{font-size:13.5px; color:var(--muted); margin-top:4px}
  .pcard .date{font-size:11.5px; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; font-weight:700}

  /* Karriere-Band */
  .career-band{border-radius:22px; color:#fff; overflow:hidden; display:grid; grid-template-columns:1.2fr 1fr; background:var(--brand)}
  .career-band .cb-txt{padding:38px 40px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:14px}
  .career-band h3{font-size:24px}
  .career-band p{color:#CBE0BE; max-width:48ch}
  .career-band img{width:100%; height:100%; object-fit:cover; min-height:240px}
  @media(max-width:820px){.career-band{grid-template-columns:1fr}}

  .crumb{font-size:13px; color:var(--muted); padding:18px 0 0}
  .pagehead{padding:16px 0 0}
  .pagehead h1{font-size:clamp(26px,3.6vw,40px); letter-spacing:-.015em}
  .pagehead p.lead{color:var(--muted); font-size:17px; max-width:64ch; margin-top:10px}

  .split{display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:start}
  @media(max-width:820px){.split{grid-template-columns:1fr}}
  .rimg{border-radius:16px; width:100%; object-fit:cover; box-shadow:var(--shadow)}

  details.faq{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin-bottom:10px}
  details.faq summary{cursor:pointer; font-weight:700; font-size:15.5px; list-style:none; display:flex; justify-content:space-between; align-items:center}
  details.faq summary::after{content:"+"; color:var(--leaf); font-size:22px; font-weight:400}
  details.faq[open] summary::after{content:"–"}
  details.faq p{margin-top:10px; color:var(--muted); font-size:14.5px}

  /* Jobs */
  .filters{display:flex; gap:8px; flex-wrap:wrap; margin:20px 0 6px}
  .fchip{border:1.5px solid var(--line); background:#fff; padding:8px 16px; border-radius:999px; font-weight:600; font-size:14px; cursor:pointer; color:var(--ink)}
  .fchip.on{background:var(--brand); border-color:var(--brand); color:#fff}
  ul.filters{list-style:none; padding:0}
  ul.filters li{list-style:none; margin:0}
  a.fchip{display:inline-block; text-decoration:none}
  .editor-styles-wrapper ul.filters{display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:20px 0 6px}
  .editor-styles-wrapper ul.filters li{list-style:none; margin:0; padding:0}
  .editor-styles-wrapper a.fchip{display:inline-block; border:1.5px solid var(--line); background:#fff; padding:8px 16px; border-radius:999px; font-weight:600; font-size:14px; color:var(--ink); text-decoration:none; pointer-events:none}
  .editor-styles-wrapper a.fchip.on{background:var(--brand); border-color:var(--brand); color:#fff}
  .job{display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin-top:12px; box-shadow:var(--shadow)}
  .job:hover{border-color:var(--leaf)}
  .job .jt h3{font-size:17px}
  .job .jt p{font-size:13.5px; color:var(--muted); margin-top:3px}
  .job .tags{margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; align-items:center}
  .jtag{background:var(--wash); color:var(--brand); font-size:12px; font-weight:700; padding:5px 11px; border-radius:7px; white-space:nowrap}
  .job .go{font-size:22px; color:var(--leaf); font-weight:700}
  .job .jt{min-width:0; overflow-wrap:anywhere}
  @media(max-width:600px){
    .job{flex-wrap:wrap; align-items:flex-start; gap:10px 12px; padding:16px}
    .job .jt{flex:1 1 0}
    .job .go{order:2; line-height:1.2}
    .job .tags{order:3; flex:0 0 100%; margin-left:0}
  }

  /* Formular & Kontakt */
  .form{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow)}
  .form h3{margin-bottom:6px}
  .form p.hint{font-size:13px; color:var(--muted); margin-bottom:18px}
  .frow{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px}
  @media(max-width:600px){.frow{grid-template-columns:1fr}}
  .form input[type="text"],
  .form input[type="email"],
  .form input[type="tel"],
  .form input[type="url"],
  .form input[type="number"],
  .form input[type="search"],
  .form input[type="password"],
  .form select,
  .form textarea{width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; font:inherit; background:var(--wash2); color:var(--ink)}
  .form textarea{min-height:110px; margin-bottom:12px}
  .form input[type="text"]:focus,
  .form input[type="email"]:focus,
  .form input[type="tel"]:focus,
  .form input[type="url"]:focus,
  .form input[type="number"]:focus,
  .form input[type="search"]:focus,
  .form input[type="password"]:focus,
  .form textarea:focus{outline:2px solid var(--leaf); border-color:var(--leaf); background:#fff}
  .upload{border:2px dashed var(--line); border-radius:10px; padding:18px; text-align:center; color:var(--muted); font-size:14px; margin-bottom:12px}
  .form button,
  .form input[type="submit"]{width:100%; background:var(--leaf); color:#fff !important; font-weight:800; font-size:16px; padding:14px; border:none; border-radius:11px; cursor:pointer; box-shadow:var(--shadow)}
  .form button:hover,
  .form input[type="submit"]:hover{background:#5FA032; color:#fff !important}
  .benefits li{margin:0 0 10px 0; padding-left:26px; position:relative; font-size:15px; list-style:none}
  .benefits li::before{content:"✓"; position:absolute; left:0; color:var(--leaf); font-weight:800}
  .kcard{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow); text-align:center}
  .kcard .ic{width:52px; height:52px; margin:0 auto 12px; border-radius:14px; background:var(--wash); display:flex; align-items:center; justify-content:center; font-size:24px}
  .kcard b{display:block; font-size:16px; margin-bottom:4px} 
  .kcard span{font-size:13.5px; color:var(--muted)}
  .kcard .link{display:inline-block; margin-top:10px; font-weight:700; font-size:14px; color:var(--brand2)}
  .person{display:flex; gap:14px; align-items:center; background:var(--wash); border-radius:14px; padding:14px 16px; margin-top:14px}
  .person .pp{width:52px; height:52px; border-radius:50%; background:linear-gradient(140deg,#CFE3BD,#6FB23E); flex:none; display:flex; align-items:center; justify-content:center; font-weight:800; color:#fff}
  .person b{font-size:14.5px; display:block}
  .person span{font-size:13px; color:var(--muted)}

  /* =============================================================================
     Footer
     ============================================================================= */
  footer.site{background:var(--ink); color:#B9C6BD; padding:52px 0 40px; margin-top:40px}

  /* Brandcards (2 Cards: Kühl Unternehmensgruppe & Blaue Tonne Schlaue Tonne) */
  footer.site .brandcards,
  .brandcards{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    margin:0 0 40px !important;
    width:100% !important;
  }
  @media(max-width:820px){
    footer.site .brandcards,
    .brandcards{
      grid-template-columns:minmax(0, 1fr) !important;
      gap:12px !important;
      margin-bottom:32px !important;
    }
  }
  footer.site .bcard{
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:14px !important;
    padding:18px 22px !important;
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
    background:transparent !important;
    transition:border-color .2s ease, background-color .2s ease !important;
  }
  footer.site .bcard:hover{
    border-color:rgba(255,255,255,.38) !important;
    background-color:rgba(255,255,255,.04) !important;
  }
  footer.site .bcard a,
  footer.site .bcard .wp-block-button__link{
    color:inherit !important;
    text-decoration:none !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    font-size:inherit !important;
    line-height:inherit !important;
    width:100% !important;
    text-align:left !important;
  }
  footer.site .bcard b{
    color:#fff !important;
    display:block !important;
    margin-bottom:5px !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
  }
  footer.site .bcard span{
    font-size:13px !important;
    color:#8FA396 !important;
    display:block !important;
    line-height:1.45 !important;
  }

  /* Footer Columns Grid */
  footer.site .fgrid{
    display:grid !important;
    grid-template-columns:minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)) !important;
    gap:32px !important;
    align-items:start !important;
    width:100% !important;
  }
  @media(max-width:820px){
    footer.site .fgrid{
      grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
      gap:28px !important;
    }
  }
  @media(max-width:540px){
    footer.site .fgrid{
      grid-template-columns:minmax(0, 1fr) !important;
      gap:24px !important;
    }
  }

  /* Fix WordPress layout-flow margin-block-start bug ("nicht in der Flucht") */
  footer.site .fgrid > *{
    min-width:0 !important;
    margin-block-start:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  footer.site .fgrid > div > *{
    margin-block-start:0 !important;
    margin-top:0 !important;
  }

  /* Headings in all columns: exact same baseline & spacing */
  footer.site h4,
  footer.site .fgrid h4{
    color:#fff !important;
    font-size:14px !important;
    font-weight:700 !important;
    margin-top:0 !important;
    margin-bottom:14px !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    line-height:1.4 !important;
  }

  /* Address column */
  footer.site .fgrid p{
    font-size:14px !important;
    line-height:1.7 !important;
    color:#B9C6BD !important;
    margin:0 !important;
  }
  footer.site .fgrid p a{
    display:inline !important;
    color:inherit !important;
    text-decoration:none !important;
    margin:0 !important;
  }
  footer.site .fgrid p a:hover{
    color:#fff !important;
    text-decoration:underline !important;
  }

  /* Navigation columns: clean vertical list without excessive gap or min-height */
  footer.site .wp-block-navigation{
    margin:0 !important;
  }
  footer.site .wp-block-navigation ul.wp-block-navigation__container{
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }
  footer.site .wp-block-navigation-item{
    margin:0 !important;
    padding:0 !important;
  }
  footer.site .wp-block-navigation-item__content{
    min-height:auto !important;
    padding:4px 0 !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.5 !important;
    display:inline-flex !important;
    align-items:center !important;
    color:#B9C6BD !important;
    text-decoration:none !important;
    transition:color .15s ease !important;
  }
  footer.site .wp-block-navigation-item__content:hover{
    color:#fff !important;
  }

  /* General fallback for any standalone links directly inside footer columns */
  footer.site .fgrid > div > a{
    color:#B9C6BD;
    display:block;
    font-size:14px;
    padding:4px 0;
    margin:0;
    text-decoration:none;
    transition:color .15s ease;
  }
  footer.site .fgrid > div > a:hover{
    color:#fff;
  }

  /* Legal Bottom Bar (Fixes artifacts and broken dots) */
  footer.site .legal,
  .legal{
    border-top:1px solid rgba(255, 255, 255, .12) !important;
    margin-top:36px !important;
    padding-top:20px !important;
    font-size:13px !important;
    color:#8FA396 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    line-height:1.6 !important;
  }
  footer.site .legal span{
    display:inline-block !important;
  }
  footer.site .legal a{
    display:inline !important;
    color:#B9C6BD !important;
    text-decoration:none !important;
    margin:0 !important;
    padding:0 2px !important;
    font-size:inherit !important;
    line-height:inherit !important;
    transition:color .15s ease !important;
  }
  footer.site .legal a:hover{
    color:#fff !important;
    text-decoration:underline !important;
  }

  .sticky-col{position:sticky; top:140px}
  .ccard{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column}
  .ccard:hover{border-color:var(--leaf)}
  .ccard img{width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--wash)}
  .ccard .cc{padding:16px 18px 18px; display:flex; flex-direction:column; flex:1}
  .ccard h3{font-size:16.5px}
  .ccard .vol{color:var(--brand2); font-weight:800; font-size:13px; letter-spacing:.03em; text-transform:uppercase; margin-bottom:6px}
  .ccard p{font-size:13.5px; color:var(--muted); flex:1}
  .ccard .pick{margin-top:12px; display:inline-block; background:var(--wash); color:var(--brand); font-weight:700; font-size:13.5px; padding:9px 14px; border-radius:9px; text-align:center}
  .ccard .pick:hover{background:var(--leaf); color:#fff}
  .oklist li,.nolist li{list-style:none; padding:7px 0 7px 30px; position:relative; font-size:14.5px; border-bottom:1px dashed var(--line)}
  .oklist li::before{content:"✓"; position:absolute; left:4px; color:var(--leaf); font-weight:800}
  .nolist li::before{content:"✕"; position:absolute; left:4px; color:#C0392B; font-weight:800}
  .panel{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow)}
  .panel h3{margin-bottom:10px}
  .ribbon{position:fixed; bottom:16px; right:16px; z-index:99; background:#C2410C; color:#fff; font-weight:800; font-size:12px; letter-spacing:.1em; padding:9px 16px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.3)}
  .notice{background:#FFF7ED; border:1px solid #F4D9BC; color:#9A5A12; font-size:13px; border-radius:10px; padding:10px 14px; margin:14px 0 0}

.wp-block-navigation .wp-block-navigation__container{gap:clamp(8px,1.4vw,6px)}
.wp-block-navigation .wp-block-navigation-item__content{text-decoration:none}
@media(min-width:1025px){
  .wp-block-navigation .wp-block-navigation__submenu-icon{display:none}
}
.wp-block-navigation:not(.has-modal-open) .wp-block-navigation__submenu-container{background:#fff; border-radius:9px; box-shadow:var(--shadow); padding:6px; min-width:220px; border:0}
.wp-block-navigation:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block; padding:8px 12px; border-radius:7px; white-space:normal}
.wp-block-navigation:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--wash)}
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-breadcrumbs a{display:inline-flex; align-items:center; min-height:24px}
.wp-block-breadcrumbs ol{display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px}
.wp-block-site-logo img{height:46px;width:auto}

/* =============================================================================
   Mobile Navigation Drawer & Submenu Accordion (Redesigned Clean Concept)
   ============================================================================= */
.wp-block-navigation__responsive-container.is-menu-open{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  z-index:999999 !important;
  background:#ffffff !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  animation:menuFadeIn .2s ease forwards;
}

@keyframes menuFadeIn{
  from{opacity:0; transform:translateY(-8px)}
  to{opacity:1; transform:translateY(0)}
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
  position:relative;
  width:100%;
  max-width:540px;
  margin:0 auto;
  padding:0 0 44px 0 !important;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}

/* Header in Drawer (Sticky Topbar) */
.drawer-topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  height:62px !important;
  padding:0 24px !important;
  margin:0 !important;
  background:#ffffff !important;
  border-bottom:1px solid var(--line) !important;
  position:sticky !important;
  top:0 !important;
  z-index:10 !important;
  box-sizing:border-box !important;
}
.drawer-brand-link{
  display:inline-flex !important;
  align-items:center !important;
  text-decoration:none !important;
  padding:0 !important;
  margin:0 !important;
}
.drawer-brand-link img{
  height:34px !important;
  width:auto !important;
  max-width:140px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Close button inside Drawer */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
  position:static !important;
  right:auto !important;
  top:auto !important;
  width:38px !important;
  height:38px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--wash) !important;
  border:none !important;
  border-radius:50% !important;
  color:var(--ink) !important;
  cursor:pointer;
  padding:0 !important;
  transition:all .15s ease;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover{
  background:#e2edd9 !important;
  color:var(--brand) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

/* Drawer Navigation List Container */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  width:100%;
  flex-grow:1;
  padding:12px 18px 0 18px !important;
  box-sizing:border-box !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
  width:100% !important;
}

/* Clean Row Separator for Menu Items (No Chunky Cards) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  border-bottom:1px solid #eef2eb !important;
  box-sizing:border-box !important;
}

/* Top-Level Item Links (no children) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:15px 8px !important;
  font-size:16.5px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  text-decoration:none !important;
  border-radius:8px;
  min-height:50px !important;
  box-sizing:border-box !important;
  transition:background-color .12s ease, color .12s ease;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:active{
  background:var(--wash) !important;
  color:var(--brand) !important;
}

/* Accordion Parent Item (has children) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  position:relative !important;
  width:100% !important;
  border-bottom:1px solid #eef2eb !important;
  background:transparent !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content{
  flex:1 1 auto !important;
  max-width:calc(100% - 48px) !important;
  display:flex !important;
  align-items:center !important;
  padding:15px 8px !important;
  font-size:16.5px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  text-decoration:none !important;
  height:50px !important;
  min-height:50px !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  transition:color .15s ease;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-open > .wp-block-navigation-item__content{
  color:var(--brand) !important;
  font-weight:700 !important;
}

/* The Chevron Toggle Button */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-submenu__toggle{
  flex:0 0 48px !important;
  width:48px !important;
  height:50px !important;
  min-height:50px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:none !important;
  cursor:pointer !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:8px !important;
  transition:transform .2s ease !important;
  box-sizing:border-box !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-submenu__toggle svg{
  width:14px !important;
  height:14px !important;
  stroke:var(--muted) !important;
  stroke-width:2.2px !important;
  fill:none !important;
  display:block !important;
  transition:stroke .15s ease !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-open .wp-block-navigation-submenu__toggle{
  transform:rotate(180deg) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-open .wp-block-navigation-submenu__toggle svg{
  stroke:var(--brand) !important;
}

/* Submenu container (Collapsed vs Expanded with Green Guide Line) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:not(.is-open) > .wp-block-navigation__submenu-container{
  display:none !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-open > .wp-block-navigation__submenu-container{
  display:flex !important;
  flex-direction:column !important;
  width:calc(100% - 10px) !important;
  max-width:100% !important;
  flex-basis:100% !important;
  position:static !important;
  box-shadow:none !important;
  min-width:0 !important;
  padding:4px 0 6px 14px !important;
  margin:2px 0 14px 10px !important;
  background:transparent !important;
  border:none !important;
  border-left:2.5px solid var(--leaf) !important;
  gap:2px !important;
  box-sizing:border-box !important;
}

/* Submenu Items */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{
  border:none !important;
  background:transparent !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:9px 12px !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  color:#33443a !important;
  border-radius:6px !important;
  text-decoration:none !important;
  min-height:38px !important;
  width:100% !important;
  white-space:normal !important;
  box-sizing:border-box !important;
  transition:background-color .12s ease, color .12s ease !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  background:var(--wash) !important;
  color:var(--brand) !important;
  font-weight:600 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after{
  display:none !important;
}

/* Highlighted Overview Link at top of submenu */
.submenu-overview-item{
  margin-bottom:4px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .submenu-overview-link{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:9px 12px !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:var(--brand) !important;
  background:var(--wash) !important;
  border-radius:7px !important;
  text-decoration:none !important;
  width:100% !important;
  white-space:normal !important;
  box-sizing:border-box !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .submenu-overview-link .arrow{
  color:var(--leaf) !important;
  font-size:15px !important;
  font-weight:700 !important;
  flex-shrink:0 !important;
  margin-left:8px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .submenu-overview-link:hover{
  background:#e2eedb !important;
}

/* Drawer Footer / Quick Actions */
.mobile-menu-drawer-footer{
  margin:28px 8px 0 8px !important;
  padding-top:20px !important;
  border-top:1px solid var(--line) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}
.mobile-menu-drawer-footer .drawer-cta{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:var(--leaf) !important;
  color:#fff !important;
  font-weight:700 !important;
  font-size:15px !important;
  padding:14px 20px !important;
  border-radius:11px !important;
  box-shadow:0 4px 12px rgba(111,178,62,.3) !important;
  text-decoration:none !important;
  text-align:center !important;
  transition:background-color .15s ease !important;
}
.mobile-menu-drawer-footer .drawer-cta:hover{
  background:#5FA032 !important;
}
.mobile-menu-drawer-footer .drawer-hotline{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 16px !important;
  background:var(--wash) !important;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  text-decoration:none !important;
  color:var(--brand) !important;
  text-align:center !important;
}
.mobile-menu-drawer-footer .drawer-hotline b{
  font-size:16px !important;
  color:var(--brand) !important;
}
.mobile-menu-drawer-footer .drawer-hotline span{
  font-size:12px !important;
  color:var(--muted) !important;
  margin-top:2px !important;
}
.drawer-sublinks{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  font-size:13px !important;
  color:var(--muted) !important;
  margin-top:4px !important;
}
.drawer-sublinks a{
  color:var(--muted) !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
.drawer-sublinks a:hover{
  color:var(--brand) !important;
}
/* .cta-btn/.btn.primary text color is deliberately NOT overridden here: the design's own white-on-brand-green rule must win (design fidelity). A dark !important override here used to beat it and render button labels unreadable-dark; the resulting white-on-#6FB23E contrast tradeoff is documented in .agent/ARCHITECTURE.md. */
.brandbar .wp-block-navigation,
.brandbar .wp-block-navigation__container,
.brandbar .wp-block-navigation-item{background:var(--brand)}
.design-shell{display:block}
.design-shell.split{display:block}
.design-shell.split>.wp-block-columns{gap:clamp(24px,4vw,56px);align-items:start}
.design-shell .wp-block-query .wp-block-post-template{gap:18px}
.design-shell .wp-block-post{border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:18px;background:#fff}
.location-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.location-detail>.wp-block-heading:first-child{grid-column:1/-1}
.location-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff;box-shadow:var(--shadow)}
.contact .wp-block-template-engine-form{border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,30px);background:#fff;box-shadow:var(--shadow)}
.newsgrid .wp-block-query .wp-block-post,.careers .wp-block-query .wp-block-post{border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}

/* Subnav Sticky Alignment */
.subnav{position:sticky;top:76px;z-index:40;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 14px -12px rgba(20,40,26,.3);padding:0}
.subnav .wrap{display:flex; gap:4px; overflow-x:auto; padding-top:0; padding-bottom:0}
.subnav a{padding:13px 14px; font-size:14px; font-weight:600; color:var(--muted); white-space:nowrap; border-bottom:2.5px solid transparent; text-decoration:none}
.subnav a:hover{color:var(--brand); border-color:var(--leaf)}
section[id], h2[id]{scroll-margin-top:140px}

/* WordPress Post Content Canvas Resets for Full-Bleed Sections */
.entry-content,
.wp-block-post-content {
  width: 100%;
}
.entry-content > *,
.wp-block-post-content > * {
  max-width: none;
}
.entry-content > .hero,
.wp-block-post-content > .hero,
.entry-content > section,
.wp-block-post-content > section,
.entry-content > .subnav,
.wp-block-post-content > .subnav {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* =============================================================================
   Zentrierung & Flucht: .wrap Definition (auch als direktes Kind von .entry-content)
   ============================================================================= */
.wrap,
.entry-content > .wrap,
.wp-block-post-content > .wrap,
.wp-block-group.wrap {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Breadcrumb & Pagehead: exakte Bündigkeit & Typografie */
.crumb {
  padding: 18px 0 0 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
.crumb p {
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
.crumb a {
  color: var(--muted) !important;
  text-decoration: none !important;
}
.crumb a:hover {
  color: var(--brand) !important;
}

.pagehead {
  padding: 16px 0 0 0 !important;
}
.pagehead h1 {
  margin: 0 !important;
  font-size: clamp(26px, 3.6vw, 40px) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.15 !important;
  padding: 0 !important;
}
.pagehead p.lead {
  color: var(--muted) !important;
  font-size: 17px !important;
  max-width: 64ch !important;
  margin: 10px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1.55 !important;
}

/* =============================================================================
   Header & Sticky Subnav (Exakter Scroll-Abstand & Höhe)
   ============================================================================= */
header.wp-block-template-part {
  position: sticky !important;
  top: -34px !important;
  z-index: 50 !important;
  display: block !important;
  background: #fff !important;
}
body.admin-bar header.wp-block-template-part {
  top: calc(32px - 34px) !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar header.wp-block-template-part {
    top: calc(46px - 34px) !important;
  }
}

.subnav {
  position: sticky !important;
  top: 76px !important;
  z-index: 40 !important;
  height: 48px !important;
  min-height: 48px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: 0 4px 14px -12px rgba(20,40,26,.3) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
body.admin-bar .subnav {
  top: calc(76px + 32px) !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar .subnav {
    top: calc(76px + 46px) !important;
  }
}

.subnav .wrap {
  display: flex !important;
  gap: 4px !important;
  height: 100% !important;
  align-items: center !important;
  overflow-x: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.subnav p {
  margin: 0 !important;
  display: flex !important;
  height: 100% !important;
  align-items: center !important;
}
.subnav a {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--muted) !important;
  white-space: nowrap !important;
  border-bottom: 2.5px solid transparent !important;
  text-decoration: none !important;
}
.subnav a:hover {
  color: var(--brand) !important;
  border-color: var(--leaf) !important;
}

/* Sprungmarken-Offset beim Scrollen */
section[id], div[id], h2[id] {
  scroll-margin-top: 140px !important;
}
body.admin-bar section[id],
body.admin-bar div[id],
body.admin-bar h2[id] {
  scroll-margin-top: 172px !important;
}

/* =============================================================================
   WordPress Flow & Margin-Block Resets (ClickDummy-Fidelity)
   ============================================================================= */
/* Entfernt die automatische :root :where(.is-layout-flow) > * margin-block: 24px
   von Layout-Bereichen, Grids, Spalten und Karten */
:root :where(.is-layout-flow) > .hero,
:root :where(.is-layout-flow) > section,
:root :where(.is-layout-flow) > [class*="section-"],
:root :where(.is-layout-flow) > .news,
:root :where(.is-layout-flow) > .subnav,
:root :where(.is-layout-flow) > .grid > *,
:root :where(.is-layout-flow) > .split > *,
:root :where(.is-layout-flow) > .card > *,
:root :where(.is-layout-flow) > .ccard > *,
:root :where(.is-layout-flow) > .icard > *,
:root :where(.is-layout-flow) > .pcard > *,
:root :where(.is-layout-flow) > .kcard > *,
:root :where(.is-layout-flow) > .trust > *,
:root :where(.is-layout-flow) > .sec-head > *,
:root :where(.is-layout-flow) > .job,
:root :where(.is-layout-flow) > .filters {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Hero exakte Abstände */
.hero .kicker { margin: 0 0 14px 0 !important; }
.hero h1 { margin: 0 !important; }
.hero p.sub { margin: 18px 0 26px 0 !important; }
.hero .btns { margin: 0 !important; gap: 12px !important; }
.hero .trust { margin-top: 32px !important; gap: 22px !important; }
.hero .trust p { margin: 0 !important; }

/* Subnav Exakt */
.subnav { margin-top: 0 !important; }
.subnav p { margin: 0 !important; }
.subnav a { padding: 13px 14px; font-size: 14px; font-weight: 600; color: var(--muted); white-space: nowrap; border-bottom: 2.5px solid transparent; text-decoration: none; }
.subnav a:hover { color: var(--brand); border-color: var(--leaf); }

/* Section & Section Heads */
section { padding: 52px 0; }
section.news, section[class*="section-"] { padding: 52px 0; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px !important; margin-top: 0 !important; flex-wrap: wrap; }
.sec-head h2.sec, .sec-head h2 { margin: 0 !important; font-size: clamp(22px,3vw,32px); letter-spacing: -.01em; }
.sec-head p, .sec-head .more { margin: 0 !important; font-weight: 700; font-size: 14.5px; }

/* Grids & Cards Spacing */
.grid.g5 > *, .grid.g4 > *, .grid.g3 > *, .grid.g2 > * { margin-top: 0 !important; }
.card h3 { margin: 0 0 6px 0 !important; }
.card p { margin: 0 !important; }
.card .ic { margin: 0 0 14px 0 !important; }
.card .link { margin-top: 12px !important; }

.pcard .pc h3 { margin: 4px 0 !important; }
.pcard .pc p { margin: 4px 0 0 0 !important; }
.pcard .date { margin: 0 !important; }

.ccard .cc { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.ccard .vol { margin: 0 0 6px 0 !important; }
.ccard h3 { margin: 0 !important; }
.ccard p { margin: 0 !important; }
.ccard .pick { margin-top: 12px !important; }

/* =============================================================================
   Gutenberg Button Stylings (Exakte ClickDummy-Adaption)
   ============================================================================= */
/* Hebt Gutenberg default 9999px border-radius und inline padding auf */
.wp-block-buttons.btns {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  align-items: center;
}
.wp-block-button.btn {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.wp-block-button.btn .wp-block-button__link.wp-element-button {
  display: inline-block !important;
  padding: 13px 22px !important;
  border-radius: 11px !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  width: auto !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.wp-block-button.btn.primary .wp-block-button__link.wp-element-button {
  background-color: var(--leaf) !important;
  color: #fff !important;
  border: 1.5px solid transparent !important;
}
.wp-block-button.btn.primary .wp-block-button__link.wp-element-button:hover {
  background-color: #5FA032 !important;
}
/* Ghost-Button Standard (auf hellem Hintergrund) */
.wp-block-button.btn.ghost .wp-block-button__link.wp-element-button {
  background-color: transparent !important;
  color: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
}
.wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover {
  background-color: var(--wash) !important;
  border-color: var(--brand) !important;
  color: var(--brand) !important;
}
/* Ghost-Button auf dunklen Hintergründen (Hero, Section-Hero auf Branchenseiten, Career-Band, Footer, Farbfelder) */
.hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.career-band .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
footer.site .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.has-brand-background-color .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.has-ink-background-color .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.has-brand-background .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.has-ink-background .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button {
  background-color: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.5) !important;
}
.hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.career-band .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
footer.site .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.has-brand-background-color .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.has-ink-background-color .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.has-brand-background .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.has-ink-background .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover {
  background-color: rgba(255,255,255,.1) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* Standort-Seiten (heller Hintergrund): Ghost-Button ohne Rahmen */
.single-standort .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.single-standort .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.standort-single .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.standort-single .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
body.single-standort .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
body.single-standort .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
body[class*="standort"] .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
body[class*="standort"] .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button,
.section-hero:has(+ .section-panels) .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button {
  background-color: transparent !important;
  color: var(--brand) !important;
  border: none !important;
}
.single-standort .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.single-standort .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.standort-single .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.standort-single .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
body.single-standort .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
body.single-standort .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
body[class*="standort"] .section-hero .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
body[class*="standort"] .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover,
.section-hero:has(+ .section-panels) .wp-block-button.btn.ghost .wp-block-button__link.wp-element-button:hover {
  background-color: var(--wash) !important;
  border: none !important;
  color: var(--brand) !important;
}

/* Generic Prose & Content Pages */
.design-shell.generic,
.prose {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 24px 60px;
}
.prose p {
  margin-bottom: 16px;
  line-height: 1.7;
}
.prose h1, .prose h2, .prose h3 {
  margin-top: 28px;
  margin-bottom: 14px;
}

@media(max-width:820px){
  .location-detail{grid-template-columns:minmax(0,1fr)}
  .subnav{overflow-x:auto}
  .subnav .wrap{flex-wrap:nowrap}
  .subnav a{white-space:nowrap}
}

/* Native Gutenberg Block Enhancements for ClickDummy components */
.icard figure { margin:0; width:100%; height:100%; }
.icard figure a { display:block; width:100%; height:100%; }
.icard figure img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.icard:hover figure img { transform:scale(1.05); }

/* Job Detail Page (Split Layout & HireZoot Styling) */
.job-detail-split{display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:start}
@media(max-width:860px){.job-detail-split{grid-template-columns:minmax(0,1fr); gap:28px}}
.job-detail-split>*{min-width:0; max-width:100%}
.job-detail-main,
.job-detail-sidebar{min-width:0; max-width:100%}
.job-facts-badges{display:flex; gap:8px 12px; flex-wrap:wrap; margin-bottom:24px}
.job-fact-badge{display:inline-flex; align-items:center; gap:6px; background:var(--wash); color:var(--brand); font-size:13.5px; font-weight:700; padding:6px 14px; border-radius:20px; max-width:100%; min-width:0; overflow-wrap:anywhere}
.job-fact-badge.highlight{background:#eafaf1; color:#1f8a5b; border:1px solid #b6e6cd}
.job-entry-wrapper{min-width:0; max-width:100%; overflow-wrap:break-word; word-break:break-word}
.job-entry-wrapper h2{font-size:22px; margin:28px 0 12px; color:var(--brand); letter-spacing:-.01em}
.job-entry-wrapper p{color:var(--muted); line-height:1.65; font-size:15.5px; margin-bottom:16px}
.job-entry-wrapper ul{list-style:none; padding:0; margin:0 0 24px}
.job-entry-wrapper ul li{margin:0 0 10px 0; padding-left:26px; position:relative; font-size:15px; line-height:1.55; color:var(--text); overflow-wrap:break-word}
.job-entry-wrapper ul li::before{content:"✓"; position:absolute; left:0; color:var(--leaf); font-weight:800}
.job-employer-box,
.job-detail-main .panel{max-width:100%; box-sizing:border-box; overflow-wrap:break-word}
.awsm-job-form-box{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow); max-width:100%; box-sizing:border-box}
.awsm-job-form-box .awsm-job-form-inner.form{background:transparent !important; border:none !important; border-radius:0 !important; padding:0 !important; box-shadow:none !important}
@media(max-width:860px){
  .awsm-job-form-box{position:static !important}
}
@media(max-width:600px){
  .awsm-job-form-box{padding:20px 16px; border-radius:14px}
}
.awsm-job-form-inner h3{font-size:20px; color:var(--brand); margin-bottom:6px}
.awsm-job-form-inner p.hint{font-size:13px; color:var(--muted); margin-bottom:18px; line-height:1.45}
.awsm-job-form-group{margin-bottom:14px; max-width:100%}
.awsm-job-form-group label{display:block; font-size:13.5px; font-weight:700; margin-bottom:5px; color:var(--text)}
.awsm-job-form-group .awsm-job-form-error{color:#c0392b; font-weight:700}
.awsm-job-form-control,
.awsm-job-form-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]){width:100%; padding:11px 14px; border:1.5px solid var(--line); border-radius:10px; font:inherit; background:var(--wash2); color:var(--text); box-sizing:border-box; transition:border-color .15s, outline .15s, background .15s}
.awsm-job-form-control:focus,
.awsm-job-form-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus{outline:2px solid var(--leaf); border-color:var(--leaf); background:#fff}
textarea.awsm-job-form-control{min-height:90px; resize:vertical; max-width:100%; box-sizing:border-box}
.awsm-form-file-control,.awsm-resume-file-control{width:100%; box-sizing:border-box; padding:8px 12px; background:var(--wash2); border:1.5px dashed var(--line); border-radius:10px; font-size:13px; cursor:pointer}
.awsm-job-form-group small{display:block; font-size:11.5px; color:var(--muted); margin-top:4px}
.awsm-job-inline-group{display:flex !important; flex-direction:row !important; gap:12px !important; align-items:flex-start !important; margin:18px 0 !important}
.awsm-job-inline-group input[type="checkbox"],
.form .awsm-job-inline-group input[type="checkbox"]{width:20px !important; height:20px !important; min-width:20px !important; max-width:20px !important; margin:2px 0 0 0 !important; padding:0 !important; border:1.5px solid var(--line) !important; border-radius:4px !important; background:var(--wash2) !important; flex-shrink:0 !important; -webkit-appearance:checkbox !important; appearance:checkbox !important; accent-color:var(--leaf) !important; display:inline-block !important}
.awsm-job-inline-group label,
.form .awsm-job-inline-group label{flex:1 1 auto !important; font-size:12.5px !important; font-weight:500 !important; color:var(--muted) !important; line-height:1.45 !important; margin:0 !important; cursor:pointer !important}
.awsm-job-captcha-group{max-width:100% !important; overflow:hidden !important}
.awsm-job-captcha-group .g-recaptcha{transform-origin:0 0 !important; -webkit-transform-origin:0 0 !important}
@media(max-width:400px){
  .awsm-job-captcha-group .g-recaptcha{transform:scale(0.88) !important; -webkit-transform:scale(0.88) !important}
}
@media(max-width:350px){
  .awsm-job-captcha-group .g-recaptcha{transform:scale(0.76) !important; -webkit-transform:scale(0.76) !important}
}
.awsm-application-submit-btn,
.form input[type="submit"].awsm-application-submit-btn,
.form .awsm-application-submit-btn{width:100% !important; background:var(--leaf) !important; color:#fff !important; font-weight:800 !important; font-size:16px !important; padding:14px 20px !important; border:none !important; border-radius:11px !important; cursor:pointer !important; box-shadow:var(--shadow) !important; transition:background-color .15s ease !important}
.awsm-application-submit-btn:hover,
.form input[type="submit"].awsm-application-submit-btn:hover,
.form .awsm-application-submit-btn:hover{background:#5FA032 !important; color:#fff !important}
.awsm-application-message{padding:14px; border-radius:10px; font-size:14px; margin-top:14px; font-weight:600}
.awsm-application-message.awsm-success-message{background:#eafaf1; color:#1f8a5b; border:1px solid #b6e6cd}
.awsm-application-message.awsm-error-message{background:#fdecea; color:#c0392b; border:1px solid #f7d9d4}
.icard .lbl { position:absolute; inset:auto 0 0 0; padding:40px 16px 14px; background:linear-gradient(transparent, rgba(15,45,25,.88)); color:#fff; font-weight:700; font-size:15.5px; line-height:1.25; margin:0; pointer-events:none; }
.icard .lbl a { color:#fff; text-decoration:none; display:block; pointer-events:auto; }
.icard .lbl small { display:block; font-weight:500; font-size:12px; color:#CBE0BE; margin-top:2px; }

.card a { color:inherit; text-decoration:none; }
.card h3 { margin-top:0; }
.card .ic { margin-top:0; }
.card .link { margin-bottom:0; }
.card .link a { color:var(--brand2); font-weight:700; }

.pcard figure { margin:0; }
.pcard a { color:inherit; text-decoration:none; }
.pcard .pc h3 { margin-top:4px; margin-bottom:4px; }
.pcard .pc p { margin-top:0; }

.ccard figure { margin:0; }
.ccard a { color:inherit; text-decoration:none; }
.ccard .vol { margin-top:0; }
.ccard .pick a { color:inherit; text-decoration:none; display:block; }

.kcard .ic { margin-top:0; }
.kcard p { margin:4px 0 0; }
.kcard p:first-of-type { margin-top:0; }

.trust p { margin:0; color:inherit; font-size:inherit; }

.career-band figure { margin:0; }

.job a { color:inherit; text-decoration:none; }
.job p { margin:0; }
.job .jt h3 { margin:0; }

.person p { margin:0; }

/* =============================================================================
   WordPress Core Blocks: Search, Pagination & Post Terms
   ============================================================================= */
.wp-block-search{margin:0}
.wp-block-search__inside-wrapper{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.wp-block-search__input{flex:1; min-width:220px; padding:12px 16px; border:1.5px solid var(--line); border-radius:10px; font:inherit; background:var(--wash2); font-size:15px; color:var(--ink); box-sizing:border-box}
.wp-block-search__input:focus{outline:2px solid var(--leaf); border-color:var(--leaf); background:#fff}
.wp-block-search__button{padding:12px 22px; border-radius:10px; background:var(--leaf); color:#fff !important; border:none; font-weight:700; cursor:pointer; font-size:15px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box}
.wp-block-search__button:hover{background:#5FA032}

.wp-block-post-terms.tags,
.tags{display:flex; flex-wrap:wrap; gap:6px}
.wp-block-post-terms.tags a,
.tags a{
  display:inline-block;
  background:var(--wash);
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  padding:4px 10px;
  border-radius:7px;
  text-decoration:none;
}
.wp-block-post-terms.tags a:hover,
.tags a:hover{
  background:var(--line);
}

/* ==========================================================================
   Aktuelles & Ratgeber: 2-Spalten Core-Query Grid & AJAX Pagination
   ========================================================================== */
#ke-news-query-wrapper,
.wp-block-query {
  position: relative;
  transition: opacity .2s ease;
}
#ke-news-query-wrapper {
  min-height: 200px;
}
#ke-news-query-wrapper.is-loading,
.wp-block-query.is-loading {
  opacity: .45;
  pointer-events: none;
}
#ke-news-query-wrapper.is-loading::after,
.wp-block-query.is-loading::after {
  content: "";
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 36px;
  border: 3.5px solid var(--line);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: ke-spin .8s linear infinite;
  z-index: 10;
}
@keyframes ke-spin {
  to { transform: translateX(-50%) rotate(360deg); }
}

ul.columns-2.wp-block-post-template.is-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  ul.columns-2.wp-block-post-template.is-layout-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.wp-block-post {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post .wp-block-group.has-paper-background-color {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.wp-block-post .wp-block-group.has-paper-background-color:hover {
  border-color: var(--leaf);
  transform: translateY(-3px);
  box-shadow: 0 10px 24px -10px rgba(21, 81, 46, .2);
}

.wp-block-post figure.wp-block-post-featured-image {
  margin: 0;
  overflow: hidden;
  background: var(--wash);
  aspect-ratio: 16/9;
  width: 100%;
}

.wp-block-post figure.wp-block-post-featured-image a {
  display: block;
  width: 100%;
  height: 100%;
}

.wp-block-post figure.wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  transition: transform .35s ease;
}

.wp-block-post .wp-block-group.has-paper-background-color:hover figure.wp-block-post-featured-image img {
  transform: scale(1.03);
}

.wp-block-post .date.wp-block-post-date {
  font-size: 12.5px;
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 8px;
}

.wp-block-post h3.wp-block-post-title {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 10px 0;
  font-weight: 700;
}

.wp-block-post h3.wp-block-post-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color .15s ease;
}

.wp-block-post h3.wp-block-post-title a:hover {
  color: var(--brand);
}

.wp-block-post .wp-block-post-excerpt {
  margin-top: auto;
}

.wp-block-post .wp-block-post-excerpt__excerpt {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.55;
  margin: 0 0 12px 0;
}

.wp-block-post .wp-block-post-excerpt__more-link {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--brand);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color .15s ease;
}

.wp-block-post .wp-block-post-excerpt__more-link:hover {
  color: var(--leaf);
  text-decoration: underline;
}

/* Pagination */
.wp-block-query-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.wp-block-query-pagination-numbers {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  transition: all .15s ease;
  cursor: pointer;
}

.wp-block-query-pagination .page-numbers:hover {
  border-color: var(--brand);
  color: var(--brand);
}

.wp-block-query-pagination .page-numbers.current {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border-radius: 8px;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  transition: all .15s ease;
  cursor: pointer;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: var(--wash-2);
}



/* Lexikon A-Z ([ke_lexikon_list]) */
.ke-lexikon-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 28px; }
.ke-lexikon-nav a,
.ke-lexikon-nav span { min-width: 36px; padding: 6px 10px; text-align: center; font-weight: 700; border: 1px solid var(--line); border-radius: 9px; }
.ke-lexikon-nav a { background: var(--wash); color: var(--brand); }
.ke-lexikon-nav a:hover { background: var(--leaf); color: #fff; }
.ke-lexikon-nav span { color: var(--muted); opacity: .45; }
.ke-lexikon-group { margin-bottom: 32px; scroll-margin-top: 90px; }
.ke-lexikon-group > h2 { margin-bottom: 14px; color: var(--brand2); }

/* ==========================================================================
   Scroll-to-Top Button (Handy / Mobile)
   ========================================================================== */
.ke-scroll-top {
  display: none;
}

@media (max-width: 820px) {
  .ke-scroll-top {
    position: fixed;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    right: calc(16px + env(safe-area-inset-right, 0px));
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: var(--brand);
    color: #fff;
    border: 2px solid #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28), 0 2px 6px rgba(21, 81, 46, 0.35);
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 95;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
    outline: none;
    padding: 0;
    margin: 0;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    user-select: none;
  }

  .ke-scroll-top svg {
    display: block;
    width: 22px;
    height: 22px;
    stroke: #fff;
    pointer-events: none;
  }

  .ke-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .ke-scroll-top:hover,
  .ke-scroll-top:active {
    background-color: var(--brand2);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35), 0 3px 8px rgba(21, 81, 46, 0.45);
    transform: translateY(0) scale(0.94);
  }

  .ke-scroll-top:focus-visible {
    outline: 3px solid var(--leaf);
    outline-offset: 2px;
  }

  html.has-modal-open .ke-scroll-top,
  body.has-modal-open .ke-scroll-top {
    display: none !important;
  }
}

