/*
Theme Name: HaarKunst Basis
Theme URI: https://www.friseursalon-bad-breisig.de/
Author: Welat Design / HaarKunst
Description: WordPress Parent-Theme für Friseursalon HaarKunst. Technische Grundstruktur nach dem bewährten Komplettpaket-Prinzip mit zentraler Suite-Verwaltung.
Version: 3.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: haarkunst-basis
*/
:root{
  --hk-brown:#683721;
  --hk-brown-dark:#4c2818;
  --hk-gray:#494c51;
  --hk-gray-dark:#323438;
  --hk-gray-soft:#676a6f;
  --hk-white:#fff;
  --hk-off:#f7f7f7;
  --hk-line:#d8d8d8;
  --hk-text:#4a4d51;
  --hk-heading:#44474b;
  --hk-success:#3d9a36;
  --hk-danger:#c8291d;
  --hk-gold:#fbbc04;
  --hk-max:1640px;
  --hk-content:1320px;
  --brand-font:"Orbitron","Arial Narrow",Arial,sans-serif;
  --body-font:Arial,Helvetica,sans-serif;
  --shadow:0 20px 48px rgba(0,0,0,.15)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--hk-text);font:14px/1.62 var(--body-font);text-rendering:optimizeLegibility}body.admin-bar .site-header{top:32px}a{color:var(--hk-brown);text-underline-offset:3px}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.wrap{width:min(calc(100% - 42px),var(--hk-max));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed!important;left:1rem;top:1rem;width:auto;height:auto;clip:auto;background:#fff;padding:.8rem 1rem;z-index:9999}.eyebrow{font-family:var(--brand-font);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--hk-brown)}h1,h2,h3,h4{font-family:var(--brand-font);font-weight:400;color:var(--hk-heading);line-height:1.18}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border:1px solid var(--hk-brown);border-radius:18px;background:var(--hk-brown);color:#fff;font-size:11px;font-weight:700;text-decoration:none;transition:.2s}.button:hover,.button:focus-visible{background:var(--hk-brown-dark);border-color:var(--hk-brown-dark);color:#fff;transform:translateY(-1px)}

/* Header – proportions from the original HaarKunst desktop site */
.site-header{position:sticky;top:0;z-index:90;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08)}.hk-topbar{min-height:42px;background:var(--hk-gray);color:#fff}.hk-topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}.hk-legal-top,.hk-topbar__contact{display:flex;align-items:center;gap:8px}.hk-legal-top button,.hk-legal-top a{appearance:none;padding:0;border:0;background:transparent;color:#fff;text-decoration:none;font-size:12px;cursor:pointer}.hk-legal-top button:hover,.hk-legal-top a:hover{text-decoration:underline}.hk-topbar__contact{gap:18px}.hk-topbar__contact a{display:flex;align-items:center;gap:5px;color:#fff;text-decoration:none}.hk-icon{font-size:13px}.hk-mainbar{background:#fff}.brand-row{min-height:100px;display:flex;align-items:center;gap:28px}.brand-logo-link{display:flex;flex:0 0 auto}.brand-logo--header{width:310px;height:auto;max-height:82px;object-fit:contain}.main-nav{margin-left:auto;min-width:0}.main-nav ul{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.main-nav li{position:relative}.main-nav a{display:block;padding:20px 15px;color:#303236;font:500 11px/1.2 var(--brand-font);letter-spacing:.025em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current-menu-ancestor>a{color:var(--hk-brown)}.main-nav .sub-menu{position:absolute;left:0;top:100%;z-index:30;min-width:245px;display:block;padding:7px 0;background:#fff;border-top:3px solid var(--hk-brown);box-shadow:0 15px 32px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(7px);transition:.18s}.main-nav .sub-menu a{padding:11px 16px;border-bottom:1px solid #eee;font-size:10px}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.header-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:41px;padding:10px 18px;border-radius:17px;background:var(--hk-brown);color:#fff;font-weight:700;text-decoration:none;font-size:12px}.header-cta:hover{background:var(--hk-brown-dark);color:#fff}.menu-toggle{display:none;width:46px;height:42px;padding:9px;border:1px solid #d7d7d7;background:#fff}.menu-toggle>span:not(.screen-reader-text){display:block;height:2px;margin:4px 0;background:var(--hk-gray)}

/* Home hero – 1920px reference uses ~78/22 split */
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;width:100%;min-height:760px;background:var(--hk-gray)}.home-hero__visual{position:relative;min-height:760px;background:#aaa var(--hero-image) center/cover no-repeat;overflow:hidden}.home-hero__overlay{display:none}.home-hero__copy{position:absolute;z-index:2;left:6.8%;right:5%;top:49%;transform:translateY(-50%);text-align:center;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.42)}.home-hero__copy h1{max-width:1050px;margin:0 auto 18px;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,3.4vw,58px);font-weight:800;line-height:1.05;text-transform:uppercase}.home-hero__copy p{margin:0 0 25px;font:400 clamp(26px,2.3vw,40px)/1.15 Georgia,"Times New Roman",serif}.hk-hero-button{border:2px solid #fff;border-radius:21px;padding-inline:24px;background:var(--hk-brown)}.home-hero__hours{min-width:0;background:var(--hk-gray);color:#fff;padding:48px 18px 22px;box-shadow:-22px 20px 42px rgba(0,0,0,.12)}.hk-hours-missing{margin:0 12px;padding:24px;border:1px solid rgba(255,255,255,.3);border-radius:12px;text-align:center}.hk-hours-missing strong{font-family:var(--brand-font)}

/* Exact-ish skin for supplied Öffnungszeiten 4.1.14 */
.home-hero__hours .oeffnungszeiten-card,.page-hero-hours .oeffnungszeiten-card{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;color:#fff!important}.home-hero__hours .oeffnungszeiten-header,.page-hero-hours .oeffnungszeiten-header{display:block!important}.home-hero__hours .oeffnungszeiten-title,.page-hero-hours .oeffnungszeiten-title{display:none!important}.home-hero__hours .oz-google-reviews,.page-hero-hours .oz-google-reviews{margin:0 0 22px!important;padding:17px 15px!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:11px!important;background:rgba(255,255,255,.035)!important;text-align:center}.home-hero__hours .oz-google-reviews h3,.page-hero-hours .oz-google-reviews h3,.home-hero__hours .oz-google-reviews strong,.page-hero-hours .oz-google-reviews strong{color:#fff!important}.home-hero__hours .oz-google-stars,.page-hero-hours .oz-google-stars{justify-content:center!important}.home-hero__hours .oz-google-star,.page-hero-hours .oz-google-star{font-size:34px!important;color:var(--hk-gold)!important}.home-hero__hours .oz-google-summary,.page-hero-hours .oz-google-summary{justify-content:center!important}.home-hero__hours .oz-google-actions,.page-hero-hours .oz-google-actions{justify-content:center!important}.home-hero__hours .oeffnungszeiten-status,.page-hero-hours .oeffnungszeiten-status{margin:0 0 16px!important;padding:20px 14px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:11px!important;background:rgba(255,255,255,.03)!important}.home-hero__hours .oeffnungszeiten-status-primary,.page-hero-hours .oeffnungszeiten-status-primary{display:inline-flex!important;min-width:80%;justify-content:center!important;margin:auto!important;padding:15px 20px!important;border-radius:999px!important;background:var(--hk-danger)!important;color:#fff!important;font-size:22px!important;font-weight:800!important;text-transform:uppercase!important}.home-hero__hours .oeffnungszeiten-status-secondary,.page-hero-hours .oeffnungszeiten-status-secondary{margin-top:14px!important;color:#fff!important;font-size:16px!important}.home-hero__hours .oeffnungszeiten-list,.page-hero-hours .oeffnungszeiten-list{gap:0!important}.home-hero__hours .oeffnungszeiten-row,.page-hero-hours .oeffnungszeiten-row{min-height:44px!important;padding:9px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.28)!important;background:transparent!important;color:#fff!important;border-radius:0!important}.home-hero__hours .oeffnungszeiten-row.is-today,.page-hero-hours .oeffnungszeiten-row.is-today{padding-inline:4px!important;border-radius:7px!important;background:rgba(107,161,91,.6)!important}.home-hero__hours .oeffnungszeiten-day,.home-hero__hours .oeffnungszeiten-hours,.page-hero-hours .oeffnungszeiten-day,.page-hero-hours .oeffnungszeiten-hours{color:#fff!important;font-size:14px!important}.home-hero__hours .oeffnungszeiten-today-badge,.page-hero-hours .oeffnungszeiten-today-badge{background:var(--hk-success)!important}.home-hero__hours .oeffnungszeiten-buttons,.page-hero-hours .oeffnungszeiten-buttons{gap:10px!important;margin-top:16px!important}.home-hero__hours .oeffnungszeiten-button,.page-hero-hours .oeffnungszeiten-button{min-height:42px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important}.home-hero__hours .oeffnungszeiten-button.is-filled,.page-hero-hours .oeffnungszeiten-button.is-filled{background:#a94f19!important;border-color:#a94f19!important}.home-hero__hours .oeffnungszeiten-button.is-outline,.page-hero-hours .oeffnungszeiten-button.is-outline{background:#a94f19!important;border-color:#a94f19!important;color:#fff!important}

/* Home content */
.section{padding:42px 0}.hk-welcome{background:#fff}.hk-welcome__inner{max-width:1230px}.hk-section-heading{text-align:center;margin:0 0 28px}.hk-section-heading h2{position:relative;margin:0;padding-bottom:16px;font-size:36px;font-weight:400}.hk-section-heading h2:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#555}.hk-welcome__copy{max-width:1180px;margin:0 auto 46px;font-size:15px;text-align:justify}.hk-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.hk-feature-card{overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.09);padding-bottom:24px}.hk-feature-card img{display:block;width:100%;height:370px;object-fit:cover}.hk-feature-card h3{margin:0;padding:12px 15px;background:var(--hk-gray);color:#fff;font-size:22px;font-weight:500;text-align:center;line-height:1.06;text-transform:uppercase}.hk-feature-card p{margin:22px 18px 0;font-size:14px;line-height:1.75;text-align:left}.hk-home-reviews{background:#fafafa}.hk-home-reviews .wrap,.hk-trends .wrap{max-width:1320px}.hk-trends{background:#fff}.hk-news-grid,.hk-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.hk-news-card,.hk-review-card{background:#fff;border:1px solid #e0e0e0;box-shadow:0 8px 24px rgba(0,0,0,.07)}.hk-news-card img{display:block;width:100%;height:230px;object-fit:cover}.hk-news-card__body,.hk-review-card{padding:24px}.hk-news-card h3,.hk-review-card h3{margin:.2em 0 .5em;font-size:20px}.hk-review-stars{color:var(--hk-gold);font-size:22px;letter-spacing:2px}.hk-home-salon-cta{position:relative;min-height:330px;display:grid;align-items:center;background:#222 var(--cta-image) center/cover no-repeat}.hk-home-salon-cta:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.36)}.hk-home-salon-cta__copy{position:relative;z-index:1;max-width:680px;margin:auto;text-align:center;color:#fff}.hk-home-salon-cta h2{color:#fff;font-size:31px}.hk-home-contact{padding-bottom:60px}.hk-contact-summary{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:start}.hk-home-contact .oeffnungszeiten-card{max-width:420px;margin-left:auto}

/* Einheitliche Seitenheader-Architektur, HaarKunst Gestaltung */
.page-hero{background:var(--hk-gray)}.page-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:330px;overflow:hidden}.page-hero-copy{position:absolute;z-index:4;left:max(40px,calc((100vw - var(--hk-max))/2 + 32px));top:50%;transform:translateY(-50%);max-width:760px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.page-hero-copy .eyebrow{color:#fff;font-weight:700}.page-hero-copy h1{margin:8px 0 0;color:#fff;font-size:clamp(30px,3.4vw,52px);text-transform:uppercase}.page-hero-media{position:relative;min-height:330px;background-position:center;background-size:cover}.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,.04) 70%)}.page-hero-hours{grid-column:2;background:var(--hk-gray);padding:25px 18px 18px;color:#fff}.page-hero-hours .oz-google-reviews{display:none!important}.page-hero-hours .oeffnungszeiten-status{margin-bottom:10px!important}.page-hero-hours .oeffnungszeiten-status-primary{font-size:15px!important;padding:9px 15px!important}.page-hero-hours .oeffnungszeiten-status-secondary{font-size:12px!important;margin-top:7px!important}.page-hero-hours .oeffnungszeiten-row{min-height:31px!important;padding:4px 0!important}.page-hero-hours .oeffnungszeiten-day,.page-hero-hours .oeffnungszeiten-hours{font-size:11px!important}.page-hero-hours .oeffnungszeiten-buttons{margin-top:8px!important}.page-hero-hours .oeffnungszeiten-button{min-height:33px!important;font-size:10px!important}.content-grid{width:min(calc(100% - 42px),var(--hk-content));margin-inline:auto;padding:46px 0 80px;display:grid;grid-template-columns:minmax(0,1fr);gap:45px}.entry-content{min-width:0;font-size:14px;line-height:1.75}.entry-content>h1:first-child,.entry-content>h2:first-child,.entry-content>h3:first-child{margin-top:0}.entry-content h2{margin-top:1.6em;font-size:29px}.entry-content h3{margin-top:1.45em;font-size:21px}.entry-content hr{margin:18px 0 28px;border:0;border-top:1px solid #666}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:8px 10px;border-bottom:1px dotted #b9b9b9;text-align:left}.entry-content ul{padding-left:22px}.legal{max-width:1120px;margin:auto}.hk-page-cta{position:relative;min-height:270px;display:grid;align-items:center;background:#222 var(--page-cta) center/cover no-repeat}.hk-page-cta:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.54)}.hk-page-cta .wrap>div{position:relative;z-index:1;max-width:690px;margin:auto;text-align:center;color:#fff}.hk-page-cta h2{color:#fff;text-transform:uppercase}

/* Plugin-rendered content grids */
.hk-service-groups{display:grid;gap:46px}.hk-service-group>h2{text-align:center;border-bottom:1px solid #aeb0b3;padding-bottom:12px}.hk-price-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.hk-price-list h3{font-size:18px;border-bottom:1px solid #b9b9b9;padding-bottom:8px}.hk-price-row{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px dotted #c7c7c7}.hk-price-row strong{white-space:nowrap}.hk-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hk-gallery-grid a{display:block;overflow:hidden;background:#eee}.hk-gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .3s}.hk-gallery-grid a:hover img{transform:scale(1.035)}.hk-team-card{display:grid;grid-template-columns:230px 1fr;gap:34px;align-items:center}.hk-team-card img{width:230px;height:230px;border-radius:50%;object-fit:cover}.hk-team-card h2{margin:0 0 5px}.hk-team-card h3{margin:0 0 15px;font-size:16px}.hk-career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.hk-career-card{padding:26px;border:1px solid #ddd;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}

/* Footer */
.site-footer{background:var(--hk-gray);color:#e9e9e9}.footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1.2fr .8fr;gap:46px;padding:55px 0 42px}.brand-logo--footer{width:150px;max-height:66px;object-fit:contain;margin-bottom:15px}.footer-brand p{max-width:420px}.footer-heading{margin:0 0 13px;color:#fff;font:500 15px/1.3 var(--brand-font)}.site-footer a{color:#fff}.footer-button{display:inline-flex;padding:8px 14px;border:1px solid rgba(255,255,255,.45);border-radius:15px;text-decoration:none}.hk-hours-fallback,.footer-menu{margin:0;padding:0;list-style:none}.hk-hours-fallback li{display:flex;justify-content:space-between;gap:20px;padding:4px 0;font-size:12px}.footer-menu li{margin:0 0 7px}.footer-menu a{text-decoration:none}.footer-hours .oeffnungszeiten-card{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}.footer-hours .oz-google-reviews,.footer-hours .oeffnungszeiten-status,.footer-hours .oeffnungszeiten-buttons,.footer-hours .oeffnungszeiten-title{display:none!important}.footer-hours .oeffnungszeiten-row{min-height:27px!important;padding:3px 0!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}.footer-hours .oeffnungszeiten-day,.footer-hours .oeffnungszeiten-hours{font-size:11px!important;color:#fff!important}.footer-legal{border-top:1px solid rgba(255,255,255,.14);background:#404247}.footer-legal-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}.footer-copyright strong a{text-decoration:none}.footer-legal-links{display:flex;gap:17px;align-items:center}.footer-legal-links button{padding:0;border:0;background:transparent;color:#fff;font-size:11px;cursor:pointer}.footer-legal-links button:hover{text-decoration:underline}.back-to-top{position:fixed;right:20px;bottom:18px;z-index:60;width:48px;height:48px;border:0;border-radius:50%;background:var(--hk-brown);color:#fff;font-size:28px;box-shadow:0 7px 18px rgba(0,0,0,.2);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px) scale(.92);transition:opacity .25s ease,visibility .25s ease,transform .32s cubic-bezier(.2,.75,.2,1),background .2s ease}.back-to-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-to-top:hover,.back-to-top:focus-visible{background:var(--hk-brown-dark);outline:0;transform:translateY(-2px)}

@media(max-width:1500px){.brand-logo--header{width:270px}.main-nav a{padding-inline:10px;font-size:10px}.home-hero{grid-template-columns:minmax(0,1fr) 390px}.page-hero-inner{grid-template-columns:minmax(0,1fr) 390px}.hk-topbar__inner{font-size:11px}}
@media(max-width:1220px){.brand-row{gap:15px}.brand-logo--header{width:230px}.header-cta{padding-inline:12px}.main-nav a{padding-inline:8px;font-size:9px}.home-hero{grid-template-columns:minmax(0,1fr) 360px}.page-hero-inner{grid-template-columns:minmax(0,1fr) 360px}.footer-grid{grid-template-columns:1fr 1fr}.hk-feature-card img{height:310px}}
@media(max-width:980px){body.admin-bar .site-header{top:46px}.hk-topbar{display:none}.brand-row{min-height:82px}.brand-logo--header{width:235px;max-height:64px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:20px;right:20px;top:100%;display:none;margin:0;padding:10px 18px;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.18)}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav a{padding:13px 5px;border-bottom:1px solid #eee;font-size:12px}.main-nav .sub-menu{position:static;display:none;min-width:0;padding:0 0 0 15px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}.header-cta{display:none}.home-hero{grid-template-columns:1fr;min-height:0}.home-hero__visual{min-height:600px}.home-hero__hours{padding:25px 24px}.page-hero-inner{grid-template-columns:1fr}.page-hero-media{min-height:350px}.page-hero-hours{grid-column:auto}.page-hero-copy{left:35px;right:35px;top:175px}.hk-contact-summary{grid-template-columns:1fr}.hk-feature-grid{gap:20px}.hk-feature-card img{height:280px}.hk-gallery-grid{grid-template-columns:repeat(3,1fr)}.hk-price-columns{grid-template-columns:1fr 1fr}.hk-career-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.wrap{width:min(calc(100% - 28px),var(--hk-max))}.brand-row{min-height:72px}.brand-logo--header{width:205px}.home-hero__visual{min-height:480px;background-position:56% center}.home-hero__copy{left:20px;right:20px}.home-hero__copy h1{font-size:30px}.home-hero__copy p{font-size:25px}.home-hero__hours{padding:22px 12px}.hk-section-heading h2{font-size:27px}.hk-feature-grid,.hk-news-grid,.hk-review-grid,.footer-grid,.hk-career-grid{grid-template-columns:1fr}.hk-feature-card img{height:360px}.hk-gallery-grid{grid-template-columns:repeat(2,1fr)}.hk-price-columns{grid-template-columns:1fr}.hk-team-card{grid-template-columns:1fr;text-align:center}.hk-team-card img{margin:auto}.page-hero-copy{top:135px;left:22px;right:22px}.page-hero-media{min-height:270px}.page-hero-copy h1{font-size:30px}.content-grid{width:min(calc(100% - 30px),var(--hk-content));padding-top:32px}.footer-legal-inner{padding:18px 0;flex-direction:column;align-items:flex-start}.footer-legal-links{flex-wrap:wrap}.hk-page-cta{min-height:240px}}


/* ======================================================================
   HaarKunst 3.1 – Live-Referenz Feinabstimmung
   Die folgenden Regeln überschreiben gezielt die 3.0-Basis, ohne das
   bewährte Paket-Layoutsystem neu zu schreiben.
   ====================================================================== */

/* Startseiten-Hero: Live-Proportionen + verwaltbarer Suite-Slider */
.home-hero{grid-template-columns:minmax(0,1fr) 418px;min-height:var(--hk-home-hero-hd,770px);align-items:stretch}
.home-hero__visual{min-height:var(--hk-home-hero-hd,770px);background:#8d8d8d;overflow:hidden}
.home-hero__visual>.hk-slider,.home-hero__visual>.hk-slider .hk-slider__viewport,.home-hero__visual>.hk-slider .hk-slider__track{height:100%;min-height:var(--hk-home-hero-hd,770px)}
.home-hero__fallback{position:relative;min-height:var(--hk-home-hero-hd,770px);height:100%;background:#999 var(--hero-image) center/cover no-repeat}
.home-hero__hours{padding:46px 20px 22px;box-shadow:-16px 16px 34px rgba(0,0,0,.12)}
.home-hero__hours .oz-google-reviews{margin:0 8px 22px!important;padding:20px 18px 18px!important;border-radius:10px!important}
.home-hero__hours .oz-google-reviews h3{margin:0 0 8px!important;font-size:19px!important;line-height:1.25!important}
.home-hero__hours .oz-google-star{font-size:38px!important;line-height:1!important}
.home-hero__hours .oz-google-summary{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:5px 8px!important;font-size:14px!important;line-height:1.45!important}
.home-hero__hours .oz-google-summary strong{font-size:16px!important}
.home-hero__hours .oz-google-actions{display:flex!important;gap:8px!important;flex-wrap:nowrap!important;margin-top:12px!important}
.home-hero__hours .oz-google-actions .oeffnungszeiten-button{min-height:36px!important;padding:8px 12px!important;font-size:11px!important}
.home-hero__hours .oz-google-review-list{display:none!important}
.home-hero__hours .oz-google-attributions,.home-hero__hours .oz-google-brand{font-size:10px!important;margin-top:7px!important}
.home-hero__hours .oeffnungszeiten-status{margin:0 8px 14px!important;padding:18px 13px 15px!important}
.home-hero__hours .oeffnungszeiten-status-primary{min-width:84%!important;padding:15px 18px!important;font-size:20px!important;line-height:1.05!important}
.home-hero__hours .oeffnungszeiten-status-secondary{font-size:14px!important;margin-top:13px!important}
.home-hero__hours .oeffnungszeiten-row{min-height:42px!important;padding:8px 0!important}
.home-hero__hours .oeffnungszeiten-day,.home-hero__hours .oeffnungszeiten-hours{font-size:13px!important;line-height:1.25!important}
.home-hero__hours .oeffnungszeiten-button{min-height:40px!important;font-size:11px!important}

/* Willkommen & drei Live-Karten */
.hk-welcome{padding:34px 0 46px}
.hk-welcome__inner{width:min(calc(100% - 42px),1160px);margin-inline:auto}
.hk-section-heading{margin-bottom:25px}
.hk-section-heading h2{font-family:var(--brand-font);font-size:38px;line-height:1.12;letter-spacing:-.02em;padding-bottom:18px}
.hk-welcome__copy{max-width:1140px;margin:0 auto 48px;font-size:16px;line-height:1.72;text-align:justify}
.hk-welcome__copy p{margin:0}
.hk-feature-grid{gap:28px;align-items:stretch}
.hk-feature-card{display:flex;flex-direction:column;padding-bottom:0;box-shadow:0 9px 24px rgba(0,0,0,.10)}
.hk-feature-card img{height:345px;object-fit:cover}
.hk-feature-card h3{display:grid;place-items:center;min-height:74px;margin:0;padding:11px 14px;background:#54565a;font-family:var(--brand-font);font-size:20px;font-weight:500;line-height:1.03;letter-spacing:-.015em;text-transform:uppercase}
.hk-feature-card p{flex:1;margin:0;padding:22px 18px 27px;font-size:14.5px;line-height:1.67;color:#45484c}

/* Google Kundenstimmen wie Live-Aufbau */
.hk-home-reviews{padding:34px 0 52px;background:#fff}
.hk-home-reviews__inner{width:min(calc(100% - 42px),1160px)}
.hk-home-reviews .hk-section-heading{width:100%;margin-inline:auto}
.hk-home-reviews .hk-section-heading h2{font-size:36px}
.hk-home-reviews .hk-google-showcase{margin-top:8px}

/* Trends-Slider */
.hk-trends{padding:34px 0 54px}
.hk-trends .wrap{width:min(calc(100% - 42px),1160px)}
.hk-trends .hk-section-heading{margin-bottom:28px}
.hk-trends .hk-section-heading h2{font-size:36px}

/* Globaler Kontaktblock – identisch auf allen Seiten */
.hk-global-contact{background:#fff;padding:36px 0 40px;color:#494c51;text-align:center}
.hk-global-contact__inner{width:min(calc(100% - 42px),1160px);margin-inline:auto}
.hk-global-contact .hk-section-heading{margin-bottom:23px}
.hk-global-contact .hk-section-heading h2{font-size:35px;padding-bottom:18px}
.hk-global-contact p{margin:0;font-size:13.5px;line-height:1.65}
.hk-global-contact a{color:#683721}
.hk-global-contact__extra{margin-top:9px!important}

/* Footer: Live-Anmutung plus die zusätzlichen 3.0-Informationen */
.site-footer{background:#515359;color:#f2f2f2}
.footer-live-grid{width:min(calc(100% - 42px),1160px);display:grid;grid-template-columns:1.05fr .92fr 1.15fr;gap:36px;padding:54px 0 42px;align-items:start}
.brand-logo--footer{width:170px;max-height:76px;margin-bottom:18px}
.footer-about{max-width:360px;margin:0 0 26px;font-size:12.5px;line-height:1.68}
.footer-heading{position:relative;margin:0 0 18px;padding-bottom:11px;color:#fff;font:500 17px/1.25 var(--brand-font);text-align:center}
.footer-heading:after{content:"";position:absolute;left:50%;bottom:0;width:54px;height:1px;background:rgba(255,255,255,.72);transform:translateX(-50%)}
.footer-brand .footer-heading{text-align:left}.footer-brand .footer-heading:after{left:0;transform:none}
.footer-contact-mini{margin-top:8px}.footer-contact-mini p{font-size:12px;line-height:1.65}.footer-button{font-size:11px}
.footer-panel{padding:18px 18px 16px;border:1px solid rgba(255,255,255,.20);background:rgba(0,0,0,.035)}
.footer-hours .oeffnungszeiten-card{width:100%!important}
.footer-hours .oeffnungszeiten-status{display:block!important;margin:0 0 12px!important;padding:12px 8px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:6px!important;background:rgba(0,0,0,.025)!important;text-align:center!important}
.footer-hours .oeffnungszeiten-status-primary{display:inline-flex!important;justify-content:center!important;min-width:78%!important;padding:10px 15px!important;border-radius:999px!important;background:var(--hk-danger)!important;color:#fff!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important}
.footer-hours .oeffnungszeiten-status-secondary{display:block!important;margin-top:9px!important;color:#eee!important;font-size:10.5px!important}
.footer-hours .oeffnungszeiten-row{min-height:31px!important;padding:5px 0!important;border-bottom:1px solid rgba(255,255,255,.16)!important}
.footer-hours .oeffnungszeiten-day,.footer-hours .oeffnungszeiten-hours{font-size:10.5px!important;color:#fff!important}
.footer-reviews-map{display:grid;gap:13px}
.footer-google-card{padding:17px 18px;background:#fff;color:#494c51;box-shadow:0 4px 13px rgba(0,0,0,.13)}
.footer-google-card .footer-heading{color:#494c51}.footer-google-card .footer-heading:after{background:#777}
.footer-google-card .oeffnungszeiten-card{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#494c51!important}
.footer-google-card .oeffnungszeiten-title,.footer-google-card .oeffnungszeiten-status,.footer-google-card .oeffnungszeiten-list,.footer-google-card .oeffnungszeiten-buttons,.footer-google-card .oz-google-review-list{display:none!important}
.footer-google-card .oz-google-reviews{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#494c51!important;text-align:center!important}
.footer-google-card .oz-google-reviews h3{display:none!important}
.footer-google-card .oz-google-summary{display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;color:#494c51!important;font-size:13px!important}
.footer-google-card .oz-google-summary strong{color:#494c51!important;font-size:22px!important}
.footer-google-card .oz-google-star{font-size:19px!important;color:var(--hk-gold)!important}
.footer-google-card .oz-google-actions{display:flex!important;justify-content:center!important;gap:9px!important;margin-top:12px!important}
.footer-google-card .oz-google-actions .oeffnungszeiten-button{display:inline-flex!important;min-height:34px!important;padding:8px 11px!important;border-radius:2px!important;font-size:10px!important}
.footer-map-card{min-height:130px;background:#f3f3f3;color:#494c51}
.footer-map-link{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:20px;color:#494c51!important;text-align:center;text-decoration:none;background:linear-gradient(135deg,#f2f2f2,#dadde0)}
.footer-map-link strong{font:500 16px/1.2 var(--brand-font);color:#683721}.footer-map-link span{font-size:11px}
.footer-map-consent{position:relative;min-height:150px}.footer-map-consent iframe{width:100%;height:150px;border:0}.footer-map-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;background:#e9eaec;color:#555;font-size:11px}.footer-map-consent.is-loaded .footer-map-placeholder{display:none}
.footer-links{padding-top:4px}.footer-links .footer-heading{margin-bottom:11px;font-size:13px}.footer-menu{display:flex;justify-content:center;gap:7px 14px;flex-wrap:wrap}.footer-menu li{margin:0}.footer-menu a{font-size:10.5px}
.footer-legal{background:#45474c}.footer-legal-inner{min-height:62px}

/* Desktop XL – die Live-Seite nutzt die verfügbare Breite, ohne die
   Inhaltsblöcke übermäßig auseinanderzuziehen. */
@media(min-width:1800px){
  .home-hero{grid-template-columns:minmax(0,1fr) 418px}
  .home-hero__hours{padding-inline:23px}
  .hk-welcome__inner,.hk-trends .wrap,.hk-global-contact__inner{max-width:1180px}
}

@media(max-width:1500px){
  .home-hero{grid-template-columns:minmax(0,1fr) 380px}
  .home-hero__hours{padding-inline:16px}
  .home-hero__hours .oz-google-star{font-size:33px!important}
  .home-hero__hours .oeffnungszeiten-status-primary{font-size:18px!important}
  .footer-live-grid{gap:28px}
}

@media(max-width:1220px){
  .home-hero{grid-template-columns:minmax(0,1fr) 355px}
  .hk-welcome__inner,.hk-trends .wrap,.hk-global-contact__inner{width:min(calc(100% - 38px),1080px)}
  .hk-feature-card img{height:315px}
  .hk-feature-card h3{font-size:18px}
  .footer-live-grid{grid-template-columns:1fr 1fr}.footer-reviews-map{grid-column:1/-1;grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}
}

@media(max-width:980px){
  .home-hero{grid-template-columns:1fr;min-height:0}
  .home-hero__visual,.home-hero__visual>.hk-slider,.home-hero__visual>.hk-slider .hk-slider__viewport,.home-hero__visual>.hk-slider .hk-slider__track,.home-hero__fallback{min-height:var(--hk-home-hero-ht,610px)}
  .home-hero__hours{padding:28px max(24px,5vw) 30px;display:block!important}
  .home-hero__hours .oeffnungszeiten-card{max-width:720px!important;margin-inline:auto!important}
  .home-hero__hours .oz-google-reviews{display:block!important}
  .home-hero__hours .oz-google-actions{display:flex!important}
  .home-hero__hours .oz-google-review-list{display:none!important}
  .hk-welcome{padding-top:30px}.hk-section-heading h2{font-size:34px}.hk-welcome__copy{font-size:15.5px;text-align:left}
  .hk-feature-grid{gap:18px}.hk-feature-card img{height:280px}.hk-feature-card h3{font-size:16px;min-height:66px}.hk-feature-card p{font-size:13.5px;padding:18px 15px 23px}
  .footer-live-grid{grid-template-columns:1fr 1fr}.footer-reviews-map{grid-column:1/-1}
}

@media(max-width:760px){
  .hk-feature-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.hk-feature-card img{height:auto;aspect-ratio:1.02/1;object-fit:cover}.hk-feature-card h3{font-size:20px}.hk-feature-card p{font-size:15px}
  .footer-live-grid{grid-template-columns:1fr}.footer-reviews-map{grid-column:auto;grid-template-columns:1fr}.footer-links{grid-column:auto}.footer-brand{text-align:center}.footer-brand .brand-logo-link{justify-content:center}.footer-brand .footer-heading{text-align:center}.footer-brand .footer-heading:after{left:50%;transform:translateX(-50%)}.footer-about{margin-inline:auto}
}

@media(max-width:680px){
  .home-hero__visual,.home-hero__visual>.hk-slider,.home-hero__visual>.hk-slider .hk-slider__viewport,.home-hero__visual>.hk-slider .hk-slider__track,.home-hero__fallback{min-height:var(--hk-home-hero-hm,500px)}
  .home-hero__hours{padding:22px 14px 26px}
  .home-hero__hours .oz-google-reviews{display:block!important;margin-inline:0!important;padding:18px 12px!important}
  .home-hero__hours .oz-google-star{font-size:31px!important}
  .home-hero__hours .oz-google-summary{font-size:13px!important}
  .home-hero__hours .oz-google-actions{display:flex!important;flex-wrap:wrap!important}
  .home-hero__hours .oz-google-actions .oeffnungszeiten-button{flex:1 1 130px!important}
  .home-hero__hours .oeffnungszeiten-status{margin-inline:0!important}
  .home-hero__hours .oeffnungszeiten-status-primary{font-size:17px!important}
  .home-hero__hours .oeffnungszeiten-day,.home-hero__hours .oeffnungszeiten-hours{font-size:12px!important}
  .hk-welcome__inner,.hk-trends .wrap,.hk-global-contact__inner,.hk-home-reviews__inner{width:min(calc(100% - 28px),100%)}
  .hk-section-heading h2,.hk-home-reviews .hk-section-heading h2,.hk-trends .hk-section-heading h2,.hk-global-contact .hk-section-heading h2{font-size:28px}
  .hk-welcome__copy{font-size:15px;line-height:1.68;margin-bottom:34px}
  .hk-global-contact{padding:31px 0 34px}.hk-global-contact p{font-size:12.5px}
  .footer-live-grid{padding:42px 0 34px}.footer-legal-inner{align-items:center;text-align:center}.footer-legal-links{justify-content:center}
}


/* --------------------------------------------------------------------------
   HaarKunst 3.1.5 – Responsive typography refinement
   Better readability across desktop, tablet and mobile without overriding
   component-level font sizes explicitly configured in Slider / CTA settings.
   -------------------------------------------------------------------------- */
:root{
  --hk-body-size:16px;
  --hk-body-leading:1.68;
  --hk-small-size:14px;
  --hk-nav-size:14.5px;
  --hk-topbar-size:13px;
  --hk-footer-size:14px;
}
body{font-size:var(--hk-body-size);line-height:var(--hk-body-leading)}
.eyebrow{font-size:12px}
.button{font-size:13px;min-height:44px;padding:11px 22px}

/* Header / navigation */
.hk-topbar__inner{font-size:var(--hk-topbar-size)}
.hk-legal-top button,.hk-legal-top a{font-size:var(--hk-topbar-size)}
.hk-topbar__contact a{font-size:var(--hk-topbar-size)}
.hk-icon{font-size:14px}
.main-nav a{font-size:var(--hk-nav-size);line-height:1.25;padding:20px 15px}
.main-nav .sub-menu a{font-size:12.5px;line-height:1.4;padding:12px 16px}
.header-cta{font-size:13px;min-height:43px;padding:11px 19px}

/* Main content */
.hk-welcome__copy{font-size:17px;line-height:1.78}
.hk-feature-card p{font-size:16px;line-height:1.72}
.hk-global-contact p{font-size:15.5px;line-height:1.72}
.hk-global-contact__extra{font-size:15px!important}

/* Opening hours / Google review panel */
.home-hero__hours .oz-google-reviews,
.page-hero-hours .oz-google-reviews{font-size:14px!important;line-height:1.5!important}
.home-hero__hours .oz-google-summary,
.page-hero-hours .oz-google-summary{font-size:14px!important}
.home-hero__hours .oeffnungszeiten-day,
.home-hero__hours .oeffnungszeiten-hours,
.page-hero-hours .oeffnungszeiten-day,
.page-hero-hours .oeffnungszeiten-hours{font-size:15px!important;line-height:1.35!important}
.home-hero__hours .oeffnungszeiten-button,
.page-hero-hours .oeffnungszeiten-button{font-size:13px!important;min-height:44px!important}

/* Footer */
.footer-about{font-size:var(--hk-footer-size);line-height:1.72}
.footer-heading{font-size:18px;line-height:1.3}
.footer-contact-mini p{font-size:13.5px;line-height:1.72}
.footer-button{font-size:12.5px}
.footer-hours .oeffnungszeiten-status-secondary{font-size:12px!important}
.footer-hours .oeffnungszeiten-day,
.footer-hours .oeffnungszeiten-hours{font-size:12px!important;line-height:1.35!important}
.footer-google-card .oz-google-summary{font-size:14px!important}
.footer-google-card .oz-google-actions .oeffnungszeiten-button{font-size:11.5px!important;min-height:36px!important;padding:9px 12px!important}
.footer-map-link span{font-size:12.5px}
.footer-map-placeholder{font-size:12.5px;line-height:1.5}
.footer-links .footer-heading{font-size:15px}
.footer-menu a{font-size:12.5px;line-height:1.4}
.footer-legal-inner,.footer-legal-inner a,.footer-legal-links button{font-size:12.5px}

/* Large desktop: preserve the airy live-site proportions while improving reading size. */
@media(min-width:1800px){
  :root{--hk-body-size:16.5px;--hk-nav-size:15px;--hk-topbar-size:13.5px;--hk-footer-size:14.5px}
  .hk-welcome__copy{font-size:17.5px}
  .hk-feature-card p{font-size:16.25px}
  .hk-global-contact p{font-size:16px}
}

/* Compact desktop */
@media(max-width:1500px){
  :root{--hk-body-size:15.5px;--hk-nav-size:13.5px;--hk-topbar-size:12.5px;--hk-footer-size:13.5px}
  .main-nav a{padding-inline:10px}
  .header-cta{font-size:12.5px}
  .hk-welcome__copy{font-size:16.5px}
  .hk-feature-card p{font-size:15.5px}
}

/* Tablet */
@media(max-width:980px){
  :root{--hk-body-size:16px;--hk-topbar-size:13px;--hk-footer-size:14px}
  .hk-welcome__copy{font-size:16.5px;line-height:1.75}
  .hk-feature-card p{font-size:15.5px;line-height:1.72}
  .hk-global-contact p{font-size:15px}
  .footer-about,.footer-contact-mini p{font-size:14px}
  .footer-menu a{font-size:13px}
}

/* Mobile */
@media(max-width:680px){
  :root{--hk-body-size:16px;--hk-body-leading:1.7;--hk-footer-size:14.5px}
  .button{font-size:13.5px;min-height:46px}
  .hk-welcome__copy{font-size:16.5px;line-height:1.74}
  .hk-feature-card p{font-size:16px;line-height:1.72}
  .hk-global-contact p{font-size:15px;line-height:1.7}
  .home-hero__hours .oz-google-summary{font-size:14px!important}
  .home-hero__hours .oeffnungszeiten-day,
  .home-hero__hours .oeffnungszeiten-hours{font-size:13.5px!important}
  .home-hero__hours .oeffnungszeiten-button{font-size:13px!important}
  .footer-about{font-size:14.5px}
  .footer-contact-mini p{font-size:14px}
  .footer-hours .oeffnungszeiten-day,
  .footer-hours .oeffnungszeiten-hours{font-size:12.5px!important}
  .footer-menu a{font-size:13.5px}
}

/* ======================================================================
   HaarKunst 3.1.5 – Premium footer & motion refinement
   ====================================================================== */
:root{
  --hk-card-radius:2px;
  --hk-card-lift:8px;
  --hk-card-zoom:1.075;
  --hk-motion-duration:420ms;
  --hk-motion-ease:cubic-bezier(.2,.72,.28,1);
}

/* Feature cards: quieter at rest, premium feedback on pointer devices. */
.hk-feature-card{
  position:relative;
  border:1px solid rgba(73,76,81,.10);
  border-radius:var(--hk-card-radius);
  box-shadow:0 9px 24px rgba(31,33,36,.09);
  transition:transform var(--hk-motion-duration) var(--hk-motion-ease),box-shadow var(--hk-motion-duration) var(--hk-motion-ease),border-color var(--hk-motion-duration) ease;
  isolation:isolate;
}
.hk-feature-card img{
  transform:scale(1);
  transform-origin:center center;
  transition:transform 650ms var(--hk-motion-ease),filter 450ms ease;
  will-change:transform;
}
.hk-feature-card h3{
  position:relative;
  z-index:2;
  transition:background-color 300ms ease,color 300ms ease,letter-spacing 300ms ease;
}
.hk-feature-card p{position:relative;z-index:2;background:#fff}
@media(hover:hover) and (pointer:fine){
  body:not(.hk-motion-off) .hk-feature-card:hover{
    transform:translateY(calc(var(--hk-card-lift) * -1));
    border-color:rgba(104,55,33,.18);
    box-shadow:0 22px 48px rgba(31,33,36,.17);
  }
  body:not(.hk-motion-off) .hk-feature-card:hover img{transform:scale(var(--hk-card-zoom));filter:saturate(1.035) contrast(1.02)}
  body:not(.hk-motion-off) .hk-feature-card:hover h3{background:#494c51;letter-spacing:.005em}
}

/* Scroll reveal is progressive enhancement; content stays visible without JS. */
.hk-reveal{opacity:1;transform:none}
.js .hk-reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
.js .hk-reveal{transition:opacity 620ms var(--hk-motion-ease),transform 620ms var(--hk-motion-ease)}
.js .hk-feature-card.hk-reveal:nth-child(2){transition-delay:75ms}
.js .hk-feature-card.hk-reveal:nth-child(3){transition-delay:150ms}
body.hk-motion-subtle{--hk-card-lift:5px;--hk-card-zoom:1.045;--hk-motion-duration:340ms}
body.hk-motion-modern{--hk-card-lift:10px;--hk-card-zoom:1.09;--hk-motion-duration:360ms}
body.hk-motion-off .hk-feature-card,body.hk-motion-off .hk-feature-card img,body.hk-motion-off .hk-feature-card h3,
body.hk-motion-off .hk-reveal{transition:none!important;transform:none!important;opacity:1!important}

/* Footer 3.1.5: information hierarchy follows the live site, without duplicated status box. */
.footer-live-grid--v312{
  width:min(calc(100% - 42px),1240px);
  grid-template-columns:1.15fr 1fr 1.05fr .9fr;
  gap:44px;
  padding:56px 0 36px;
  align-items:start;
}
.footer-live-grid--v312 .footer-brand{min-width:0}
.footer-live-grid--v312 .brand-logo--footer{width:184px;max-height:82px;margin-bottom:20px}
.footer-live-grid--v312 .footer-about{max-width:350px;margin:0;font-size:14.5px;line-height:1.72;color:#f0f0f0}
.footer-live-grid--v312 .footer-heading{text-align:left;font-size:18px;margin-bottom:18px}
.footer-live-grid--v312 .footer-heading:after{left:0;transform:none;width:48px}
.footer-contact-column,.footer-links-column{min-width:0}
.footer-contact-details p{margin:0 0 14px;font-size:14px;line-height:1.72;color:#f0f0f0}
.footer-contact-details a,.footer-text-link{color:#fff;text-decoration:none}
.footer-contact-details a:hover,.footer-text-link:hover{text-decoration:underline}
.footer-action-stack{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin-top:18px}
.footer-button{min-height:40px;padding:9px 15px;border:1px solid rgba(255,255,255,.38);border-radius:3px;background:var(--hk-brown);font-size:13px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.footer-button:hover{background:var(--hk-brown-dark);border-color:var(--hk-brown-dark);transform:translateY(-1px)}
.footer-text-link{font-size:13.5px}

.footer-panel--clean{padding:0;border:0;background:transparent}
.footer-hours .oeffnungszeiten-card{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}
/* Dynamic current status is intentionally hidden in footer; it remains in hero/contact contexts. */
.footer-hours .oeffnungszeiten-status,
.footer-hours .oeffnungszeiten-status-primary,
.footer-hours .oeffnungszeiten-status-secondary,
.footer-hours .oeffnungszeiten-buttons,
.footer-hours .oz-google-reviews,
.footer-hours .oeffnungszeiten-title{display:none!important}
.footer-hours .oeffnungszeiten-list{gap:0!important}
.footer-hours .oeffnungszeiten-row{min-height:34px!important;padding:6px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;background:transparent!important;border-radius:0!important;color:#fff!important}
.footer-hours .oeffnungszeiten-row.is-today{padding-inline:0!important;background:transparent!important}
.footer-hours .oeffnungszeiten-day,.footer-hours .oeffnungszeiten-hours{font-size:13px!important;line-height:1.35!important;color:#fff!important}
.footer-hours .oeffnungszeiten-today-badge{display:none!important}
.hk-hours-fallback li{min-height:34px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:13px}

.footer-links{padding:0}
.footer-menu{display:grid;gap:0;margin:0;padding:0;list-style:none}
.footer-menu li{margin:0;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-menu a{display:block;padding:7px 0;font-size:13.5px;line-height:1.4;text-decoration:none;transition:color .2s,padding-left .2s}
.footer-menu a:hover{color:#fff;padding-left:4px}
.footer-mini-services{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.footer-mini-services a{font-size:12.5px;text-decoration:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.footer-mini-services a:hover{border-bottom-color:#fff}

/* Google rating now belongs to the footer surface rather than a white foreign-looking widget. */
.footer-google-strip{
  width:min(calc(100% - 42px),1240px);
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);
  gap:36px;
  align-items:center;
  margin-bottom:36px;
  padding:26px 28px;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
}
.footer-google-copy .footer-heading{margin-bottom:8px;text-align:left;font-size:17px}
.footer-google-copy .footer-heading:after{left:0;transform:none}
.footer-google-copy p{margin:0;color:#ddd;font-size:13.5px;line-height:1.55}
.footer-google-card--integrated{padding:0;background:transparent;color:#fff;box-shadow:none}
.footer-google-card--integrated .oeffnungszeiten-card{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important}
.footer-google-card--integrated .oeffnungszeiten-title,
.footer-google-card--integrated .oeffnungszeiten-status,
.footer-google-card--integrated .oeffnungszeiten-list,
.footer-google-card--integrated .oeffnungszeiten-buttons,
.footer-google-card--integrated .oz-google-review-list{display:none!important}
.footer-google-card--integrated .oz-google-reviews{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;text-align:left!important}
.footer-google-card--integrated .oz-google-reviews h3{display:none!important}
.footer-google-card--integrated .oz-google-summary{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;color:#fff!important;font-size:14px!important;line-height:1.45!important}
.footer-google-card--integrated .oz-google-summary strong{color:#fff!important;font-size:22px!important}
.footer-google-card--integrated .oz-google-star{font-size:21px!important;color:var(--hk-gold)!important}
.footer-google-card--integrated .oz-google-actions{display:flex!important;justify-content:flex-start!important;gap:10px!important;margin-top:12px!important;flex-wrap:wrap!important}
.footer-google-card--integrated .oz-google-actions .oeffnungszeiten-button{display:inline-flex!important;min-height:38px!important;padding:9px 14px!important;border-radius:3px!important;background:var(--hk-brown)!important;border-color:var(--hk-brown)!important;color:#fff!important;font-size:12px!important;font-weight:700!important}
.footer-google-card--integrated .oz-google-actions .oeffnungszeiten-button:hover{background:var(--hk-brown-dark)!important;border-color:var(--hk-brown-dark)!important}
.footer-google-card--integrated .oz-google-attributions,.footer-google-card--integrated .oz-google-brand{color:#d8d8d8!important;font-size:11px!important}

.footer-legal{border-top:1px solid rgba(255,255,255,.12);background:#45474c}
.footer-legal-inner{min-height:64px;font-size:12.5px}
.footer-legal-links button{font-size:12.5px}

@media(max-width:1220px){
  .footer-live-grid--v312{grid-template-columns:1fr 1fr;gap:36px 50px}
  .footer-google-strip{grid-template-columns:1fr;gap:14px}
}
@media(max-width:760px){
  .footer-live-grid--v312{grid-template-columns:1fr;padding-top:44px;text-align:left}
  .footer-live-grid--v312 .footer-brand{text-align:center}
  .footer-live-grid--v312 .footer-brand .brand-logo-link{justify-content:center}
  .footer-live-grid--v312 .footer-about{margin-inline:auto}
  .footer-live-grid--v312 .footer-heading{text-align:center}
  .footer-live-grid--v312 .footer-heading:after{left:50%;transform:translateX(-50%)}
  .footer-contact-details,.footer-action-stack{text-align:center;align-items:center}
  .footer-menu{max-width:440px;margin-inline:auto}
  .footer-menu a{text-align:center}
  .footer-mini-services{justify-content:center}
  .footer-google-strip{width:min(calc(100% - 28px),1240px);padding:22px 18px;text-align:center}
  .footer-google-copy .footer-heading{text-align:center}
  .footer-google-copy .footer-heading:after{left:50%;transform:translateX(-50%)}
  .footer-google-card--integrated .oz-google-reviews{text-align:center!important}
  .footer-google-card--integrated .oz-google-summary,.footer-google-card--integrated .oz-google-actions{justify-content:center!important}
}

@media(prefers-reduced-motion:reduce){
  .hk-feature-card,.hk-feature-card img,.hk-feature-card h3,.hk-reveal{transition:none!important;transform:none!important;opacity:1!important}
}


/* --------------------------------------------------------------------------
   HaarKunst 3.1.5 – Footer nach Live-Referenz + Seitenanimationen aus Video
   -------------------------------------------------------------------------- */
.site-footer--reference-v313{background:#505257;color:#f5f5f5;overflow:hidden}
.footer-reference-grid{
  width:min(calc(100% - 44px),1150px);
  display:grid;
  grid-template-columns:minmax(280px,.98fr) minmax(330px,1.03fr) minmax(330px,1.03fr);
  gap:30px;
  align-items:start;
  padding:22px 0 54px;
}
.footer-reference-brand{padding-top:0;min-width:0}
.footer-reference-brand .brand-logo-link{display:inline-flex;align-items:center}
.footer-reference-brand .brand-logo--footer{width:242px;max-width:100%;max-height:104px;margin:0 0 27px;object-fit:contain;object-position:left center}
.footer-reference-about{max-width:335px;margin:0;font-size:16px;line-height:1.62;color:#fff;text-align:justify;font-weight:600}
.footer-reference-heading{position:relative;margin:0 0 18px;padding:22px 15px 20px;color:#fff;text-align:center;font:700 28px/1.2 Arial,Helvetica,sans-serif}
.footer-reference-heading:after{content:"";position:absolute;left:50%;bottom:0;width:84px;height:1px;background:rgba(255,255,255,.72);transform:translateX(-50%)}
.footer-reference-hours{min-height:560px;padding:0 26px 23px;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.012);box-shadow:0 18px 36px rgba(0,0,0,.08)}
.footer-reference-hours .oeffnungszeiten-card{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important}
.footer-reference-hours .oeffnungszeiten-title,.footer-reference-hours .oz-google-reviews,.footer-reference-hours .oeffnungszeiten-buttons{display:none!important}
.footer-reference-hours .oeffnungszeiten-status{display:block!important;margin:0 0 8px!important;padding:18px 10px 21px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:14px!important;background:rgba(255,255,255,.03)!important;text-align:center!important}
.footer-reference-hours .oeffnungszeiten-status-primary{display:inline-flex!important;justify-content:center!important;align-items:center!important;min-width:86%!important;min-height:80px!important;padding:13px 22px!important;border-radius:999px!important;background:#c92317!important;color:#fff!important;font-size:21px!important;line-height:1.04!important;font-weight:800!important;text-transform:uppercase!important;box-shadow:0 2px 0 rgba(0,0,0,.14)}
.footer-reference-hours .oeffnungszeiten-status-secondary{display:none!important}
.footer-reference-hours .oeffnungszeiten-list{gap:0!important}
.footer-reference-hours .oeffnungszeiten-row{min-height:42px!important;padding:7px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.26)!important;background:transparent!important;border-radius:0!important;color:#fff!important}
.footer-reference-hours .oeffnungszeiten-row.is-today{padding-inline:5px!important;border:1px solid #48a743!important;border-radius:7px!important;background:rgba(74,140,69,.58)!important}
.footer-reference-hours .oeffnungszeiten-day,.footer-reference-hours .oeffnungszeiten-hours{font-size:15.5px!important;line-height:1.35!important;color:#fff!important;font-weight:600!important}
.footer-reference-hours .oeffnungszeiten-today-badge{display:inline-flex!important;background:#3ba43d!important;color:#fff!important;font-size:11px!important;border-radius:999px!important;padding:4px 10px!important}
.footer-reference-hours .hk-hours-fallback{margin:0;padding:0;list-style:none}.footer-reference-hours .hk-hours-fallback li{display:flex;justify-content:space-between;gap:15px;min-height:42px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.26);font-size:15px}
.footer-reference-right{display:grid;gap:18px;min-width:0}
.footer-reference-google{min-height:305px;padding:18px 24px 20px;border:3px double #777;background:#fff;color:#494c51;box-shadow:0 2px 0 rgba(0,0,0,.28),0 15px 32px rgba(0,0,0,.08)}
.footer-reference-google-title{display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:start;margin-bottom:8px;color:#27282a;text-align:center;font:400 27px/1.28 Arial,Helvetica,sans-serif}
.footer-reference-google-title img{width:42px;height:62px;object-fit:contain;margin-top:0}
.footer-reference-google-title span{padding-top:2px}
.footer-reference-google .oeffnungszeiten-card{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#494c51!important}
.footer-reference-google .oeffnungszeiten-title,.footer-reference-google .oeffnungszeiten-status,.footer-reference-google .oeffnungszeiten-list,.footer-reference-google .oeffnungszeiten-buttons,.footer-reference-google .oz-google-review-list,.footer-reference-google .oz-google-brand,.footer-reference-google .oz-google-attributions{display:none!important}
.footer-reference-google .oz-google-reviews{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#494c51!important;text-align:center!important}
.footer-reference-google .oz-google-reviews>div:first-of-type{display:none!important}
.footer-reference-google .oz-google-summary{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;color:#494c51!important;font-size:15px!important;line-height:1.4!important;text-align:center!important}
.footer-reference-google .oz-google-summary strong{order:1;color:#666!important;font-size:30px!important;font-weight:400!important}
.footer-reference-google .oz-google-stars{order:2;display:inline-flex!important;gap:0!important}
.footer-reference-google .oz-google-star{font-size:28px!important;color:#f5b300!important}
.footer-reference-google .oz-google-summary>span:not(.oz-google-stars){order:3;flex:1 0 100%;color:#6c6c6c!important;font-size:14px!important}
.footer-reference-google .oz-google-actions{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:13px!important;margin-top:22px!important}
.footer-reference-google .oz-google-actions .oeffnungszeiten-button{display:inline-flex!important;justify-content:center!important;min-width:200px!important;min-height:46px!important;padding:12px 20px!important;border-radius:3px!important;background:#7c3518!important;border:1px solid #7c3518!important;color:#fff!important;font-size:14px!important;font-weight:700!important;box-shadow:none!important}
.footer-reference-google .oz-google-actions .oeffnungszeiten-button:hover,.footer-reference-google .oz-google-actions .oeffnungszeiten-button:focus{background:#5f2914!important;border-color:#5f2914!important;color:#fff!important;transform:translateY(-1px)}
.footer-reference-map{position:relative;min-height:286px;overflow:hidden;background:#e8e8e8;color:#494c51;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.footer-reference-map iframe{display:block;width:100%;height:286px;border:0;background:#e8e8e8}
.footer-reference-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;text-align:center;background:linear-gradient(135deg,#f0f0f0,#d9dce0);color:#494c51}
.footer-reference-map-placeholder strong{font:600 21px/1.25 var(--brand-font);color:#683721}
.footer-reference-map-placeholder span{max-width:290px;font-size:13px;line-height:1.5}
.footer-reference-map-placeholder a{display:inline-flex;margin-top:6px;padding:9px 14px;border-radius:3px;background:#683721;color:#fff!important;text-decoration:none;font-size:13px;font-weight:700}
.footer-reference-map.is-loaded .footer-reference-map-placeholder{display:none}
.footer-reference-bottom{background:#4e5055}
.footer-reference-bottom-inner{width:min(calc(100% - 44px),1150px);min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:34px;padding:20px 0;color:#fff;font-size:14px;font-weight:600}
.footer-reference-bottom .footer-copyright{max-width:none;line-height:1.55;white-space:nowrap}.footer-reference-bottom .footer-copyright .footer-credit{display:inline;margin:0 0 0 .35em}
.footer-reference-legal{display:flex;align-items:center;justify-content:flex-end;gap:34px;flex-wrap:wrap}
.footer-reference-legal button,.footer-reference-legal a{padding:0;border:0;background:transparent;color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer}
.footer-reference-legal button:hover,.footer-reference-legal a:hover{text-decoration:underline}

/* Live-site entrance motion reconstructed from the supplied screen recording. */
.hk-live-reveal{opacity:1;transform:none;will-change:auto}
.js body:not(.hk-motion-off) .hk-live-reveal:not(.is-visible){opacity:0}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-fade-up:not(.is-visible){transform:translate3d(0,34px,0)}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-scale:not(.is-visible){transform:translate3d(0,24px,0) scale(.965)}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-tilt:not(.is-visible){transform:perspective(900px) translate3d(0,58px,0) rotateX(14deg) scale(.965);transform-origin:50% 100%}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-left:not(.is-visible){transform:translate3d(-42px,0,0)}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-right:not(.is-visible){transform:translate3d(42px,0,0)}
.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-reveal{transition:opacity 760ms cubic-bezier(.2,.7,.18,1),transform 900ms cubic-bezier(.16,.78,.2,1)}
.js body.hk-motion-subtle .hk-live-reveal{transition-duration:520ms}
.js body.hk-motion-modern .hk-live-reveal{transition-duration:680ms}
.hk-feature-grid .hk-feature-card:nth-child(1){transition-delay:0ms}.hk-feature-grid .hk-feature-card:nth-child(2){transition-delay:105ms}.hk-feature-grid .hk-feature-card:nth-child(3){transition-delay:210ms}
.footer-reference-grid [data-hk-motion="footer-left"]{transition-delay:0ms}.footer-reference-grid [data-hk-motion="footer-up"]{transition-delay:90ms}.footer-reference-grid [data-hk-motion="footer-right"]{transition-delay:180ms}

@media(max-width:1220px){
  .footer-reference-grid{width:min(calc(100% - 40px),1080px);grid-template-columns:minmax(250px,.9fr) minmax(320px,1fr) minmax(320px,1fr);gap:22px}
  .footer-reference-brand .brand-logo--footer{width:215px}.footer-reference-about{font-size:15px}.footer-reference-hours{padding-inline:20px}.footer-reference-google-title{font-size:23px}.footer-reference-bottom-inner{width:min(calc(100% - 40px),1080px)}
}
@media(max-width:980px){
  .footer-reference-bottom .footer-copyright{white-space:normal}
  .footer-reference-grid{grid-template-columns:1fr 1fr;max-width:820px;padding-top:36px}
  .footer-reference-brand{grid-column:1/-1;text-align:center}.footer-reference-brand .brand-logo-link{justify-content:center}.footer-reference-about{max-width:560px;margin-inline:auto;text-align:center}
  .footer-reference-hours{min-height:0}.footer-reference-right{min-width:0}
  .footer-reference-bottom-inner{max-width:820px}
}
@media(max-width:680px){
  .footer-reference-grid{width:min(calc(100% - 28px),520px);grid-template-columns:1fr;gap:24px;padding:36px 0 34px}
  .footer-reference-brand{grid-column:auto}.footer-reference-brand .brand-logo--footer{width:225px;margin-bottom:20px}.footer-reference-about{font-size:15px;line-height:1.65;text-align:left}
  .footer-reference-heading{font-size:24px;padding-top:19px}.footer-reference-hours{padding-inline:16px}.footer-reference-hours .oeffnungszeiten-status-primary{min-height:68px;font-size:19px}.footer-reference-hours .oeffnungszeiten-day,.footer-reference-hours .oeffnungszeiten-hours{font-size:14px!important}
  .footer-reference-google{padding:16px 16px 20px}.footer-reference-google-title{grid-template-columns:38px 1fr;font-size:21px}.footer-reference-google-title img{width:36px;height:54px}.footer-reference-google .oz-google-summary strong{font-size:27px!important}.footer-reference-google .oz-google-star{font-size:25px!important}
  .footer-reference-map,.footer-reference-map iframe{min-height:245px;height:245px}
  .footer-reference-bottom-inner{width:min(calc(100% - 28px),520px);min-height:0;flex-direction:column;align-items:center;text-align:center;padding:25px 0 30px}.footer-reference-bottom .footer-copyright{max-width:100%}.footer-reference-legal{justify-content:center;gap:14px 22px}.footer-reference-legal button,.footer-reference-legal a{font-size:13.5px}
  .js body:not(.hk-motion-off) .hk-live-reveal.hk-live-left:not(.is-visible),.js body:not(.hk-motion-off) .hk-live-reveal.hk-live-right:not(.is-visible){transform:translate3d(0,28px,0)}
}
@media(prefers-reduced-motion:reduce){
  .hk-live-reveal,.js .hk-live-reveal:not(.is-visible){opacity:1!important;transform:none!important;transition:none!important}
}

/* HaarKunst 3.1.7 – section-title visibility regression fix.
   Section headings are never hidden as a prerequisite for animation. This keeps
   them visible even if IntersectionObserver, another script or a browser extension
   interrupts the progressive-enhancement JavaScript. */
.hk-section-heading.hk-live-reveal,
.js body:not(.hk-motion-off) .hk-section-heading.hk-live-reveal:not(.is-visible){opacity:1!important;transform:none!important}
.hk-section-heading.hk-heading-motion{opacity:1!important;transform:none!important}
@keyframes hk-heading-safe-in{
  from{opacity:.72;transform:translate3d(0,12px,0)}
  to{opacity:1;transform:none}
}
body:not(.hk-motion-off) .hk-section-heading.hk-heading-visible h2{animation:hk-heading-safe-in 560ms cubic-bezier(.2,.72,.2,1) both}
@media(prefers-reduced-motion:reduce){
  .hk-section-heading.hk-heading-visible h2{animation:none!important}
}

/* Initial hero entrance reconstructed from 04.1–04.9 s of the supplied recording:
   the image plane enters slightly rotated/scaled and settles smoothly, while the
   opening-hours rail fades in independently. */
@keyframes hk-live-hero-plane-in{
  0%{opacity:0;transform:translate3d(-8%,10%,0) rotate(-7deg) scale(.84);transform-origin:45% 55%}
  62%{opacity:1;transform:translate3d(.7%,-.5%,0) rotate(.7deg) scale(1.008)}
  100%{opacity:1;transform:none}
}
@keyframes hk-live-hours-in{
  0%{opacity:0;transform:translate3d(28px,0,0)}
  100%{opacity:1;transform:none}
}
.js body:not(.hk-motion-off) .home-hero__visual{animation:hk-live-hero-plane-in 980ms cubic-bezier(.18,.74,.2,1) both}
.js body:not(.hk-motion-off) .home-hero__hours{animation:hk-live-hours-in 620ms 310ms cubic-bezier(.2,.72,.2,1) both}
body.hk-motion-subtle .home-hero__visual{animation-duration:720ms}
body.hk-motion-subtle .home-hero__hours{animation-duration:480ms;animation-delay:220ms}
@media(max-width:980px){
  .js body:not(.hk-motion-off) .home-hero__visual{animation-name:hk-live-hero-plane-in;animation-duration:760ms}
  .js body:not(.hk-motion-off) .home-hero__hours{animation-delay:160ms}
}
@media(prefers-reduced-motion:reduce){
  .home-hero__visual,.home-hero__hours{animation:none!important;transform:none!important;opacity:1!important}
}
.footer-reference-google .hk-footer-review-count{order:3;flex:1 0 100%;color:#6c6c6c!important;font-size:14px!important}
.footer-reference-google .oz-google-actions .oeffnungszeiten-button:nth-child(1){order:2}
.footer-reference-google .oz-google-actions .oeffnungszeiten-button:nth-child(2){order:1}


/* HaarKunst 3.1.5 – final start-page refinements */
.hk-global-contact__hours{max-width:760px;margin:8px auto 0}.hk-global-contact__hours .oeffnungszeiten-card{max-width:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.hk-global-contact__hours .oeffnungszeiten-title,.hk-global-contact__hours .oeffnungszeiten-status,.hk-global-contact__hours .oz-google-reviews,.hk-global-contact__hours .oeffnungszeiten-buttons{display:none!important}.hk-global-contact__hours .oeffnungszeiten-list{display:flex!important;justify-content:center!important;gap:6px 14px!important;flex-wrap:wrap!important}.hk-global-contact__hours .oeffnungszeiten-row{min-height:0!important;padding:0!important;border:0!important;background:transparent!important}.hk-global-contact__hours .oeffnungszeiten-day,.hk-global-contact__hours .oeffnungszeiten-hours{font-size:14px!important;color:#494c51!important}.hk-compact-hours{text-align:center}
@media(min-width:1501px){.main-nav a{font-size:15.5px;padding-inline:13px}.main-nav .sub-menu a{font-size:14px}.header-cta{font-size:14px}}
@media(min-width:1800px){.main-nav a{font-size:16px;padding-inline:15px}}
@media(max-width:1500px) and (min-width:981px){.main-nav a{font-size:14.5px;padding-inline:9px}.main-nav .sub-menu a{font-size:13.5px}}
@media(max-width:980px){.main-nav a{font-size:16px!important;line-height:1.35;padding:14px 6px}.main-nav .sub-menu a{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none!important}}

/* 3.1.5 – central opening-hours source */
.hk-hours-fallback-notice{margin:18px 0 0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.78)}

/* --------------------------------------------------------------------------
   HaarKunst 3.1.5 – Google/Maps footer polish + reliable consent states
   -------------------------------------------------------------------------- */
.site-footer--reference-v315{background:#505257;color:#f5f5f5;overflow:hidden}
.site-footer--reference-v315 .footer-reference-right{gap:16px}
.site-footer--reference-v315 .footer-reference-card{border-radius:12px;overflow:hidden}
.site-footer--reference-v315 .footer-reference-kicker{display:block;color:#683721;font-family:var(--brand-font);font-size:12px;font-weight:700;letter-spacing:.055em;line-height:1.25;text-transform:uppercase}
.site-footer--reference-v315 .footer-reference-google{position:relative;min-height:0;padding:19px 22px 22px;border:1px solid rgba(104,55,33,.18);border-radius:12px;background:linear-gradient(145deg,#fff 0%,#faf8f6 58%,#f3eee9 100%);color:#494c51;box-shadow:0 15px 35px rgba(20,20,20,.18)}
.site-footer--reference-v315 .footer-reference-google:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#683721}
.site-footer--reference-v315 .footer-reference-google>.footer-reference-kicker{text-align:center;margin:3px 0 10px}
.site-footer--reference-v315 .footer-reference-google-title{grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin:0 auto 8px;max-width:330px;color:#2f3134;font:500 21px/1.25 Arial,Helvetica,sans-serif;text-align:left}
.site-footer--reference-v315 .footer-reference-google-title img{width:38px;height:54px;margin:0;object-fit:contain}
.site-footer--reference-v315 .footer-reference-google-title span{padding:0}
.site-footer--reference-v315 .footer-reference-google .oz-google-summary{gap:7px!important;margin-top:4px!important}
.site-footer--reference-v315 .footer-reference-google .oz-google-summary strong{font-size:31px!important;color:#55585c!important}
.site-footer--reference-v315 .footer-reference-google .oz-google-star{font-size:25px!important;color:#f5b300!important}
.site-footer--reference-v315 .footer-reference-google .hk-footer-review-count,.site-footer--reference-v315 .footer-reference-google .oz-google-summary>span:not(.oz-google-stars){font-size:13px!important;color:#6d7074!important}
.site-footer--reference-v315 .footer-reference-google .oz-google-actions{flex-direction:row!important;flex-wrap:wrap!important;gap:9px!important;margin-top:16px!important}
.site-footer--reference-v315 .footer-reference-google .oz-google-actions .oeffnungszeiten-button{min-width:0!important;min-height:42px!important;flex:1 1 145px!important;padding:10px 13px!important;border-radius:8px!important;background:#683721!important;border-color:#683721!important;font-size:13px!important}
.site-footer--reference-v315 .footer-reference-google .oz-google-actions .oeffnungszeiten-button:hover,.site-footer--reference-v315 .footer-reference-google .oz-google-actions .oeffnungszeiten-button:focus{background:#4c2818!important;border-color:#4c2818!important;transform:translateY(-2px)}
.site-footer--reference-v315 .footer-reference-empty{margin:12px 0 0;font-size:13px;line-height:1.55;text-align:center;color:#6d7074}

.site-footer--reference-v315 .footer-reference-map{position:relative;min-height:0;border:1px solid rgba(104,55,33,.14);border-radius:12px;background:#f8f5f2;color:#494c51;box-shadow:0 15px 35px rgba(20,20,20,.18)}
.site-footer--reference-v315 .footer-reference-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px 12px;background:linear-gradient(135deg,#fff,#f5f0eb);border-bottom:1px solid rgba(104,55,33,.13)}
.site-footer--reference-v315 .footer-reference-map-head>div{display:grid;gap:4px;min-width:0}
.site-footer--reference-v315 .footer-reference-map-head strong{display:block;overflow:hidden;color:#45484c;font-size:13px;line-height:1.35;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.site-footer--reference-v315 .footer-reference-map-head>a{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid rgba(104,55,33,.26);border-radius:8px;background:#fff;color:#683721!important;font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.site-footer--reference-v315 .footer-reference-map-head>a:hover,.site-footer--reference-v315 .footer-reference-map-head>a:focus-visible{background:#683721;border-color:#683721;color:#fff!important;transform:translateY(-1px)}
.site-footer--reference-v315 .footer-reference-map-canvas{position:relative;min-height:248px;overflow:hidden;background:#ded8d2}
.site-footer--reference-v315 .footer-reference-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:248px;border:0;background:#ded8d2;opacity:0;transition:opacity .35s ease}
.site-footer--reference-v315 .footer-reference-map.is-loaded iframe{opacity:1}
.site-footer--reference-v315 .footer-reference-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:23px 20px;text-align:center;background:radial-gradient(circle at 18% 20%,rgba(104,55,33,.09),transparent 34%),linear-gradient(140deg,#f4f0ec,#e6ded7);color:#494c51}
.site-footer--reference-v315 .footer-reference-map-placeholder:before,.site-footer--reference-v315 .footer-reference-map-placeholder:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(104,55,33,.08);border-radius:50%;width:170px;height:170px;left:-70px;bottom:-105px}
.site-footer--reference-v315 .footer-reference-map-placeholder:after{width:130px;height:130px;left:auto;right:-64px;top:-70px;bottom:auto}
.site-footer--reference-v315 .footer-reference-map-pin{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#683721;color:#fff;font-size:23px;box-shadow:0 8px 20px rgba(104,55,33,.24)}
.site-footer--reference-v315 .footer-reference-map-placeholder strong{position:relative;z-index:1;font:500 19px/1.25 var(--brand-font);color:#494c51}
.site-footer--reference-v315 .footer-reference-map-placeholder>span:not(.footer-reference-map-pin){position:relative;z-index:1;max-width:310px;font-size:13px;line-height:1.45}
.site-footer--reference-v315 .footer-reference-map-placeholder small{position:relative;z-index:1;max-width:315px;color:#6f7175;font-size:11px;line-height:1.45}
.site-footer--reference-v315 .footer-reference-map-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.site-footer--reference-v315 .footer-reference-map-actions .button{min-height:38px;padding:8px 13px;border-radius:8px;background:#683721;border-color:#683721;font-size:12px}
.site-footer--reference-v315 .footer-reference-map-actions .button:hover{background:#4c2818;border-color:#4c2818}
.site-footer--reference-v315 .footer-map-settings{min-height:38px;padding:8px 12px;border:1px solid rgba(104,55,33,.25);border-radius:8px;background:rgba(255,255,255,.68);color:#683721;font-size:12px;font-weight:700;cursor:pointer}
.site-footer--reference-v315 .footer-map-settings:hover,.site-footer--reference-v315 .footer-map-settings:focus-visible{background:#fff;border-color:#683721}
.site-footer--reference-v315 .footer-reference-map-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:10px;background:#eee9e4;color:#5b5e62;font-size:13px;font-weight:600}
.site-footer--reference-v315 .footer-reference-map-loading span{width:22px;height:22px;border:2px solid rgba(104,55,33,.2);border-top-color:#683721;border-radius:50%;animation:hk-map-spin .8s linear infinite}
.site-footer--reference-v315 .footer-reference-map.is-loading .footer-reference-map-placeholder{display:none}
.site-footer--reference-v315 .footer-reference-map.is-loading .footer-reference-map-loading{display:flex}
.site-footer--reference-v315 .footer-reference-map.is-loaded .footer-reference-map-placeholder,.site-footer--reference-v315 .footer-reference-map.is-loaded .footer-reference-map-loading{display:none}
@keyframes hk-map-spin{to{transform:rotate(360deg)}}

@media(max-width:680px){
  .site-footer--reference-v315 .footer-reference-google{padding:18px 15px 19px}
  .site-footer--reference-v315 .footer-reference-google-title{font-size:19px;grid-template-columns:38px 1fr}
  .site-footer--reference-v315 .footer-reference-google .oz-google-actions{flex-direction:column!important}
  .site-footer--reference-v315 .footer-reference-google .oz-google-actions .oeffnungszeiten-button{width:100%!important;flex:none!important}
  .site-footer--reference-v315 .footer-reference-map-head{align-items:flex-start;flex-direction:column}
  .site-footer--reference-v315 .footer-reference-map-head strong{white-space:normal}
  .site-footer--reference-v315 .footer-reference-map-head>a{align-self:flex-start}
  .site-footer--reference-v315 .footer-reference-map-canvas,.site-footer--reference-v315 .footer-reference-map iframe{min-height:260px;height:260px}
}
@media(prefers-reduced-motion:reduce){
  .site-footer--reference-v315 .footer-reference-map iframe,.site-footer--reference-v315 .footer-reference-map-head>a,.site-footer--reference-v315 .footer-reference-google .oeffnungszeiten-button{transition:none!important;transform:none!important}
  .site-footer--reference-v315 .footer-reference-map-loading span{animation:none!important}
}

/* HaarKunst 3.1.7 – required home section headings: data-safe + render-safe.
   The actual regression was an existing empty WordPress option (get_option's
   fallback is not used for empty strings), which left only the h2::after line. */
.hk-home-reviews .hk-section-heading h2,
.hk-trends .hk-section-heading h2,
.hk-global-contact .hk-section-heading h2{
  display:block!important;visibility:visible!important;opacity:1!important;color:var(--hk-heading)!important;
}

/* HaarKunst 3.1.8 – feature-card title/data regression guard.
   Card title bands are structural content and must remain readable independently
   of scroll/reveal state. The PHP template also provides a non-empty fallback. */
.hk-feature-card h3,
.js body:not(.hk-motion-off) .hk-feature-card h3{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
}
@media(prefers-reduced-motion:reduce){
  .hk-feature-card h3{transition:none!important;transform:none!important}
}

/* ========================================================================== 
   HaarKunst 3.2.0 — Salon page
   Uses the homepage proportions/design language while keeping Salon controls
   independent in the HaarKunst Suite.
   ========================================================================== */
.page-hero--salon .page-hero-inner{min-height:var(--hk-salon-hero-d,385px)}
.page-hero--salon .page-hero-media{min-height:var(--hk-salon-hero-d,385px);background-position:center 48%}
.page-hero--salon .page-hero-media:after{background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.04) 72%)}
.page-hero--salon .page-hero-copy{left:4.5%;right:calc(420px + 4.5%);max-width:none;text-align:center;text-shadow:0 3px 16px rgba(0,0,0,.46)}
.page-hero--salon .page-hero-copy h1{margin:0;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,3.15vw,54px);font-weight:800;line-height:1.02;letter-spacing:-.025em;text-transform:uppercase}
.page-hero--salon .page-hero-subtitle{margin:15px 0 0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,1.8vw,31px);font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none}
.page-hero--salon .page-hero-hours{display:flex;align-items:center;padding-top:18px;padding-bottom:18px}
.page-hero--salon .page-hero-hours>.oeffnungszeiten-card{margin:auto!important}

.hk-salon-wrap{width:min(calc(100% - 42px),1160px);max-width:1160px}
.hk-salon-intro{padding:42px 0 54px;background:#fff}
.hk-salon-intro .hk-section-heading{margin-bottom:18px}
.hk-salon-intro .hk-section-heading h2{font-size:38px}
.hk-salon-contactline{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0 auto 42px;color:#494c51;font-size:15.5px;line-height:1.55;text-align:center}
.hk-salon-contactline a{color:inherit;text-decoration:none}
.hk-salon-contactline .hk-compact-hours{margin:2px 0 0}
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-card{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-header,
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-status,
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-buttons,
.hk-salon-contactline .hk-compact-hours--plugin .oz-google-reviews{display:none!important}
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-list{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:4px 14px!important}
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-row{display:flex!important;gap:4px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;font-size:13.5px!important}
.hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-today-badge{display:none!important}
.hk-salon-team{max-width:1080px;margin-inline:auto}
.hk-salon-team .hk-team-grid{display:grid;gap:42px}
.hk-salon-team .hk-team-card{grid-template-columns:340px minmax(0,1fr);gap:62px;align-items:center;padding:0;background:transparent;box-shadow:none;border:0}
.hk-salon-team .hk-team-card img{width:340px;height:340px;border-radius:50%;object-fit:cover;object-position:center top;box-shadow:0 14px 34px rgba(0,0,0,.09)}
.hk-salon-team .hk-team-card h3{position:relative;margin:0 0 18px;padding:0 0 13px;font-family:var(--brand-font);font-size:32px;font-weight:400;line-height:1.12;color:#1e1f20}
.hk-salon-team .hk-team-card h3:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#b6b8ba}
.hk-salon-team .hk-team-card .hk-role{margin:0 0 15px;font-family:var(--brand-font);font-size:18px;line-height:1.35;color:#2e3032}
.hk-salon-team .hk-team-card p:not(.hk-role){margin:0;font-size:15.5px;line-height:1.72;text-align:justify;color:#56585b}

.hk-salon-gallery{padding:34px 0 58px;background:#fff}
.hk-salon-gallery .hk-section-heading{margin-bottom:30px}
.hk-salon-gallery .hk-section-heading h2{font-size:31px}
.hk-salon-gallery__slider{width:100%;margin-inline:auto}
.hk-salon-gallery__slider .hk-slider--gallery{max-width:100%!important}

.hk-managed-cta--with-embed{align-items:center;padding:36px 0}
.hk-managed-cta--with-embed .hk-managed-cta__inner{width:min(calc(100% - 42px),1320px)}
.hk-managed-cta--with-embed .hk-managed-cta__inner>div{width:min(100%,1160px);max-width:1160px;margin-inline:auto}
.hk-managed-cta--with-embed .hk-managed-cta__inner h2{margin-bottom:22px}
.hk-managed-cta__embed{margin:18px auto 0;text-shadow:none}
.hk-managed-cta__embed .hk-google-showcase{margin-inline:auto;background:rgba(255,255,255,.97);box-shadow:0 16px 45px rgba(0,0,0,.24)}
.hk-managed-cta__embed .hk-google-showcase--cta{max-width:1160px}
.hk-managed-cta__embed .hk-google-showcase--cta .hk-google-showcase__portrait img{min-height:405px}
.hk-managed-cta__embed .hk-google-showcase--cta .hk-google-showcase__content{background:rgba(255,255,255,.97)}

@media(max-width:1500px){
  .page-hero--salon .page-hero-copy{right:calc(390px + 3.5%)}
  .hk-salon-wrap{max-width:1120px}
}
@media(max-width:1220px){
  .page-hero--salon .page-hero-copy{right:calc(360px + 3%)}
  .hk-salon-team .hk-team-card{grid-template-columns:300px minmax(0,1fr);gap:44px}
  .hk-salon-team .hk-team-card img{width:300px;height:300px}
}
@media(max-width:980px){
  .page-hero--salon .page-hero-inner{min-height:0;grid-template-columns:1fr}
  .page-hero--salon .page-hero-media{min-height:var(--hk-salon-hero-t,330px)}
  .page-hero--salon .page-hero-copy{left:28px;right:28px;top:calc(var(--hk-salon-hero-t,330px)/2);text-align:center}
  .page-hero--salon .page-hero-hours{grid-column:auto;min-height:0;padding:24px}
  .page-hero--salon .page-hero-copy h1{font-size:42px}
  .page-hero--salon .page-hero-subtitle{font-size:25px}
  .hk-salon-intro .hk-section-heading h2{font-size:34px}
  .hk-salon-team .hk-team-card{grid-template-columns:250px minmax(0,1fr);gap:34px}
  .hk-salon-team .hk-team-card img{width:250px;height:250px}
  .hk-salon-team .hk-team-card h3{font-size:28px}
  .hk-salon-team .hk-team-card .hk-role{font-size:17px}
  .hk-managed-cta--with-embed{padding:30px 0}
}
@media(max-width:680px){
  .page-hero--salon .page-hero-media{min-height:var(--hk-salon-hero-m,270px)}
  .page-hero--salon .page-hero-copy{left:18px;right:18px;top:calc(var(--hk-salon-hero-m,270px)/2)}
  .page-hero--salon .page-hero-copy h1{font-size:clamp(30px,10vw,38px)}
  .page-hero--salon .page-hero-subtitle{margin-top:10px;font-size:clamp(18px,5.8vw,23px)}
  .page-hero--salon .page-hero-hours{padding:20px 12px}
  .hk-salon-wrap{width:min(calc(100% - 28px),100%)}
  .hk-salon-intro{padding:32px 0 42px}
  .hk-salon-intro .hk-section-heading h2{font-size:29px}
  .hk-salon-contactline{font-size:14.5px;margin-bottom:34px}
  .hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-list{display:block!important}
  .hk-salon-contactline .hk-compact-hours--plugin .oeffnungszeiten-row{justify-content:center!important;margin:2px 0!important}
  .hk-salon-team .hk-team-card{grid-template-columns:1fr;gap:24px;text-align:center}
  .hk-salon-team .hk-team-card img{width:min(78vw,290px);height:min(78vw,290px);margin:auto}
  .hk-salon-team .hk-team-card h3{font-size:27px}
  .hk-salon-team .hk-team-card h3:after{left:10%;right:10%}
  .hk-salon-team .hk-team-card p:not(.hk-role){font-size:15.5px;text-align:left}
  .hk-salon-gallery{padding:28px 0 42px}
  .hk-salon-gallery .hk-section-heading h2{font-size:26px}
  .hk-managed-cta--with-embed{padding:24px 0}
  .hk-managed-cta--with-embed .hk-managed-cta__inner{width:min(calc(100% - 22px),100%)}
  .hk-managed-cta__embed{margin-top:12px}
}
