:root {
    --brand: #b06d3f;
    --brand-dark: #8a532e;
    --bg-soft: #fbf4ef;
    --text: #3a332f;
}

body {
    color: var(--text);
    background: #fff;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

h1, h2, h3 {
    font-family: Georgia, "Times New Roman", serif;
}

.topbar {
    background: #fff8f2;
    border-bottom: 1px solid #f1e3d8;
}

.topbar-phone {
    color: var(--brand);
    text-decoration: none;
}

.brand-title {
    font-weight: 700;
    color: #2f2926;
}

.navbar-glass {
    position: sticky;
    top: 0;
    overflow: hidden;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.28);
}

.navbar-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('/assets/img/tlo_gora.png') center/cover no-repeat;
    opacity: .7;
    z-index: -2;
}

.navbar-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(32,24,20,.22);
    z-index: -1;
}

.navbar .nav-link {
    font-weight: 600;
    color: #2f2926;
    text-shadow: none;
}

.navbar .nav-link.active {
    color: var(--brand-dark) !important;
}

.navbar .nav-link:hover {
    color: var(--brand);
}

.navbar .navbar-toggler-icon {
    filter: invert(1) brightness(1.8);
}

.btn-main {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
    border-radius: 999px;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.btn-main:hover,
.btn-main:focus {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.hero-section {
    min-height: 88vh;
    display: flex;
    align-items: center;
}

.hero-video,
.hero-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.45));
}

.hero-content {
    z-index: 2;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.hero-logo {
    width: 110px;
    height: auto;
    margin-bottom: 1rem;
}

.hero-badge {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    padding: .5rem .85rem;
    backdrop-filter: blur(5px);
}

.animate-on-scroll {
    opacity: 0;
}

.animate-on-scroll.is-visible {
    opacity: 1;
}

.bg-light-soft {
    background: linear-gradient(rgba(251,244,239,.72), rgba(251,244,239,.72)), url('/assets/img/tlo.png') center/cover no-repeat;
}

main section:not(.hero-section):not(.subpage-hero) {
    background-image: linear-gradient(rgba(255,255,255,.58), rgba(255,255,255,.58)), url('/assets/img/tlo.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.card-lift {
    transition: transform .2s ease, box-shadow .2s ease;
}

.card-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(0,0,0,.08) !important;
}

.subpage-hero {
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    isolation: isolate;
    border-bottom: 1px solid #efe3da;
    min-height: 260px;
    display: flex;
    align-items: center;
}

.subpage-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(36, 28, 24, .52);
    z-index: -1;
}

.subpage-hero-offer {
    background-image: url('/assets/img/cta_image0.png') !important;
}

.subpage-hero-contact {
    background-image: url('/assets/img/cta_image1.png') !important;
}

.subpage-hero-about {
    background-image: url('/assets/img/cta_image2.png') !important;
}

.cta-final {
    background: linear-gradient(rgba(38,27,21,.58), rgba(38,27,21,.58)), url('/assets/img/tlo.png') center/cover no-repeat;
}

.site-footer {
    background: linear-gradient(rgba(248,239,232,.72), rgba(248,239,232,.72)), url('/assets/img/tlo_dol.png') center/cover no-repeat;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-top: 1px solid #efe3da;
}

.footer-brand-row {
    min-height: 92px;
}

.footer-logo-lg {
    width: 86px;
    height: 86px;
    object-fit: contain;
    flex-shrink: 0;
}

.footer-icon-link {
    color: var(--brand-dark);
    display: inline-flex;
    transition: color .2s ease, transform .2s ease;
}

.footer-icon-link:hover {
    color: var(--brand);
    transform: translateY(-1px);
}

.footer-links a {
    color: #5f5752;
    text-decoration: none;
}

.footer-links a:hover {
    color: var(--brand);
}

.privacy-article h2 {
    margin-top: 1.2rem;
    font-size: 1.2rem;
}

@media (max-width: 991.98px) {
    .navbar .navbar-collapse {
        background: rgba(255,255,255,.96);
        border-radius: .8rem;
        padding: .6rem .8rem;
        margin-top: .45rem;
    }

    .navbar .nav-link {
        color: #3a332f;
        text-shadow: none;
    }

    .hero-section {
        min-height: 78vh;
    }
}

@media (max-width: 767.98px) {
    .hero-section {
        min-height: 72vh;
    }

    .footer-brand-row {
        align-items: flex-start;
    }

    .footer-logo-lg {
        width: 72px;
        height: 72px;
    }

    .hero-logo {
        width: 88px;
    }

    .hero-content h1 {
        font-size: 1.9rem;
    }
}
