/* ============================================================
   1. NASTAVENÍ STRÁNKY A ROLOVÁNÍ
   ============================================================ */
html {
    scroll-behavior: smooth;
}

/* Odsazení sekcí od horního okraje při prokliknutí z menu */
section {
    scroll-margin-top: 20px;
}

#full-gallery {
    scroll-margin-top: 100px;
}

html, body {
    overflow-x: hidden; 
    margin: 0; 
    padding: 0;
    width: 100%;
}

.site-wrapper {
    overflow-x: hidden;
    position: relative;
    width: 100%;
    max-width: 100vw;
}

/* ============================================================
   2. TYPOGRAFIE
   ============================================================ */
body { 
    font-family: 'Open Sans', sans-serif; 
}

/* Přejmenováno na font-playfair kvůli konfliktu s Tailwindem */
h1, h2, h3, .font-playfair { 
    font-family: 'Playfair Display', serif; 
}

/* ============================================================
   3. HERO SEKCE (VRSTVENÝ BLUR-UP EFEKT)
   ============================================================ */
.hero-wrapper {
    position: relative;
    height: 100svh;
    width: 100%;
    overflow: hidden;
    background-color: #2f3a33;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 1rem;
    /* Izolace vrstev, aby text nepropadl pod fotku */
    isolation: isolate; 
    z-index: 0;
}

.hero-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(20px);
    transform: scale(1.1);
    z-index: -2;
}

.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: -1;
    will-change: opacity;
}

.hero-image.is-loaded {
    opacity: 1;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.4));
    z-index: 10;
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 50;
    width: 100%;
}

/* ============================================================
   4. PLYNULÉ KARTY (SEKCE O NÁS)
   ============================================================ */
.smooth-card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    background-color: #f9fafb; /* gray-50 */
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.smooth-card:hover {
    box-shadow: 0 20px 40px -5px rgba(0,0,0,0.15);
    background-color: #ffffff;
    transform: translateY(-8px);
}

/* ============================================================
   5. GALERIE A SLIDER (SWIPER)
   ============================================================ */
.gallery-item { 
    display: block; 
    overflow: hidden; 
    border-radius: 0.5rem; 
}

.gallery-item img { 
    transition: transform 0.5s ease; 
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-item:hover img { 
    transform: scale(1.05); 
}

.swiper {
    width: 100%;
    padding-bottom: 40px; 
}

.swiper-wrapper {
    height: auto !important;
    align-items: stretch;
}

.swiper-slide {
    background: transparent; 
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto !important;
}

.swiper-slide img {
    display: block;
    width: auto;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.3;
}
.swiper-pagination-bullet-active {
    background: #ca8a04 !important;
    opacity: 1;
}

/* ============================================================
   6. KALENDÁŘ (FLATPICKR)
   ============================================================ */
.flatpickr-day.selected, 
.flatpickr-day.startRange, 
.flatpickr-day.endRange, 
.flatpickr-day.selected.inRange, 
.flatpickr-day.startRange.inRange, 
.flatpickr-day.endRange.inRange {
    background: #ca8a04 !important;
    border-color: #ca8a04 !important;
}

/* ============================================================
   7. PATIČKA A CREDIT LOGO
   ============================================================ */
.credit-link {
    opacity: 0.6;
    transition: opacity 0.3s ease;
    display: inline-block;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    line-height: 0;
}

.credit-link:hover {
    opacity: 1;
}

.credit-link img {
    display: block;
    height: 20px;
    width: auto;
    pointer-events: none;
}

.footer-email-link {
    transition: color 0.3s ease;
}

.footer-email-link:hover {
    color: #ca8a04 !important;
}

/* ============================================================
   8. OCHRANA OBRÁZKŮ A FIX PRO MOBILY
   ============================================================ */
.glightbox-container,
.glightbox-container *,
.swiper-slide a,
.swiper-slide img,
.gallery-item,
.gallery-item img {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    outline: none !important;
}

img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}

.gslide-image img,
.gslide-inner-content {
    cursor: default !important;
}

/* ============================================================
   9. FORMULÁŘE A KOMPONENTY STRÁNKY
   ============================================================ */
.honeypot-field {
    display: none;
    visibility: hidden;
    position: absolute;
    left: -9999px;
}

.map-iframe {
    border: 0;
    width: 100%;
    height: 100%;
}

/* ============================================================
   10. MOBILNÍ MENU (FIX PRO JAVASCRIPT ANIMACE)
   ============================================================ */
.mobile-menu-active {
    max-height: 500px !important;
    opacity: 1 !important;
}

.menu-icon-spin {
    transform: rotate(90deg) scale(0.5);
    opacity: 0;
}