/* ==========================================================================
   GRUNDLAGE  ·  Theme „hac“ (T58)
   --------------------------------------------------------------------------
   Teil 1: Grundregeln, die bisher aus Solene kamen (Schrift, Abstaende,
   Formularfelder, Raster). Uebernommen wurden NUR die Regeln, die auf den
   echten Seiten greifen – gemessen am 16.10.2026 auf 78 Seiten (von rund
   5.000 Regeln in Solene blieben 115). Die Werte sind unveraendert, damit jede
   Seite aussieht wie vorher; das eigene Farbsystem in style.css liegt darueber.
   Teil 2 (unten): der eigene Seitenrahmen.
   ========================================================================== */

input[type=email], input[type=text]{position:relative;width:100%;margin:0 0 30px;padding:0 2px;font-family:Muli,sans-serif;font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;line-height:calc(26px - (0px - 2px));color:var(--hac-schrift-leise, #84847c);background-color:transparent;border:0;border-bottom:1px solid var(--hac-feld-rand, #e1e1e1);border-radius:0;outline:0;cursor:pointer;-webkit-appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s ease-in-out;transition:border-color .2s ease-in-out}
input:focus[type=email], input:focus[type=text]{color:var(--hac-schrift, #4d504a);border-color:var(--hac-schrift-leise, #84847c)}
input[type=email]::-webkit-input-placeholder, input[type=text]::-webkit-input-placeholder{color:inherit}
input:-moz-placeholder[type=email], input:-moz-placeholder[type=text]{color:inherit;opacity:1}
input[type=email]::-moz-placeholder, input[type=text]::-moz-placeholder{color:inherit;opacity:1}
input:-ms-input-placeholder[type=email], input:-ms-input-placeholder[type=text]{color:inherit}
a, address, blockquote, body, dd, div, dl, dt, em, fieldset, form, h1, h2, h3, h4, h5, h6, html, i, iframe, label, li, ol, p, small, span, strong, table, tbody, td, th, thead, tr, ul{background:0 0;border:0;margin:0;outline:0;padding:0;vertical-align:baseline}
article, aside, figcaption, figure, footer, header, nav, section{display:block}
table{border:medium none;border-collapse:collapse;border-spacing:0;vertical-align:middle}
table th{border:0;padding:5px 7px;text-align:center}
table td{padding:5px 10px;text-align:center}
a img{border:none}
.wp-caption, img{height:auto;max-width:100%}
figure{margin:0}
iframe{display:block;max-width:100%}
.clearfix:after, .clearfix:before{content:" ";display:table}
.clearfix:after{clear:both}
html{overflow-y:scroll!important}
body{font-family:Muli,sans-serif;font-size:15px;font-weight:300;line-height:1.666666666666667em;color:var(--hac-schrift, #84847c);background-color:var(--hac-grund, #fff);-webkit-font-smoothing:antialiased;overflow-x:hidden!important}
h1{font-size:48px;line-height:.9375em;letter-spacing:.2em}
h2{font-size:35px;line-height:1.285714285714286em;letter-spacing:.2em}
h3{font-size:22px;line-height:1.5em;letter-spacing:.15em}
h4{font-size:18px;line-height:1.611111111111111em;letter-spacing:.14em;font-weight:500}
h5{font-size:15px;line-height:1.4em;letter-spacing:.14em;font-weight:500}
h6{font-family:Muli,sans-serif;font-size:11px;line-height:2.272727272727273em;letter-spacing:.3em}
h1, h2, h3, h6{font-weight:400}
h1, h2, h3, h4, h5{font-family:"Cormorant Garamond",serif}
h1, h2, h3, h4, h5, h6{color:var(--hac-schrift-stark, #4d504a);margin:25px 0;text-transform:uppercase;-ms-word-wrap:break-word;word-wrap:break-word}
h3 a, h4 a, h5 a{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit}
h3 a:hover, h4 a:hover, h5 a:hover{color:var(--hac-schrift-stark, #afafa5)}
a, p a{color:var(--hac-schrift-stark, #4d504a);text-decoration:none;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}
a:hover, p a:hover{color:var(--hac-schrift-stark, #afafa5)}
p{margin:10px 0;line-height:1.666666666666667em}
ol, ul{list-style-position:inside;margin:15px 0}
ul ul{margin:0;padding:0 0 0 15px}
dt{margin-bottom:10px;font-size:15px;font-weight:700}
dd{margin-bottom:15px}
.wp-caption, figcaption{display:block;max-width:100%;margin:.8em 0 1.5em;font-size:.8125rem;opacity:1}
.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}
.wp-caption .wp-caption-text{opacity:1}
blockquote.instagram-media, iframe.instagram-media{margin:auto!important}
table{width:100%}
table tbody tr, table thead tr{border:1px solid var(--hac-linie, #e1e1e1)}
table tbody th{border-right:1px solid var(--hac-linie, #e1e1e1)}
blockquote{position:relative;display:inline-block;width:100%;vertical-align:middle;margin:10px 0;padding:15px 15% 15px;font-family:"Cormorant Garamond",serif;font-size:22px;line-height:27px;font-weight:500;font-style:italic;text-align:center;quotes:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;color:var(--hac-schrift-leise, #84847c)}
blockquote>*{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0}
blockquote:before{content:"’’";position:absolute;display:block;top:-8px;left:-6px;font-family:"Cormorant Garamond",serif;font-size:270px;font-weight:400;letter-spacing:-.06em;font-style:normal;-webkit-text-stroke:1px var(--hac-schrift-leise, #84847c);-webkit-transform:translateY(100px);-ms-transform:translateY(100px);transform:translateY(100px);color:transparent}
blockquote:after{content:""}
@media only screen and (max-width:680px){
	blockquote{padding-top:75px}
	blockquote:before{top:-38px;left:calc(50% - 10px);font-size:200px;-webkit-transform:translate(-50%,100px);-ms-transform:translate(-50%,100px);transform:translate(-50%,100px)}
}
::-moz-selection{background:var(--hac-invers-grund, #afafa5);color:var(--hac-invers-schrift, #fff)}
::selection{background:var(--hac-invers-grund, #afafa5);color:var(--hac-invers-schrift, #fff)}
::-moz-selection{background:var(--hac-invers-grund, #afafa5);color:var(--hac-invers-schrift, #fff)}
.wp-caption, .wp-caption-text{opacity:1}
.eltdf-container{position:relative;width:100%;padding:0;z-index:100}
.eltdf-container:before{content:" ";display:table}
.eltdf-container:after{clear:both;content:" ";display:table}
.eltdf-container-inner{width:1100px;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}
.eltdf-content-aligment-left{text-align:left}
.screen-reader-text{position:absolute!important;width:1px;height:0;clip:rect(1px,1px,1px,1px);word-wrap:normal!important;overflow:hidden}
.screen-reader-text:focus{top:5px;left:5px;display:block;width:auto;height:auto;padding:15px 23px 14px;font-size:14px;font-weight:700;line-height:normal;text-decoration:none;color:#21759b;background-color:#f1f1f1; /* fest: WordPress-Sprungmarke */border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;z-index:100000}
.eltdf-grid-row{margin-left:-15px;margin-right:-15px}
.eltdf-grid-row:after, .eltdf-grid-row:before{content:" ";display:table}
.eltdf-grid-row:after{clear:both}
.eltdf-grid-huge-gutter{margin-left:-54px;margin-right:-54px}
.eltdf-grid-huge-gutter>div{padding-left:54px;padding-right:54px}
.eltdf-grid-col-12{position:relative;float:left;width:100%;min-height:1px;padding-left:15px;padding-right:15px;-webkit-box-sizing:border-box;box-sizing:border-box}
.eltdf-grid-col-12:after, .eltdf-grid-col-12:before{content:" ";display:table}
.eltdf-grid-col-12:after{clear:both}
@media only screen and (max-width:1024px){
	.eltdf-grid-col-12{width:100%;float:none}
}
input[type=email], input[type=text]{position:relative;width:100%;margin:0 0 30px;padding:0 2px;font-family:Muli,sans-serif;font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;line-height:calc(26px - (0px - 2px));color:var(--hac-schrift-leise, #84847c);background-color:transparent;border:0;border-bottom:1px solid var(--hac-feld-rand, #e1e1e1);border-radius:0;outline:0;cursor:pointer;-webkit-appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s ease-in-out;transition:border-color .2s ease-in-out}
input:focus[type=email], input:focus[type=text]{color:var(--hac-schrift, #4d504a);border-color:var(--hac-schrift-leise, #84847c)}
input[type=email]::-webkit-input-placeholder, input[type=text]::-webkit-input-placeholder{color:inherit}
input:-moz-placeholder[type=email], input:-moz-placeholder[type=text]{color:inherit;opacity:1}
input[type=email]::-moz-placeholder, input[type=text]::-moz-placeholder{color:inherit;opacity:1}
input:-ms-input-placeholder[type=email], input:-ms-input-placeholder[type=text]{color:inherit}
p.form-submit{margin:0}
.widget{margin:0 0 41px}
.widget:last-child{margin-bottom:0!important}
.widget a{color:var(--hac-schrift-leise, #84847c)}
.widget a:hover{color:var(--hac-schrift-stark, #afafa5)}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration{display:none}
input[type=search]::-ms-clear{display:none}
input[type=text]::-ms-clear{display:none}
hr{background-color:var(--hac-feld-rand, #767676);border:0;height:2px;margin-bottom:2rem;margin-top:2rem;max-width:100px;text-align:left}
hr+h2:before{display:none}
html{height:100%;overflow-x:hidden}
@media only screen and (max-width:1200px){
	.eltdf-container-inner{width:950px}
}
@media only screen and (min-width:769px) and (max-width:1024px){
	.eltdf-container-inner{width:768px}
}
@media only screen and (max-width:768px){
	.eltdf-container-inner{width:600px}
}
@media only screen and (max-width:680px){
	.eltdf-container-inner{width:420px}
}
@media only screen and (max-width:480px){
	.eltdf-container-inner{width:300px}
}
@media only screen and (max-width:320px){
	.eltdf-container-inner{width:90%}
}
h3 a:hover, h4 a:hover, h5 a:hover, a:hover, p a:hover, .widget a:hover{color: var(--hac-schrift-stark, #bac6ae);}
body{background-color: var(--hac-grund, #faf9f6);}
::selection{background: var(--hac-invers-grund, #333333);}
::-moz-selection{background: var(--hac-invers-grund, #333333);}
h1{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
h2{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
h3{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
h4{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
h5{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
h6{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
p{color: var(--hac-schrift-stark, #333333);font-family: Trebuchet MS;}
a, p a{color: var(--hac-schrift-gruen, #bac6ae);font-weight: 700;text-decoration: underline;}
a:hover, p a:hover{color: var(--hac-schrift-stark, #9aa88e);text-decoration: underline;}
h3 a:hover, h4 a:hover, h5 a:hover{color: var(--hac-schrift-stark, #9aa88e);}
@media only screen and (min-width: 769px) and (max-width: 1024px){
	h1{font-size: 48px;line-height: 50px;}
	h3{font-size: 22px;line-height: 29px;}
}
@media only screen and (min-width: 681px) and (max-width: 768px){
	h1{font-size: 48px;line-height: 50px;}
	h3{font-size: 22px;line-height: 1.3em;}
}
@media only screen and (max-width: 680px){
	h1{font-size: 38px;line-height: 40px;}
	h2{font-size: 31px;line-height: 37px;}
	h3{font-size: 22px;line-height: 30px;}
}


/* ==========================================================================
   Teil 2: SEITENRAHMEN (eigener Code, ersetzt eltdf-wrapper/-content)
   ========================================================================== */

html.hac-js .hac-ohne-js { display: none; }

body { margin: 0; }

.hac-seite {
	position: relative;
	overflow-x: clip;          /* wie Solene: nichts ragt seitlich hinaus */
	background-color: var(--hac-grund, #faf9f6);
}

.hac-inhalt {
	position: relative;
	display: block;
	background-color: var(--hac-grund, #faf9f6);
	z-index: 100;              /* ueber dem Kopf-Schatten, wie bisher */
	outline: 0;
}

/* Startseite: Inhalt beginnt hinter dem Kopf (Solene „durchsichtiger Menuebereich“). */
@media (min-width: 1025px) {
	body.hac-inhalt-unter-kopf .hac-inhalt { margin-top: -96px; }
}

/* Innenabstand des Inhalts: Standard 70 px oben, 40 px unten (wie Solene).
   Je Seite ueberschreibbar im Feld „Content Padding“ (inc/rahmen.php). */
.hac-inhalt__innen {
	padding-top: 70px;
	padding-bottom: 40px;
	box-sizing: border-box;
}

/* Vorlage „Volle Breite“: ganze Fensterbreite. */
.hac-inhalt__rahmen--voll { position: relative; width: 100%; }

/* Standard-Vorlage: 1100-px-Raster, schmaler werdend wie die Container oben. */
.hac-inhalt__rahmen--raster .hac-inhalt__innen {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
}
@media only screen and (max-width: 1200px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 950px; } }
@media only screen and (min-width: 769px) and (max-width: 1024px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 768px; } }
@media only screen and (max-width: 768px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 600px; } }
@media only screen and (max-width: 680px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 420px; } }
@media only screen and (max-width: 480px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 300px; } }
@media only screen and (max-width: 320px) { .hac-inhalt__rahmen--raster .hac-inhalt__innen { width: 90%; } }

/* Blog, Suche: Container im Raster bekommen denselben Innenabstand. */
.hac-inhalt > .eltdf-container > .eltdf-container-inner {
	padding-top: 70px;
	padding-bottom: 40px;
}

/* Sprungmarke „Zum Inhalt springen“ – erst bei Tastaturfokus sichtbar. */
.hac-sprung {
	position: absolute;
	left: 8px;
	top: -60px;
	z-index: 100001;
	padding: 10px 16px;
	border-radius: 8px;
	background: var(--hac-invers-grund, #1a1a1a);
	color: var(--hac-invers-schrift, #ffffff) !important;
	font: 700 15px/1.2 "Trebuchet MS", "Segoe UI", Arial, sans-serif;
	text-decoration: none !important;
}
.hac-sprung:focus { top: 8px; outline: 2px solid #bac6ae; outline-offset: 2px; } /* fest */

/* Bereich unter dem Inhalt (Impressum, Datenschutz) – frueher Solene-Widgets. */
.hac-unter-inhalt {
	padding: 0 40px;
	text-align: center;
	box-sizing: border-box;
}
.hac-unter-inhalt__zeile {
	margin: 7px 0 0;
	text-transform: none;
	letter-spacing: 0;
	color: var(--hac-schrift-stark, var(--hac-farbe-text-dunkel, #1a1a1a));
}
.hac-unter-inhalt__zeile--2 {
	margin: 0 0 56px;
	font-style: italic;
	font-weight: 400;
	color: var(--hac-schrift-leise, var(--hac-farbe-text-leise, #6b6b6b));
}

/* 404 */
.hac-404 { text-align: center; }
.hac-404__bild img { display: block; margin: 0 auto 32px; border-radius: 8px; max-height: 360px; width: auto; }
.hac-404__titel { margin: 0 0 16px; text-transform: none; }
.hac-404__text { margin: 0 auto 24px; max-width: 560px; }
.hac-404__wege { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 40px; padding: 0; list-style: none; }
.hac-404__wege li { margin: 0; }
.hac-404__wege a {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 8px;
	background: var(--hac-farbe-gruen, #bac6ae);
	color: var(--hac-farbe-text, #333333) !important;
	font-weight: 700;
	text-decoration: none !important;
}
.hac-404__wege a:hover, .hac-404__wege a:focus-visible { background: var(--hac-farbe-gruen-dunkel, #667d4f); color: #ffffff !important; } /* fest */

/* Seitenumbruch in Beitraegen/Seiten (<!--nextpage-->) */
.hac-seiten-links { margin: 24px 0; }
