/* R Ferataj Bau – Unterseiten, Block-Inhalte, Kontakt-Band, Footer */

/* ---------- Seitenkopf ---------- */
.pagehead{position:relative;isolation:isolate;background:var(--concrete-deep);color:#fff;padding:clamp(4.5rem,10vw,8rem) 0 clamp(3rem,6vw,4.5rem);overflow:hidden;background-image:linear-gradient(oklch(100% 0 0 / .05) 1px,transparent 1px),linear-gradient(90deg,oklch(100% 0 0 / .05) 1px,transparent 1px);background-size:64px 64px}
.pagehead__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;animation:kenburns 9s linear both}
.pagehead--img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,oklch(20% 0.01 250 / .92) 0%,oklch(20% 0.01 250 / .7) 60%,oklch(20% 0.01 250 / .4) 100%)}
.pagehead__copy{grid-column:1 / span 9}
.pagehead__title{font-size:var(--fs-h1);line-height:.94;max-width:16ch;margin-bottom:1.25rem}
.pagehead__lead{max-width:60ch;font-size:clamp(1.1rem,1rem + .5vw,1.3rem);color:oklch(94% 0.005 85);margin:0}

/* ---------- Inhaltsbereich (Gutenberg) ---------- */
.page-body{padding-block:var(--pad-y)}
.entry{grid-column:3 / span 8;min-width:0}
.entry>*+*{margin-top:1.25rem}
.entry p{max-width:68ch;line-height:1.7}
.entry h2{font-size:var(--fs-h2);line-height:1;margin-top:3rem;margin-bottom:1rem}
.entry h3{font-size:var(--fs-h3);margin-top:2.25rem;margin-bottom:.75rem}
.entry h2:first-child,.entry h3:first-child{margin-top:0}
.entry a{color:var(--signal-ink);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-thickness .15s var(--ease),color .15s var(--ease)}
.entry a:hover{text-decoration-thickness:3px}
.entry ul,.entry ol{padding-left:0;display:grid;gap:.6rem;max-width:68ch}
.entry ul li{position:relative;padding-left:1.75rem}
.entry ul li::before{content:"";position:absolute;left:0;top:.6em;width:.7rem;height:.7rem;background:var(--accent);border-radius:1px}
.entry ol{counter-reset:n}
.entry ol li{position:relative;padding-left:2.75rem;counter-increment:n}
.entry ol li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--signal-ink);font-variant-numeric:tabular-nums}
.entry img{border-radius:var(--radius)}
.entry figure{margin:2rem 0}
.entry figcaption{margin-top:.5rem;font-size:.95rem;color:var(--muted)}
.entry .wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:start}
.entry .wp-block-columns.is-vertically-aligned-center{align-items:center}
.entry .wp-block-column>*+*{margin-top:1rem}
.entry .wp-block-separator{border:0;border-top:1px solid var(--concrete);margin:3rem 0;opacity:1}
.entry .wp-block-spacer{margin:0!important}
.entry .wp-block-group.callout,.entry .wp-block-group.has-background{padding:1.75rem 2rem;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.entry .wp-block-group.callout h3{margin-top:0}
.entry .wp-block-buttons{display:flex;flex-wrap:wrap;gap:1rem}
.entry .wp-block-button__link{display:inline-flex;align-items:center;min-height:48px;padding:0 1.6rem;background:var(--accent);color:#14171A;border-radius:var(--radius);font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.entry .wp-block-button__link:hover{transform:translateY(-1px);box-shadow:0 6px 18px oklch(64% 0.19 45 / .35);text-decoration:none}
.entry .wp-block-button__link:active{transform:scale(.98)}
.entry table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.entry th,.entry td{padding:.7rem .9rem;border-bottom:1px solid var(--line);text-align:left}
.post-item{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}

/* Kontaktdaten-Block im Inhalt */
.entry .contact-card{display:grid;gap:.9rem;padding:1.75rem;background:var(--white);border:1px solid var(--concrete);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.entry .contact-card p{margin:0}
.contact-list{display:grid;gap:.85rem}
.contact-list li{display:flex;align-items:flex-start;gap:.75rem}
.contact-list .icon{margin-top:.2rem;color:var(--signal-soft)}
.contact-list a{text-decoration:none}
.contact-list a:hover{text-decoration:underline}

/* Contact Form 7 */
.wpcf7-form{display:grid;gap:1.1rem}
.wpcf7-form p{margin:0;max-width:none}
.wpcf7-form label{display:block;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--concrete)}
.wpcf7-form .wpcf7-form-control-wrap{display:block;margin-top:.35rem}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form textarea{width:100%;min-height:48px;padding:.75rem 1rem;background:var(--white);border:1px solid var(--concrete);border-radius:var(--radius);font:inherit;color:var(--text);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.wpcf7-form textarea{min-height:160px;resize:vertical}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px oklch(64% 0.19 45 / .25)}
.wpcf7-form input[type=submit]{min-height:52px;padding:0 2rem;background:var(--accent);color:#14171A;border:0;border-radius:var(--radius);font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.wpcf7-form input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 6px 18px oklch(64% 0.19 45 / .35)}
.wpcf7-form input[type=submit]:active{transform:scale(.98)}
.wpcf7-not-valid-tip{margin-top:.3rem;font-size:.95rem;color:oklch(45% 0.18 27)}
.wpcf7 form .wpcf7-response-output{margin:1rem 0 0;padding:.9rem 1rem;border:1px solid var(--concrete);border-radius:var(--radius)}
.wpcf7-acceptance label{font-family:var(--font-body);font-weight:400;font-size:.98rem;letter-spacing:0;text-transform:none}

/* ---------- Weitere Leistungen ---------- */
.related{padding-block:0 var(--pad-y)}
.related__title{font-size:var(--fs-h2);margin-bottom:1.5rem}
.related__list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--concrete)}
.related__list li{border-bottom:1px solid var(--concrete)}
.related__list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:.75rem 1rem .75rem 0;font-family:var(--font-display);font-weight:600;font-size:1.35rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background-color .2s var(--ease),padding .2s var(--ease),color .2s var(--ease)}
.related__list a:hover{background:var(--white);padding-left:1rem;color:var(--signal-ink)}
.related__list .icon{transition:transform .2s var(--ease)}
.related__list a:hover .icon{transform:translateX(4px)}
.related__all{margin-top:1.5rem}

/* ---------- Kontakt-Band ---------- */
.band{background:var(--concrete);color:#fff;padding-block:clamp(3.5rem,7vw,6rem);background-image:linear-gradient(oklch(100% 0 0 / .05) 1px,transparent 1px),linear-gradient(90deg,oklch(100% 0 0 / .05) 1px,transparent 1px);background-size:64px 64px;border-top:4px solid var(--accent)}
.band__copy{grid-column:1 / span 7}
.band__title{font-size:var(--fs-h2);line-height:1;margin-bottom:1rem;max-width:20ch}
.band__text{max-width:52ch;color:oklch(90% 0.005 85);margin:0}
.band__actions{grid-column:8 / -1;display:grid;gap:1.25rem;justify-items:start;align-content:center}
.band__tel{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,1.4rem + 2vw,3rem);letter-spacing:.03em;line-height:1;text-decoration:none;color:#fff;font-variant-numeric:tabular-nums;transition:color .2s var(--ease)}
.band__tel:hover{color:var(--signal-soft)}
.band__tel .icon{color:var(--signal-soft)}

/* ---------- Footer ---------- */
.site-footer{background:var(--concrete-deep);color:oklch(88% 0.005 85);padding:clamp(3rem,6vw,5rem) 0 2rem}
.titleblock-foot{display:grid;grid-template-columns:1.5fr 1.25fr .8fr 1fr;border:1px solid var(--line-dark);border-radius:var(--radius)}
.titleblock-foot>div{padding:1.75rem;border-left:1px solid var(--line-dark)}
.titleblock-foot>div:first-child{border-left:0}
.foot__name{margin:0 0 .75rem;font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.foot__text{margin:0 0 1rem;font-size:1rem;line-height:1.55}
.foot__h{margin:0 0 1rem;font-size:1rem;letter-spacing:.16em;color:var(--signal-soft);font-weight:600}
.foot__list{display:grid;gap:.15rem}
.foot__list a,.contact-list a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;transition:color .15s var(--ease)}
.foot__list a:hover{color:var(--signal-soft)}
.contact-list li{align-items:flex-start}
.foot__legal{margin:1.5rem 0 0;font-size:.95rem;color:oklch(78% 0.005 85)}

/* ---------- Mobile ---------- */
@media (max-width:1100px){
	.entry{grid-column:2 / span 10}
	.titleblock-foot{grid-template-columns:1fr 1fr}
	.titleblock-foot>div:nth-child(3){border-left:0}
	.titleblock-foot>div:nth-child(n+3){border-top:1px solid var(--line-dark)}
	.related__list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
	.pagehead__copy,.entry,.band__copy,.band__actions{grid-column:1 / -1}
	.entry .wp-block-columns{grid-template-columns:1fr}
	.related__list{grid-template-columns:1fr}
}
@media (max-width:600px){
	.titleblock-foot{grid-template-columns:1fr}
	.titleblock-foot>div{border-left:0;border-top:1px solid var(--line-dark);padding:1.4rem}
	.titleblock-foot>div:first-child{border-top:0}
	.pagehead__title{max-width:none}
	.entry .wp-block-group.callout,.entry .wp-block-group.has-background{padding:1.25rem}
	.band__actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
	.pagehead__img{animation:none}
}
.entry .contact-list .icon{color:var(--signal-ink)}
.entry .contact-list a{color:var(--text)}
