/* Vlastní styly pro Web šablona 5: Profesionál */
:root {
  --background-light: #f3f4f6;
  --card-light: #ffffff;
  --text-light: #1a1a1a;
  --text-muted-light: #4b5563;
  --gold-primary: #d4af37;
  --gold-secondary: #b8972f;
}

body {
  scroll-behavior: smooth;
  font-family: 'Inter', sans-serif;
  background-color: var(--background-light);
  color: var(--text-light);
  transition: background-color 0.3s ease, color 0.3s ease;
}
body.overflow-hidden {
  overflow: hidden;
}
.font-lora { font-family: 'Lora', serif; }

/* === NAVIGACE === */
nav { transition: background-color 0.3s ease, box-shadow 0.3s ease; }
nav.scrolled { background-color: var(--card-light); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
.nav-link { position: relative; transition: color 0.3s ease; font-weight: 500; color: var(--text-muted-light); }
nav.scrolled .nav-link, #menu-btn { color: var(--text-light); }
.nav-link:hover { color: var(--gold-primary); }
.nav-link:hover::after { content: ''; position: absolute; width: 100%; height: 2px; bottom: -4px; left: 0; background-color: var(--gold-primary); animation: underline 0.3s ease forwards; }
@keyframes underline { from { width: 0; } to { width: 100%; } }

/* === MOBILNÍ NAVIGACE === */
#mobile-menu:not(.hidden) { animation: slideIn 0.3s ease-in-out forwards; }
@keyframes slideIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
.mobile-nav-link { color: white; font-size: 1.25rem; padding: 0.75rem 1.5rem; transition: background-color 0.3s ease, transform 0.2s ease; font-family: 'Lora', serif; font-weight: 500; }
.mobile-nav-link:hover { background-color: rgba(255,255,255,0.1); transform: scale(1.05); }

/* === PRVKY A KARTY === */
.section-title { font-family: 'Lora', serif; font-size: 2.25rem; font-weight: 700; }
.section-paragraph { font-size: 1.125rem; line-height: 1.75; color: var(--text-muted-light); }

.cta-button {
  display: inline-block;
  color: #fff !important;
  background: linear-gradient(to right, var(--gold-primary), var(--gold-secondary));
  font-weight: 600;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-decoration: none;
}
.cta-button:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 7px 25px rgba(212, 175, 55, 0.3);
  text-decoration: none;
}

.counter { font-size: 2.5rem; font-weight: 700; color: var(--gold-primary); }

.service-card { 
  background-color: var(--card-light); 
  border-radius: 1rem; 
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
  overflow: hidden; /* Důležité pro zaoblení obrázku */
  display: flex;
  flex-direction: column;
}
.service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); }
.service-card-image {
  width: 100%;
  height: 12rem; /* 192px */
  object-fit: cover;
}
.service-card-title { font-family: 'Lora', serif; font-size: 1.5rem; margin-bottom: 1rem; }
.service-card-text { color: var(--text-muted-light); }

/* === PŘÍBĚHY / REFERENCE === */
.testimonial-wrapper { max-width: 65ch; margin: auto; }
.stories-container { display: flex; }
.story { flex: 0 0 100%; padding: 0 1rem; text-align: center; cursor: grab; }
.story:active { cursor: grabbing; }
.testimonial-text { font-size: 1.25rem; font-style: italic; line-height: 1.6; color: var(--text-muted-light); margin-bottom: 1rem; }
.testimonial-author { font-weight: 600; color: var(--gold-primary); }
.slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: var(--gold-primary); color: white; border-radius: 50%; width: 40px; height: 40px; z-index: 10; transition: background-color 0.3s ease; opacity: 0.7; }
.slider-btn:hover { background-color: var(--gold-secondary); opacity: 1; }

/* === FORMULÁŘE === */
.form-input { width: 100%; padding: 0.75rem; border: 1px solid #d1d5db; border-radius: 0.5rem; background-color: transparent; transition: border-color 0.3s ease; color: var(--text-light); }
.form-input:focus { border-color: var(--gold-primary); outline: none; }
.form-label { position: absolute; top: 0.75rem; left: 0.75rem; color: var(--text-muted-light); transition: all 0.2s ease; pointer-events: none; }
.form-input:focus ~ .form-label, .form-input:not(:placeholder-shown) ~ .form-label {
  top: -0.65rem; left: 0.5rem; font-size: 0.75rem; color: var(--gold-primary); background-color: var(--card-light); padding: 0 0.25rem;
}

/* === KONTAKT & MAPA === */
.contact-icon { width: 1.5rem; height: 1.5rem; color: var(--gold-primary); margin-right: 0.75rem; transition: transform 0.3s ease; }
.group:hover .contact-icon { transform: scale(1.2); }
#map-container { border-radius: 1rem; overflow: hidden; }

/* === PLOVOUCÍ NAVIGACE === */
.floating-nav-button { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background-color: var(--gold-primary); color: white; border-radius: 50%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); transition: all 0.3s ease; z-index: 50; }
.floating-nav-button:hover { background-color: var(--gold-secondary); transform: scale(1.1); }

/* === RESPONZIVITA A OPRAVY === */
.hero-background {
    background-image: linear-gradient(135deg, #1e3a8a, #3b82f6);
}
@media (max-width: 767px) {
    #home h2 { font-size: 2.5rem; }
    .slider-btn { width: 36px; height: 36px; }
    .slider-btn.left-0 { left: -0.5rem; }
    .slider-btn.right-0 { right: -0.5rem; }
    .hero-background {
        background-image: url('https://images.pexels.com/photos/3184423/pexels-photo-3184423.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
        background-size: cover;
        background-position: center;
    }
}