/* herrwinter.de – Ergänzungen 10/2026: Schrift, Cookie-Banner, Karte auf Klick, Hero, Mobil-Feinschliff */

/* Überschriften-Schrift: Sofia Sans Semi Condensed (SIL Open Font License, selbst gehostet, 57 KB)
   ersetzt Proxima Nova Condensed von Adobe Fonts/Typekit (Kit von Designkarussell, fremde Server). */
@font-face {
    font-family: "Sofia Sans Semi Condensed";
    src: url("../fonts/sofia-sans-semi-condensed.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
/* Fließtext: Sofia Sans (gleiche Familie, normale Breite) – überall gleich statt Helvetica/Arial je nach Gerät */
@font-face {
    font-family: "Sofia Sans";
    src: url("../fonts/sofia-sans.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
body { font-family: "Sofia Sans", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 350; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .btn, .nav [href] {
    font-family: "Sofia Sans Semi Condensed", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-weight: 500; }
.btn, .nav [href] { font-weight: 400; }
#hw-consent {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 2000;
    background: #000;
    color: #fff;
    border-top: 1px solid #d4af37;
    font-size: 14px;
    line-height: 1.5;
}
#hw-consent .hw-consent-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
}
#hw-consent p { margin: 0; flex: 1 1 420px; font-size: 14px; line-height: 1.5; min-width: 0; }
#hw-consent a { color: #d4af37; text-decoration: underline; }
#hw-consent .hw-consent-buttons { display: flex; gap: 10px; flex: 0 0 auto; }
#hw-consent .btn { border-radius: 0; text-transform: uppercase; letter-spacing: .05em; }
#hw-consent .btn-default { background: transparent; color: #fff; border: 1px solid #727272; }
#hw-consent .btn-default:hover { border-color: #fff; background: transparent; color: #fff; }
#hw-consent .btn-primary { background: #d4af37; border-color: #d4af37; color: #000; }
#hw-consent .btn-primary:hover { background: #c19d2c; border-color: #c19d2c; color: #000; }
@media (max-width: 600px) {
    #hw-consent .hw-consent-inner { padding: 12px 14px; gap: 10px; }
    #hw-consent p { flex: 1 1 100%; font-size: 12.5px; line-height: 1.4; }
    #hw-consent .hw-consent-buttons { width: 100%; }
    #hw-consent .hw-consent-buttons .btn { flex: 1 1 50%; padding: 10px 6px; font-size: 12px; }
}

/* Anfahrt: Karte erst auf Klick laden (Google Maps, Datenschutz) */
.hw-map-placeholder {
    position: relative;
    min-height: 320px;
    background: #111;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px 20px;
}
.hw-map-placeholder p { margin: 0 0 16px; color: #d1d1d1; }
.hw-map-placeholder a:not(.btn) { color: #d4af37; text-decoration: underline; }
.hw-map-placeholder .btn { margin: 4px; border-radius: 0; }

/* Hero-Buttons nebeneinander */
.hw-hero-buttons .btn { margin: 6px; }
.hw-hero-buttons .btn-whatsapp { border-color: #d4af37; color: #fff; }
.hw-hero-buttons .btn-whatsapp:hover { background: #d4af37; color: #000; border-color: #d4af37; }


/* H1 im Hero: dezent, markenkonform */
.jumbotron.intro .hw-h1 {
    color: #fff;
    font-weight: 300;
    font-size: 22px;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 10px 0 24px;
}
@media (max-width: 767px) { .jumbotron.intro .hw-h1 { font-size: 16px; letter-spacing: .08em; } }

/* Mobil: Preistabellen passen in den Bildschirm (vorher 27 px Überbreite → seitliches Scrollen) */
@media (max-width: 767px) {
    .table-price { font-size: 12px; }
    .table-price > thead > tr > th, .table-price > tbody > tr > td, .table-price > tbody > tr > th,
    .table-price > thead > th { padding: 6px 4px; }
    #preisliste-desktop-0 .table-price td, #preisliste-desktop-0 .table-price th { padding-left: 5px !important; padding-right: 5px !important; }
    .panel-primary { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Mobil: lange Überschriften (z. B. WILLKOMMENSRITUALE) sprengten die Breite → Seite wurde verkleinert */
@media (max-width: 767px) {
    .page-header h2 { font-size: 28px; overflow-wrap: anywhere; }
}

/* Abschnitte unter der festen Navigation: Anker-Sprünge landen unterhalb der Leiste */
html { scroll-padding-top: 64px; }
section[id], #page-top { scroll-margin-top: 64px; }

/* Rituale: vier Spalten ab md */
.service-item.service-item-vertical.hw-ritual .media-left { padding: 0 12px; }
@media (min-width: 768px) and (max-width: 991px) { .service-item.service-item-vertical.hw-ritual .media-left { padding: 0 40px; } }
@media (max-width: 767px) { .service-item.service-item-vertical.hw-ritual .media-left { padding: 0 48px; } }
.hw-ritual .media-body p { font-size: 15px; }

/* Hinweis unter den Öffnungszeiten (Advent/Feiertage) */
.hw-hours-note { margin: 10px 15px 0; color: #777; }

/* Concept-Store-Foto: Hochformat, nicht über Originalbreite vergrößern */
.hw-concept-store { max-width: 700px; margin: 0 auto; display: block; }
/* Variable Schrift: "100" wäre Haarlinie – Leichtgewicht wie früher Helvetica Neue Light */
.lead, .service-item .media-body p { font-weight: 300; }

/* Keine Kursivschrift – zu viel Schriftmischung (Feedback Brüssau 22.10.) */
blockquote .lead, blockquote.lead, .jumbotron .lead, .table-price span, cite, em, i { font-style: normal; }
