/*
 Theme Name: HofDigital Child
 Theme URI:  https://hofdigital.de
 Author:     Dein Name
 Author URI: https://hofdigital.de
 Description: minifizierte style.css für Child-Theme
 Template:   generatepress
 Version:    1.0
 Text Domain: hofdigital-child
*/
/* HofDigital Child – minified */
@font-face{font-family:"InterLocal";src:url("/wp-content/uploads/fonts/inter/Inter-VariableFont_opsz,wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"PlayfairLocal";src:url("/wp-content/uploads/fonts/playfair/PlayfairDisplay-VariableFont_wght.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
:root{--color-primary:#2f6b3f;--color-primary-600:#265934;--color-accent:#8b5e3c;--color-secondary:#f4efe9;--color-bg:#ffffff;--color-text:#111;--color-text-muted:#555;--color-border:#e6e6e6;--radius:14px;--shadow:0 10px 25px rgba(0,0,0,.06);--font-sans:"InterLocal",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-serif:"PlayfairLocal",Georgia,serif;--step--1:clamp(.9rem,.86rem + .2vw,1rem);--step-0:clamp(1rem,.96rem + .4vw,1.125rem);--step-1:clamp(1.25rem,1.12rem + .9vw,1.5rem);--step-2:clamp(1.5rem,1.34rem + 1.2vw,1.875rem);--step-3:clamp(1.9rem,1.6rem + 1.8vw,2.4rem);--step-4:clamp(2.4rem,2rem + 2.5vw,3rem);--wrap:1200px;--gutter:24px}
html,body{height:100%;min-height:100%;margin:0;background:var(--color-secondary)!important}
body{font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;color:var(--color-text)}
*,:before,:after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none}
a:hover{color:var(--color-primary-600);text-decoration:underline}
p,li{font-size:var(--step-0)}
h1,h2,h3{font-family:var(--font-serif);margin:0 0 .5rem}
h1{font-size:var(--step-4);line-height:1.15}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-2)}
small,.meta,.site-info{font-size:var(--step--1);color:var(--color-text-muted)}
#page{min-height:100vh;display:flex;flex-direction:column}
.site-content{flex:1 0 auto}
.site-footer{flex-shrink:0}
#page,.site,.site-content,.content-area,.site-main,.inside-article,.inside-right-sidebar,.inside-left-sidebar,.wp-block-group{background:transparent!important}
.site-header{background:#fff!important;border-bottom:1px solid var(--color-border)}
.site-footer{background:#fff!important;border-top:1px solid var(--color-border);color:var(--color-text-muted)}
.site-footer a{color:inherit}
.site-footer a:hover{color:var(--color-primary);text-decoration:underline}
.site-footer .site-info,.site-footer .inside-site-info{display:none!important}
.main-navigation .main-nav ul li a{font-weight:600}
.site-logo img,.branding img{height:40px!important;width:auto!important}
.entry-content>*,.entry-content .wp-block-group:not(.alignwide):not(.alignfull),.entry-content .gb-container:not(.alignwide):not(.alignfull),.entry-content .gb-grid:not(.alignwide):not(.alignfull){max-width:var(--wrap)!important;margin-inline:auto!important;padding-inline:var(--gutter)!important}
.entry-content>.alignwide{max-width:calc(var(--wrap) + 2*var(--gutter))}
.entry-content>.alignfull,.full-bleed{max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-inline:var(--gutter)}
.hero,.cta{max-width:var(--wrap)!important;margin-inline:auto!important;background:transparent!important}
.entry-content>*:first-child{margin-top:var(--gutter)}
.wp-block-button.btn,.wp-block-button.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border-radius:10px;font-weight:600;background:var(--color-primary);color:#fff;box-shadow:none}
.wp-block-button.btn .wp-block-button__link{background:transparent!important;padding:0!important;color:inherit!important;border-radius:inherit!important}
.wp-block-button.btn:hover{background:var(--color-primary-600)}
.wp-block-button.btn.btn-ghost{background:transparent;color:var(--color-primary);border:1px solid currentColor}
.wp-block-button.btn.btn-ghost:hover{background:var(--color-primary);color:#fff}
.section-pad{padding-block:5rem}
.section-pad-sm{padding-block:3rem}
.hero .lead{font-size:var(--step-1);color:var(--color-text-muted);margin-bottom:1.5rem}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr}}
.hero .hero-media{aspect-ratio:16/10;width:100%;border-radius:var(--radius);overflow:hidden;border:none;background:linear-gradient(135deg,rgba(193,93,42,.18),rgba(42,111,78,.18)),repeating-linear-gradient(45deg,rgba(0,0,0,.05) 0 10px,rgba(0,0,0,.07) 10px 20px)}
.hero .hero-media img{width:100%;height:100%;object-fit:cover}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:1024px){.features{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.features{grid-template-columns:1fr}}
.feature,.extra,.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.feature h3{margin:.5rem 0 .25rem;font-size:1.15rem}
.feature p{margin:0;color:var(--color-text-muted)}
.feature .icon{inline-size:42px;block-size:42px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--color-primary);box-shadow:0 6px 16px rgba(42,111,78,.25)}
.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:1024px){.extras{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.extras{grid-template-columns:1fr}}
.extra h4{margin:0 0 .35rem}
.extra .price{font-size:var(--step-1);color:var(--color-primary);font-weight:800}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch;width:100%}
.pricing-grid .card{padding:1.5rem}
@media (max-width:1024px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pricing-grid{grid-template-columns:1fr}.pricing-grid .card{padding:1.25rem}}
.card{display:flex;flex-direction:column;position:relative}
.card h3{margin:0 0 .5rem;font-size:1.2rem}
.card .price{font-size:var(--step-2);font-weight:800;color:var(--color-primary);display:inline-block;margin-bottom:.25rem}
.card .price small{font-size:.6em;color:var(--color-text-muted);font-weight:600}
.card .includes{margin:1rem 0 1.5rem;padding-left:1.1rem}
.card .includes li{margin:.35rem 0}
.card .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}
.card .wp-block-button{flex:1}
.card .badge{position:absolute;top:12px;right:12px;background:var(--color-primary);color:#fff;font-weight:800;font-size:.78rem;border-radius:999px;padding:.25rem .55rem;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.card.featured{border:2px solid var(--color-primary)!important;box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.yearline,.yearly{margin:.25rem 0 1rem;color:var(--color-text-muted);font-size:.95rem}
.yearline::after,.yearly::after,.pricing-grid .card p.price + p::after,.pricing-grid .card h3 + p.price + p::after{content:"– spare 2 Monate";display:inline-block;margin-left:.4rem;padding:.12rem .55rem;border-radius:999px;background:rgba(47,107,63,.12);color:var(--color-primary);font-weight:700;font-size:.82em;line-height:1.2;vertical-align:middle;white-space:nowrap}
.cta{background:var(--color-primary)!important;color:#fff!important;border-radius:calc(var(--radius) + 6px);padding:3rem;box-shadow:var(--shadow)}
.cta h2{font-family:var(--font-serif);font-size:var(--step-3);margin:0 0 .5rem}
.cta p{margin-top:0;margin-bottom:1.25rem;color:rgba(255,255,255,.9)}
.cta-split{display:grid;grid-template-columns:1.05fr 1fr;gap:2rem}
@media (max-width:900px){.cta-split{grid-template-columns:1fr}}
.plus-block,.bundle-info{background:rgba(139,94,60,.08);border:none;border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow)}
.plus-block{padding-block:2rem;margin-bottom:.5rem;text-align:center}
.plus-block h2{margin:0 0 .25rem;color:var(--color-accent);font-size:clamp(2.5rem,5vw,4rem)}
.plus-block p{font-size:var(--step-1);color:var(--color-text-muted)}
.bundle-info{padding:1.5rem 2rem;margin-top:0;text-align:center}
.bundle-info h3{margin-top:0}
.bundle-info p{margin-bottom:.75rem}
.bundle-highlight .card{border:2px solid var(--color-primary);box-shadow:0 12px 28px rgba(0,0,0,.08);text-align:center}
.bundle-highlight .badge{background:var(--color-primary);color:#fff;font-weight:700;display:inline-block;padding:.25rem .75rem;border-radius:999px;margin-bottom:.75rem}
.bundle-highlight ul{list-style:none;padding:0;margin:.75rem auto 1.25rem;display:inline-block;text-align:left}
.bundle-highlight ul li{display:flex;align-items:flex-start;gap:.5rem;margin:.35rem 0}
.bundle-highlight ul li::before{content:"✓";flex:0 0 auto;margin-top:.15rem;width:1.1rem;height:1.1rem;line-height:1.1rem;text-align:center;border-radius:999px;background:rgba(47,107,63,.12);color:var(--color-primary);font-weight:800;font-size:.8rem}
.bundle-highlight .wp-block-buttons{justify-content:center}
@media (max-width:640px){.bundle-highlight .card .badge{position:static!important;display:block;margin:0 auto .75rem auto;text-align:center;max-width:max-content}}
form,.wpcf7,.wpforms-form{max-width:100%}
form input,form select,form textarea,.wpcf7 input,.wpcf7 select,.wpcf7 textarea,.wpforms-form input,.wpforms-form select,.wpforms-form textarea{width:100%;max-width:100%;box-sizing:border-box;min-width:0;line-height:1.45;display:block}
@media (max-width:640px){.wpforms-field-row,.wpcf7 .columns,.form-row{display:block!important}.wpforms-field-row .wpforms-field,.columns>*{width:100%!important}}
.cf-turnstile,.wpcf7-form .cf-turnstile,.wpforms-form .cf-turnstile{display:flex;justify-content:center;align-items:center;max-width:100%;overflow:hidden;margin:.5rem 0 0}
@media (max-width:360px){.cf-turnstile iframe{transform:scale(.9);transform-origin:center}}
/* Vereinheitlichte Hintergründe für Sektionen */
.gb-element-b382dc73,.gb-element-74f70207{background:var(--color-secondary)!important}
/* Mobile BG-Fallback */
@media (max-width:900px){html,body{background:var(--color-secondary)!important}}
#page,.site,.site-content,.content-area,.site-main,.inside-article,.wp-block-group,.gb-container,.gb-grid{background:transparent!important;box-shadow:none!important;border:0!important}
.plus-block,.bundle-info{border:0!important;box-shadow:none!important}
/* Kontaktbereich – robust */
.contact-section{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);overflow-x:hidden}
.contact-section .wp-block-columns{gap:2rem}
.contact-section .wp-block-columns>.wp-block-column{min-width:0}
@media (max-width:900px){.contact-section .wp-block-columns{display:block}.contact-section .wp-block-columns>.wp-block-column+.wp-block-column{margin-top:1.25rem}}
.contact-section .wpforms-container-full,.contact-section .wpforms-form,.contact-section form{max-width:100%}
.contact-section .wpforms-field-row{display:flex!important;flex-wrap:wrap!important;gap:.75rem!important}
.contact-section .wpforms-field-row .wpforms-field{flex:1 1 320px;min-width:0}
.contact-section .wpforms-field-row .wpforms-one-half{flex-basis:calc(50% - .75rem)}
@media (max-width:700px){.contact-section .wpforms-field-row .wpforms-field,.contact-section .wpforms-field-row .wpforms-one-half{flex-basis:100%!important}}
.contact-section .wpforms-form input,.contact-section .wpforms-form select,.contact-section .wpforms-form textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;line-height:1.45;display:block}
.contact-section .wpforms-field-label,.contact-section .wpforms-error{white-space:normal;overflow-wrap:anywhere}
.contact-section .wpforms-submit-container{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-start}
.contact-section .cf-turnstile{display:flex!important;justify-content:flex-start!important;align-items:center!important;max-width:100%!important;overflow:hidden!important;margin-top:.5rem!important}
.contact-section .cf-turnstile iframe{display:block;max-width:100%;height:auto}
@media (max-width:380px){.contact-section .cf-turnstile iframe{transform:scale(.92);transform-origin:left center}}
@media (max-width:340px){.contact-section .cf-turnstile iframe{transform:scale(.85);transform-origin:left center}}
/* Dekorative grüne Sektion */
.section-green{border:2px solid var(--color-primary);border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg,rgba(47,107,63,.06),rgba(47,107,63,.03));box-shadow:0 8px 20px rgba(0,0,0,.05);max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);background-clip:padding-box}
.section-green--filled{background:var(--color-primary)!important;color:#fff;border-color:var(--color-primary)}
.section-green--filled a{color:#fff}
.section-green--filled a:hover{color:#fff;text-decoration:underline}
.section-green.section-pad{padding-block:3rem}
@media (max-width:900px){.section-green.section-pad{padding-block:2rem}}
/* Footer-Zeile (© + Links) */
.footer-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem 1rem}
.footer-grid>:first-child{display:flex;align-items:center;gap:.5rem .75rem;flex-wrap:wrap}
.footer-grid .wp-block-social-links{margin:0;gap:.5rem}
.footer-grid .wp-block-social-links .wp-block-social-link a{line-height:1}
.footer-grid p{margin:.25rem 0}
.footer-grid .footer-links,.footer-grid nav,.footer-grid .menu,.footer-grid .wp-block-navigation{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:768px){.footer-grid{grid-template-columns:1fr;justify-items:center;text-align:center;row-gap:.4rem}.footer-grid>*{text-align:center!important}.footer-grid>:first-child{justify-content:center}.footer-grid .wp-block-social-links{justify-content:center}.footer-grid .footer-links,.footer-grid nav,.footer-grid .menu,.footer-grid .wp-block-navigation{justify-content:center;gap:.65rem}}
/* Fokus-Styles */
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(47,107,63,.55);outline-offset:2px;border-radius:8px}
.wp-block-button.btn .wp-block-button__link:focus-visible{box-shadow:0 0 0 4px rgba(47,107,63,.18)}
/* Kompakte Karten */
.no-inner-pad{padding-left:0!important;padding-right:0!important}
.card.card--compact{padding:1rem}
.card.card--compact h3{margin:.75rem 0 .25rem}
.card.card--compact p{margin:0;color:var(--color-text-muted)}
.card.card--compact .wp-block-buttons{margin-top:.75rem}
.card img{border-radius:12px}
/* Setup-Grid Karten */
.setup-grid .card{display:flex;flex-direction:column}
.setup-grid .card h4{margin:0 0 .5rem}
.setup-grid .card p:not(.price){margin:0 0 .75rem;flex-grow:1}
.setup-grid .card .price{margin-top:auto;align-self:flex-start;font-weight:700;color:var(--color-primary)}
/* Footer-CTA (klickbar, untrennbar, mobil untereinander) */
.footer-cta{text-align:center;margin-top:1em;display:flex;flex-direction:column;align-items:center;gap:.3em}
.footer-cta .cta-link{display:inline-flex;align-items:center;gap:.35em;text-decoration:none;color:inherit;font-weight:700;white-space:nowrap}
.footer-cta .cta-link:hover{color:var(--color-primary)}

/* ===== HofDigital – Variablen (aus Theme übernehmen) ===== */
:root{
  --hofd-green: var(--color-primary, #2f6b3f);
  --hofd-beige: var(--color-secondary, #f4efe9);
  --hofd-border: var(--color-border, #e2e2e2);
  --hofd-text: var(--color-text, #222);
  --hofd-text-muted: var(--color-text-muted, #555);
}

/* =========================================
   ACCORDION (FAQ & Vergleich als <details>)
   ========================================= */
.hofd-accordion{
  border:1px solid var(--hofd-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  margin:1rem 0;
  overflow:hidden;
}
.hofd-accordion__summary{
  list-style:none;
  padding:14px 16px;
  cursor:pointer;
  user-select:none;
  background:var(--hofd-beige);
  color:var(--hofd-green);
  font-weight:700;
  font-size:1.05rem;
  display:flex; align-items:center; gap:.55rem;
}
.hofd-accordion__summary::-webkit-details-marker{display:none;}
.hofd-accordion__summary:hover{filter:saturate(1.05) brightness(.98);}
.hofd-accordion__summary:focus{outline:3px solid color-mix(in srgb, var(--hofd-green) 30%, transparent); outline-offset:2px;}

/* =================
   FAQ – kompakt
   ================= */
.hofd-faq__list{padding:8px 16px 16px;}
.hofd-faq__item{border-bottom:1px solid #eee; padding:10px 0;}
.hofd-faq__item>summary{
  cursor:pointer; font-weight:600; color:var(--hofd-text); line-height:1.45;
  list-style:none; display:flex; align-items:center; gap:.5rem;
  position:relative; padding-right:28px;
}
.hofd-faq__item>summary::-webkit-details-marker{display:none;}
.hofd-faq__item>summary::after{
  content:"▸"; position:absolute; right:0; top:0;
  transform:translateY(2px); color:var(--hofd-text-muted); transition:transform .2s ease;
}
.hofd-faq__item[open]>summary::after{transform:rotate(90deg) translateX(2px);}
.hofd-faq__item>div{margin-top:8px; color:var(--hofd-text-muted); line-height:1.6;}

/* ==========================
   VERGLEICHS-TABELLE (Table)
   ========================== */
.hofd-table-wrap{overflow-x:auto; padding:12px 16px 16px;}
.hofd-table{
  width:100%; border-collapse:collapse; font-size:15px; color:var(--hofd-text);
}
.hofd-table thead th{
  background:var(--hofd-beige); color:var(--hofd-text);
  border:1px solid var(--hofd-border); padding:12px; text-align:left; font-weight:700;
}
.hofd-table tbody td,
.hofd-table tbody th{
  border:1px solid var(--hofd-border); padding:10px 12px; vertical-align:top;
}
.hofd-table .hofd-price{color:var(--hofd-green); font-weight:800;}
.hofd-table-note{
  text-align:center; font-weight:600; background:#fbf9f6;
}

/* ===== Mobile – robustes Grid-Layout in Zellen (≤ 720px) ===== */
@media (max-width:720px){
  .hofd-accordion__summary{font-size:1rem; padding:12px 14px;}
  .hofd-faq__list{padding:6px 12px 12px;}
  .hofd-faq__item>summary{padding-right:26px;}

  .hofd-table thead{display:none;}
  .hofd-table, .hofd-table tbody, .hofd-table tr{display:block; width:100%;}
  .hofd-table tr{
    margin:0 0 12px 0; border:1px solid var(--hofd-border);
    border-radius:10px; overflow:hidden; background:#fff;
  }
  .hofd-table td{
    display:grid; grid-template-columns:42% 1fr; gap:8px; align-items:start;
    padding:10px 12px; border:none; border-bottom:1px solid var(--hofd-border);
    width:100%; box-sizing:border-box; word-break:break-word;
  }
  .hofd-table td:last-child{border-bottom:1px solid var(--hofd-border);}
  .hofd-table td::before{
    content:attr(data-label); font-weight:700; color:var(--hofd-text-muted);
    white-space:normal; line-height:1.35;
  }
  .hofd-table-note{
    display:block; border-top:1px dashed var(--hofd-border);
    padding:12px; margin:0; text-align:left;
  }
}

/* Accordion deutlicher hervorheben */
.hofd-accordion {
  border: 1px solid var(--hofd-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  margin: 1.5rem 0;
  overflow: hidden;
}

/* Innenbereich mit dunklerem Hintergrund */
.hofd-faq__list,
.hofd-accordion > div {
  padding: 1rem 1.25rem;
  background: #f0f0f0; /* etwas dunkleres Grau/Beige */
  border-top: 1px solid var(--hofd-border);
}

/* Items klar abgesetzt */
.hofd-faq__item {
  border-bottom: 1px dashed var(--hofd-border);
  padding: 0.75rem 0;
}
.hofd-faq__item:last-child {
  border-bottom: none;
}

/* Summary-Block (Klickbereich) stärker hervorheben */
.hofd-accordion__summary {
  list-style: none;
  padding: 16px 18px;
  cursor: pointer;
  user-select: none;
  background: #e9e9e9; /* etwas dunkler als das bisherige Beige */
  color: var(--hofd-text);
  font-weight: 700;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  border-bottom: 1px solid var(--hofd-border);
  transition: background 0.2s ease, color 0.2s ease;
}

/* Hover- und Focus-States für bessere Sichtbarkeit */
.hofd-accordion__summary:hover {
  background: #dcdcdc; /* noch etwas dunkler beim Hover */
  color: var(--hofd-green);
}

.hofd-accordion__summary:focus {
  outline: 3px solid rgba(47,107,63,.25);
  outline-offset: 2px;
}

/* Abstand zwischen Buttons im Accordion- oder FAQ-Bereich */
.hofd-accordion .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem; /* gleichmäßiger Abstand */
  margin-top: 1rem;
}

/* Buttons sollen auf kleinen Screens untereinander laufen */
@media (max-width: 640px) {
  .hofd-accordion .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .hofd-accordion .wp-block-button {
    width: 100%;
  }
}
