/*
Theme Name: HVE Divi Child
Theme URI: https://hve-erzhausen.de
Description: Child-Theme fuer den Hundeverein Erzhausen e.V. (Divi 4). Farben, Schrift und Bausteine.
Author: Hundeverein Erzhausen e.V.
Template: Divi
Version: 1.2.1
Text Domain: hve
*/

/* ===== Design-Tokens =====
   Radien: Buttons = Pille, Karten/Bilder = 14px, Eingabefelder = 10px */
:root{
  --hve-petrol:#157e78;
  --hve-petrol-dark:#0f5f5a;
  --hve-tuerkis:#5cc6be;
  --hve-mint:#eaf5f3;
  --hve-mint-2:#f4faf9;
  --hve-navy:#1b365d;
  --hve-navy-dark:#12243f;
  --hve-text:#3b4a5a;
  --hve-muted:#5f6f7e;
  --hve-line:#d6e5e3;
  --hve-radius:14px;
  --hve-shadow:0 10px 30px -12px rgba(21,126,120,.28);
}

/* ===== Basis ===== */
body,
#main-content,
.et_pb_text,
.et_pb_blurb_description,
input,textarea,select,button{
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
}
body{color:var(--hve-text);font-size:19px;line-height:1.7;-webkit-font-smoothing:antialiased}
#page-container{background:#fff}
h1,h2,h3,h4,h5,h6,.et_pb_module_header,.entry-title{
  font-family:'Outfit',system-ui,sans-serif;color:var(--hve-navy);font-weight:700;letter-spacing:-.015em;line-height:1.2;padding-bottom:.4em
}
h1{font-size:clamp(34px,4.6vw,54px)}
h2{font-size:clamp(28px,3.2vw,38px)}
h3{font-size:22px}
a{color:var(--hve-petrol)}
a:hover{color:var(--hve-petrol-dark)}
::selection{background:var(--hve-tuerkis);color:#fff}

/* ===== Topbar ===== */
#top-header{background:var(--hve-petrol)!important}
#top-header,#top-header a{color:#fff!important;font-size:15px;font-weight:500}
#top-header a:hover{opacity:.8}
#et-secondary-nav li{margin-right:18px}

/* ===== Header / Navigation ===== */
#main-header{box-shadow:0 1px 0 var(--hve-line)!important}
#main-header.et-fixed-header{box-shadow:0 6px 24px -14px rgba(27,54,93,.35)!important}
#top-menu li a{color:var(--hve-navy);font-weight:500;font-size:16px;letter-spacing:0}
#top-menu li a:hover{opacity:1;color:var(--hve-petrol)}
#top-menu li.current-menu-item>a,#top-menu li.current-menu-ancestor>a,#top-menu li.current_page_item>a{color:var(--hve-petrol)!important}
/* Aktiver Menuepunkt: Unterstrich nur in der obersten Ebene */
#top-menu>li.current-menu-item>a,#top-menu>li.current-menu-ancestor>a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px;text-decoration-color:var(--hve-petrol)}
#top-menu li li.current-menu-item>a{text-decoration:none;background:var(--hve-mint)}
.nav li ul{border-top:3px solid var(--hve-petrol);border-radius:0 0 var(--hve-radius) var(--hve-radius);box-shadow:0 18px 40px -18px rgba(27,54,93,.35)}
.nav li li a{font-size:15px}
#top-menu li li a:hover{background:var(--hve-mint);color:var(--hve-petrol)}
.et_mobile_menu{border-top:3px solid var(--hve-petrol)}
.mobile_menu_bar:before{color:var(--hve-petrol)!important}
#logo{max-height:80%!important}
.et-fixed-header #logo{max-height:72%!important}

/* ===== Buttons ===== */
.et_pb_button,.et_pb_button:hover,
.et_pb_contact_submit,.et_pb_contact_submit:hover,
.et_pb_more_button{
  background:var(--hve-petrol)!important;color:#fff!important;border:2px solid var(--hve-petrol)!important;
  border-radius:999px!important;font-size:16px!important;font-weight:600!important;
  padding:.62em 1.6em!important;line-height:1.4!important;letter-spacing:0!important;
  transition:background .25s cubic-bezier(.16,1,.3,1),transform .15s ease,border-color .25s;
}
.et_pb_button:hover,.et_pb_contact_submit:hover{background:var(--hve-petrol-dark)!important;border-color:var(--hve-petrol-dark)!important}
.et_pb_button:active,.et_pb_contact_submit:active{transform:scale(.98)}
.et_pb_button:after,.et_pb_button:before,.et_pb_contact_submit:after{display:none!important}
.et_pb_button.hve-btn-ghost{background:transparent!important;color:var(--hve-petrol)!important}
.et_pb_button.hve-btn-ghost:hover{background:var(--hve-mint)!important;color:var(--hve-petrol-dark)!important}
.et_pb_button_module_wrapper{display:inline-block;margin:0 6px 10px}
.hve-btnrow{text-align:center}

/* ===== Bereiche ===== */
.et_pb_section{padding:64px 0}
.et_pb_section.hve-tint{background:var(--hve-mint-2)!important}
.et_pb_row{padding:18px 0}
.hve-narrow .et_pb_module{max-width:820px}
.hve-narrow .et_pb_module.hve-center{margin-left:auto;margin-right:auto}
.hve-center,.hve-center p{text-align:center}

/* Foto-Banner oben (wie rr-348) */
.et_pb_section.hve-banner{padding:0!important;min-height:clamp(240px,42vw,520px);background-size:cover!important;background-position:center 40%!important}

/* Kopfbereich unter dem Banner */
.hve-hero{padding-top:0!important}
.hve-hero .hve-emblem{margin:-70px auto 18px!important;width:140px!important;max-width:140px!important}
.hve-hero .hve-emblem img{border-radius:50%;background:#fff;border:6px solid #fff;box-shadow:0 10px 30px -12px rgba(27,54,93,.4)}
.hve-hero h1{margin-bottom:6px}
.hve-hero .hve-lead p{font-size:22px;color:var(--hve-muted);max-width:640px;margin:0 auto}

/* Seitenkopf fuer Unterseiten */
.et_pb_section.hve-pagehead{background:linear-gradient(180deg,var(--hve-mint) 0%,#fff 100%)!important;padding:56px 0 4px}
.et_pb_section.hve-pagehead+.et_pb_section{padding-top:24px}
.hve-pagehead h1{margin:0}
.hve-pagehead p{font-size:21px;color:var(--hve-muted);max-width:680px}

/* Hinweis-Box "Naechster Termin" */
.hve-next{background:var(--hve-mint);border-left:5px solid var(--hve-petrol);border-radius:var(--hve-radius);padding:22px 26px!important}
.hve-next h3{font-size:20px;padding-bottom:4px}
.hve-next p{margin:0}

/* Karten (Blurbs) */
.hve-card{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);overflow:hidden;height:100%;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.hve-card:hover{transform:translateY(-3px);box-shadow:var(--hve-shadow)}
.hve-card .et_pb_main_blurb_image{margin-bottom:0!important}
.hve-card .et_pb_main_blurb_image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hve-card .et_pb_blurb_container{padding:18px 22px 22px}
.hve-card .et_pb_module_header{font-size:20px;padding-bottom:4px}
.hve-card .et_pb_blurb_description{color:var(--hve-muted);font-size:18px}
.hve-card .et_pb_module_header a{color:var(--hve-navy)}
.hve-card .et_pb_module_header a:hover{color:var(--hve-petrol)}
.hve-cards .et_pb_column{display:flex}
.hve-cards .et_pb_column>.et_pb_module{flex:1}

/* Icon-Kacheln (Dokumente, Kontakt) */
.hve-tile{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);padding:22px!important;transition:border-color .2s,box-shadow .2s}
.hve-tile:hover{border-color:var(--hve-petrol);box-shadow:var(--hve-shadow)}
.hve-tile .et-pb-icon{color:var(--hve-petrol)!important;background:var(--hve-mint);border-radius:12px;padding:12px;font-size:26px!important}
.hve-tile .et_pb_module_header{font-size:19px;padding-bottom:2px}
.hve-tile .et_pb_blurb_description{color:var(--hve-muted);font-size:17px}

/* Trainerinnen */
.hve-person{text-align:center}
.hve-person .et_pb_main_blurb_image img{width:150px;height:150px;object-fit:cover;border-radius:50%;border:4px solid var(--hve-mint)}
.hve-person .et_pb_module_header{font-size:19px;padding-bottom:0}
.hve-person .et_pb_blurb_description{color:var(--hve-petrol);font-size:17px;font-weight:500}

/* Bilder */
.hve-rounded img,.hve-rounded .et_pb_image_wrap{border-radius:var(--hve-radius)}
.et_pb_gallery_image img{border-radius:10px}
.et_pb_gallery_grid .et_pb_gallery_item{margin-bottom:4%}

/* Terminliste */
.hve-dates ul{list-style:none!important;padding:0!important;margin:0}
.hve-dates li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--hve-line)}
.hve-dates li:last-child{border-bottom:0}
.hve-dates li strong{color:var(--hve-petrol);font-weight:600}
@media (max-width:600px){.hve-dates li{grid-template-columns:1fr;gap:2px}}

/* Infoblock "So kommst du zu uns" */
.hve-info{background:var(--hve-navy);color:#e9eff6;border-radius:var(--hve-radius);padding:34px!important}
.hve-info h2,.hve-info h3{color:#fff}
.hve-info a{color:#9ee3dc}

/* Formulare */
.et_pb_contact_field input,.et_pb_contact_field textarea,.et_pb_contact_field select{
  background:#fff!important;border:1px solid #b8cccb!important;border-radius:10px!important;color:var(--hve-navy)!important;font-size:16px!important;padding:14px!important}
.et_pb_contact_field input:focus,.et_pb_contact_field textarea:focus{border-color:var(--hve-petrol)!important;box-shadow:0 0 0 3px rgba(21,126,120,.18)}
.et_pb_contact_field ::placeholder{color:#5f6f7e!important}
.et_pb_contact_form_label{display:block!important;font-weight:500;color:var(--hve-navy);margin-bottom:6px}

/* Blog / Berichte */
.et_pb_blog_grid .et_pb_post,.hve-blog .et_pb_post{border:1px solid var(--hve-line)!important;border-radius:var(--hve-radius);overflow:hidden;padding:0!important;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.hve-blog .et_pb_post:hover{transform:translateY(-3px);box-shadow:var(--hve-shadow)}
.hve-blog .et_pb_image_container{margin:0!important}
.hve-blog .et_pb_post .entry-featured-image-url{margin:0}
.hve-blog .et_pb_post img{aspect-ratio:4/3;object-fit:cover;width:100%}
.hve-blog .et_pb_post .entry-title,.hve-blog .et_pb_post .post-meta,.hve-blog .et_pb_post .post-content{padding:0 22px}
.hve-blog .et_pb_post .entry-title{font-size:20px!important;padding-top:18px}
.hve-blog .et_pb_post .post-meta{color:var(--hve-petrol);font-size:16px;font-weight:500}
.hve-blog .et_pb_post .post-content{padding-bottom:22px;color:var(--hve-muted);font-size:18px}
.hve-blog .more-link{display:inline-block;margin-top:8px;font-weight:600}
.single-post #left-area{padding-bottom:40px}
.single-post .et_post_meta_wrapper h1{font-size:clamp(30px,4vw,44px)}
.single-post .post-meta{color:var(--hve-petrol)}
.single-post .et_post_meta_wrapper img{border-radius:var(--hve-radius)}
.single-post .entry-content img{border-radius:10px}
.single-post .wp-block-gallery{margin:24px 0}
#sidebar .widgettitle{color:var(--hve-navy);font-weight:600}

/* ===== Footer (Welle oben, Petrol, Icon-Spalten) ===== */
#main-footer{background:var(--hve-petrol)!important;position:relative;margin-top:70px}
#main-footer:before{content:"";position:absolute;left:0;right:0;top:-69px;height:70px;background:var(--hve-petrol);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 26C240 70 480 70 720 46s480-50 720-20v44H0z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 26C240 70 480 70 720 46s480-50 720-20v44H0z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
#footer-widgets{padding:44px 0 26px}
#footer-widgets .footer-widget{color:#e3f2f0}
#footer-widgets .footer-widget p,#footer-widgets .footer-widget li{color:#e3f2f0;font-size:18px;line-height:1.7}
#footer-widgets .footer-widget a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
#footer-widgets .footer-widget a:hover{text-decoration-color:#fff}
#footer-widgets .footer-widget li:before{display:none}
#footer-widgets .footer-widget li{padding-left:0}
#footer-widgets .footer-widget ul{padding:0}
.hve-fcol{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start}
.hve-fcol h4{color:#fff!important;font-size:20px!important;font-weight:600;padding:6px 0 8px!important;letter-spacing:-.01em}
.hve-ficon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-family:'HVE FA';font-weight:900;font-size:26px;color:#fff;line-height:1}
.hve-flogo{width:64px;height:64px;border-radius:50%;background:#fff;padding:3px;object-fit:contain}
.hve-social{display:flex;gap:10px;margin:4px 0 14px}
#footer-widgets .hve-social a{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--hve-petrol);display:flex;align-items:center;justify-content:center;font-family:'HVE FA Brands';font-size:22px;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1)}
#footer-widgets .hve-social a:hover{transform:translateY(-2px)}
#footer-bottom{background:var(--hve-petrol-dark)!important;padding:16px 0}
#footer-info,#footer-info a{color:#cfe7e4!important;font-size:14px}
#footer-info a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:980px){#footer-widgets .footer-widget{margin-bottom:30px!important}}

/* Icon-Schrift (Font Awesome aus dem Divi-Theme, lokal) */
@font-face{font-family:'HVE FA';font-style:normal;font-weight:900;font-display:block;src:url(../Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2) format('woff2')}
@font-face{font-family:'HVE FA Brands';font-style:normal;font-weight:400;font-display:block;src:url(../Divi/core/admin/fonts/fontawesome/fa-brands-400.woff2) format('woff2')}

/* ===== Lightbox ===== */
.hve-lb{position:fixed;inset:0;z-index:100000;background:rgba(12,24,42,.92);display:none;align-items:center;justify-content:center;padding:56px 72px}
.hve-lb.is-open{display:flex}
.hve-lb-lock{overflow:hidden}
.hve-lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.hve-lb__img{max-width:100%;max-height:calc(100dvh - 140px);border-radius:10px;object-fit:contain;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.hve-lb__cap{color:#dbe6f0;font-size:15px;padding-top:12px;text-align:center}
.hve-lb__btn{position:absolute;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-family:'HVE FA';font-weight:900;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.hve-lb__btn:hover,.hve-lb__btn:focus-visible{background:var(--hve-petrol);outline:none}
.hve-lb__close{top:16px;right:16px}
.hve-lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.hve-lb__next{right:14px;top:50%;transform:translateY(-50%)}
.hve-lb.is-single .hve-lb__prev,.hve-lb.is-single .hve-lb__next{display:none}
.hve-lb__count{position:absolute;top:28px;left:24px;color:#dbe6f0;font-size:14px}
@media (max-width:767px){.hve-lb{padding:64px 10px}.hve-lb__prev,.hve-lb__next{top:auto;bottom:14px;transform:none}}
.entry-content a[href$=".jpg"] img,.entry-content a[href$=".png"] img{cursor:zoom-in}

/* ===== Hinweise ===== */
.hve-notice{border-radius:var(--hve-radius);padding:16px 20px;margin:0 0 24px;font-size:18px;line-height:1.6}
.hve-notice--demo{background:#fff6e0;border:1px solid #e9c46a;color:#5b4300}
.hve-notice--ok{background:var(--hve-mint);border:1px solid var(--hve-petrol);color:var(--hve-navy)}
.hve-notice--error{background:#fdecec;border:1px solid #d64545;color:#7a1d1d}
.hve-notice ul{margin:8px 0 0 18px;padding:0}
.hve-notice a{color:inherit;text-decoration:underline}

/* ===== Mitgliedsantrag ===== */
.hve-ma{display:grid;gap:22px}
.hve-ma fieldset{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);padding:26px 28px;margin:0;min-width:0}
.hve-ma legend{font-size:21px;font-weight:700;color:var(--hve-navy);padding:0 8px;margin-left:-8px}
.hve-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
@media (max-width:767px){.hve-grid{grid-template-columns:1fr}.hve-ma fieldset{padding:20px 16px}}
.hve-field{display:flex;flex-direction:column;gap:6px}
.hve-field label,.hve-label{font-weight:600;color:var(--hve-navy);font-size:17px;margin:0;padding:0}
.hve-label{margin:18px 0 8px}
.hve-field label span,.hve-label span{color:#b42318}
.hve-ma input[type=text],.hve-ma input[type=email],.hve-ma input[type=tel],.hve-ma input[type=date],.hve-ma textarea,.hve-ma select{
  width:100%;background:#fff;border:1px solid #9fb6b4;border-radius:10px;padding:12px 14px;font:inherit;font-size:18px;color:var(--hve-navy)}
.hve-ma input:focus,.hve-ma textarea:focus{outline:none;border-color:var(--hve-petrol);box-shadow:0 0 0 3px rgba(21,126,120,.2)}
.hve-ma input[readonly]{background:var(--hve-mint-2)}
.hve-field.is-error input{border-color:#d64545}
.hve-field__error{color:#b42318;font-size:14px;margin:0;padding:0}
.hve-hint{color:var(--hve-muted);font-size:17px;margin:0 0 6px;padding:0}
.hve-choices{display:flex;flex-wrap:wrap;gap:10px}
.hve-choice{position:relative;cursor:pointer}
.hve-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.hve-choice span{display:block;border:1px solid #9fb6b4;border-radius:12px;padding:10px 16px;color:var(--hve-navy);font-weight:500;background:#fff;transition:border-color .15s,background .15s}
.hve-choice small{display:block;color:var(--hve-muted);font-weight:400;font-size:15px}
.hve-choice input:checked+span{border-color:var(--hve-petrol);background:var(--hve-mint);box-shadow:inset 0 0 0 1px var(--hve-petrol)}
.hve-choice input:focus-visible+span{box-shadow:0 0 0 3px rgba(21,126,120,.3)}
.hve-check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin:12px 0;font-size:17px;color:var(--hve-text);cursor:pointer}
.hve-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--hve-petrol)}
.hve-check.is-error span{color:#b42318}
.hve-sub{background:var(--hve-mint-2);border-radius:12px;padding:4px 18px 18px;margin-top:16px}
.hve-sub[hidden],[data-show][hidden]{display:none}
.hve-ma__fee{display:block;margin:20px 0 4px;padding:14px 18px!important;background:var(--hve-mint);border-radius:10px;color:var(--hve-navy);font-weight:600;text-align:center;line-height:1.5}
.hve-ma__fee:empty{display:none}
.hve-more{margin:16px 0 0}
.hve-more summary{cursor:pointer;color:var(--hve-petrol);font-weight:600;margin-bottom:12px}
.hve-sign canvas{width:100%;height:170px;border:1px dashed #7d9c99;border-radius:12px;background:#fff;touch-action:none;display:block}
.hve-sign__bar{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--hve-muted);margin-top:8px}
.hve-sign__clear{border:0;background:none;color:var(--hve-petrol);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.hve-sign__error{display:none}
.hve-sign.is-error canvas{border-color:#d64545}
.hve-sign.is-error .hve-sign__error{display:block}
.hve-ma__submit{margin-top:22px;cursor:pointer}
.hve-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Schritte "So werden Sie Mitglied" */
.hve-steps ol{list-style:none;counter-reset:s;padding:0!important;margin:0;display:grid;gap:14px}
.hve-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.hve-steps li:before{content:counter(s);width:44px;height:44px;border-radius:50%;background:var(--hve-petrol);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:18px}
.hve-fees table{width:100%;border-collapse:collapse;font-size:16px}
.hve-fees table,#main-content .hve-fees table{border:0!important;margin:6px 0 12px}
.hve-fees td,#main-content .hve-fees td{padding:9px 0!important;border:0!important;border-bottom:1px solid var(--hve-line)!important;font-size:15px;line-height:1.4}
.hve-steps h3{margin-top:28px}
.hve-fees td:last-child{text-align:right;font-weight:600;color:var(--hve-navy);white-space:nowrap}
.hve-fees tr:last-child td{border-bottom:0!important}
.hve-todo{background:#fff6e0;color:#5b4300;padding:1px 6px;border-radius:4px;font-weight:600}

/* Zwei-Klick-Video */
.hve-video{position:relative;aspect-ratio:16/9;border-radius:var(--hve-radius);overflow:hidden;background:var(--hve-navy) center/cover no-repeat}
.hve-video:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,36,63,.15),rgba(18,36,63,.7))}
.hve-video__play{position:absolute;inset:0;width:100%;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;font:600 19px 'Outfit',sans-serif}
.hve-video__icon{width:72px;height:72px;border-radius:50%;background:var(--hve-petrol);position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1)}
.hve-video__icon:after{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.hve-video__play:hover .hve-video__icon{transform:scale(1.06)}
.hve-video__hint{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 16px;font-size:13px;color:#dbe6f0;text-align:center}
.hve-video__hint a{color:#fff;text-decoration:underline}
.hve-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hve-video.is-playing:before{display:none}

/* Trainingsplan */
.hve-day{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);padding:22px 22px 8px!important;height:100%}
.hve-day h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--hve-petrol);margin:-22px -22px 18px;padding:12px 22px;border-radius:var(--hve-radius) var(--hve-radius) 0 0}
.hve-day h4{font-size:18px;padding:0 0 2px;color:var(--hve-navy)}
.hve-day p{font-size:15px;margin:0 0 4px;padding:0;color:var(--hve-muted)}
.hve-day p strong{color:var(--hve-text);font-weight:600}
.hve-day hr{border:0;border-top:1px solid var(--hve-line);margin:14px 0}
.hve-plan .et_pb_column{display:flex}
.hve-plan .et_pb_column>.et_pb_module{flex:1}
.hve-day-note{background:var(--hve-mint)}
.hve-day-note h3{background:var(--hve-navy)}

/* Logo-Raster Sponsoren */
.hve-logo{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);padding:22px!important;display:flex;align-items:center;justify-content:center;min-height:150px}
.hve-logo img{max-height:96px;width:auto;object-fit:contain}

/* Ausrichtung */
.hve-center h1,.hve-center h2,.hve-center h3{text-align:center}
.et_pb_button_module_wrapper.et_pb_button_alignment_center{display:block;text-align:center}
.hve-btnrow .et_pb_button_module_wrapper{display:inline-block}
.hve-hero .et_pb_row{text-align:center}

/* Beitraege */
.single-post #main-content .container{max-width:860px}
.single-post #main-content .container:before{display:none}
.single-post #left-area{width:100%;padding-right:0}
.et_pb_post .post-meta a{pointer-events:none;color:inherit}

/* Kontaktformular */
.et_pb_contact_field_options_title{display:none}
.et_pb_contact_field_checkbox label{font-size:15px;color:var(--hve-text)}


/* Trainingszeiten als Wochenansicht */
.et_pb_row.hve-wide{width:94%!important;max-width:1400px!important}
.hve-week{display:grid;grid-template-columns:1fr 1fr 1fr 1fr .62fr 1fr .9fr;gap:12px;align-items:stretch}
.hve-wd{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);overflow:hidden;display:flex;flex-direction:column}
.hve-wd h3{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--hve-petrol);margin:0;padding:12px 14px!important;text-align:center}
.hve-slot{padding:14px 14px 12px;border-top:1px solid var(--hve-line)}
.hve-wd h3+.hve-slot{border-top:0}
.hve-slot h4{font-size:18px;line-height:1.25;color:var(--hve-navy);padding:0 0 4px!important;hyphens:auto}
.hve-slot p{margin:0;padding:0!important;font-size:16px;line-height:1.45}
.hve-slot__extra{color:var(--hve-muted)}
.hve-time{font-weight:700;color:var(--hve-petrol);margin-top:4px!important}
.hve-who{color:var(--hve-text);margin-top:6px!important}
.hve-wd--free{background:var(--hve-mint)}
.hve-slot--free{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}
.hve-slot--free h4{color:var(--hve-muted);font-weight:500}
@media (max-width:1100px){.hve-week{grid-template-columns:repeat(4,1fr)}}
@media (max-width:767px){.hve-week{grid-template-columns:1fr}.hve-wd--free .hve-slot--free{padding:10px}}
.hve-notes{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:4px}
.hve-notes>div{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);padding:20px 24px}
.hve-notes h3{font-size:19px;padding-bottom:8px!important}
.hve-notes ul{margin:0;padding-left:20px!important}
.hve-notes li,.hve-notes p{font-size:18px}
@media (max-width:767px){.hve-notes{grid-template-columns:1fr}}

/* Sponsoren */
.hve-sponsors .et_pb_row{padding:10px 0}
.hve-sponsors .hve-cards{padding:18px 0!important}

/* Groessere Grundschrift (ueberschreibt die Divi-Einstellung) */
html body,html body #page-container,html body .et_pb_text,html body .et_pb_blurb_description{font-size:19px}
@media (max-width:767px){html body,html body #page-container,html body .et_pb_text{font-size:18px}}

/* Startseite: Einleitung mittig */
.hve-intro .et_pb_module{margin-left:auto!important;margin-right:auto!important}
.hve-intro .et_pb_text,.hve-intro h2,.hve-intro h3{text-align:center}
.hve-intro .hve-next{border-left:0;border-top:5px solid var(--hve-petrol)}

.et_pb_section.hve-hero{padding-bottom:8px!important}
.et_pb_section.hve-intro{padding-top:20px!important}

.single-post .entry-content h2,.single-post .entry-content h3{margin-top:36px;padding-bottom:12px}

/* Plakate: immer vollstaendig zeigen */
.hve-poster img{width:100%;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 10px 28px -16px rgba(27,54,93,.45)}

/* Icons in Kacheln: lokale Font-Awesome-Datei, ohne Einblend-Animation */
.hve-tile .et-pb-icon{font-family:'HVE FA'!important;font-weight:900!important;opacity:1!important;animation:none!important;transform:none!important;display:inline-flex!important;align-items:center;justify-content:center;width:52px;height:52px;padding:0!important}
.hve-tile .et_pb_main_blurb_image{margin-bottom:0}

.hve-tile .et_pb_blurb_content,.hve-card .et_pb_blurb_content{max-width:none!important;margin:0!important}

.hve-ext{font-size:15px;opacity:.85}

/* Hochkant-Videos */
.hve-video--hoch{aspect-ratio:9/16;max-width:340px;margin:0 auto}
.hve-videos .et_pb_column{display:flex;flex-direction:column;justify-content:flex-start}
.hve-videos .et_pb_text{margin-bottom:12px!important}
.hve-videos .et_pb_text h3{padding-bottom:0}
.hve-videos .et_pb_text{text-align:center}

/* Text mit Bild rechts */
.hve-split{align-items:flex-start;padding-top:0!important}
.et_pb_section.hve-pagehead+.et_pb_section{padding-top:8px!important}
.hve-side-img img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 18px 40px -22px rgba(27,54,93,.45)}
.hve-side-img{margin-bottom:0!important}
.hve-credit p{font-size:14px!important;color:var(--hve-muted);margin-top:8px;padding:0}
@media (min-width:981px){.hve-split{display:flex}.hve-split .et_pb_column_2_3{padding-right:2%}}

/* Bild rechts genau so hoch wie der Text */
@media (min-width:981px){
.hve-split{display:flex;align-items:stretch!important}
.hve-split .et_pb_column_1_3{position:relative;min-height:320px}
.hve-split .hve-side-img{position:absolute!important;top:0;left:0;right:0;bottom:0;margin:0!important;width:100%;max-width:none!important}
.hve-split .hve-side-img .et_pb_image_wrap{display:block;height:100%}
.hve-split .hve-side-img img{height:100%;aspect-ratio:auto}
.hve-split .hve-credit{position:absolute!important;top:100%;left:0;margin:0!important}
.hve-split .et_pb_text p:last-child{padding-bottom:0;margin-bottom:0}
}

/* Formularfelder ohne Typ-Angabe, Zahlen und Auswahl */
.hve-ma input:not([type]),.hve-ma input[type=number],.hve-ma input[type=password],.hve-ma select{width:100%;background:#fff;border:1px solid #9fb6b4;border-radius:10px;padding:12px 14px;font:inherit;font-size:18px;color:var(--hve-navy)}
.hve-ma input:not([type]):focus,.hve-ma select:focus,.hve-ma input[type=number]:focus,.hve-ma input[type=password]:focus{outline:none;border-color:var(--hve-petrol);box-shadow:0 0 0 3px rgba(21,126,120,.2)}
.hve-an-info{margin-top:10px!important}

.hve-req{color:#b42318;font-weight:600}
.hve-check input:invalid+span .hve-req{color:#b42318}

/* Terminliste mit Anmelde-Button */
.hve-termine{list-style:none!important;padding:0!important;margin:0}
.hve-termine li{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--hve-line)}
.hve-termine li:last-child{border-bottom:0}
.hve-termine strong{color:var(--hve-petrol);font-weight:600}
.hve-termine small{color:var(--hve-muted)}
.hve-termine__btn{display:inline-block;border:2px solid var(--hve-petrol);color:var(--hve-petrol)!important;border-radius:999px;padding:4px 16px;font-weight:600;font-size:16px;white-space:nowrap;transition:background .2s}
.hve-termine__btn:hover{background:var(--hve-petrol);color:#fff!important}
@media (max-width:600px){.hve-termine li{grid-template-columns:1fr auto;gap:4px 12px}.hve-termine li strong{grid-column:1/-1}}

/* Karten mit vollständigem Titelbild (z. B. Pfotenpost) */
.hve-card.hve-cover .et_pb_main_blurb_image img{aspect-ratio:auto;object-fit:contain;height:auto}

/* Berichte mit Kategorie-Filter */
.hve-reports__filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 30px}
.hve-reports__filter a{display:inline-flex;align-items:center;gap:8px;border:1px solid #9fb6b4;border-radius:999px;padding:8px 18px;font-weight:600;color:var(--hve-navy);background:#fff;transition:background .2s,border-color .2s}
.hve-reports__filter a span{font-size:14px;font-weight:600;background:var(--hve-mint);color:var(--hve-petrol);border-radius:999px;padding:0 8px;min-width:24px;text-align:center}
.hve-reports__filter a:hover{border-color:var(--hve-petrol)}
.hve-reports__filter a.is-active{background:var(--hve-petrol);border-color:var(--hve-petrol);color:#fff}
.hve-reports__filter a.is-active span{background:rgba(255,255,255,.2);color:#fff}
.hve-reports__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hve-reports__item{background:#fff;border:1px solid var(--hve-line);border-radius:var(--hve-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.hve-reports__item[hidden]{display:none}
.hve-reports__item:hover{transform:translateY(-3px);box-shadow:var(--hve-shadow)}
.hve-reports__img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.hve-reports__body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.hve-reports__body h3{font-size:21px;padding:4px 0 8px}.hve-reports__body h3 a{color:var(--hve-navy)}.hve-reports__body h3 a:hover{color:var(--hve-petrol)}
.hve-reports__meta{color:var(--hve-petrol);font-size:16px!important;font-weight:500;padding:0!important}
.hve-reports__body p{color:var(--hve-muted);font-size:17px}
.hve-reports__more{margin-top:auto;font-weight:600}
.hve-reports__morewrap{text-align:center;margin-top:30px}.hve-reports__morewrap[hidden]{display:none}
.hve-reports__empty{text-align:center;color:var(--hve-muted)}
@media (max-width:980px){.hve-reports__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.hve-reports__grid{grid-template-columns:1fr}}

/* ===== Mobile ===== */
@media (max-width:980px){
  .et_pb_section{padding:44px 0}
  .hve-hero .hve-emblem{margin-top:-56px!important;width:112px!important}
  .hve-cards .et_pb_column{margin-bottom:22px!important}
}
@media (max-width:767px){
  body{font-size:18px}
  .hve-info{padding:24px!important}
  .et_pb_button_module_wrapper{display:block;margin:0 0 10px}
  .et_pb_button_module_wrapper .et_pb_button{display:block;text-align:center}
}

/* ===== Reduzierte Bewegung ===== */
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .hve-card:hover,.hve-blog .et_pb_post:hover{transform:none}
}
