/* Custom overrides for physiotherapie-rohn.de */
:root {
    --rohn-blue: #23539a;
    --rohn-blue-dark: #163b72;
    --rohn-green: #5a9e12;
    --rohn-green-dark: #3f760b;
    --rohn-red: #b51e22;
    --rohn-primary: var(--rohn-blue);
    --rohn-primary-dark: var(--rohn-blue-dark);
    --rohn-soft: #edf5fb;
    --rohn-soft-green: #f0f7e9;
    --rohn-text: #24302f;
}

body {
    color: var(--rohn-text);
}

.navbar .navbar-brand {
    padding-bottom: 10px;
    padding-top: 10px;
}

header .navbar-brand img.rohn-logo-img {
    height: 118px !important;
    max-height: 118px !important;
    max-width: 320px;
    object-fit: contain;
    width: auto;
}

.rohn-hero {
    background-color: #fff7f5;
}

.rohn-hero-gradient {
    background: linear-gradient(115deg, rgba(255, 255, 255, .7), rgba(250, 239, 236, .72) 54%, rgba(237, 245, 251, .74));
}

.rohn-hero-title .rohn-word {
    color: var(--rohn-blue);
    min-height: 1em;
}

.rohn-hero-person {
    bottom: 0 !important;
    height: min(72vh, 650px);
    max-height: 650px;
    width: min(34vw, 460px);
    z-index: 2;
}

.rohn-hero-person img {
    height: auto;
    object-fit: contain;
    object-position: top center;
    width: 100% !important;
}

.rohn-ribbon {
    height: 150px;
    position: absolute;
    right: -16vw;
    transform: rotate(-18deg);
    width: 760px;
    z-index: 1;
}

.rohn-ribbon-back {
    background: linear-gradient(90deg, var(--rohn-blue), var(--rohn-green));
    bottom: 275px;
    opacity: .96;
}

.rohn-ribbon-front {
    background: linear-gradient(90deg, var(--rohn-red), #ff6142);
    bottom: 80px;
}

.rohn-note {
    background: #fbe55d;
    border-radius: 6px;
    box-shadow: 0 20px 50px rgba(36, 48, 47, .12);
    color: #1f2633;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    padding: 34px 42px;
    z-index: 3;
}

.rohn-kicker {
    color: var(--rohn-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rohn-check {
    background-color: var(--rohn-green);
}

.rohn-card {
    border: 1px solid rgba(36, 48, 47, .08);
    border-radius: 8px;
    height: 100%;
}

.rohn-card .feature-box-icon {
    background-color: var(--rohn-soft-green);
    color: var(--rohn-green-dark);
}

.btn-rohn {
    background-color: var(--rohn-blue-dark);
    color: #fff;
}

.btn-rohn:hover,
.btn-rohn:focus {
    background-color: var(--rohn-green);
    color: #fff;
}

.rohn-contact-band {
    background: linear-gradient(135deg, var(--rohn-blue-dark), var(--rohn-blue) 52%, var(--rohn-green-dark));
}

.rohn-header-actions {
    align-items: center;
    display: inline-flex;
    gap: 20px;
    justify-content: flex-end;
}

.btn.btn-rohn-gradient {
    background-image: linear-gradient(135deg, var(--rohn-blue) 0%, var(--rohn-green) 100%);
    border: 0;
    box-shadow: 0 10px 26px rgba(35, 83, 154, .18);
    color: #fff;
    white-space: nowrap;
}

.btn.btn-rohn-gradient:hover,
.btn.btn-rohn-gradient:focus {
    background-image: linear-gradient(135deg, var(--rohn-red) 0%, var(--rohn-blue) 100%);
    color: #fff;
    transform: translateY(-1px);
}

.rohn-header-cta {
    padding-left: 22px;
    padding-right: 22px;
}

.rohn-subhero {
    padding-bottom: 90px;
    padding-top: 170px;
}

.rohn-footer-logo {
    height: auto;
    max-height: 110px;
    max-width: 230px;
    width: auto;
}

.footer-navbar li {
    margin-bottom: 8px;
}

.footer-navbar a {
    color: rgba(255, 255, 255, .72);
}

.footer-navbar a:hover {
    color: #fff;
}

.rohn-service-item {
    border: 1px solid rgba(36, 48, 47, .08);
}

.rohn-map iframe {
    display: block;
}

.rohn-legal h2,
.rohn-legal h3 {
    color: #1f2633;
    font-weight: 700;
}

.rohn-legal h2 {
    margin-bottom: 25px;
}

.rohn-legal h3 {
    font-size: 22px;
    margin-bottom: 12px;
    margin-top: 35px;
}

.rohn-legal p {
    font-size: 18px;
    line-height: 1.8;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--rohn-red);
}

@media (max-width: 991px) {
    header .navbar-brand img.rohn-logo-img {
        height: 76px !important;
        max-height: 76px !important;
        max-width: 220px;
    }

    .rohn-header-actions {
        gap: 12px;
    }

    .rohn-header-cta {
        display: none;
    }

    .rohn-hero-person {
        height: 520px;
        max-height: 520px;
        width: 340px;
    }

    .rohn-ribbon {
        right: -340px;
        width: 650px;
    }

    .rohn-subhero {
        padding-bottom: 70px;
        padding-top: 130px;
    }
}
