/* V17.0 ONLY: tasteful click affordances and small surface refinements.
   Approved V16 Mercedes glass showcase, hero crop, section typography and legal texts preserved. */
:root {--v17-aqua:#45d3e1;--v17-deep:#093d50;--v17-border:rgba(117,215,227,.46)}
/* Focus and interaction: no fake actions or clickable surfaces without real href/button. */
a:focus-visible,button:focus-visible{outline:3px solid #6ddfe9;outline-offset:4px}
#start .hero-actions .hero-primary-v17{gap:11px;box-shadow:0 12px 30px rgba(4,23,31,.28),inset 0 1px rgba(255,255,255,.42);background:linear-gradient(115deg,#75e6ed,#31c2d5);border-color:rgba(191,254,255,.66);font-size:14px}
#start .hero-actions .hero-primary-v17 .icon-v17{stroke-width:2.1;flex:none}
#start .hero-actions .hero-phone-v17{gap:10px;border-color:rgba(234,253,255,.85);background:rgba(3,34,49,.83);box-shadow:0 10px 25px rgba(0,10,19,.26);font-size:14px;white-space:nowrap}
#start .hero-actions .hero-phone-v17 .icon-phone-v16{width:20px;height:20px;stroke-width:1.9}
#start .hero-actions a:hover{transform:translateY(-2px)}
.hero-ribbon .ribbon-inner .ribbon-cta-v17{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:37px;padding:8px 18px;border-radius:999px;border:1px solid #25a9c1;background:linear-gradient(125deg,#e0f9fb,#a4ebf0);box-shadow:0 5px 14px rgba(3,103,122,.12);text-decoration:none;color:#083c4b;font-size:13px;font-weight:850;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.hero-ribbon .ribbon-inner .ribbon-cta-v17:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(3,103,122,.21);background:#c7f3f6}
#ablauf .cta-process-v17{border-color:rgba(53,158,180,.32);gap:10px}
#ablauf .cta-process-v17 .icon-v17{flex:none}
.section-action-v17{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding-bottom:4px!important;text-decoration:none;border-bottom:1px solid currentColor;transition:color .22s ease, transform .22s ease}
.section-action-v17:hover{transform:translateX(3px);color:#9aedf3}
#leistungen .section-action-v17:hover{color:#00677d}
/* FAQ subtle single diagonal light pass when reveal enters; fallback static sheen. */
#fragen .faq-aside-v17{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(89,193,209,.50);background:linear-gradient(145deg,#124c60,#082e3e 75%);box-shadow:0 22px 48px rgba(8,64,78,.17),inset 0 1px rgba(212,250,251,.13)}
#fragen .faq-aside-v17>*{position:relative;z-index:2}
#fragen .faq-aside-v17::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 92% 2%,rgba(116,239,248,.16),transparent 51%)}
#fragen .faq-aside-v17::after{content:"";position:absolute;z-index:1;pointer-events:none;inset:-45%;transform:translateX(-180%) rotate(27deg);background:linear-gradient(90deg,transparent 42%,rgba(184,249,251,.20) 50%,transparent 58%);opacity:0}
#fragen .faq-aside-v17.revealed::after{animation:v17-sheen 1.25s cubic-bezier(.22,.7,.27,1) .75s 1 both}
@keyframes v17-sheen{0%{transform:translateX(-160%) rotate(27deg);opacity:0}25%{opacity:.55}70%{opacity:.45}100%{transform:translateX(140%) rotate(27deg);opacity:0}}
#fragen .faq-call-v17{display:inline-flex;gap:10px;min-height:45px;padding:11px 21px;border:1px solid #7de3ed;background:linear-gradient(120deg,#76e7ee,#36c4d7);color:#07394a;border-radius:999px;box-shadow:0 9px 22px rgba(0,21,31,.22),inset 0 1px rgba(255,255,255,.28);font-weight:800}
#fragen .faq-call-v17:hover{color:#052e3a;background:#a1eff1;box-shadow:0 12px 25px rgba(0,21,31,.27)}
#fragen .faq-call-v17 .icon{flex:none}
/* Google buttons and real address: visual emphasis without false rating claims. */
#bewertungen .review-google-v17{min-height:44px;background:linear-gradient(120deg,#0b6b80,#093d54);border-color:rgba(4,98,120,.68)!important;color:#fff!important;font-weight:800;border-radius:999px;padding:11px 17px!important;box-shadow:0 10px 18px rgba(7,79,96,.16)!important;text-decoration:none!important;white-space:normal;line-height:1.35}
#bewertungen .review-google-v17:hover{background:#08546b;box-shadow:0 14px 24px rgba(7,79,96,.22)!important}
#bewertungen .review-google-v17 .icon-review-v16{color:#e5b23f}
#bewertungen .review-google-v17 .icon-v17{flex:none;margin-left:2px}
#bewertungen .review-location{margin-top:15px;gap:14px;align-items:center}
#bewertungen .review-address-v17{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:750;line-height:1.5;color:#153f50}
#bewertungen .review-address-v17 .icon-v17{color:#168fa4;flex:none}
#bewertungen .review-map-v17{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;border:1px solid rgba(39,167,184,.71);padding:10px 16px;background:linear-gradient(125deg,#f3fcfd,#caf3f4);color:#085b70;font-size:13px;text-decoration:none;box-shadow:0 7px 14px rgba(13,113,130,.12);font-weight:850;line-height:1.3;transition:transform .22s ease,box-shadow .22s ease}
#bewertungen .review-map-v17:hover{transform:translateY(-2px);box-shadow:0 11px 19px rgba(13,113,130,.18);color:#053c4f}
#bewertungen .review-map-v17 svg{flex:none}
/* Contact address becomes explicit destination without changing legal address data. */
#kontakt .contact-methods{gap:10px}
#kontakt .contact-phone-v17{border-color:rgba(152,232,243,.68)!important;box-shadow:0 13px 30px rgba(4,34,47,.19),inset 0 1px rgba(255,255,255,.12)!important}
#kontakt .contact-whatsapp-v17{border-color:rgba(136,223,208,.50)!important;box-shadow:0 11px 24px rgba(4,34,47,.15)!important}
#kontakt .contact-phone-v17 .contact-method-icon{background:linear-gradient(120deg,#169bb1,#34c3d3);box-shadow:0 4px 10px rgba(4,32,48,.16)}
#kontakt .contact-whatsapp-v17 .contact-method-icon{background:#008c67!important;box-shadow:0 5px 13px rgba(0,21,29,.12)}
#kontakt .location-card-v17{margin-top:18px;padding:12px 14px;display:flex;align-items:center;gap:13px;min-width:0;max-width:100%;border-radius:17px;border:1px solid rgba(153,229,239,.52);background:linear-gradient(120deg,rgba(141,213,222,.17),rgba(25,85,101,.20));box-shadow:0 9px 25px rgba(1,21,35,.13);text-decoration:none;color:#f5fcfd;transition:transform .2s ease, border-color .2s ease,box-shadow .2s ease}
#kontakt .location-card-v17:hover{transform:translateY(-2px);border-color:#a8f5f7;box-shadow:0 13px 28px rgba(1,21,35,.21)}
#kontakt .location-card-v17 .location-pin-v17{flex:none;display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:linear-gradient(140deg,#118aa4,#186e84);color:#e6fbfc}
#kontakt .location-card-v17 .location-content-v17{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px}
#kontakt .location-card-v17 strong{font-size:14px;font-weight:800;line-height:1.4;color:#fff;overflow-wrap:anywhere}
#kontakt .location-card-v17 small{font-size:12px;font-weight:500;line-height:1.45;color:#dbf1f3}
#kontakt .location-card-v17>.icon-v17{flex:none;color:#b4f4f6}
/* Form is already geometrically aligned in V16 — intentionally preserve it unchanged. */
#kontakt .form-card .form-button-v16:hover{box-shadow:0 11px 22px rgba(0,29,46,.2)}
.site-footer .footer-address-v17{display:flex;align-items:center;gap:9px}
.site-footer .footer-address-v17 .icon-v17{flex:none;color:#68dce6}
@media(max-width:900px){
 .hero-ribbon .ribbon-inner .ribbon-cta-v17{padding:8px 12px;font-size:11px;min-height:35px}
 #bewertungen .review-address-v17{font-size:13.5px}
}
@media(max-width:590px){
 #start .hero-actions .hero-primary-v17,#start .hero-actions .hero-phone-v17{font-size:12.5px;min-height:44px;padding:10px 15px}
 .hero-ribbon .ribbon-inner .ribbon-cta-v17{min-height:32px;padding:7px 10px;font-size:10.5px;max-width:100%;white-space:normal;text-align:center;line-height:1.2}
 #fragen .faq-call-v17{width:auto;max-width:100%;font-size:13px}
 #bewertungen .review-google-v17{font-size:12px}
 #bewertungen .review-map-v17{font-size:12px}
 #kontakt .location-card-v17{padding:11px;gap:9px}
 #kontakt .location-card-v17 strong{font-size:12.5px}
 #kontakt .location-card-v17 small{font-size:11.5px}
 #kontakt .location-card-v17 .location-pin-v17{width:38px;height:38px}
}
@media(max-width:360px){
 .hero-ribbon .ribbon-inner .ribbon-cta-v17{font-size:10px;padding:6px 7px}
 #start .hero-actions .hero-primary-v17,#start .hero-actions .hero-phone-v17{font-size:11.5px;min-height:40px}
}
@media(prefers-reduced-motion:reduce){
 #fragen .faq-aside-v17.revealed::after{animation:none}
 .hero-ribbon .ribbon-inner .ribbon-cta-v17,.section-action-v17,#bewertungen .review-map-v17,#kontakt .location-card-v17{transition:none}
}
