/* ============================================ */
/* TTAS Custom Styles                          */
/* ============================================ */

/* ============================================ */
/* Brand color tokens (live-tunable via picker)  */
/* ============================================ */
:root {
    --ttas-green: #0E7A45;
    --ttas-green-rgb: 14 122 69;
    --ttas-green-dark: #0B6538;
    --ttas-green-dark-rgb: 11 101 56;
    --ttas-bg-soft: #FAF9F7;
}

/* Map all main brand-green surfaces to the CSS var so the picker can swap live */
#ettevottest,
.ttas-bg-green {
    background-color: var(--ttas-green) !important;
}

/* Diagonal gradient effect: stronger contrast top-left → bottom-right (+25%) */
#ettevottest,
.ttas-gradient-green {
    background: linear-gradient(135deg, var(--ttas-green-dark) 0%, var(--ttas-green) 35%, rgb(98 168 134) 100%) !important;
}

/* Soft gradient edge glow (for images and accent boxes) */
.ttas-gradient-edge {
    position: relative;
}
.ttas-gradient-edge::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
        inset 0 0 0 1px rgb(var(--ttas-green-rgb) / 0.25),
        0 8px 30px rgb(var(--ttas-green-rgb) / 0.18);
}

/* ============================================ */
/* Touch-seadmed: galerii noole-/suurendusnupud kohe nähtavad         */
/* (hover puudub puutetundlikel ekraanidel — #401).                   */
/* ============================================ */
@media (hover: none) {
    .project-prev, .project-next, .project-expand,
    .ttas-gallery-prev, .ttas-gallery-next, .ttas-gallery-expand {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* ============================================ */
/* Vene keel — Manrope (täielik kirillitsa tugi). */
/* Plus Jakarta Sans-il ei ole kirillitsat, sellega VK paneks Latin'i  */
/* fondi peale segase süsteemifondi. Manrope on visuaalselt sarnane.  */
/* TranslatePress paneb /ru/ lehtedel html[lang="ru"].                 */
/* ============================================ */
html[lang="ru"],
html[lang="ru"] body,
html[lang="ru"] h1, html[lang="ru"] h2, html[lang="ru"] h3,
html[lang="ru"] h4, html[lang="ru"] h5, html[lang="ru"] h6,
html[lang="ru"] p, html[lang="ru"] a, html[lang="ru"] span,
html[lang="ru"] li, html[lang="ru"] button, html[lang="ru"] input,
html[lang="ru"] textarea, html[lang="ru"] select, html[lang="ru"] label {
    font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
}
/* Oswald jääb display-fondiks (sellel on kirillitsa olemas Google Fonts-is). */

/* Headeri "Küsi hinnapakkumist" nupp + kõik `bg-accent` nupud +
   `ttas-btn-solid` (laboriteenused "Ava tellimuse vorm") — sama
   diagonaalgradient nagu kastidel (klient: "tee igal pool nii"). */
.ttas-btn-header,
.ttas-btn-solid,
.bg-accent {
    background-color: var(--ttas-green) !important;
    background-image: linear-gradient(120deg, var(--ttas-green-dark) 0%, var(--ttas-green) 60%, #3E9A72 100%) !important;
    color: #ffffff;
}
.ttas-btn-header:hover,
.ttas-btn-solid:hover,
.bg-accent:hover {
    background-color: var(--ttas-green-dark) !important;
    background-image: linear-gradient(120deg, var(--ttas-green-dark) 0%, var(--ttas-green-dark) 45%, var(--ttas-green) 100%) !important;
}

/* Service quick-access icons: uniform size + baseline alignment */
.ttas-service-icon img {
    width: auto !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: contain;
    object-position: bottom center;
}

/* ============================================ */
/* Soft fade for content images (Jüri / Annemari idee #387-#391) */
/* Pildi servad sulanduvad lehe tausta; kontrast/küllastus pisut maha. */
/* ============================================ */
.ttas-soft-image,
.subpage-intro-image,
section.bg-gray-50 div.rounded-2xl.shadow-lg > img.w-full,
section.bg-gray-50 div.rounded-2xl.overflow-hidden.shadow-lg > img.w-full,
section.bg-gray-50 div.rounded-2xl.overflow-hidden.shadow-md > img.w-full,
section.bg-white div.rounded-2xl.overflow-hidden.shadow-md > img.w-full,
.ttas-gallery-card img.ttas-gallery-slide,
#teenused .card-front .aspect-\[16\/10\] > img,
#teenused .card-front .aspect-\[16\/10\] > video {
    -webkit-mask-image: radial-gradient(ellipse 93% 90% at 50% 45%, #000 45%, transparent 99%);
            mask-image: radial-gradient(ellipse 93% 90% at 50% 45%, #000 45%, transparent 99%);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    filter: saturate(0.9) contrast(0.92);
}

/* Eemalda raam/varjund pehmendatud piltide ümbert, et fade läheks lehe taustale. */
section.bg-gray-50 div.rounded-2xl.shadow-lg:has(> img.w-full),
section.bg-gray-50 div.rounded-2xl.overflow-hidden.shadow-lg:has(> img.w-full),
section.bg-gray-50 div.rounded-2xl.overflow-hidden.shadow-md:has(> img.w-full),
section.bg-white div.rounded-2xl.overflow-hidden.shadow-md:has(> img.w-full),
.ttas-gallery-card .relative.rounded-2xl,
#teenused .card-front .aspect-\[16\/10\] {
    box-shadow: none !important;
    background-color: transparent !important;
    border: 0 !important;
}

/* Galerii navigatsiooninupud peavad olema mask-ist väljas (overlay div sees) */
.ttas-gallery-card .ttas-gallery-prev,
.ttas-gallery-card .ttas-gallery-next,
.ttas-gallery-card .ttas-gallery-expand,
.ttas-gallery-card .ttas-gallery-counter,
.ttas-gallery-card .ttas-gallery-dot {
    -webkit-mask-image: none !important;
            mask-image: none !important;
    filter: none !important;
}

/* Tailwind-default gray-50 → brand soft beige */
.bg-gray-50 {
    background-color: var(--ttas-bg-soft) !important;
}

/* Fallback: body pärandab text-white (header.php body_class),
   aga valge/helehalli taustaga sektsioonides peab tekst olema tume.
   Seadistame ainult sektsiooni vaikevärvi — Tailwind text-* klassid
   (nt text-white rohelisel kaardil) saavad normaalselt override'ida. */
section[class*="bg-white"],
section[class*="bg-gray-50"],
section[class*="bg-gray-100"],
section[class*="bg-neutral"] {
    color: #14281B;
}

/* ============================================ */
/* Loading Screen                              */
/* ============================================ */
#loading-screen {
    transition: opacity 0.5s ease;
}
#loading-screen.fade-out {
    opacity: 0;
    pointer-events: none;
}

#loader-merko,
#loader-ttas {
    transition: opacity 0.5s ease, transform 0.5s ease;
}
#loader-merko.show {
    opacity: 1;
    transform: scale(1);
}
#loader-merko.hide {
    opacity: 0;
    transform: scale(0.95);
}
#loader-ttas.show {
    opacity: 1;
    transform: scale(1);
}

#loader-bar {
    width: 0;
    transition: width 3.5s linear;
}
#loader-bar.animate {
    width: 100%;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 5rem;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #14281B;
}
::-webkit-scrollbar-thumb {
    background: #30523B;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #3A6146;
}

/* Selection color */
::selection {
    background: rgba(12, 121, 69, 0.3);
    color: white;
}

/* Header scroll effect — hide top bar on scroll.
   NB: transitionit POLE — kerimisel ei toimu animatsiooni, mis põhjustaks
   compositing-layer flicker'eid (näiteks rohelise nupu peal). */
#site-header {
    transition: none;
}
#site-header.header-hidden {
    transform: translateY(-100%);
}

/* Hero logo — white default, #0E7A45 green on hover */
#hero-logo:hover {
    filter: brightness(0) saturate(100%) invert(37%) sepia(74%) saturate(1060%) hue-rotate(118deg) brightness(94%) contrast(88%) !important;
    opacity: 1 !important;
}

/* Hero title words */
.hero-word {
    display: inline-block;
}

/* Prevent horizontal scroll on mobile */
html, body {
    overflow-x: hidden;
}

/* Global subtle gray background — cards stay white for contrast */
html, body {
    background-color: #f8f9fa;
}
section.bg-white,
section.bg-gray-50,
section.bg-gray-100 {
    background-color: #f8f9fa;
}

/* Hero slideshow navigation arrows */
.hero-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: white;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.4s ease, background 0.25s ease, transform 0.25s ease;
    pointer-events: none;
}
.hero-nav-arrow.visible {
    opacity: 1;
    pointer-events: auto;
}
.hero-nav-arrow:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-50%) scale(1.1);
}
.hero-nav-prev {
    left: 24px;
}
.hero-nav-next {
    right: 24px;
}

/* Hide arrows on mobile — touch swipe is more natural */
@media (max-width: 768px) {
    .hero-nav-arrow {
        display: none;
    }
}

/* Header top spacing for fixed header */
#site-header + section,
#site-header ~ main {
    padding-top: 0;
}

/* Dropdown animation */
.group:hover .group-hover\:visible {
    animation: fadeInDown 0.2s ease-out;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hero gradient text shimmer */
@keyframes shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

/* Service cards - sticky stacking effect on desktop */
@media (min-width: 1024px) {
    #services-stack .group {
        min-height: 360px;
        box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.3);
    }
}

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #0E7A45;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Form input autofill fix */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #264430 inset !important;
    -webkit-text-fill-color: white !important;
    border-color: #30523B !important;
}

/* Animation classes — fade-in animatsioon välja lülitatud,
   kuna `opacity: 0` algatas kerimisel vilkumist (sektsioon kadus korraks
   ära ja siis fade'is tagasi). Klass jääb alles, ent ilma efektita. */
.animate-fade-in-up {
    opacity: 1;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Card flip toggle — 3D flipcard */
.card-flip-container {
    perspective: 1200px;
}
.card-flip-inner {
    position: relative;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}
.card-flip-inner.flipped {
    transform: rotateY(180deg);
}
.card-front {
    position: relative;
    z-index: 2;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.card-back {
    position: absolute;
    inset: 0;
    z-index: 1;
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.card-flip-inner:not(.flipped) .card-back {
    visibility: hidden;
}
.card-flip-inner.flipped .card-back {
    visibility: visible;
}
.card-flip-inner.flipped .card-front {
    visibility: hidden;
}
.card-flip-btn.flipped .card-flip-icon {
    transform: rotate(180deg);
}

/* ============================================ */
/* Subpage Hero                                */
/* ============================================ */
.subpage-hero {
    position: relative;
    padding-bottom: 60px;
    overflow: hidden;
    min-height: 380px;
    max-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.subpage-hero[style*="padding-top: 200px"] {
    padding-top: 140px !important;
}
.subpage-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    /* Ühtlane õrn kate + alumine gradient teksti loetavuseks (nagu esilehel) */
    background:
        linear-gradient(to top, rgba(0, 25, 15, 0.45) 0%, rgba(0, 25, 15, 0) 60%),
        rgba(0, 25, 15, 0.15);
}
.subpage-hero-overlay--light {
    background:
        linear-gradient(to top, rgba(0, 25, 15, 0.35) 0%, rgba(0, 25, 15, 0) 55%),
        rgba(0, 25, 15, 0.08);
}

/* ============================================ */
/* Prose (WYSIWYG sisu) — Tailwind CDN ei sisalda typography plugin'it */
/* ============================================ */
.prose h1 { font-size: 2rem; font-weight: 700; line-height: 1.2; margin: 1.5em 0 0.75em; color: #05140d; }
.prose h2 { font-size: 1.6rem; font-weight: 700; line-height: 1.25; margin: 1.5em 0 0.6em; color: #05140d; }
.prose h3 { font-size: 1.3rem; font-weight: 700; line-height: 1.3; margin: 1.25em 0 0.5em; color: #05140d; }
.prose h4 { font-size: 1.1rem; font-weight: 600; line-height: 1.3; margin: 1em 0 0.4em; color: #05140d; }
.prose p { margin: 0 0 1em; line-height: 1.7; }
.prose ul, .prose ol { margin: 0 0 1em 1.5em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin-bottom: 0.4em; line-height: 1.6; }
.prose a { color: #0E7A45; text-decoration: underline; }
.prose a:hover { color: #0B6538; }
.prose strong { font-weight: 700; }
.prose blockquote { border-left: 4px solid #0E7A45; padding-left: 1em; margin: 1em 0; color: rgba(5,20,13,.7); font-style: italic; }
.prose-lg h2 { font-size: 1.875rem; }
.prose-lg h3 { font-size: 1.5rem; }
.prose-lg p, .prose-lg li { font-size: 1.125rem; }
.subpage-hero-accent {
    display: inline-block;
    width: 48px;
    height: 3px;
    background: #0E7A45;
    border-radius: 2px;
    margin-bottom: 16px;
}

/* Services title — slide from right */
.slide-from-right {
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.slide-from-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}
.slide-delay-2 { transition-delay: 0.15s; }
.slide-delay-3 { transition-delay: 0.35s; }

/* Staggered animation delays */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }

/* Prose overrides for content pages */
.prose {
    --tw-prose-body: #5BBC89;
    --tw-prose-headings: #ffffff;
    --tw-prose-links: #0E7A45;
}

/* Logo ticker — infinite scroll right to left */
.logo-ticker-track {
    animation: logo-scroll 25s linear infinite;
}
.logo-ticker-track:hover {
    animation-play-state: paused;
}
@keyframes logo-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ============================================ */
/* Gallery Lightbox                            */
/* ============================================ */
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.gallery-lightbox.active {
    opacity: 1;
    pointer-events: auto;
}
.gallery-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 25, 15, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.gallery-lightbox-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    height: 100vh;
    max-height: 100vh;
}

/* Close button */
.gallery-close {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 10;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.gallery-close:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: scale(1.1);
}

/* Main image area */
.gallery-main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 0;
    padding: 40px 0 16px;
}
.gallery-image-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    max-height: 100%;
}
.gallery-main-img {
    max-width: 100%;
    max-height: calc(100vh - 240px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
    transition: opacity 0.15s ease;
}
.gallery-caption {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin-top: 12px;
    text-align: center;
    letter-spacing: 0.5px;
}

/* Arrow buttons */
.gallery-arrow {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.gallery-arrow:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.08);
}

/* Thumbnail strip */
.gallery-thumbs {
    display: flex;
    gap: 8px;
    padding: 12px 0;
    overflow-x: auto;
    justify-content: center;
    scrollbar-width: none;
}
.gallery-thumbs::-webkit-scrollbar {
    display: none;
}
.gallery-thumb {
    flex-shrink: 0;
    width: 72px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.25s, border-color 0.25s, transform 0.25s;
}
.gallery-thumb:hover {
    opacity: 0.7;
    transform: translateY(-2px);
}
.gallery-thumb.active {
    opacity: 1;
    border-color: #0E7A45;
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Counter */
.gallery-counter {
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 3px;
    padding-bottom: 8px;
}

/* Lightbox open animation */
.gallery-lightbox.active .gallery-lightbox-container {
    animation: gallerySlideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes gallerySlideUp {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 768px) {
    .gallery-arrow {
        width: 36px;
        height: 36px;
    }
    .gallery-main-img {
        max-height: calc(100vh - 200px);
    }
    .gallery-thumb {
        width: 56px;
        height: 38px;
    }
}

/* ============================================ */
/* Job card reveal animation                   */
/* ============================================ */
.job-card {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.job-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.job-card:nth-child(1) { transition-delay: 0s; }
.job-card:nth-child(2) { transition-delay: 0.2s; }
.job-card:nth-child(3) { transition-delay: 0.4s; }

/* Button slides up from below */
.job-card .job-card-btn {
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.25s ease;
}
.job-card.is-visible .job-card-btn {
    opacity: 1;
    transform: translateY(0);
}
.job-card:nth-child(1) .job-card-btn { transition-delay: 0.5s; }
.job-card:nth-child(2) .job-card-btn { transition-delay: 0.7s; }
.job-card:nth-child(3) .job-card-btn { transition-delay: 0.9s; }

/* ============================================ */
/* Contact section reveal animations           */
/* ============================================ */

/* Form — blur-to-clear reveal */
.contact-reveal-blur {
    opacity: 0;
    filter: blur(14px);
    transform: translateY(24px);
    transition: opacity 1.1s ease, filter 1.2s ease, transform 1.1s ease;
}
.contact-reveal-blur.is-visible {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

/* Slide from left (Galerii + Konsultatsioon) */
.contact-slide-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.contact-slide-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Slide from right (Peakontor, Maps, Lahtiolekuajad) */
.contact-slide-right {
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.contact-slide-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Mobile menu transition */
#mobile-menu {
    transition: all 0.3s ease;
}

#mobile-menu.open {
    display: block;
}

/* ============================================ */
/* RENTAL PAGE STYLES                           */
/* ============================================ */

/* Tab buttons */
.rental-tab {
    background: transparent;
    color: rgba(0, 25, 15, 0.5);
    border: 1px solid transparent;
    cursor: pointer;
}
.rental-tab:hover {
    background: rgba(12, 121, 69, 0.05);
    color: rgba(0, 25, 15, 0.8);
}
.rental-tab.active {
    background: #0E7A45;
    color: white;
    border-color: #0E7A45;
}

/* Card animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.rental-card {
    animation: fadeInUp 0.4s ease forwards;
}

/* ============================================ */
/* DEMO: ?demo=dark — tume taust võrdluseks     */
/* Ajutine — eemalda kui demo läbi              */
/* ============================================ */
body.demo-dark { background: #000; }
body.demo-dark section[class*="bg-white"],
body.demo-dark section[class*="bg-gray-50"],
body.demo-dark section[class*="bg-gray-100"],
body.demo-dark section[class*="bg-neutral"] { background: #0a0a0a !important; color: #e5e5e5; }
body.demo-dark .bg-white { background: #151515 !important; }
body.demo-dark .bg-gray-50,
body.demo-dark .bg-gray-100 { background: #111 !important; }
body.demo-dark [class*="text-navy-950"]:not([class*="text-white"]) { color: #e5e5e5 !important; }
body.demo-dark [class*="border-navy-950"] { border-color: rgba(255,255,255,0.1) !important; }
