/*
Theme Name: Selfiekastl
Theme URI: https://selfiekastl.bayern
Author: Selfiekastl
Description: Eigenes WordPress-Theme für Selfiekastl. Liefert nur den Rahmen (schmaler, sticky Header mit Logo + Menü, dunkler Footer) und das komplette Styling. Der Seiteninhalt wird ganz normal über den Inhalt (the_content) bzw. den SiteOrigin Page Builder eingefügt – das Theme selbst enthält kein Page-Builder-Markup.
Version: 1.5.2
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: selfiekastl
*/

/* Die Schriften werden in functions.php per wp_enqueue_style geladen –
   hier bewusst KEIN @import (das würde das Laden blockieren). */

:root{
  --sk-red:#D74840;
  --sk-red-dark:#C13B34;
  --sk-cream:#FBF3EB;
  --sk-cream-2:#F7E7DF;
  --sk-ink:#241C18;
  --sk-text:#4D423B;
  --sk-muted:#897E78;
  --sk-line:#F0E3D6;
  --sk-card-line:#EEDFD0;
  --sk-shadow:0 12px 34px rgba(120,80,50,.06);
  --sk-font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --sk-hand:'Caveat',cursive;
}

/* =====================================================================
   GRUNDLAGEN
   ===================================================================== */
body{ margin:0; background:var(--sk-cream); color:var(--sk-text); font-family:var(--sk-font); -webkit-font-smoothing:antialiased; }
*{ box-sizing:border-box; }
img{ max-width:100%; height:auto; }
.sk-main{ overflow-x:hidden; }

/* Inhaltsbreite zentrieren – greift auf jede normale Seite (the_content) */
.sk-wrap{ max-width:1180px; margin:0 auto; padding:0 40px; }

/* Vollbreite-Sektion: farbiges Band randlos, Inhalt zentriert.
   In SiteOrigin der Reihe einfach die Klasse "sk-section sk-bg-XXX" geben
   und die Reihe auf volle Breite stellen. */
.sk-section{ padding:96px 0; }
.sk-bg-cream{ background:var(--sk-cream); }
.sk-bg-white{ background:#fff; border-top:1px solid var(--sk-line); border-bottom:1px solid var(--sk-line); }
.sk-bg-red{ background:var(--sk-red); }

/* =====================================================================
   RASTER (für eingefügte Editor-Snippets – stapelt selbst auf Mobil)
   ===================================================================== */
.sk-grid{ display:grid; gap:26px; align-items:start; }
.sk-cols-2{ grid-template-columns:repeat(2,1fr); }
.sk-cols-3{ grid-template-columns:repeat(3,1fr); }
.sk-cols-4{ grid-template-columns:repeat(4,1fr); }
.sk-grid-hero{ grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.sk-grid-about{ grid-template-columns:.9fr 1.1fr; gap:62px; align-items:center; }
.sk-grid-split{ grid-template-columns:1fr 1.25fr; gap:26px; }
.sk-gallery{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:16px; }

/* =====================================================================
   TYPOGRAFIE / BAUSTEINE
   ===================================================================== */
.sk-eyebrow{ font-family:var(--sk-hand); font-size:27px; font-weight:700; color:var(--sk-red); margin:0 0 2px; }
.sk-h1{ font-family:var(--sk-hand); font-weight:700; font-size:78px; line-height:.98; letter-spacing:.5px; color:var(--sk-ink); margin:0 0 22px; }
.sk-h2{ font-size:40px; font-weight:700; letter-spacing:-.02em; color:var(--sk-ink); margin:0 0 14px; }
.sk-h2-hand{ font-family:var(--sk-hand); font-weight:700; font-size:60px; line-height:.95; color:#fff; margin:0 0 18px; }
.sk-h3{ font-size:21px; font-weight:700; color:var(--sk-ink); margin:0 0 10px; }
.sk-lead{ font-size:18px; line-height:1.6; color:#5C4F47; margin:0 0 18px; }
.sk-lead-light{ font-size:18px; line-height:1.6; color:#FBE2DF; margin:0 0 30px; }
.sk-center{ text-align:center; }
.sk-center .sk-lead{ margin-left:auto; margin-right:auto; max-width:640px; }
.sk-foot{ text-align:center; font-size:13.5px; color:#9C8C82; max-width:700px; margin:30px auto 0; }
.sk-badge-pill{ display:inline-flex; align-items:center; gap:9px; background:var(--sk-cream-2); color:#C2433C; font-size:13px; font-weight:600; padding:7px 15px; border-radius:999px; margin-bottom:26px; }
.sk-badge-pill .sk-dot{ width:7px; height:7px; border-radius:50%; background:var(--sk-red); }
.sk-stack{ display:flex; flex-direction:column; gap:14px; }

/* Buttons */
.sk-btns{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.sk-btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sk-font); font-weight:600; font-size:17px; text-decoration:none; padding:16px 30px; border-radius:14px; transition:.18s; border:none; cursor:pointer; }
.sk-btn-primary{ background:var(--sk-red); color:#fff; box-shadow:0 10px 24px rgba(215,72,64,.3); }
.sk-btn-primary:hover{ background:var(--sk-red-dark); transform:translateY(-1px); color:#fff; }
.sk-btn-ghost{ background:transparent; color:#3A302B; border:1.5px solid #E3D3C5; }
.sk-btn-ghost:hover{ border-color:var(--sk-red); color:var(--sk-red); }
.sk-btn-light{ background:#fff; color:var(--sk-red); box-shadow:0 6px 16px rgba(120,30,25,.18); }
.sk-btn-light:hover{ background:#FBF1EA; color:var(--sk-red); transform:translateY(-1px); }
.sk-btn-card{ display:block; text-align:center; background:#FBF1EA; color:var(--sk-red-dark); border:1.5px solid #F0DACF; padding:14px; border-radius:13px; font-weight:600; text-decoration:none; }
.sk-btn-card:hover{ background:var(--sk-cream-2); color:var(--sk-red-dark); }
.sk-btn-card-primary{ display:block; text-align:center; background:var(--sk-red); color:#fff; padding:14px; border-radius:13px; font-weight:600; text-decoration:none; box-shadow:0 10px 22px rgba(215,72,64,.3); }
.sk-btn-card-primary:hover{ background:var(--sk-red-dark); color:#fff; }

/* Foto-/Karten-Platzhalter (durch echtes Bild ersetzen) */
.sk-photo{ display:flex; align-items:flex-end; justify-content:center; min-height:420px; border-radius:26px; padding:24px; text-align:center;
  background:repeating-linear-gradient(135deg,#EFE0D2 0 16px,#E7D5C4 16px 32px); }
.sk-photo span{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:#9C8470; background:var(--sk-cream); padding:8px 14px; border-radius:999px; }

/* =====================================================================
   FEATURES
   ===================================================================== */
.sk-feature .sk-feature-ico{ width:60px; height:60px; border-radius:17px; background:var(--sk-cream-2); display:flex; align-items:center; justify-content:center; color:var(--sk-red); margin-bottom:22px; }
.sk-feature p{ font-size:16px; line-height:1.62; color:#675a51; margin:0; }

/* =====================================================================
   PAKETE
   ===================================================================== */
.sk-card{ position:relative; background:#fff; border:1px solid var(--sk-card-line); border-radius:24px; padding:34px 28px; box-shadow:var(--sk-shadow); height:100%; }
.sk-card-featured{ border:2px solid var(--sk-red); box-shadow:0 24px 50px rgba(215,72,64,.16); }
.sk-badge{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--sk-red); color:#fff; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 16px; border-radius:999px; white-space:nowrap; }
.sk-card-label{ font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#B0978A; margin-bottom:6px; }
.sk-card-featured .sk-card-label{ color:var(--sk-red); }
.sk-card-sub{ font-size:15px; color:#6B5D54; margin:0 0 22px; }
.sk-price{ font-size:40px; font-weight:700; color:var(--sk-ink); }
.sk-price-sub{ font-size:13.5px; color:#9C8C82; margin:4px 0 24px; padding-bottom:24px; border-bottom:1px solid #F1E4D7; }
.sk-list{ list-style:none; margin:0 0 30px; padding:0; }
.sk-list li{ position:relative; padding-left:28px; font-size:15px; color:var(--sk-text); margin-bottom:13px; line-height:1.45; }
.sk-list li:before{ content:"✓"; position:absolute; left:0; top:0; color:var(--sk-red); font-weight:700; }
.sk-extras{ margin-top:40px; background:#fff; border:1px solid var(--sk-card-line); border-radius:22px; padding:26px 30px; box-shadow:0 10px 30px rgba(120,80,50,.05); display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.sk-extra{ display:flex; align-items:center; gap:12px; background:#FBF1EA; border:1px solid #F0DACF; border-radius:14px; padding:13px 18px; color:var(--sk-red); }
.sk-extra b{ display:block; font-size:15px; color:var(--sk-ink); }
.sk-extra small{ display:block; font-size:13px; color:#897E78; }

/* =====================================================================
   KUNDENSTIMMEN
   ===================================================================== */
.sk-testimonial{ background:#fff; border:1px solid var(--sk-line); border-radius:22px; padding:32px 30px; box-shadow:0 10px 30px rgba(120,80,50,.05); height:100%; }
.sk-stars{ color:var(--sk-red); font-size:18px; letter-spacing:2px; margin-bottom:14px; }
.sk-quote{ font-size:16.5px; line-height:1.6; color:#3F352F; margin:0 0 22px; }
.sk-author{ display:flex; align-items:center; gap:13px; }
.sk-avatar{ width:44px; height:44px; border-radius:50%; flex-shrink:0; background:repeating-linear-gradient(135deg,#EFE0D2 0 8px,#E7D5C4 8px 16px); }
.sk-author b{ display:block; color:var(--sk-ink); }
.sk-author small{ display:block; font-size:13.5px; color:var(--sk-muted); }

/* =====================================================================
   ÜBER UNS
   ===================================================================== */
.sk-about p{ font-size:17px; line-height:1.66; color:#54483F; margin:0 0 18px; }
.sk-about-photo{ position:relative; }
.sk-about-photo .sk-stat{ position:absolute; bottom:24px; left:-26px; background:var(--sk-red); color:#fff; border-radius:16px; padding:18px 22px; box-shadow:0 16px 34px rgba(215,72,64,.3); }
.sk-about-photo .sk-stat b{ display:block; font-size:30px; font-weight:700; line-height:1; }
.sk-about-photo .sk-stat small{ display:block; font-size:13px; opacity:.9; margin-top:2px; }
.sk-signoff{ display:flex; align-items:center; gap:18px; padding:20px 24px; background:#FBF1EA; border-radius:16px; border:1px solid #F0DACF; }
.sk-signoff .sk-avatar{ width:54px; height:54px; }
.sk-signoff b{ font-family:var(--sk-hand); font-size:28px; font-weight:700; color:var(--sk-ink); line-height:.9; }
.sk-signoff small{ display:block; font-size:14px; color:#7A6D63; margin-top:3px; }

/* =====================================================================
   FAQ  (natives <details> – kein Plugin nötig)
   ===================================================================== */
.sk-faq-list{ max-width:920px; margin:0 auto; background:#fff; border:1px solid var(--sk-line); border-radius:20px; overflow:hidden; box-shadow:0 10px 30px rgba(120,80,50,.05); }
.sk-faq-item{ border-top:1px solid #F4E8DC; }
.sk-faq-item:first-child{ border-top:none; }
.sk-faq-item summary{ cursor:pointer; list-style:none; font-size:16.5px; font-weight:600; color:var(--sk-ink); padding:20px 56px 20px 26px; position:relative; }
.sk-faq-item summary::-webkit-details-marker{ display:none; }
.sk-faq-item summary:after{ content:"+"; position:absolute; right:26px; top:18px; color:var(--sk-red); font-size:24px; line-height:1; }
.sk-faq-item[open] summary:after{ content:"–"; }
.sk-faq-a{ padding:0 26px 22px; font-size:15.5px; line-height:1.62; color:#5C4F47; }
.sk-faq-group{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#B0978A; margin:0 4px 14px; }
.sk-faq-block{ margin-bottom:34px; }

/* =====================================================================
   ANFRAGE (rote Sektion)
   ===================================================================== */
.sk-anfrage-points{ display:flex; flex-direction:column; gap:16px; }
.sk-anfrage-points div{ display:flex; align-items:center; gap:13px; font-size:16px; color:#fff; }
.sk-anfrage-points .sk-ico{ width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }

/* =====================================================================
   KONTAKT
   ===================================================================== */
.sk-contact-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.sk-contact-list li{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--sk-line); border-radius:18px; padding:22px 24px; box-shadow:0 8px 24px rgba(120,80,50,.05); }
.sk-contact-list a{ text-decoration:none; }
.sk-contact-ico{ width:48px; height:48px; border-radius:13px; background:var(--sk-cream-2); display:flex; align-items:center; justify-content:center; color:var(--sk-red); flex-shrink:0; }
.sk-contact-list small{ display:block; font-size:13px; color:var(--sk-muted); }
.sk-contact-list b{ display:block; font-size:18px; font-weight:600; color:var(--sk-ink); }
.sk-map{ min-height:340px; display:flex; align-items:center; justify-content:center; border-radius:22px; border:1px solid #EADBCB; overflow:hidden;
  background:repeating-linear-gradient(135deg,#E9DCCC 0 18px,#E2D2C0 18px 36px); }
.sk-map span{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:#8A7459; background:var(--sk-cream); padding:8px 14px; border-radius:999px; }
.sk-map iframe{ width:100%; min-height:340px; border:0; display:block; }

/* =====================================================================
   HEADER (schmal, sticky – Logo links, Menü rechts)
   ===================================================================== */
.sk-header{ position:sticky; top:0; z-index:100; background:var(--sk-red); border-bottom:1px solid rgba(255,255,255,.14); transition:box-shadow .25s; }
.sk-header.sk-scrolled{ box-shadow:0 8px 26px rgba(120,70,45,.18); }
.sk-header-inner{ max-width:1180px; margin:0 auto; padding:0 40px; height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sk-logo{ display:flex; align-items:center; }
.sk-logo img,.sk-logo .custom-logo{ height:38px; width:auto; display:block; }
.sk-nav .sk-menu{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px; }
.sk-nav .sk-menu a{ display:block; text-decoration:none; font-size:15px; font-weight:500; color:#fff; padding:9px 14px; border-radius:9px; transition:.15s; }
.sk-nav .sk-menu a:hover,.sk-nav .sk-menu .current-menu-item>a{ background:rgba(255,255,255,.16); }
.sk-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; background:rgba(255,255,255,.15); border:none; border-radius:11px; cursor:pointer; padding:0 11px; }
.sk-burger span{ display:block; height:2px; background:#fff; border-radius:2px; }
.sk-mobile-nav{ display:none; }
.sk-mobile-nav .sk-mobile-menu{ list-style:none; margin:0; padding:6px 24px 16px; background:rgba(215,72,64,.98); }
.sk-mobile-nav .sk-mobile-menu a{ display:block; text-decoration:none; font-size:16px; font-weight:500; color:#fff; padding:12px 4px; border-bottom:1px solid rgba(255,255,255,.12); }

/* =====================================================================
   FOOTER (dunkel)
   ===================================================================== */
.sk-footer{ background:#221C1A; color:#fff; padding:74px 0 34px; }
.sk-footer-inner{ max-width:1180px; margin:0 auto; padding:0 40px 48px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; border-bottom:1px solid rgba(255,255,255,.10); }
.sk-footer-brand img{ height:40px; width:auto; margin-bottom:20px; }
.sk-footer-brand p{ font-size:15px; line-height:1.65; color:#A99B90; margin:0; max-width:300px; }
.sk-footer-col h4{ font-size:14px; font-weight:600; margin:0 0 16px; color:#fff; }
.sk-footer-col ul,.sk-footer-col .sk-footer-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.sk-footer-col a{ color:#A99B90; text-decoration:none; font-size:15px; transition:.15s; }
.sk-footer-col a:hover{ color:#fff; }
.sk-footer-col li{ color:#A99B90; font-size:15px; }
.sk-footer-bottom{ max-width:1180px; margin:0 auto; padding:26px 40px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13.5px; color:#A99B90; }

/* =====================================================================
   UNTERSEITEN (Impressum / Datenschutz / AGB) – lesbarer Fließtext
   ===================================================================== */
.sk-legal{ padding:80px 0; }
.sk-prose{ max-width:820px; }
.sk-prose h1{ margin-bottom:28px; }
.sk-prose h2{ font-size:24px; font-weight:700; color:var(--sk-ink); margin:38px 0 12px; }
.sk-prose h3{ font-size:19px; font-weight:700; color:var(--sk-ink); margin:28px 0 10px; }
.sk-prose p,.sk-prose li{ font-size:16.5px; line-height:1.7; color:var(--sk-text); }
.sk-prose a{ color:var(--sk-red); }

/* =====================================================================
   BLOG-FALLBACK
   ===================================================================== */
.sk-blog-inner{ max-width:820px; margin:0 auto; padding:80px 20px; }
.sk-post{ margin-bottom:40px; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:760px){
  .sk-section{ padding:54px 0; }
  .sk-wrap{ padding:0 20px; }
  .sk-grid,.sk-grid-hero,.sk-grid-about,.sk-grid-split,
  .sk-cols-2,.sk-cols-3,.sk-cols-4{ grid-template-columns:1fr; }
  .sk-gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:140px; }
  .sk-h1{ font-size:46px; }
  .sk-h2{ font-size:30px; }
  .sk-h2-hand{ font-size:42px; }
  .sk-photo{ min-height:300px; }
  .sk-nav{ display:none; }
  .sk-burger{ display:flex; }
  .sk-header.sk-open .sk-mobile-nav{ display:block; }
  .sk-header-inner{ padding:0 20px; }
  .sk-footer-inner{ grid-template-columns:1fr 1fr; padding:0 20px 36px; gap:30px; }
  .sk-footer-bottom{ padding:24px 20px 0; }
}


/* =====================================================================
   SITEORIGIN-LAYOUT (v1.2) – Zusätze für das importierbare Layout
   „Selfiekastl SiteOrigin Layout.json"
   ===================================================================== */
.sk-builder{ max-width:1180px; margin:0 auto; padding:0 40px; }
.sk-bg-white2{ background:#fff; }
.sk-bt{ border-top:1px solid var(--sk-line); }
.sk-bb{ border-bottom:1px solid var(--sk-line); }

/* Hero-Bewertungszeile */
.sk-rating{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:#6B5D54; margin-top:28px; }
.sk-rating .sk-stars{ margin:0; }
.sk-rating strong{ color:#3A302B; }

/* Feature-Icons (SiteOrigin Icon-Widget) im Kachel-Look */
.sk-features [data-sow-icon]{ width:60px; height:60px; border-radius:17px; background:var(--sk-cream-2); display:flex !important; align-items:center; justify-content:center; }
.sk-features .so-widget-sow-icon{ margin-bottom:0; }

/* Galerie-Platzhalter (bis echte Fotos / Galerie-Widget da sind) */
.sk-gallery .sk-ph{ border-radius:18px; display:flex; align-items:flex-end; padding:16px; background:repeating-linear-gradient(135deg,#EFE0D2 0 14px,#E7D5C4 14px 28px); }
.sk-gallery .sk-ph span{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; color:#9C8470; background:var(--sk-cream); padding:6px 11px; border-radius:999px; }
.sk-gallery .sk-ph-tall{ grid-row:span 2; }

.sk-extras-sub{ display:block; font-size:15px; color:#6B5D54; margin-top:2px; }

/* FAQ – SiteOrigin Accordion-Widget im Selfiekastl-Look */
.sk-faq .sk-faq-group{ max-width:920px; margin:0 auto 14px; }
.sk-faq .sow-accordion{ max-width:920px; margin:0 auto; background:#fff; border:1px solid var(--sk-line); border-radius:20px; overflow:hidden; box-shadow:0 10px 30px rgba(120,80,50,.05); }
.sk-faq .sow-accordion .sow-accordion-panel{ margin:0; }
.sk-faq .sow-accordion .sow-accordion-panel-border{ border:none; }
.sk-faq .sow-accordion .sow-accordion-panel-header{ background:#fff; color:var(--sk-ink); padding:20px 26px; border-top:1px solid #F4E8DC; }
.sk-faq .sow-accordion .sow-accordion-panel:first-child .sow-accordion-panel-header{ border-top:none; }
.sk-faq .sow-accordion .sow-accordion-panel-header .sow-accordion-title{ font-size:16.5px; font-weight:600; }
.sk-faq .sow-accordion .sow-accordion-open-close-button{ color:var(--sk-red); }
.sk-faq .sow-accordion .sow-accordion-panel-content{ background:#fff; padding:0 26px 22px; font-size:15.5px; line-height:1.62; color:#5C4F47; }

/* Anfrage-Formularkarte (umschließt den SG4-Shortcode) */
.sk-form-card{ background:var(--sk-cream); border-radius:22px; padding:34px; box-shadow:0 22px 50px rgba(140,40,35,.18); }

@media (max-width:760px){
  .sk-builder{ padding:0 20px; }
}


/* =====================================================================
   v1.2.1 – ROBUSTHEITS-FIXES
   Erzwingt die kritischen Stellen gegen Theme-/Widget-CSS mit höherer
   Spezifität (Link-Farben, SiteOrigin-Accordion-Standardgrau, Eyebrows).
   ===================================================================== */

/* Handschrift-Eyebrows: Größe darf nicht von p-Regeln überschrieben werden */
p.sk-eyebrow, .sk-eyebrow{
  font-family:var(--sk-hand) !important;
  font-size:27px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  color:var(--sk-red) !important;
  margin:0 0 2px !important;
}

/* Weiße Button-Texte: globale a{color:…}-Regeln aushebeln */
a.sk-btn-primary, .sk-btn-primary,
a.sk-btn-primary:hover, a.sk-btn-primary:focus, a.sk-btn-primary:visited{ color:#fff !important; text-decoration:none !important; }
a.sk-btn-card-primary, .sk-btn-card-primary,
a.sk-btn-card-primary:hover, a.sk-btn-card-primary:focus, a.sk-btn-card-primary:visited{ color:#fff !important; text-decoration:none !important; }
a.sk-btn-light, a.sk-btn-light:visited{ color:var(--sk-red) !important; text-decoration:none !important; }
a.sk-btn-ghost, a.sk-btn-ghost:visited{ color:#3A302B !important; text-decoration:none !important; }
a.sk-btn-ghost:hover{ color:var(--sk-red) !important; }
a.sk-btn-card, a.sk-btn-card:visited{ color:var(--sk-red-dark) !important; text-decoration:none !important; }
.sk-badge{ color:#fff !important; }

/* FAQ: SiteOrigin-Accordion-Standardfarben (grau) überschreiben */
.sk-faq .sow-accordion .sow-accordion-panel{ margin:0 !important; border:none !important; }
.sk-faq .sow-accordion .sow-accordion-panel-border{ border:none !important; }
.sk-faq .sow-accordion .sow-accordion-panel-header{
  background:#fff !important;
  color:var(--sk-ink) !important;
  padding:20px 26px !important;
  border:none !important;
  border-top:1px solid #F4E8DC !important;
  border-radius:0 !important;
}
.sk-faq .sow-accordion .sow-accordion-panel:first-child .sow-accordion-panel-header{ border-top:none !important; }
.sk-faq .sow-accordion .sow-accordion-panel-header .sow-accordion-title{
  font-size:16.5px !important; font-weight:600 !important; color:var(--sk-ink) !important;
}
.sk-faq .sow-accordion .sow-accordion-open-close-button{ color:var(--sk-red) !important; }
.sk-faq .sow-accordion .sow-accordion-panel-content{
  background:#fff !important;
  padding:0 26px 22px !important;
  font-size:15.5px !important; line-height:1.62 !important; color:#5C4F47 !important;
  border:none !important; border-radius:0 !important;
}


/* =====================================================================
   v1.2.2 – Features: Abstand Icon → Überschrift verkleinern
   (Page-Builder-Standardabstand zwischen Widgets aufheben)
   ===================================================================== */
.sk-features .so-panel{ margin-bottom:0 !important; }
.sk-features [data-sow-icon]{ margin-bottom:22px !important; }
.sk-features .sk-feature .sk-h3, .sk-features .sk-feature h3{ margin-top:0 !important; }


/* =====================================================================
   v1.2.3 – ECHTE BILDER statt Platzhalter
   Verwendung im Editor-Widget:
   • Hero / Über uns:  <img class="sk-img" src="…" alt="…">
     (ersetzt das komplette <div class="sk-photo">…</div>)
   • Galerie: innerhalb von <div class="sk-gallery"> einfach
     <img src="…" alt="…"> einfügen – hohe Kacheln mit class="sk-tall"
   • Avatare (Kundenstimmen / Über uns): <img class="sk-avatar" src="…">
   ===================================================================== */
.sk-img{ display:block; width:100%; height:auto; border-radius:26px;
  box-shadow:0 30px 60px rgba(120,70,45,.16); object-fit:cover; }
.sk-about-photo .sk-img{ border-radius:24px; }

.sk-gallery img{ display:block; width:100%; height:100%; object-fit:cover;
  border-radius:18px; margin:0; }
.sk-gallery .sk-tall{ grid-row:span 2; }

img.sk-avatar{ object-fit:cover; display:block; }


/* =====================================================================
   v1.3 – MOBILE HERO
   ===================================================================== */
@media (max-width:600px){
  .sk-btns{ display:flex; flex-direction:column; gap:12px; }
  .sk-btns .sk-btn{ display:block; width:100%; text-align:center; box-sizing:border-box; }
  .sk-btn-ghost{ background:#fff !important; border:1px solid #E5D3C2 !important; }
  .sk-rating{ flex-direction:column; align-items:flex-start; gap:6px; }
  .sk-rating strong{ display:block; }
}


/* =====================================================================
   v1.4.1 – Aktiver Anker-Menüpunkt (Scroll-Spy, siehe main.js)
   ===================================================================== */
.sk-nav .sk-menu .sk-anchor-active > a{ background:rgba(255,255,255,.16); }

/* =====================================================================
   v1.5.0 – Zweite Menü-Ebene (Desktop-Dropdown / Mobile-Akkordeon)
   ===================================================================== */
.sk-nav .sk-menu > li{ position:relative; }
.sk-nav .sk-menu .menu-item-has-children > a{ display:flex; align-items:center; gap:6px; }
.sk-nav .sk-menu .menu-item-has-children > a::after{
	content:""; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
	transform:rotate(45deg) translateY(-2px); opacity:.75; transition:.15s;
}
.sk-nav .sk-menu > li:hover > a::after,
.sk-nav .sk-menu > li:focus-within > a::after{ opacity:1; }

.sk-nav .sk-menu .sub-menu{
	position:absolute; top:calc(100% + 8px); left:0; z-index:60;
	list-style:none; margin:0; padding:6px; min-width:max-content;
	background:#fff; border-radius:14px;
	box-shadow:0 18px 46px rgba(16,18,24,.22), 0 2px 6px rgba(16,18,24,.10);
	opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .16s, transform .16s, visibility .16s;
}
.sk-nav .sk-menu > li:hover > .sub-menu,
.sk-nav .sk-menu > li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
/* unsichtbare Brücke, damit die Maus die Lücke überqueren kann */
.sk-nav .sk-menu > li.menu-item-has-children::after{
	content:""; position:absolute; left:0; right:0; top:100%; height:10px;
}
.sk-nav .sk-menu .sub-menu li{ margin:0 0 2px; }
.sk-nav .sk-menu .sub-menu li:last-child{ margin-bottom:0; }
.sk-nav .sk-menu .sub-menu a{
	color:#1b1d24; font-size:14.5px; font-weight:500; line-height:1.25;
	padding:10px 16px; border-radius:9px; white-space:nowrap;
}
.sk-nav .sk-menu .sub-menu a:hover,
.sk-nav .sk-menu .sub-menu .current-menu-item > a{ background:rgba(16,18,24,.07); }

/* Mobile: aufklappbares Untermenü */
.sk-mobile-nav .menu-item-has-children{ position:relative; }
.sk-mobile-nav .sk-sub-toggle{
	position:absolute; top:2px; right:0; width:42px; height:42px;
	display:flex; align-items:center; justify-content:center;
	background:transparent; border:none; color:inherit; cursor:pointer; padding:0;
}
.sk-mobile-nav .sk-sub-toggle span{
	width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
	transform:rotate(45deg) translateY(-2px); transition:transform .18s;
}
.sk-mobile-nav .sk-sub-open > .sk-sub-toggle span{ transform:rotate(-135deg) translateY(-2px); }
.sk-mobile-nav .sub-menu{ list-style:none; margin:0; padding:0 0 4px 16px; display:none; }
.sk-mobile-nav .sk-sub-open > .sub-menu{ display:block; }
.sk-mobile-nav .sub-menu a{ font-size:15px; opacity:.85; }
