/* ═══════════════════════════════════════════════
   TLAČÍTKA — garantované barvy (override Tailwind)
═══════════════════════════════════════════════ */
/* Header CTA */
header a[href="#kontakt-formular"] {
    background-color: #1c1c1c !important;
    color: #fff !important;
}
header a[href="#kontakt-formular"]:hover {
    background-color: #d4a5a5 !important;
}
/* Hero CTA */
#o-nas a[href="#kontakt-formular"] {
    background-color: #d4a5a5 !important;
    color: #fff !important;
}
#o-nas a[href="#kontakt-formular"]:hover {
    background-color: #fff !important;
    color: #1c1c1c !important;
}

/* ═══════════════════════════════════════════════
   PERFORMANCE — content-visibility za lazyload
═══════════════════════════════════════════════ */
#sluzby, #ubytovani, #galerie, #cenik { content-visibility: auto; contain-intrinsic-size: auto 500px; }

/* ═══════════════════════════════════════════════ */
#o-nas { min-height: 70vh; }
@media (min-width: 768px) {
    #o-nas { min-height: 100vh; min-height: 100svh; }
}
/* Hero obrázek vždy vyplní sekci */
#o-nas > div:first-child {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden;
}
#o-nas > div:first-child > img {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center center;
}

/* ═══════════════════════════════════════════════
   DESKTOPOVÁ OCHRANNÁ PÁSMA (Záchranné třídy)
   - Obchází nevygenerovaný Tailwind
═══════════════════════════════════════════════ */
@media (min-width: 768px) {
    /* Velké vnější paddingy pro sekce */
    .pc-section-padding { padding-top: 8rem !important; padding-bottom: 8rem !important; padding-left: 4rem !important; padding-right: 4rem !important; }
    .pc-px-only { padding-left: 4rem !important; padding-right: 4rem !important; }
    
    /* Citát musí dýchat shora i sdola */
    .pc-quote-padding { padding-top: 10rem !important; padding-bottom: 8rem !important; padding-left: 4rem !important; padding-right: 4rem !important; }
    .pc-gallery-spacing { margin-top: 6rem !important; }
    
    /* Vnitřní dýchací prostor pro Ceník a Kontakt */
    .pc-box-padding { padding: 4rem !important; }
    
    /* Velké mezery oddělující nadpis od obsahu (např. u mapy a FAQ) */
    .pc-gap-bottom { margin-bottom: 4rem !important; }
    .pc-grid-gap { gap: 4rem !important; }
    
    /* Rozestupy u FAQ akordeonů na PC */
    .pc-faq-gap > * + * { margin-top: 2rem !important; }

    /* Linky v sekci "Váš tým" na PC */
    .team-line { width: 6rem !important; }
}

@media (min-width: 1024px) {
    /* Na širokých displejích přidáme ještě boky */
    .pc-section-padding { padding-left: 8rem !important; padding-right: 8rem !important; }
    .pc-px-only { padding-left: 8rem !important; padding-right: 8rem !important; }
    .pc-quote-padding { padding-left: 8rem !important; padding-right: 8rem !important; }
    .pc-box-padding { padding: 5rem !important; }
    .pc-gap-bottom { margin-bottom: 5rem !important; }
    .pc-grid-gap { gap: 5rem !important; }
}

/* ═══════════════════════════════════════════════
   MOBILNÍ OCHRANNÉ ZÓNY (max-width: 767px)
═══════════════════════════════════════════════ */
@media (max-width: 767px) {
    #sluzby, #ubytovani, #kontakt, section.py-14, section.py-16, section.py-12 {
        padding-top: 3.5rem !important; padding-bottom: 3.5rem !important;
    }
    #cenik, section.py-40 {
        padding-top: 2rem !important; padding-bottom: 3.5rem !important;
    }
    footer#kontakt { padding-bottom: 5rem !important; }
    #sluzby > div > div:first-child { margin-bottom: 2rem; }
    #sluzby .grid.grid-cols-1 { gap: 2rem; }
    #ubytovani .gap-10 > * + * { margin-top: 2.5rem !important; }
    .space-y-8 > * + * { margin-top: 1.5rem !important; }
    .space-y-6 > * + * { margin-top: 1.25rem !important; }
    #ubytovani .gap-8 { gap: 1.5rem !important; }

    /* Odskočení galerie od citátu na mobilu */
    #galerie { margin-top: 3.5rem !important; }

    /* Zkrácení linek na mobilu, aby text zůstal na 1 řádku */
    .team-line { width: 2rem !important; }

    /* Formulářové inputy — zabrání iOS auto-zoom */
    input[type="text"], input[type="email"], textarea { font-size: 16px; }
    h1, h2, h3 { letter-spacing: -0.01em; }
}

/* ═══════════════════════════════════════════════
   GPU ACCELERATION PRO ANIMACE
═══════════════════════════════════════════════ */
.animate-kenburns, .group:hover img, [data-aos] {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Optimalizace pro smooth scrolling */
body {
    scroll-behavior: smooth;
}
