/* Shared homepage components for content subpages. Scoped to the approved lower-page blocks. */
.customer-reviews{background:#293239;color:#fff;overflow:hidden;padding-top:42px;padding-bottom:34px}
.customer-reviews .reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:18px 36px;align-items:start}
.customer-reviews .reviews-heading{grid-column:1;grid-row:1;align-self:center;min-width:0}
.customer-reviews h2{color:#fff;font-size:clamp(36.4px,3.64vw,46.8px);line-height:1.2;margin:0;letter-spacing:-.8px}
.customer-reviews h2>span,.customer-reviews h2>em{display:block}
.customer-reviews h2>em{color:#50c3ed;margin-top:.18em}
.customer-reviews .reviews-footer{grid-column:2;grid-row:2;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;min-width:0}
.customer-reviews .reviews-subhead{color:#e0e9ee;font-size:15px;font-weight:700;line-height:1.6;margin:0 0 0 auto;text-align:right}
.customer-reviews .reviews-viewport{grid-column:2;grid-row:1;min-width:0;overflow-x:auto;padding:0}
.customer-reviews .reviews-track,.customer-reviews .reviews-group{display:flex;align-items:stretch;width:max-content}
.customer-reviews .reviews-group{gap:20px;padding-right:20px}
.customer-reviews .review-card{width:var(--review-card-width,280px);flex-shrink:0;background:#f1f6f8;color:#293239;border:1px solid #e0e9ed;border-radius:7px;padding:16px 12px;display:flex;flex-direction:column;box-sizing:border-box}
.customer-reviews .review-person{display:flex;align-items:center;gap:12px;min-height:36px;margin-bottom:8px}
.customer-reviews .review-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#e5f4fc;color:#007eb7;font-size:16px;font-weight:700}
.customer-reviews .review-person strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.customer-reviews .review-stars{color:#eaa700;letter-spacing:2px;font-size:20px;line-height:1.2;margin-bottom:6px}
.customer-reviews .review-text{font-size:15px;line-height:1.8;margin:0 0 10px;color:#48545c}
.customer-reviews.reviews-ready .review-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.customer-reviews .review-more{display:none;align-self:flex-start;font-size:14px;font-weight:700;padding:0;background:transparent;border:0;color:#007eb7;margin:0 0 8px;min-height:28px}
.customer-reviews.reviews-ready .review-more{display:block}
.customer-reviews .review-source{font-size:13px;color:#64717b;margin-top:auto;padding-top:10px;border-top:1px solid #edf1f3}
.customer-reviews.reviews-ready .reviews-viewport{overflow:hidden}
.customer-reviews.reviews-ready .reviews-track{animation:reviews-drift var(--reviews-duration,180s) linear infinite;will-change:transform}
.customer-reviews .reviews-viewport:hover .reviews-track,.customer-reviews .reviews-viewport:focus-within .reviews-track,.customer-reviews[data-review-open] .reviews-track{animation-play-state:paused}
.customer-reviews .reviews-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:15px;line-height:1.6;font-weight:700}
.customer-reviews .reviews-links a{color:#50c3ed;text-decoration:underline;text-underline-offset:4px}
.review-modal{max-width:620px;width:calc(100% - 40px);max-height:80vh;overflow:auto;background:#fff;color:#293239;border:0;border-radius:8px;padding:32px;box-shadow:0 20px 80px #14232d55}
.review-modal::backdrop{background:#14232d99}
.review-modal h3{font-size:24px;margin:0 0 12px}
.review-modal p{font-size:16px;line-height:1.8;white-space:pre-line}
.review-modal .review-modal-stars{color:#b47700;letter-spacing:3px}
.review-modal button{font:inherit;background:#293239;color:white;border:0;padding:12px 20px;border-radius:4px;cursor:pointer}
@keyframes reviews-drift{to{transform:translateX(-50%)}}
@media(min-width:901px) and (max-width:1100px){.customer-reviews .reviews-links,.customer-reviews .reviews-subhead{font-size:13px}}
@media(max-width:900px){.customer-reviews .reviews-layout{grid-template-columns:minmax(0,1fr);gap:20px}.customer-reviews .reviews-heading,.customer-reviews .reviews-viewport,.customer-reviews .reviews-footer{grid-column:1;grid-row:auto}.customer-reviews .reviews-heading{order:0}.customer-reviews .reviews-viewport{order:1}.customer-reviews .reviews-footer{order:2}}
@media(max-width:600px){.customer-reviews{padding-top:32px;padding-bottom:28px}.customer-reviews .review-card{padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.customer-reviews.reviews-ready .reviews-track{animation:none;transform:none}.customer-reviews.reviews-ready .reviews-viewport{overflow-x:auto}.customer-reviews .reviews-group[aria-hidden="true"]{display:none}}

.customer-reviews .review-text{font-size:16px;color:#35434c;line-height:1.7}
.customer-reviews .review-person strong{font-size:16px}
.customer-reviews .review-source{color:#53626d}

.regional .cities>a{font:inherit;color:inherit;display:flex;justify-content:space-between;width:100%;background:white;border:0;border-bottom:1px solid #dee9ed;text-align:left;font-size:25px;padding:14px 12px;min-height:56px;line-height:1.3;align-items:center;gap:12px;transition:background-color .2s ease,color .2s ease}
.regional .cities>a:hover{background:rgba(0,155,223,.32);color:var(--dark)}
.regional .cities>a:hover span{color:#087da7}
.regional .cities>a:hover .link-arrow{transform:translateX(3px) rotate(45deg)}
@media(max-width:760px){.regional .cities>a{font-size:23px}}
@media(prefers-reduced-motion:reduce){.regional .cities>a{transition:none}}
/* Homepage regional copy sits between the first and last city names. */
#region-gesamt.regional{padding-top:40px;padding-bottom:32px;row-gap:16px}
#region-gesamt>.regional-copy{container-type:inline-size;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:44px 0;min-width:0}
#region-gesamt>.regional-copy>.eyebrow{display:block;min-height:0;padding:0;margin:0;font-size:clamp(17.55px,1.89vw,27px);font-size:clamp(17.55px,5.02875cqi,27px);line-height:1.2;letter-spacing:.6px}
/* Grow the heading into the adjacent gaps; retain its original flow height. */
#region-gesamt>.regional-copy>h2{--regional-heading-base:clamp(22.95px,2.43vw,35.1px);--regional-heading-base:clamp(22.95px,6.48cqi,35.1px);font-size:calc(var(--regional-heading-base)*1.3);line-height:1.2;margin:calc(var(--regional-heading-base)*-.36) 0;flex-shrink:0}
/* About 15% less space above the closing two lines, without moving the motto. */
#region-gesamt>.regional-copy>.regional-tagline{position:relative;top:calc(clamp(18px,4.4vw,60px)*-.15)}
#region-gesamt>.regional-copy>.regional-motto{font-size:clamp(13.5px,1.35vw,18.9px);font-size:clamp(13.5px,3.51cqi,18.9px);line-height:1.4;margin:0;text-wrap:initial}
#region-gesamt>.regional-copy>.regional-tagline{font-size:clamp(13.5px,1.2825vw,18.225px);font-size:clamp(13.5px,3.375cqi,18.225px);line-height:1.5;margin:0;max-width:none;text-wrap:initial}
#region-gesamt>.service-area{margin-top:0}
@media(max-width:760px){#region-gesamt.regional{padding-top:28px;padding-bottom:24px;row-gap:22px}#region-gesamt>.regional-copy{padding:0;gap:18px}}


/* Match homepage typography despite detail-page heading rules. */
.detail-page .customer-reviews h2{font-size:clamp(36.4px,3.64vw,46.8px);line-height:1.2;letter-spacing:-.8px;margin:0;color:#fff}
#region-gesamt .service-area summary{color:#007da9}
#region-gesamt .service-area-list a{text-decoration:underline;text-underline-offset:3px}
section[aria-labelledby="anfahrt-title"] .button-call{color:#293239;border-color:#087da7}
section[aria-labelledby="anfahrt-title"] .button-call:hover{background:#f1f6f8;color:#293239}
