/* REGIO 50: Anpassungen für WordPress und Elementor. site.css bleibt identisch mit der abgenommenen Vorschau (build/). */

/* Elementor-Container als neutrale Hüllen */
.elementor .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px}
.elementor .elementor-widget-html{margin:0}
.e-con.section{padding:var(--pad-y) 0}
.e-con.section.section--tint{background:var(--surface-tint)}
.e-con.wrap{display:block;max-width:var(--container);width:100%;margin:0 auto;padding:0 var(--pad-x)}
.e-con.wrap.abschluss{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.elementor-widget.wrap{max-width:var(--container);width:100%;margin:0 auto;padding:0 var(--pad-x)}
/* Elementor setzt .elementor a{box-shadow:none;text-decoration:none}: Fokusring und Unterstreichung wie in der Vorschau zurückholen */
.elementor a:focus-visible{box-shadow:var(--focus-ring)}
.elementor .kontakt-mini a,.elementor .datenschutz a,.elementor .recht a{text-decoration-line:underline}

/* Kopfzeile aus dem Theme Builder bleibt oben stehen */
.elementor-location-header{position:sticky;top:0;z-index:20}
.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .elementor-location-header{top:46px}}
.site-header{position:static}

/* Formular (Elementor Pro) im Stil der Vorschau */
.formular.elementor-widget-form{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:44px}
.formular .elementor-form-fields-wrapper{margin:0 -10px!important}
.formular .elementor-form .elementor-field-group{padding:0 10px!important;margin:0 0 20px!important;align-items:flex-start}
.formular .elementor-field-group h3{font-size:26px;line-height:32px;margin:0 0 8px;color:var(--ink)}
.formular .elementor-field-group > .hilfe{display:block;margin:-14px 0 0;font-size:14px;line-height:20px;color:var(--ink-muted)}
.formular .elementor-field-group:has(> .datenschutz){margin-bottom:0!important}
.formular .elementor-field-group .elementor-field-label{display:block;width:100%;padding:0;margin:0 0 8px;font:600 15px/20px var(--font-display)!important;color:var(--ink)!important}
.formular .elementor-field-group:not(.elementor-field-required) .elementor-field-label::after{content:"optional";font:400 14px var(--font-text);color:var(--ink-muted);margin-left:6px}
.formular .elementor-field-group .elementor-field,.formular .elementor-field-group select{width:100%;min-height:50px;padding:12px 14px!important;border:1.5px solid var(--line-strong)!important;border-radius:var(--radius-sm)!important;background:var(--surface-raised)!important;color:var(--ink)!important;font:400 17px/24px var(--font-text)!important;box-shadow:none;transition:border-color .15s}
.formular .elementor-field-group textarea.elementor-field{min-height:120px;height:120px;margin-bottom:5px;resize:vertical}
.formular .elementor-field-group .elementor-select-wrapper.elementor-field{width:100%;min-height:0;padding:0!important;border:0!important;background:none!important;box-shadow:none}
.formular .elementor-select-wrapper::before,.formular .elementor-select-wrapper .select-caret-down-wrapper{display:none}
.formular .elementor-field-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23293340' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;padding-right:44px!important}
.formular .elementor-field-group .elementor-field:hover,.formular .elementor-field-group select:hover{border-color:var(--ink)!important}
.formular .elementor-field-group .elementor-field:focus,.formular .elementor-field-group select:focus{outline:none;border-color:var(--akzent-text)!important;box-shadow:0 0 0 3px var(--akzent-soft)}
.formular .elementor-field-group .fehler{display:none;align-items:center;gap:6px;margin-top:6px;font-size:14px;line-height:20px;color:var(--fehler);font-weight:600;width:100%}
.formular .elementor-field-group .fehler .icon{width:18px;height:18px}
.formular .elementor-field-group.ist-fehler .elementor-field{border-color:var(--fehler)!important}
.formular .elementor-field-group.ist-fehler .fehler{display:flex}
.formular .elementor-form .elementor-field-group.e-form__buttons{margin-bottom:0!important}
.formular .elementor-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px!important;padding:0 30px!important;border-radius:var(--radius-full)!important;border:2px solid transparent!important;font:600 16px/20px var(--font-display)!important;letter-spacing:.005em;background:var(--akzent)!important;color:var(--on-akzent)!important;cursor:pointer;transition:background-color .18s ease,transform .18s ease}
.formular .elementor-button:hover{background:var(--akzent-hover)!important}
.formular .elementor-button:active{transform:translateY(1px)}
.formular .elementor-form .elementor-message{width:100%;margin:16px 0 0;padding:14px 16px;border-radius:var(--radius-md);font:600 17px/27px var(--font-text)}
.formular .elementor-form .elementor-message::before{display:none}
.formular .elementor-message.elementor-message-success{background:#e6f1eb;color:var(--bestaetigt)}
.formular .elementor-message.elementor-message-danger{background:#fbe9e7;color:var(--fehler)}
.formular .elementor-field-group .elementor-message.elementor-help-inline{margin-top:6px;padding:0;background:none;font-size:14px;line-height:20px}
@media (max-width:1100px){
  .e-con.wrap.abschluss{grid-template-columns:minmax(0,1fr);gap:48px}
}
@media (max-width:640px){
  .formular.elementor-widget-form{padding:28px 22px}
}

/* Rechtstexte (Impressum, Datenschutz) */
.recht{max-width:760px}
.recht h1{font-size:40px;line-height:46px;letter-spacing:-.015em;margin-bottom:32px}
.recht h2{font:600 24px/30px var(--font-display);margin:48px 0 12px}
.recht h3{margin:28px 0 8px}
.recht p,.recht ul{margin:0 0 14px}
.recht ul{padding-left:22px}
.recht li{margin-bottom:6px}
.recht .hinweis-entwurf{padding:14px 16px;border-radius:var(--radius-md);background:var(--akzent-soft);font-weight:600;margin-bottom:32px}
@media (max-width:640px){.recht h1{font-size:30px;line-height:36px}}
