/* Astan: clarity, contact access and responsive refinement. */
/* Keep consent settings reachable without a hover animation, including mobile. */
#cmplz-manage-consent .cmplz-manage-consent.cmplz-show{
 display:block!important;bottom:12px!important;right:12px;animation:none!important;
 height:auto;min-height:44px;max-width:calc(100vw - 24px);padding:10px 14px;
 border:1px solid #647682;border-radius:6px;font-size:14px;line-height:1.4;
}
#cmplz-manage-consent .cmplz-manage-consent:focus-visible{outline:3px solid #bd440c;outline-offset:3px}
@media(max-width:800px){
 #cmplz-manage-consent .cmplz-manage-consent.cmplz-show{bottom:calc(76px + env(safe-area-inset-bottom))!important}
 .cmplz-cookiebanner.cmplz-show{max-height:calc(100dvh - 24px);overflow-y:auto}
}
.ac-legal-content{max-width:1000px;overflow-wrap:anywhere;color:#243947}.ac-legal-content h1{font-size:clamp(32px,5vw,56px);margin:0 0 32px}.ac-legal-content h2,.ac-legal-content h3{margin:28px 0 14px;line-height:1.3}.ac-legal-content p{margin-bottom:16px;line-height:1.7}.ac-legal-content table{width:100%;border-collapse:collapse;table-layout:fixed}.ac-legal-content td{padding:10px;vertical-align:top}.ac-legal-content tr:nth-child(odd){background:#e6edf1}.ac-legal-content a{color:#93400d;text-decoration:underline}.ac-legal-content #cmplz-document{max-width:none}

.ac-brand-line{display:none}
.ac-header-row{min-height:88px}
.ac-logo{flex-basis:166px}
.ac-logo img{width:166px;height:70px}
.ac-contact-page .ac-hero{padding:40px 0 36px}
.ac-contact-page .ac-hero-grid{grid-template-columns:1fr;gap:0}
.ac-contact-page .ac-hero h1{font-size:clamp(36px,4.5vw,60px)}
.ac-contact-page .ac-hero .ac-lead{max-width:760px;margin-top:16px!important}
.ac-contact-page .ac-hero-note,.ac-contact-page .ac-hero .ac-kicker,.ac-contact-page .ac-hero .ac-actions{display:none}
.ac-hero .ac-crumb{color:#c3d0d9}
.ac-hero .ac-button:not(.ac-outline){background:#bd440c;border-color:#bd440c}
.ac-contact-page #anfrage .ac-form-panel{order:initial}
.ac-contact-page #anfrage .ac-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.ac-contact-page #anfrage{padding-top:42px}
.ac-contact-page .ac-crumb{margin-bottom:18px;color:#526472}
.ac-fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ac-fit-grid article{border-top:3px solid var(--ac-orange);padding:26px 0 0}
.ac-fit-grid .ac-kicker{display:block;font-size:11px;color:#526472}
.ac-fit-grid h3{font-size:24px;max-width:340px}
.ac-fit-grid p{margin-top:18px!important;color:#526472;line-height:1.75}
.ac-fit-grid .ac-text-link{font-size:14px}
.ac-refined .ac-card p,.ac-refined .ac-showcase-head>p,.ac-refined .ac-process-visual p{color:#526472}
.ac-refined .ac-service-body strong,.ac-refined .ac-project-grid span{color:#a83c0a}
.ac-header-cta,.ac-footer-cta,.ac-hero-home .ac-button:not(.ac-outline),.ac-home-cta .ac-button:not(.ac-outline){background:#bd440c;border-color:#bd440c}
.ac-header-cta:hover,.ac-footer-cta:hover,.ac-hero-home .ac-button:not(.ac-outline):hover,.ac-home-cta .ac-button:not(.ac-outline):hover{background:#9f3607;border-color:#9f3607}
.ac-mobile nav{color:#132735}
.ac-mobile nav a{min-height:44px}
.ac-nav-item>a{min-height:46px}
.ac-refined #anfrage,.ac-refined #details,.ac-refined #leistungen{scroll-margin-top:24px}
.ac-footer-bottom{font-size:12px}
.ac-footer-fact strong{font-size:14px}
.ac-footer-fact span{font-size:12px;color:#b5c1c9}
.ac-mobile-contact{display:none}
@media(max-width:1150px){
.ac-header .ac-nav-row{display:none}
.ac-fit-grid{gap:22px}
}
@media(max-width:800px){
.ac-header-row{min-height:76px;gap:14px}
.ac-logo{flex-basis:146px}
.ac-logo img{width:146px;height:62px}
.ac-fit-grid{grid-template-columns:1fr;gap:32px}
.ac-fit-grid h3{max-width:none}
.ac-contact-page .ac-hero{padding:30px 0}
.ac-contact-page .ac-hero .ac-actions{margin-top:20px}
.ac-contact-page #anfrage{padding-top:30px}
.ac-contact-page #anfrage .ac-detail-grid{gap:28px;grid-template-columns:1fr}
.ac-contact-page #anfrage .ac-section-head h2{font-size:28px}
.ac-contact-page #anfrage .ac-section-head>p{margin-top:12px}
.ac-mobile-contact{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;inset:auto 0 0;z-index:450;background:#07131c;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 20px #07131c26}
.ac-mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:14px;font-weight:700;color:#fff;border:1px solid #71818d}
.ac-mobile-contact a:last-child{background:#bd440c;border-color:#bd440c}
body.ac-refined{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.ac-refined .cmplz-manage-consent{bottom:calc(76px + env(safe-area-inset-bottom))!important}
.ac-service-body li,.ac-process-visual p{font-size:15px}
.ac-hero-home .ac-lead{font-size:17px}
.ac-hero-home{background-image:linear-gradient(90deg,rgba(5,16,24,.94),rgba(5,16,24,.78)),url('https://astanconstruction.de/wp-content/uploads/2026/09/Astan-Construction-Halle-Mitarbeiter.png')}
.ac-hero-trust span{font-size:13px}
}
.ac-credentials{background:#fff}.ac-credentials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dbe2e6;border:1px solid #dbe2e6;margin-top:38px}.ac-credentials-grid article{background:#fff;padding:30px 26px 32px;min-height:230px}.ac-credentials-grid article>span{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#a83c0a;margin-bottom:28px}.ac-credentials-grid h3{font-size:22px;line-height:1.25;margin:0 0 14px}.ac-credentials-grid p{font-size:14px;line-height:1.7;color:#526472;margin:0}.ac-credentials .ac-showcase-head>p{max-width:560px}@media(max-width:1000px){.ac-credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ac-credentials-grid{grid-template-columns:1fr;margin-top:28px}.ac-credentials-grid article{min-height:0;padding:24px 22px}.ac-credentials-grid article>span{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.ac-service-card,.ac-project-grid img{transition:none}.ac-service-card:hover,.ac-project-grid a:hover img{transform:none}}
.ac-card-top{color:#5f7380}.ac-showcase-head>p{color:#526472}.ac-benefit-strip small{color:#526472}.ac-service-no,.ac-service-body strong,.ac-benefit-strip span,.ac-project-grid span,.ac-client-grid article>span{color:#a83c0a}.ac-process-visual article>span{background:#bd440c}
/* Genuine work photo: dust extraction in the demolition service sections. */
.ac-method-photo{background:#f1f5f7}.ac-method-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:clamp(30px,5vw,85px);align-items:center}.ac-method-grid figure{margin:0;min-width:0}.ac-method-grid figure img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;object-position:center}.ac-method-grid figcaption{font-size:13px;line-height:1.6;color:#526472;margin-top:12px}.ac-method-grid h2{font-size:clamp(28px,3.1vw,43px);line-height:1.14;margin:15px 0 22px;overflow-wrap:normal;word-break:normal}.ac-method-grid div>p:not(.ac-kicker){color:#526472;line-height:1.8;font-size:17px;max-width:570px}@media(max-width:800px){.ac-method-grid{grid-template-columns:1fr;gap:26px}.ac-method-grid figure img{height:auto;max-height:none;object-fit:contain}.ac-method-photo{padding-top:54px;padding-bottom:54px}}
/* Prevent mid-word breaks in narrow service cards while retaining natural breaks at spaces. */
.ac-refined .ac-cards .ac-card h3{font-size:clamp(18px,1.6vw,22px);line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:none}
.ac-refined .ac-cards .ac-card{min-width:0}
/* Mobile overflow fix: German compound words and grid min-content must not widen the viewport. */
@media(max-width:800px){.ac-refined .ac-hero-grid{grid-template-columns:minmax(0,1fr);min-width:0}.ac-refined .ac-hero-grid>*{min-width:0;max-width:100%}.ac-refined .ac-hero h1{max-width:100%;overflow-wrap:anywhere;hyphens:auto}.ac-refined .ac-hero .ac-lead,.ac-refined .ac-hero .ac-kicker,.ac-refined .ac-hero .ac-crumb{max-width:100%;overflow-wrap:anywhere;hyphens:auto}.ac-refined .ac-hero .ac-actions{max-width:100%}}

/* Schadensanierung: the long German service titles must wrap naturally on narrow phones. */
@media(max-width:800px){.ac-refined .ac-hero-damage .ac-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.ac-refined .ac-hero-damage .ac-hero-grid>div{min-width:0;max-width:100%}.ac-refined .ac-hero-damage h1{max-width:100%;font-size:clamp(30px,7.6vw,40px);line-height:1.12;letter-spacing:-.04em;hyphens:auto;overflow-wrap:anywhere}.ac-refined .ac-hero-damage .ac-lead{font-size:16px;line-height:1.65;overflow-wrap:break-word}.ac-refined .ac-hero-damage .ac-kicker{font-size:11px;line-height:1.5;letter-spacing:.12em;overflow-wrap:break-word}.ac-refined .ac-hero-damage .ac-project-panel{min-width:0;max-width:100%;padding:24px 22px}.ac-refined .ac-hero-damage .ac-project-panel>div{min-width:0}.ac-refined .ac-hero-damage .ac-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.ac-refined .ac-hero-damage .ac-actions .ac-button{min-width:0;width:100%;justify-content:center;overflow-wrap:break-word}}
/* Improve text contrast on light surfaces without changing Astan's brand palette. */
.ac-refined .ac-showcase-head>p,.ac-refined .ac-process-visual p,.ac-refined .ac-subnav span{color:#526472}
.ac-refined .ac-nav-item>a:hover,.ac-refined .ac-client-grid article>span{color:#a83c0a}
/* Muted text on pale editorial panels: maintain AA contrast for standard-size body copy. */
.ac-refined .ac-paper .ac-editorial p,.ac-refined .ac-paper .ac-cost>p,.ac-refined .ac-paper .ac-cost .ac-note,.ac-refined .ac-paper .ac-faq details>p,.ac-refined .ac-paper .ac-section-head>p:not(.ac-kicker){color:#526472}
.ac-refined .ac-process article>span{color:#a83c0a}
/* Contact preview uses the same pale background as editorial sections. */
.ac-refined .ac-form-preview,.ac-refined .ac-form-hint,.ac-refined .ac-form-panel .ac-form-documents p{color:#526472}


/* Responsive visual audit, 17 October 2026: readable type, balanced grids and form space. */
.ac-refined .ac-contact-page .ac-crumb{color:#c3d0d9}
.ac-refined .ac-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ac-refined .ac-cards .ac-card h3{overflow-wrap:break-word;hyphens:auto}
.ac-refined .ac-showcase-head h2{hyphens:manual;overflow-wrap:break-word}
@media(min-width:1001px){.page-id-1463 .ac-credentials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:801px){
.ac-refined .ac-contact-page #anfrage .ac-detail-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,80px)}
}
@media(min-width:801px) and (max-width:1150px){
.ac-refined .ac-cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-refined .ac-contact-page .ac-form-grid{grid-template-columns:1fr;gap:0}
}
@media(max-width:800px){
.ac-refined .ac-cards-3{grid-template-columns:minmax(0,1fr)}
.ac-refined .ac-hero h1{hyphens:manual;overflow-wrap:break-word;word-break:normal}
.ac-refined .ac-hero .ac-lead,.ac-refined .ac-hero .ac-kicker,.ac-refined .ac-hero .ac-crumb{hyphens:manual;overflow-wrap:break-word}
.ac-refined .ac-hero-home h1{hyphens:none;overflow-wrap:normal}
}
@media(max-width:520px){
.ac-refined .ac-hero:not(.ac-hero-home):not(.ac-hero-damage) h1{font-size:clamp(32px,8.5vw,39px);line-height:1.12;letter-spacing:-.04em}
}

/* Both consent documents currently point to Datenschutz: display the destination once. */
.ac-refined .cmplz-documents li:has(>a.cookie-statement[href*="/datenschutz/"]):has(+li>a.privacy-statement[href*="/datenschutz/"]){display:none}

/* Long German section headings must not expand a grid track on narrow screens. */
.ac-refined .ac-detail-grid>*,.ac-refined .ac-head-row>*{min-width:0}
.ac-refined .ac-detail-grid h2{hyphens:auto;overflow-wrap:break-word}

/* Keep legal footer links above the persistent consent control and mobile contact bar. */
.ac-refined .ac-footer-bottom{padding-bottom:56px}

/* Audit 18 October 2026: preserve assistive labels without visual text columns. */
.ac-legal-content .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* White process numerals remain legible on the existing orange background. */
.ac-refined .ac-process-visual article>span{color:#fff}
/* Separate the service cards from the subsequent link group. */
.ac-refined #leistungen .ac-priority-links{margin-top:32px}
