/*
Theme Name: Matthias Schmehl Coaching
Theme URI: https://matthias-schmehl.de
Author: Matthias Schmehl
Description: Persönliche Coaching-Website von Matthias Schmehl – integraler Life Coach. Kundengewinnung, Online-Terminbuchung und integriertes Bezahlsystem. Vollständig im WordPress Customizer editierbar.
Version: 1.0
Requires PHP: 7.0
Text Domain: ms-coaching
*/

/* ============================
   CSS-VARIABLEN
==============================*/
:root{
  --sk-rose:#e11d48;
  --sk-rose-light:#fff1f2;
  --sk-rose-soft:#fda4af;
  --sk-warm:#c2410c;
  --sk-gold:#b45309;
  --sk-gold-light:#fef3c7;
  --sk-cream:#fffbf7;
  --sk-sand:#fdf6ee;
  --sk-dark:#1c1917;
  --sk-mid:#44403c;
  --sk-muted:#78716c;
  --sk-border:#e7e5e4;
  --sk-radius:16px;
  --sk-shadow:0 8px 32px rgba(28,25,23,.08);
  --sk-shadow-lg:0 20px 60px rgba(28,25,23,.14);
  --sk-font-serif:Georgia,'Times New Roman',serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Helvetica,Arial,sans-serif;color:var(--sk-dark);background:#fff;line-height:1.7;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
.container{max-width:1120px;margin:0 auto;padding:0 22px;}

/* ============================
   TYPOGRAFIE
==============================*/
h1,h2,h3{font-family:var(--sk-font-serif);font-weight:normal;}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--sk-rose);margin-bottom:12px;display:block;}
.eyebrow.light{color:var(--sk-rose-soft);}

/* ============================
   BUTTONS
==============================*/
.btn{display:inline-block;padding:16px 36px;border-radius:50px;font-weight:700;font-size:16px;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s;font-family:inherit;}
.btn-rose{background:var(--sk-rose);color:#fff;box-shadow:0 8px 28px rgba(225,29,72,.35);}
.btn-rose:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(225,29,72,.5);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);padding:14px 32px;}
.btn-outline:hover{background:rgba(255,255,255,.15);}
.btn-gold{background:var(--sk-gold);color:#fff;box-shadow:0 8px 24px rgba(180,83,9,.3);}
.btn-gold:hover{transform:translateY(-3px);}
.btn-soft{background:var(--sk-rose-light);color:var(--sk-rose);font-weight:700;}
.btn-soft:hover{background:#ffe4e6;}

/* ============================
   HERO
==============================*/
.sk-hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.sk-hero-media{position:absolute;inset:0;z-index:0;}
.sk-hero-media video,.sk-hero-media img{width:100%;height:100%;object-fit:cover;}
.sk-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,25,23,.92) 0%,rgba(157,23,77,.6) 60%,rgba(180,83,9,.3) 100%);z-index:1;}
.sk-hero-wrap{position:relative;z-index:2;padding:120px 0 100px;display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center;}
.sk-hero-content h1{font-size:50px;line-height:1.15;margin-bottom:22px;}
.sk-hero-content h1 em{font-style:normal;color:var(--sk-rose-soft);}
.sk-hero-content p{font-size:19px;opacity:.92;max-width:540px;margin-bottom:36px;}
.sk-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.sk-hero-note{font-size:13px;opacity:.7;margin-top:14px;}
.sk-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.sk-badge{background:rgba(255,255,255,.1);backdrop-filter:blur(6px);padding:8px 16px;border-radius:50px;font-size:13px;}

/* Hero-Karte rechts */
.sk-hero-card{background:rgba(255,255,255,.11);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);border-radius:var(--sk-radius);padding:36px;color:#fff;}
.sk-hero-card h3{font-size:20px;margin-bottom:18px;font-family:var(--sk-font-serif);}
.sk-hero-card .sk-booking-mini{display:flex;flex-direction:column;gap:12px;}
.sk-hero-card input,
.sk-hero-card select{width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:14px;font-family:inherit;}
.sk-hero-card input::placeholder{color:rgba(255,255,255,.6);}
.sk-hero-card select option{color:var(--sk-dark);background:#fff;}
.sk-hero-card .btn{width:100%;text-align:center;margin-top:4px;}
.sk-hero-card .sk-card-note{font-size:11px;opacity:.65;text-align:center;margin-top:8px;}

/* ============================
   ABSCHNITT-LAYOUT
==============================*/
.sk-section{padding:90px 0;}
.sk-section.bg-cream{background:var(--sk-cream);}
.sk-section.bg-sand{background:var(--sk-sand);}
.sk-section.bg-rose{background:var(--sk-rose-light);}
.sk-section.bg-dark{background:var(--sk-dark);color:#fff;}
.sk-section-header{text-align:center;max-width:700px;margin:0 auto 56px;}
.sk-section-header h2{font-size:38px;margin-bottom:16px;}
.sk-section-header p{font-size:17px;color:var(--sk-muted);}
.bg-dark .sk-section-header p{color:rgba(255,255,255,.7);}

/* ============================
   "DU BIST NICHT ALLEIN"
==============================*/
.sk-empathy{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.sk-empathy-img{border-radius:var(--sk-radius);overflow:hidden;position:relative;}
.sk-empathy-img img{height:500px;object-fit:cover;width:100%;}
.sk-empathy-img::after{content:'';position:absolute;inset:0;border-radius:var(--sk-radius);box-shadow:inset 0 0 0 4px rgba(225,29,72,.12);}
.sk-empathy-text h2{font-size:36px;margin-bottom:20px;line-height:1.25;}
.sk-empathy-text p{color:var(--sk-mid);margin-bottom:16px;font-size:16px;}
.sk-empathy-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:20px 0 28px;}
.sk-empathy-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--sk-mid);}
.sk-empathy-list li::before{content:'✓';background:var(--sk-rose);color:#fff;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0;margin-top:2px;}

/* ============================
   ÜBER DIE COACH
==============================*/
.sk-about{display:grid;grid-template-columns:380px 1fr;gap:70px;align-items:center;}
.sk-about-img{border-radius:var(--sk-radius);overflow:hidden;box-shadow:var(--sk-shadow-lg);position:relative;}
.sk-about-img img{width:100%;height:480px;object-fit:cover;}
.sk-about-badge{position:absolute;bottom:24px;left:24px;background:var(--sk-rose);color:#fff;border-radius:12px;padding:14px 20px;font-size:14px;font-weight:700;}
.sk-about-text h2{font-size:36px;margin-bottom:8px;}
.sk-about-text .sk-about-title{color:var(--sk-muted);margin-bottom:20px;font-size:15px;font-style:italic;}
.sk-about-text p{color:var(--sk-mid);margin-bottom:14px;font-size:16px;}
.sk-certs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.sk-cert{background:var(--sk-sand);border:1.5px solid var(--sk-border);border-radius:50px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--sk-mid);}

/* ============================
   METHODE / ANGEBOTE
==============================*/
.sk-offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.sk-offer-card{background:#fff;border-radius:var(--sk-radius);padding:34px 28px;box-shadow:var(--sk-shadow);border-top:4px solid var(--sk-rose);position:relative;overflow:hidden;}
.sk-offer-card.featured{background:var(--sk-rose);color:#fff;border-top-color:var(--sk-gold);}
.sk-offer-card.featured p{color:rgba(255,255,255,.85);}
.sk-offer-card.featured .sk-offer-price{color:#fff;}
.sk-offer-card.featured .btn-soft{background:rgba(255,255,255,.2);color:#fff;}
.sk-offer-card.featured .btn-soft:hover{background:rgba(255,255,255,.3);}
.sk-offer-badge{position:absolute;top:14px;right:14px;background:var(--sk-gold);color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px;}
.sk-offer-card .icon{font-size:36px;margin-bottom:18px;}
.sk-offer-card h3{font-size:20px;margin-bottom:10px;}
.sk-offer-card p{font-size:14px;color:var(--sk-muted);margin-bottom:16px;}
.sk-offer-price{font-size:28px;font-weight:700;font-family:var(--sk-font-serif);margin-bottom:18px;}
.sk-offer-price span{font-size:14px;font-weight:400;opacity:.7;}
.sk-offer-includes{list-style:none;margin-bottom:22px;display:flex;flex-direction:column;gap:7px;}
.sk-offer-includes li{font-size:13px;display:flex;align-items:center;gap:8px;}
.sk-offer-includes li::before{content:'✓';font-weight:900;color:var(--sk-rose);flex-shrink:0;}
.sk-offer-card.featured .sk-offer-includes li::before{color:var(--sk-rose-soft);}

/* ============================
   GALERIE
==============================*/
.sk-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:14px;}
.sk-gallery-item{border-radius:var(--sk-radius);overflow:hidden;}
.sk-gallery-item img{width:100%;height:200px;object-fit:cover;transition:transform .4s;}
.sk-gallery-item:hover img{transform:scale(1.05);}
.sk-gallery-item:first-child{grid-column:1/3;grid-row:1/3;}
.sk-gallery-item:first-child img{height:414px;}

/* ============================
   PROZESS
==============================*/
.sk-process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.sk-process::before{content:'';position:absolute;top:36px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--sk-rose),var(--sk-gold));z-index:0;}
.sk-proc-step{text-align:center;position:relative;z-index:1;}
.sk-proc-num{width:72px;height:72px;border-radius:50%;background:var(--sk-rose);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin:0 auto 18px;box-shadow:0 6px 20px rgba(225,29,72,.35);}
.sk-proc-step h4{font-size:16px;font-weight:700;margin-bottom:8px;}
.sk-proc-step p{font-size:13px;color:var(--sk-muted);}

/* ============================
   TESTIMONIALS
==============================*/
.sk-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sk-testi{background:#fff;border-radius:var(--sk-radius);padding:30px;box-shadow:var(--sk-shadow);position:relative;}
.sk-testi::before{content:'"';position:absolute;top:14px;left:22px;font-size:60px;color:var(--sk-rose-soft);font-family:var(--sk-font-serif);line-height:1;opacity:.5;}
.sk-testi .stars{color:#f59e0b;margin-bottom:10px;font-size:16px;}
.sk-testi p{font-size:15px;font-style:italic;color:var(--sk-mid);margin-bottom:20px;padding-top:10px;}
.sk-testi-meta{display:flex;align-items:center;gap:12px;}
.sk-testi-avi{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--sk-rose),var(--sk-gold));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;flex-shrink:0;}
.sk-testi-meta strong{display:block;font-size:14px;}
.sk-testi-meta span{font-size:12px;color:var(--sk-muted);}

/* ============================
   FAQ
==============================*/
.sk-faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.sk-faq-item{border-radius:var(--sk-radius);border:1.5px solid var(--sk-border);overflow:hidden;background:#fff;}
.sk-faq-q{padding:18px 24px;font-weight:700;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;user-select:none;}
.sk-faq-q .arr{font-size:18px;transition:transform .3s;flex-shrink:0;color:var(--sk-rose);}
.sk-faq-item.open .arr{transform:rotate(180deg);}
.sk-faq-item.open .sk-faq-q{color:var(--sk-rose);}
.sk-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.sk-faq-a-inner{padding:0 24px;font-size:14px;color:var(--sk-mid);line-height:1.8;}
.sk-faq-item.open .sk-faq-a{max-height:400px;}
.sk-faq-item.open .sk-faq-a-inner{padding-bottom:20px;}

/* ============================
   BUCHUNGS- & BEZAHLBEREICH
==============================*/
.sk-booking-section{background:linear-gradient(135deg,var(--sk-dark) 0%,#3b0764 100%);padding:90px 0;}
.sk-booking-grid{display:grid;grid-template-columns:1fr 480px;gap:60px;align-items:start;}
.sk-booking-left{color:#fff;}
.sk-booking-left h2{font-size:38px;margin-bottom:16px;}
.sk-booking-left p{font-size:16px;opacity:.85;margin-bottom:28px;}
.sk-session-types{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;}
.sk-session-type{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:16px 20px;cursor:pointer;transition:.2s;}
.sk-session-type:hover,.sk-session-type.active{border-color:var(--sk-rose-soft);background:rgba(225,29,72,.2);}
.sk-session-type h4{font-size:15px;font-weight:700;display:flex;justify-content:space-between;}
.sk-session-type h4 span{color:var(--sk-rose-soft);}
.sk-session-type p{font-size:13px;opacity:.75;margin-top:4px;}

/* Buchungsformular */
.sk-form-box{background:#fff;border-radius:var(--sk-radius);padding:38px;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.sk-form-box h3{font-size:22px;font-family:var(--sk-font-serif);margin-bottom:6px;}
.sk-form-box .sk-form-sub{font-size:13px;color:var(--sk-muted);margin-bottom:24px;}
.sk-field{margin-bottom:16px;}
.sk-field label{display:block;font-weight:600;font-size:13px;color:#374151;margin-bottom:6px;}
.sk-field input[type=text],
.sk-field input[type=email],
.sk-field input[type=tel],
.sk-field input[type=date],
.sk-field input[type=time],
.sk-field select,
.sk-field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--sk-border);border-radius:10px;font-size:14px;font-family:inherit;transition:border .2s;background:#fff;}
.sk-field input:focus,.sk-field select:focus,.sk-field textarea:focus{outline:none;border-color:var(--sk-rose);}
.sk-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.sk-price-display{background:var(--sk-rose-light);border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.sk-price-display .sk-price-label{font-size:13px;color:var(--sk-mid);}
.sk-price-display .sk-price-val{font-size:22px;font-weight:700;color:var(--sk-rose);font-family:var(--sk-font-serif);}
.sk-free-badge{background:#dcfce7;color:#166534;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;}
.sk-payment-tabs{display:flex;gap:8px;margin-bottom:16px;}
.sk-pay-tab{flex:1;padding:9px;border-radius:8px;border:1.5px solid var(--sk-border);text-align:center;cursor:pointer;font-size:13px;font-weight:600;transition:.2s;}
.sk-pay-tab.active{border-color:var(--sk-rose);background:var(--sk-rose-light);color:var(--sk-rose);}
.sk-pay-section{display:none;}
.sk-pay-section.active{display:block;}
.sk-consent{font-size:12px;color:var(--sk-muted);display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;}
.sk-consent input{margin-top:3px;flex-shrink:0;accent-color:var(--sk-rose);}
.sk-submit{width:100%;background:var(--sk-rose);color:#fff;padding:15px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;}
.sk-submit:hover{background:#be123c;}
.sk-submit:disabled{background:#ccc;cursor:not-allowed;}
.sk-msg{margin-top:12px;padding:12px 16px;border-radius:8px;font-size:13px;display:none;}
.sk-msg.success{display:block;background:#dcfce7;color:#166534;}
.sk-msg.error{display:block;background:#fee2e2;color:#991b1b;}
.sk-paypal-btn{width:100%;background:#0070ba;color:#fff;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:8px;}
.sk-stripe-btn{width:100%;background:#635bff;color:#fff;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:8px;}

/* ============================
   VERTRAUEN / TRUST-BAR
==============================*/
.sk-trust{background:var(--sk-sand);padding:40px 0;}
.sk-trust-inner{display:flex;justify-content:center;flex-wrap:wrap;gap:40px;}
.sk-trust-item{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--sk-mid);}
.sk-trust-item .icon{font-size:26px;}

/* ============================
   NOTFALL-HINWEIS
==============================*/
.sk-crisis-bar{background:#1e3a5f;color:#fff;padding:14px 0;text-align:center;font-size:13px;}
.sk-crisis-bar a{color:#93c5fd;font-weight:600;}

/* ============================
   FOOTER
==============================*/
.sk-footer{background:var(--sk-dark);color:#78716c;padding:50px 0 28px;}
.sk-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;margin-bottom:40px;}
.sk-footer-brand{font-size:22px;font-family:var(--sk-font-serif);color:#fff;margin-bottom:12px;}
.sk-footer-brand span{color:var(--sk-rose-soft);}
.sk-footer-desc{font-size:13px;line-height:1.8;margin-bottom:14px;}
.sk-footer h4{color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;}
.sk-footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.sk-footer ul li a{font-size:13px;transition:color .2s;}
.sk-footer ul li a:hover{color:#fff;}
.sk-footer-bottom{border-top:1px solid #292524;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;}
.sk-footer-bottom a{color:#78716c;margin-left:16px;}
.sk-footer-bottom a:hover{color:#fff;}

/* ============================
   RESPONSIVE
==============================*/
@media(max-width:1024px){
  .sk-hero-wrap{grid-template-columns:1fr;}.sk-hero-card{display:none;}
  .sk-about{grid-template-columns:1fr;}
  .sk-empathy{grid-template-columns:1fr;}
  .sk-booking-grid{grid-template-columns:1fr;}
  .sk-footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
  .sk-hero-content h1{font-size:34px;}
  .sk-offers-grid,.sk-testi-grid,.sk-gallery,.sk-process{grid-template-columns:1fr 1fr;}
  .sk-process::before{display:none;}
  .sk-gallery-item:first-child{grid-column:1;grid-row:1;}
  .sk-gallery-item:first-child img{height:200px;}
  .sk-section{padding:65px 0;}
}
@media(max-width:580px){
  .sk-offers-grid,.sk-testi-grid,.sk-gallery,.sk-process{grid-template-columns:1fr;}
  .sk-row-2{grid-template-columns:1fr;}
  .sk-footer-grid{grid-template-columns:1fr;}
  .sk-hero-content h1{font-size:28px;}
  .sk-section-header h2{font-size:28px;}
  .btn{padding:14px 26px;font-size:14px;}
}
