:root {
    --hh-green:#173f27;
    --hh-green-soft:#365f3f;
    --hh-green-light:#e8f0e8;
    --hh-cream:#f6f1e7;
    --hh-cream-dark:#eee3d0;
    --hh-sand:#cba769;
    --hh-brown:#725543;
    --hh-text:#263229;
    --hh-muted:#68736b;
    --hh-border:#ded8cc;
    --hh-white:#ffffff;
    --hh-red:#9f4741;
}

* {
    box-sizing:border-box;
}

body {
    margin:0;
    color:var(--hh-text);
    background:#f8f6f1;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

.hh-nav {
    background:#fff;
    border-bottom:1px solid var(--hh-border);
    position:relative;
    z-index:20;
}

.hh-nav-inner {
    max-width:1180px;
    margin:auto;
    min-height:74px;
    padding:9px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.hh-brand {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:var(--hh-green);
}

.hh-brand img {
    width:75px;
    height:54px;
    object-fit:contain;
}

.hh-brand-copy small {
    display:block;
    font-size:9px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#758177;
    font-weight:800;
}

.hh-brand-copy strong {
    display:block;
    margin-top:2px;
    font-size:18px;
}

.hh-menu {
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
}

.hh-menu a {
    text-decoration:none;
    color:#46534a;
    font-size:12px;
    font-weight:700;
    padding:9px 10px;
    border-radius:7px;
}

.hh-menu a:hover,
.hh-menu a.active {
    background:var(--hh-green-light);
    color:var(--hh-green);
}

.hh-menu .hh-menu-cta {
    background:var(--hh-green);
    color:white;
    padding:10px 13px;
}

.hh-menu .hh-menu-cta:hover {
    background:var(--hh-green-soft);
    color:white;
}

.hh-container {
    max-width:1180px;
    margin:auto;
    padding-left:24px;
    padding-right:24px;
}

.hh-eyebrow {
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--hh-sand);
}

.hh-display {
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-weight:500;
}

.hh-section-title {
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    color:var(--hh-brown);
    font-size:34px;
    line-height:1.15;
}

.hh-button {
    display:inline-block;
    border:0;
    border-radius:8px;
    padding:13px 17px;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.hh-button-primary {
    background:var(--hh-green);
    color:#fff;
}

.hh-button-primary:hover {
    background:var(--hh-green-soft);
}

.hh-button-light {
    background:#fff;
    color:var(--hh-green);
    border:1px solid rgba(255,255,255,.45);
}

.hh-card {
    background:#fff;
    border:1px solid var(--hh-border);
    border-radius:14px;
}

.hh-footer {
    margin-top:55px;
    background:var(--hh-green);
    color:rgba(255,255,255,.82);
}

.hh-footer-inner {
    max-width:1180px;
    margin:auto;
    padding:28px 24px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}

.hh-footer strong {
    display:block;
    color:white;
    margin-bottom:4px;
}

.hh-footer a {
    color:white;
    text-decoration:none;
    font-size:11px;
    margin-left:14px;
}

.hh-motto {
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-style:italic;
}


/* ============================================================
   ANFRAGEFORMULAR – EXISTIERENDES LAYOUT VEREDLEN
   ============================================================ */

body.hh-booking-page {
    background:#f8f6f1 !important;
}

body.hh-booking-page > header {
    background:
        linear-gradient(
            90deg,
            rgba(23,63,39,.96),
            rgba(23,63,39,.82)
        ) !important;
}

body.hh-booking-page > header h1 {
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;
    font-weight:500 !important;
    letter-spacing:-.02em;
}

body.hh-booking-page input,
body.hh-booking-page select,
body.hh-booking-page textarea {
    border-color:#d7d6cd !important;
    background:#fff !important;
}

body.hh-booking-page input:focus,
body.hh-booking-page select:focus,
body.hh-booking-page textarea:focus {
    outline:none !important;
    border-color:var(--hh-green) !important;
    box-shadow:
        0 0 0 3px rgba(23,63,39,.08) !important;
}

body.hh-booking-page button[type="submit"] {
    background:var(--hh-green) !important;
}

body.hh-booking-page #calendar-link-inline {
    background:var(--hh-cream) !important;
    border-color:var(--hh-cream-dark) !important;
}

body.hh-booking-page #calendar-link-inline a {
    color:var(--hh-green) !important;
}

.hh-booking-intro {
    max-width:1180px;
    margin:18px auto 0;
    padding:0 24px;
}

.hh-booking-intro-inner {
    display:flex;
    gap:14px;
    align-items:center;
    padding:13px 16px;
    background:#fff;
    border:1px solid var(--hh-border);
    border-radius:10px;
    color:var(--hh-muted);
    font-size:11px;
}

.hh-booking-intro strong {
    color:var(--hh-green);
}

@media(max-width:800px) {

    .hh-nav-inner {
        align-items:flex-start;
        flex-direction:column;
    }

    .hh-menu {
        width:100%;
    }

    .hh-menu a {
        padding-left:7px;
        padding-right:7px;
    }

    .hh-footer-inner {
        flex-direction:column;
        align-items:flex-start;
    }

    .hh-footer a {
        margin:0 14px 0 0;
    }
}
