/*
Theme Name:   Sommer Tischlerei
Theme URI:    https://sommer-lastrup.de
Description:  Eigenständiges Theme für Alwin Sommer GmbH. Hardcoded Startseite + Page Templates.
Author:       Maik Haring
Author URI:   https://maikharing.com
Version:      2.0.0
License:      GNU General Public License v2 or later
Text Domain:  sommer
*/

/* === TOKENS === */
:root {
  --gold:#C9A45A;--gold-light:#E8D09A;--gold-dark:#9A7835;
  --dark:#2B2B2A;--dark-soft:#484744;--off-white:#FAFAF8;
  --stone-50:#F7F5F1;--stone-100:#EDE9E2;--stone-200:#D9D3C8;
  --stone-400:#A89E8E;--stone-600:#706459;--white:#FFFFFF;
  --font:'Outfit',system-ui,sans-serif;
  --section-pad:clamp(3.5rem,7vw,6rem);
  --container:1260px;--gutter:clamp(1.25rem,4vw,2.5rem);
  --radius-sm:4px;--radius:8px;--radius-lg:16px;
  --shadow-sm:0 1px 4px rgba(43,43,42,.08);
  --shadow:0 4px 20px rgba(43,43,42,.10);
  --shadow-lg:0 12px 48px rgba(43,43,42,.14);
}
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font)!important;background:var(--off-white)!important;color:var(--dark)!important;font-size:16px;line-height:1.65;overflow-x:hidden;padding:0!important;margin:0!important;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold-dark);text-decoration:none;transition:color .2s;}
a:hover{color:var(--dark);}
ul,ol{list-style:none;padding:0;margin:0;}
p{line-height:1.75;margin:0;}
h1,h2,h3,h4,h5,h6{font-family:var(--font)!important;color:var(--dark);letter-spacing:-.01em;line-height:1.2;margin:0;}
h1{font-size:clamp(1.8rem,4vw,3rem)!important;font-weight:700!important;}
h2{font-size:clamp(1.5rem,3.5vw,2.4rem)!important;font-weight:300!important;}
h2 strong{font-weight:700!important;}
h3{font-size:clamp(.95rem,2vw,1.15rem)!important;font-weight:600!important;}

/* === SKIP LINK === */
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--gold);color:var(--dark);padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;z-index:9999;transition:top .2s;}
.skip-link:focus{top:1rem;}

/* === CONTAINER === */
.sommer-container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);width:100%;}

/* === HEADER === */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.20);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:none;transition:background .35s,box-shadow .35s;}
.site-header.scrolled{background:rgba(255,255,255,.97)!important;box-shadow:0 1px 0 var(--stone-200),var(--shadow-sm)!important;backdrop-filter:none;-webkit-backdrop-filter:none;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:.85rem var(--gutter);gap:2rem;max-width:calc(var(--container) + 5rem);margin:0 auto;}
.nav-logo{flex-shrink:0;display:flex;align-items:center;line-height:0;max-width:220px;}
.nav-logo img{max-height:54px!important;max-width:220px!important;width:auto!important;height:auto!important;display:block!important;}
.nav-links{display:flex;align-items:center;gap:.15rem;flex-wrap:nowrap;flex-shrink:0;margin:0;padding:0;}
.nav-links li{list-style:none;white-space:nowrap;}
.nav-links a{font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--dark-soft);padding:.45rem .9rem;border-radius:50px;transition:background .2s,color .2s;display:block;}
.nav-links a:hover{background:rgba(43,43,42,.08);color:var(--dark);}
.site-header.scrolled .nav-links a:hover{background:var(--stone-100);color:var(--dark);}
.nav-links a.nav-cta,.nav-links li.nav-cta>a{background:var(--gold)!important;color:var(--dark)!important;font-weight:600;}
.nav-links a.nav-cta:hover,.nav-links li.nav-cta>a:hover{background:var(--gold-dark)!important;color:var(--white)!important;}
.nav-toggle{display:none;flex-direction:column;background:none;border:1.5px solid var(--stone-200);border-radius:var(--radius);padding:.4rem .6rem;cursor:pointer;gap:5px;z-index:201;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--dark);transition:transform .3s,opacity .3s;}
@media(max-width:768px){
  .nav-toggle{display:flex!important;}
  .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:1px solid var(--stone-100);box-shadow:0 4px 12px rgba(43,43,42,.08);flex-direction:column;padding:.5rem 0 1rem;gap:0;align-items:stretch;}
  .nav-links.open{display:flex!important;}
  .nav-links a{color:var(--dark-soft)!important;padding:.75rem var(--gutter)!important;border-radius:0!important;}
  .nav-links li.nav-cta>a{margin:.5rem var(--gutter) 0!important;border-radius:50px!important;text-align:center!important;}
}

/* === MAIN === */
.site-main{min-height:60vh;padding:0;margin:0;}

/* === SECTIONS === */
.sommer-section{width:100%;padding:var(--section-pad) 0;}
.sommer-section--off-white{background:var(--off-white);}
.sommer-section--stone{background:var(--stone-50);}
.sommer-section--white{background:var(--white);}
.sommer-section--dark{background:var(--dark);}
.section-label{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem;}
.section-label::before{content:'';width:24px;height:2px;background:var(--gold);display:block;flex-shrink:0;}
.section-header{text-align:center;margin-bottom:clamp(2rem,4vw,3rem);}
.section-header .section-label{justify-content:center;}
.section-header .section-label::before{display:none;}
.section-header p.intro{font-size:.9rem;font-weight:300;color:var(--stone-400);margin-top:.75rem;max-width:500px;margin-left:auto;margin-right:auto;}

/* === BUTTONS === */
.btn{font-family:var(--font);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:50px;border:none;padding:.8rem 1.75rem;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;cursor:pointer;transition:all .22s;}
.btn--primary{background:var(--gold);color:var(--dark);}
.btn--primary:hover{background:var(--gold-dark);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow);}
.btn--outline{background:transparent;color:var(--dark);border:1.5px solid var(--stone-200);}
.btn--outline:hover{border-color:var(--gold);color:var(--gold-dark);}
.btn--outline-light{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.45);}
.btn--outline-light:hover{border-color:var(--gold-light);color:var(--gold-light);}

/* === HERO === */
.sommer-hero{position:relative;height:100svh;min-height:580px;display:flex;align-items:flex-end;overflow:hidden;margin:0;}
.sommer-hero__slides{position:absolute;inset:0;}
.sommer-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;}
.sommer-hero__slide.active{opacity:1;}
.sommer-hero__slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(30,28,26,.75) 0%,rgba(30,28,26,.25) 55%,transparent 100%);}
.sommer-hero__content{position:relative;z-index:2;width:100%;max-width:var(--container);margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) var(--gutter);}
.sommer-hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;}
.sommer-hero__eyebrow::before{content:'';width:28px;height:1.5px;background:var(--gold);display:block;}
.sommer-hero__title{font-size:clamp(2.2rem,5.5vw,5rem)!important;font-weight:300!important;line-height:1.12!important;color:var(--white)!important;max-width:680px;margin-bottom:1.25rem!important;letter-spacing:-.01em!important;}
.sommer-hero__title strong{font-weight:700!important;}
.sommer-hero__sub{font-size:clamp(.85rem,2vw,.95rem);font-weight:300;color:rgba(255,255,255,.72);max-width:460px;line-height:1.75;margin-bottom:2rem;}
.sommer-hero__actions{display:flex;gap:.875rem;flex-wrap:wrap;}
.sommer-hero__btn{display:inline-flex;align-items:center;padding:.8rem 1.75rem;font-family:var(--font);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:50px;border:none;cursor:pointer;transition:all .22s;text-decoration:none;}
.sommer-hero__btn--primary{background:var(--gold);color:var(--dark);}
.sommer-hero__btn--primary:hover{background:var(--gold-dark);color:var(--white);}
.sommer-hero__btn--outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.45);}
.sommer-hero__btn--outline:hover{border-color:var(--gold-light);color:var(--gold-light);}
.sommer-hero__dots{position:absolute;bottom:2rem;right:var(--gutter);display:flex;gap:.45rem;z-index:3;}
.sommer-hero__dot{width:24px;height:3px;border-radius:2px;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:background .3s,width .3s;}
.sommer-hero__dot.active{background:var(--gold);width:44px;}
@media(max-width:768px){
  .sommer-hero{height:50vh;min-height:380px;}
  .sommer-hero__title{font-size:clamp(1.7rem,7vw,2.4rem)!important;}
  .sommer-hero__sub{margin-bottom:1.5rem;}
  .sommer-hero__actions{flex-direction:column;gap:.65rem;}
  .sommer-hero__btn{width:100%;justify-content:center;}
  .sommer-hero__dots{bottom:1rem;}
}

/* === BAND === */
.sommer-band{background:var(--white);border-bottom:1px solid var(--stone-100);padding:1.1rem 0;}
.sommer-band__inner{display:flex;justify-content:center;flex-wrap:wrap;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.sommer-band__item{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-400);padding:.4rem 1.5rem;position:relative;}
.sommer-band__item+.sommer-band__item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:var(--stone-200);}
@media(max-width:600px){.sommer-band__item{padding:.3rem .75rem;font-size:.62rem;}.sommer-band__item+.sommer-band__item::before{display:none;}}

/* === ÜBER UNS === */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.about-images{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.about-img-main{grid-column:1;grid-row:1/3;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}
.about-img-sm{aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);}
.about-img-main img,.about-img-sm img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.about-img-main:hover img,.about-img-sm:hover img{transform:scale(1.04);}
.about-badge{background:var(--gold);color:var(--dark);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;text-align:center;}
.about-badge__num{font-size:2.4rem;font-weight:700;line-height:1;}
.about-badge__text{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-top:.3rem;}
.about-text p{font-size:.93rem;font-weight:300;color:var(--dark-soft);line-height:1.85;}
.about-text p+p{margin-top:.9rem;}
.about-text h2{margin-bottom:1.25rem;}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0;padding-top:2rem;border-top:1px solid var(--stone-100);}
.stat-num{font-size:2rem;font-weight:700;color:var(--gold-dark);line-height:1;}
.stat-label{font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-400);margin-top:.3rem;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;}.about-images{max-width:400px;}}
@media(max-width:480px){.about-stats{grid-template-columns:1fr 1fr;gap:1rem;}.stat-num{font-size:1.6rem;}}

/* === LEISTUNGSKARTEN === */
.leistungen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.leistung-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--stone-100);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
.leistung-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.leistung-img{width:100%;aspect-ratio:4/3;overflow:hidden;}
.leistung-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.leistung-card:hover .leistung-img img{transform:scale(1.06);}
.leistung-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;}
.leistung-num{font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;display:block;}
.leistung-card h3{font-size:1.1rem!important;font-weight:600!important;color:var(--dark)!important;margin-bottom:.6rem!important;}
.leistung-text{font-size:.83rem;font-weight:300;color:var(--stone-600);line-height:1.7;flex:1;}
.leistung-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);transition:gap .2s;}
.leistung-card:hover .leistung-link{gap:.6rem;}
@media(max-width:900px){.leistungen-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.leistungen-grid{grid-template-columns:1fr;}}

/* === QUALITÄT === */
.qualitaet-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.qualitaet-text p{font-size:.92rem;font-weight:300;color:var(--dark-soft);line-height:1.85;}
.qualitaet-text p+p{margin-top:.9rem;}
.qualitaet-text h2{margin-bottom:1.25rem;}
.qualitaet-list{list-style:none;padding:0;margin:1.75rem 0;}
.qualitaet-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--stone-100);font-size:.88rem;color:var(--dark-soft);line-height:1.5;}
.qualitaet-list li:last-child{border-bottom:none;}
.qualitaet-list li .check{color:var(--gold-dark);font-weight:700;flex-shrink:0;}
.qualitaet-img-main{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;}
.qualitaet-img-main img{width:100%;height:100%;object-fit:cover;}
.qualitaet-quote{background:var(--dark);color:var(--white);border-radius:var(--radius);padding:1.5rem 1.75rem;margin-top:1.25rem;}
.qualitaet-quote p{font-size:.95rem;font-weight:300;font-style:italic;line-height:1.5;margin-bottom:.5rem;color:var(--white);}
.qualitaet-quote cite{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-style:normal;}
@media(max-width:900px){.qualitaet-grid{grid-template-columns:1fr;}.qualitaet-img-main{aspect-ratio:16/9;}}

/* === KONTAKT === */
.kontakt-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(2.5rem,5vw,5rem);align-items:start;}
.kontakt-info>p{font-size:.9rem;font-weight:300;color:var(--stone-600);line-height:1.75;margin:1rem 0 2rem;}
.kontakt-info h2{margin-bottom:.5rem;}
.kontakt-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--stone-100);overflow:hidden;}
.kontakt-item{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--stone-100);}
.kontakt-item:last-child{border-bottom:none;}
.kontakt-icon{width:38px;height:38px;background:var(--stone-50);border:1px solid var(--stone-100);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.kontakt-lbl{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-400);margin-bottom:.2rem;display:block;}
.kontakt-val{font-size:.9rem;color:var(--dark);}
.kontakt-val a{color:var(--dark);}
.kontakt-val a:hover{color:var(--gold-dark);}
.kontakt-form-wrap{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--stone-100);padding:2.25rem;}
.kontakt-form-wrap h3{font-size:1.3rem!important;font-weight:600!important;margin-bottom:1.75rem!important;}
@media(max-width:768px){.kontakt-grid{grid-template-columns:1fr;}}

/* === CF7 === */
.wpcf7-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.wpcf7-form .form-group{margin-bottom:1.1rem;}
.wpcf7-form .form-group label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-600);margin-bottom:.45rem;}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{width:100%;background:var(--stone-50);border:1.5px solid var(--stone-100);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--dark);font-family:var(--font);font-size:.88rem;transition:border-color .2s,box-shadow .2s;outline:none;}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,90,.12);background:var(--white);}
.wpcf7 textarea{min-height:110px;resize:vertical;}
.wpcf7 input[type=submit]{width:100%;background:var(--gold);color:var(--dark);border:none;border-radius:50px;padding:.9rem 2rem;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--font);margin-top:.5rem;transition:background .22s;}
.wpcf7 input[type=submit]:hover{background:var(--gold-dark);color:var(--white);}
@media(max-width:600px){.wpcf7-form .form-row{grid-template-columns:1fr;}}

/* === LEISTUNG PAGE TEMPLATE === */
.leistung-hero{padding:calc(var(--section-pad) + 80px) 0 var(--section-pad);background:var(--stone-50);}
.leistung-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.leistung-hero__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;}
.leistung-hero__img img{width:100%;height:100%;object-fit:cover;}
.leistung-hero__text h1{margin-bottom:1rem;}
.leistung-hero__text .section-label{margin-bottom:.75rem;}
.leistung-hero__text p{font-size:.95rem;font-weight:300;color:var(--dark-soft);line-height:1.85;margin-bottom:1.75rem;}
.leistung-hero__actions{display:flex;gap:.875rem;flex-wrap:wrap;}
.leistung-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:2rem 0;}
.leistung-feature{background:var(--white);border:1px solid var(--stone-100);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);}
.leistung-feature__icon{font-size:1.5rem;margin-bottom:.75rem;}
.leistung-feature__title{font-size:.95rem!important;font-weight:600!important;margin-bottom:.4rem!important;}
.leistung-feature__text{font-size:.82rem;color:var(--stone-600);line-height:1.6;}
.leistung-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,6vw,5rem);}
.leistung-detail-text p{font-size:.92rem;font-weight:300;color:var(--dark-soft);line-height:1.85;}
.leistung-detail-text p+p{margin-top:1rem;}
.leistung-detail-text h2{margin-bottom:1.25rem;}
.leistung-detail-list{list-style:none;padding:0;margin:1.75rem 0;}
.leistung-detail-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--stone-100);font-size:.88rem;color:var(--dark-soft);}
.leistung-detail-list li:last-child{border-bottom:none;}
.leistung-detail-list li::before{content:"✓";color:var(--gold-dark);font-weight:700;flex-shrink:0;}
.kontakt-box-dark{background:var(--dark);color:var(--white);border-radius:var(--radius-lg);padding:2.5rem;}
.kontakt-box-dark__eyebrow{font-size:.7rem!important;font-weight:600!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--gold)!important;margin-bottom:.6rem!important;}
.kontakt-box-dark h3{color:var(--white)!important;font-size:1.4rem!important;font-weight:300!important;margin-bottom:1rem!important;line-height:1.3!important;}
.kontakt-box-dark h3 strong{font-weight:700!important;}
.kontakt-box-dark>p{font-size:.88rem;font-weight:300;color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:1.5rem;}
.kontakt-box-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);color:var(--white);text-decoration:none;margin-bottom:.75rem;font-size:.9rem;transition:background .2s;}
.kontakt-box-link:hover{background:rgba(255,255,255,.12);color:var(--white);}
.weitere-leistungen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.weitere-leistung-link{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--stone-100);text-decoration:none;display:block;transition:transform .25s,box-shadow .25s;}
.weitere-leistung-link:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.weitere-leistung-link .leistung-num{margin-bottom:.4rem;}
.weitere-leistung-link h3{color:var(--dark)!important;font-size:1rem!important;margin:0!important;}
.cta-banner{background:var(--dark);padding:3.5rem 0;}
.cta-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-banner__text>p{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.cta-banner__text h2{color:var(--white)!important;font-size:clamp(1.3rem,2.5vw,1.9rem)!important;}
.cta-banner__actions{display:flex;gap:1rem;flex-wrap:wrap;}
@media(max-width:900px){.leistung-hero__grid{grid-template-columns:1fr;}.leistung-hero__img{order:-1;aspect-ratio:16/9;}.leistung-features-grid{grid-template-columns:1fr;}.leistung-detail-grid{grid-template-columns:1fr;}.weitere-leistungen-grid{grid-template-columns:1fr 1fr;}.cta-banner__inner{flex-direction:column;text-align:center;}.cta-banner__actions{justify-content:center;}}
@media(max-width:480px){.weitere-leistungen-grid{grid-template-columns:1fr;}}


/* ============================================================
   KARRIERE – Startseite Teaser
============================================================ */
.karriere-teaser{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.karriere-teaser__text h2{margin-bottom:1.25rem;}
.karriere-jobs{display:flex;flex-direction:column;gap:.75rem;margin:2rem 0;}
.karriere-job-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);color:var(--white);text-decoration:none;transition:background .2s,border-color .2s;}
.karriere-job-card:hover{background:rgba(255,255,255,.12);border-color:rgba(201,164,90,.4);color:var(--white);}
.karriere-job-card__icon{font-size:1.5rem;flex-shrink:0;}
.karriere-job-card div{flex:1;}
.karriere-job-card strong{display:block;font-size:.9rem;font-weight:600;color:var(--white);}
.karriere-job-card span{font-size:.75rem;color:rgba(255,255,255,.5);letter-spacing:.04em;}
.karriere-job-card__arrow{font-size:1.1rem;color:var(--gold);flex-shrink:0;transition:transform .2s;}
.karriere-job-card:hover .karriere-job-card__arrow{transform:translateX(4px);}
.karriere-benefit{display:flex;align-items:flex-start;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.karriere-benefit:last-child{border-bottom:none;}
.karriere-benefit__icon{font-size:1.4rem;flex-shrink:0;margin-top:.1rem;}
.karriere-benefit strong{display:block;font-size:.88rem;font-weight:600;color:var(--white);margin-bottom:.2rem;}
.karriere-benefit p{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.5);margin:0;line-height:1.5;}
@media(max-width:900px){.karriere-teaser{grid-template-columns:1fr;}}

/* ============================================================
   KARRIERE – Unterseite (Page Template)
============================================================ */

/* Hero */
.karriere-page-hero{background:var(--stone-50);padding:calc(var(--section-pad) + 80px) 0 var(--section-pad);}
.karriere-page-hero h1{margin-bottom:1rem;}
.karriere-page-hero__sub{font-size:.95rem;font-weight:300;color:var(--dark-soft);line-height:1.85;margin-top:1.25rem;max-width:620px;}
.karriere-page-hero__badges{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem;}
.karriere-badge{background:var(--white);border:1px solid var(--stone-100);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow-sm);}
.karriere-badge__icon{font-size:1.6rem;display:block;margin-bottom:.5rem;}
.karriere-badge strong{display:block;font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:.2rem;}
.karriere-badge span{font-size:.72rem;color:var(--stone-400);}
@media(max-width:768px){.karriere-page-hero__badges{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.karriere-page-hero__badges{grid-template-columns:1fr 1fr;}}

/* Job Cards */
.job-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--stone-100);box-shadow:var(--shadow-sm);padding:2.5rem;margin-bottom:2rem;}
.job-card:last-child{margin-bottom:0;}
.job-card__header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--stone-100);flex-wrap:wrap;}
.job-card__icon{font-size:2.5rem;flex-shrink:0;line-height:1;}
.job-card__meta{flex:1;min-width:200px;}
.job-card__type{font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.35rem;}
.job-card__title{font-size:clamp(1.2rem,2.5vw,1.6rem)!important;font-weight:600!important;color:var(--dark)!important;margin:0 0 .35rem!important;}
.job-card__location{font-size:.8rem;color:var(--stone-400);}
.job-card__cta{flex-shrink:0;align-self:center;}
.job-card__intro{font-size:.92rem;font-weight:300;color:var(--dark-soft);line-height:1.85;margin-bottom:2rem;}
.job-card__details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.job-card__col--full{grid-column:span 2;}
.job-card__col h3{font-size:.85rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--dark)!important;margin-bottom:1rem!important;}
.job-list{list-style:none;padding:0;margin:0;}
.job-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--stone-50);font-size:.85rem;color:var(--dark-soft);line-height:1.5;}
.job-list li:last-child{border-bottom:none;}
.job-list li::before{content:"→";color:var(--stone-400);flex-shrink:0;font-weight:600;margin-top:.05rem;}
.job-list--gold li::before{content:"✓";color:var(--gold-dark);}
@media(max-width:768px){.job-card__details{grid-template-columns:1fr;}.job-card__col--full{grid-column:span 1;}.job-card__header{gap:1rem;}.job-card__cta{width:100%;justify-content:center;}}

/* Initiativbewerbung */
.karriere-initiativ{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.karriere-initiativ__text h2{margin-bottom:1.25rem;}
.karriere-initiativ__text p{font-size:.92rem;font-weight:300;color:var(--dark-soft);line-height:1.85;}
.karriere-initiativ__card{background:var(--dark);border-radius:var(--radius-lg);padding:2.5rem;}
@media(max-width:900px){.karriere-initiativ{grid-template-columns:1fr;}}

/* === SCROLL REVEAL === */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.12s;}.reveal-delay-2{transition-delay:.24s;}.reveal-delay-3{transition-delay:.36s;}

/* === FOOTER === */
.site-footer{background:var(--dark)!important;color:rgba(255,255,255,.45);font-family:var(--font)!important;padding:3.5rem 0 1.75rem;}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08);max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.footer-logo img{max-height:40px!important;max-width:160px!important;width:auto!important;height:auto!important;filter:brightness(0) invert(1)!important;opacity:.75!important;transition:opacity .2s!important;}
.footer-logo a:hover img{opacity:1!important;}
.footer-tagline{font-size:.85rem;font-weight:300;color:rgba(255,255,255,.4);line-height:1.6;margin-top:1rem;}
.footer-heading{font-size:.68rem!important;font-weight:700!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:var(--gold)!important;margin-bottom:1.1rem!important;display:block;}
.footer-col ul li{margin-bottom:.45rem;}
.footer-col a,.footer-col ul a{font-size:.83rem;font-weight:300;color:rgba(255,255,255,.4);transition:color .2s;}
.footer-col a:hover,.footer-col ul a:hover{color:var(--gold-light);}
.footer-contact-item{font-size:.83rem;font-weight:300;color:rgba(255,255,255,.4);margin-bottom:.45rem;}
.footer-contact-item a{color:rgba(255,255,255,.4);}
.footer-contact-item a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.22);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{font-size:.75rem;color:rgba(255,255,255,.22);transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.5);}
@media(max-width:1024px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:600px){.footer-inner{grid-template-columns:1fr;gap:1.75rem;}.footer-bottom{flex-direction:column;text-align:center;}}

/* === A11Y === */
:focus-visible{outline:2px solid var(--gold)!important;outline-offset:3px!important;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}.reveal{opacity:1!important;transform:none!important;}}

/* === CF7 BEWERBUNGSFORMULAR ===================================== */
.wpcf7-form--bewerbung .form-section-label {
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-dark);padding-bottom:.5rem;margin-bottom:1rem;
  border-bottom:2px solid var(--gold);display:block;margin-top:.5rem;
}
.wpcf7-form--bewerbung .form-group--upload .wpcf7-form-control-wrap{display:block;width:100%;}
.wpcf7-form--bewerbung .wpcf7-file{
  width:100%;background:var(--stone-50);
  border:2px dashed var(--stone-200);border-radius:var(--radius);
  padding:1rem;cursor:pointer;transition:border-color .2s,background .2s;
  font-family:var(--font);font-size:.88rem;color:var(--dark-soft);
}
.wpcf7-form--bewerbung .wpcf7-file:hover,
.wpcf7-form--bewerbung .wpcf7-file:focus{
  border-color:var(--gold);background:var(--white);outline:none;
  box-shadow:0 0 0 3px rgba(201,164,90,.12);
}
.upload-hint{font-size:.72rem;font-weight:400;color:var(--stone-400);margin-left:.5rem;letter-spacing:0;text-transform:none;}
.upload-info{font-size:.75rem;color:var(--stone-400);margin-top:.4rem;font-weight:300;}
.form-group--datenschutz{
  background:var(--stone-50);border:1px solid var(--stone-100);
  border-radius:var(--radius);padding:1rem 1.25rem;
  font-size:.85rem;color:var(--dark-soft);line-height:1.6;margin-top:.5rem;
}
.form-group--datenschutz .wpcf7-list-item{margin:0;}
.form-group--datenschutz a{color:var(--gold-dark);text-decoration:underline;}
.form-group--datenschutz .wpcf7-list-item-label{cursor:pointer;}
/* Datum-Feld */
.wpcf7-form--bewerbung input[type="date"]{
  width:100%;background:var(--stone-50);border:1.5px solid var(--stone-100);
  border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--dark);
  font-family:var(--font);font-size:.88rem;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.wpcf7-form--bewerbung input[type="date"]:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,90,.12);background:var(--white);
}
