/* Gemeinsame Maße für Website, Galerie und Rechtsseiten. */
body * { letter-spacing:0 !important; }
body :is(h1,h2), body :is(h1,h2) * { letter-spacing:-.035em !important; }
body :is(h3,h4), body :is(h3,h4) * { letter-spacing:-.03em !important; }
body .legal h2 { letter-spacing:-.03em !important; }
body :is(.label,.eyebrow,.salon-kicker), body .salon-kicker > span { letter-spacing:.16em !important; text-transform:uppercase; }
.opening .hero-meta h1.label { font-size:var(--alex-caption); margin:0; line-height:1.5; font-weight:400; text-align:right; }
.opening #hero-title { position:relative; line-height:.9; margin:28px 0 32px; }
.ha-symbols { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
body .ha-icon, body a .ha-icon, body button .ha-icon { display:block; width:16px; height:16px; flex:0 0 16px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:square; }
body :is(a, button):has(.ha-icon):not(.menu) { display:inline-flex; align-items:center; justify-content:center; gap:12px; line-height:1; }
body a:is(.inline-link,.salon-back,.top-link,.signature-campaign-link):has(.ha-icon), body .hero-bottom a:has(.ha-icon), body .instagram a:has(.ha-icon) { gap:10px; }
body .site-header .book-button { height:44px; padding:0 12px; font:400 15px/1 'Haircut Sans',sans-serif; white-space:nowrap; }
body :is(.big-link,.booking-cta,.salon-gallery-link):has(.ha-icon) { height:64px; padding:0 20px; }
body .big-link:has(.ha-icon) { width:100%; padding-inline:0; }
body .mobile-booking a:has(.ha-icon) { width:100%; height:44px; padding:0 16px; }
body a.salon-back { border-bottom:1px solid currentColor; width:max-content; padding:0; text-decoration:none; }
.salon-preview,.salon-page-main,.site-footer { padding-inline:var(--gutter); }
.legal.section { margin-inline:0; max-width:none; }
.site-footer { padding-block:40px; }
.site-footer .footer-top { padding:0 0 24px; }
.site-footer .footer-brand { margin:0; padding:0; display:block; }
.site-footer .footer-brand img { display:block; width:auto; height:70px; object-position:left center; transform:translateX(-3.06%); }
.site-footer .ft-themen { padding:0 0 24px; font-size:14px; }
.site-footer .eyebrow { margin:0 0 8px; font-size:14px; }
.site-footer .ft-themen ul { display:flex; flex-wrap:wrap; gap:8px 16px; padding:0; margin:0; list-style:none; }
.site-footer .ft-themen a,.site-footer .footer-bottom a { min-height:0; min-width:0; }
.site-footer .ft-themen a:hover,.site-footer .footer-bottom a:hover { text-decoration:underline; }
.site-footer .footer-bottom { display:grid; justify-content:stretch; gap:16px; border:0; padding:0; font-size:14px; line-height:24px; }
.site-footer .footer-contact { gap:0; }
.site-footer .footer-contact a:first-of-type { margin-top:8px; }
.site-footer .footer-bottom nav { border-top:1px solid var(--line); padding-top:16px; display:flex; align-items:center; gap:8px; }
.salon-gallery-close { margin-top:0; padding-top:32px; border-top:0; }
@media(max-width:700px){
 .opening #hero-title { margin:24px 0 22px; }
 body .site-header .book-button { padding-inline:8px; }
 .site-footer { padding-block:32px 88px; }
 .site-footer .footer-brand img { height:56px; }
}
.opening .hero-meta h1.label { display:block; }
.request-details summary:has(.ha-icon) { display:inline-flex; width:100%; align-items:center; justify-content:center; gap:12px; line-height:1; }
@media(max-width:700px){
 .opening .hero-meta { align-items:center; gap:12px; flex-wrap:wrap; }
 .opening .hero-meta h1.label { text-align:left; }
 .signature-campaign { overflow:clip; }
}
@media(max-width:700px){
 .opening .hero-word { font-size:13.4vw; }
}
