/* Scoped public shop additions: service detail, useful FAQ, responsive photography. */
.shop-public .hero-photo picture { display:block; min-width:0; }
.shop-public .seo-lead { max-width:780px; margin:-12px 0 32px; color:var(--shop-muted); font-size:18px; }
.shop-public .service-more { display:inline-block; margin-top:22px; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.shop-public .seo-services { background:#f5f8fe; }
.shop-public .seo-service-list { border-top:1px solid #d9e3f3; }
.shop-public .seo-service-list article { display:grid; grid-template-columns:minmax(140px, .65fr) minmax(0, 2fr); gap:40px; padding:36px 0; border-bottom:1px solid #d9e3f3; scroll-margin-top:28px; }
.shop-public .seo-service-label { color:#093ccc; font-size:14px; font-weight:650; }
.shop-public .seo-service-list h3 { margin:0 0 14px; font-size:25px; line-height:1.3; letter-spacing:-.5px; }
.shop-public .seo-service-list p { max-width:820px; margin:0 0 16px; color:var(--shop-muted); }
.shop-public .seo-text-link { display:inline-block; color:#093ccc; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.shop-public .seo-faq .wrap { max-width:1080px; }
.shop-public .seo-faq details { border-bottom:1px solid #d9e3f3; }
.shop-public .seo-faq details:first-of-type { border-top:1px solid #d9e3f3; }
.shop-public .seo-faq summary { cursor:pointer; padding:22px 4px; font-size:18px; font-weight:650; }
.shop-public .seo-faq summary::marker { color:#093ccc; }
.shop-public .seo-faq summary:focus-visible { outline:3px solid #093ccc; outline-offset:2px; }
.shop-public .seo-faq details > div { padding:0 24px 24px; max-width:900px; color:var(--shop-muted); }
.shop-public .seo-faq details p { margin:0 0 12px; }
.shop-public .seo-faq details p a { text-decoration:underline; text-underline-offset:3px; }
.shop-public .section.alt .contact-save-copy .muted { color:#c5d7f1; }
.shop-public #fragen { scroll-margin-top:24px; }
@media(max-width:760px) {
 .shop-public .seo-service-list article { grid-template-columns:minmax(0,1fr); gap:10px; padding:28px 0; }
 .shop-public .seo-service-list h3 { font-size:23px; }
 .shop-public .seo-lead { font-size:17px; }
 .shop-public .seo-faq summary { font-size:17px; }
 .shop-public .navlinks { gap:12px 18px; }
 .shop-public .navlinks .btn { margin-left:0; }
}
