/* STRUKTURA CSS
 * 1. Zmienne globalne
 * 2. Reset i podstawowe style
 * 3. Typografia
 * 4. Nagłówek strony i nawigacja
 * 5. Przyciski i elementy interaktywne
 * 6. Hero section
 * 7. Sekcje główne - wspólne style
 * 8. Sekcja sklepów
 * 9. Sekcja wydarzeń
 * 10. Sekcje serwisowe
 * 11. Sekcja lokalizacji
 * 12. Sekcja parkingu
 * 13. Slider
 * 14. Stopka
 * 15. Media queries
 */

/* 1. ZMIENNE GLOBALNE */
:root {
  --black: #1c1c1c;
  --white: #ffffff;
  /* --gold: #8f7a49; USUNIĘTE - ZASTĄPIONE PRZEZ YELLOW LUB BLACK */
  --yellow: #ffde59;
  --gray-lightest: #f8f9fa; /* Dodany jaśniejszy szary dla tła kart/formularzy */
  --gray-lighter: #f0f0f0; /* Zmieniona nazwa dla spójności */
  --gray-light: #e0e0e0;   /* Zmieniona nazwa dla spójności */
  --gray-medium: #b0b0b0;
  --gray-dark: #555555; /* Ciemniejszy szary dla tekstów */
  --gray-darker: #333333; /* Jeszcze ciemniejszy szary, bliski czerni */
  --header-height: 70px;
}

/* 2. RESET I PODSTAWOWE STYLE */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 3. TYPOGRAFIA */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');

body {
  font-family: 'Lato', sans-serif;
  line-height: 1.7;
  font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lato', sans-serif;
  color: var(--black);
  margin-top: 0;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

h1 {
  font-weight: 300;
  font-size: 3.5rem;
  letter-spacing: -0.02em;
}

h2.section-title {
  font-weight: 500;
  font-size: 2.75rem;
  text-align: left;
  letter-spacing: -0.01em;
  border-bottom: 1px solid var(--gray-light); /* Użycie jaśniejszego szarego */
  padding-bottom: 1rem;
}

h3 {
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: -0.01em;
}

p {
  font-size: 1rem;
  font-weight: 300;
  color: var(--gray-dark);
}

/* 4. NAGŁÓWEK STRONY I NAWIGACJA */
.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--white);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  z-index: 100;
  padding: 0.75rem 0;
}

.header-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.header-logo {
  flex: 0 0 auto;
  margin-right: 2rem;
}

.header-logo-img {
  height: 50px;
  width: auto;
}

.header-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  font-size: 0.85rem;
  color: var(--gray-dark);
}

.header-address, .header-hours {
  display: flex;
  align-items: center;
  margin: 0.2rem 0;
}

.header-icon {
  width: 16px;
  height: 16px;
  margin-right: 0.5rem;
  /* Można dodać filter, aby ikony były czarne lub żółte, jeśli są to SVG lub jednokolorowe PNG */
}

.main-nav {
  flex: 0 0 auto;
  margin-left: 1rem;
}

.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1.2rem;
}

.nav-menu li {
  margin: 0;
  position: relative;
}

.nav-menu a {
  text-decoration: none;
  color: var(--black);
  font-weight: 500;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  padding: 0.8rem 0.5rem;
  position: relative;
  transition: color 0.3s ease;
  display: inline-block;
}

.nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  width: 100%;
  height: 2.5px;
  background-color: var(--yellow);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.nav-menu a:hover {
  color: var(--black);
}

.nav-menu a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav-menu a.active {
  font-weight: 600;
}

.nav-menu a.active::after {
  transform: scaleX(1);
  background-color: var(--yellow);
}

.mobile-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  cursor: pointer;
  background-color: transparent;
  border: none;
  position: relative;
  z-index: 101;
  transition: all 0.3s ease;
}

/* 5. PRZYCISKI I ELEMENTY INTERAKTYWNE */
.cta-button, .map-button, .shop-details-button, .event-link, .slide-button, .about-cta-button {
  display: inline-block;
  background: var(--yellow); /* Domyślne tło żółte */
  border: 2px solid var(--yellow); /* Żółta ramka */
  color: var(--black); /* Czarny tekst */
  text-decoration: none;
  border-radius: 0; /* Lub np. 4px dla spójności */
  font-weight: 600;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.8rem 2rem; /* Ujednolicony padding */
  font-size: 0.95rem; /* Ujednolicony rozmiar czcionki */
  width: 100%; /* Przyciski zajmują całą szerokość kontenera */
}

.cta-button:hover, .map-button:hover, .shop-details-button:hover, .event-link:hover, .slide-button:hover, .about-cta-button:hover {
  background: var(--black); /* Czarne tło przy hover */
  color: var(--yellow); /* Żółty tekst przy hover */
  border-color: var(--black); /* Czarna ramka przy hover */
  transform: translateY(-2px); /* Lekkie uniesienie */
}

/* Specyficzne dostosowania, jeśli potrzebne, np. dla przycisków na ciemnym tle */
.slide-button { /* Przycisk na slajdzie może wymagać innych kolorów bazowych */
  background: var(--yellow);
  color: var(--black);
  border-color: var(--yellow);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.slide-button:hover {
  background-color: var(--white); /* Białe tło przy hover na slajdzie */
  color: var(--black);
  border-color: var(--white);
}


/* 6. HERO SECTION */
header.hero {
  position: relative;
  height: calc(100vh - var(--header-height, 70px));
  max-height: 1100px;
  min-height: 450px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem;
  overflow: hidden;
}

header.hero video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.6);
  z-index: 0;
}

header.hero .hero-content {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,0.8); /* Jaśniejsze tło dla lepszej czytelności */
  padding: 2.5rem; /* Zwiększony padding */
  max-width: 700px;
  border-radius: 4px; /* Dodane zaokrąglenie */
}

header.hero img.logo {
  width: 150px;
  margin-bottom: 1rem;
  filter: none;
}

header.hero h1 {
  font-weight: 700;
  font-size: 4rem;
  color: var(--black);
  margin-bottom: 1rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

header.hero p {
  font-weight: 500;
  font-size: 1.1rem;
  color: var(--gray-darker); /* Ciemniejszy szary dla lepszego kontrastu */
  margin-bottom: 2rem;
  line-height: 1.5;
}

/* Hero ze statycznym zdjęciem */
.simple-hero {
  position: relative;
  height: calc(100vh - var(--header-height, 70px));
  max-height: 1100px;
  min-height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem;
  overflow: hidden;
  margin-top: 0;
}

.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: scaleUp 15s ease-in-out infinite alternate;
}

.simple-hero:hover .hero-image {
  transform: none;
}

.hero-content { /* Wspólne dla obu hero */
  position: relative;
  z-index: 2;
  max-width: 700px;
  background: rgba(255,255,255,0.85);
  padding: 3rem;
  box-shadow: 0 4px 25px rgba(0,0,0,0.1);
  border-radius: 4px;
  transition: transform 0.5s ease;
}

.hero-content:hover {
  transform: translateY(-5px);
}

.hero-content .logo {
  width: 150px;
  margin-bottom: 1.5rem;
}

.hero-content h1 {
  font-weight: 700;
  font-size: 4rem;
  color: var(--black);
  margin-bottom: 1rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.hero-content p {
  font-weight: 500;
  font-size: 1.1rem;
  color: var(--gray-darker);
  margin-bottom: 2rem;
  line-height: 1.5;
}

@keyframes scaleUp {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

/* HERO SECTION - SIMPLE HERO (np. na stronie głównej pod głównym nagłówkiem) */
.hero.simple-hero {
  position: relative;
  /* Domyślna wysokość dla większych ekranów, np.: */
  /* height: 60vh; Możesz dostosować lub usunąć, jeśli jest już zdefiniowane */
  min-height: 400px; /* Możesz dostosować lub usunąć */
  overflow: hidden; /* Aby obraz nie wychodził poza kontener */
}

.hero.simple-hero .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero.simple-hero .hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Aby obraz pokrył cały kontener, zachowując proporcje (może przyciąć) */
  object-position: center; /* Wyśrodkowanie obrazu */
}

/* Styl dla .hero-content, jeśli będzie używany w .simple-hero */
.hero.simple-hero .hero-content {
  position: relative; /* Aby był nad .hero-background */
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center; /* Wyśrodkowanie przycisku w poziomie */
  justify-content: flex-end; /* Przesunięcie zawartości na dół */
  height: 100%;
  width: 100%; /* Kontener nadal zajmuje całą szerokość/wysokość hero dla pozycjonowania */
  text-align: center;
  padding: 2rem; /* Padding pozostaje, aby odsunąć przycisk od krawędzi */
  padding-bottom: 5rem; /* Większy padding dolny dla pozycjonowania przycisku */
  background-color: transparent; /* Tło jest już przezroczyste */
  color: var(--white); /* Kolor tekstu, jeśli jakiś by tam był */
  box-shadow: none; /* KLUCZOWA ZMIANA: Usunięcie cienia */
  border-radius: 0; /* KLUCZOWA ZMIANA: Usunięcie zaokrąglenia rogów */
  /* Upewnij się, że nie ma też żadnych obramowań (border), jeśli byłyby gdzieś zdefiniowane */
  /* border: none; */ /* Opcjonalnie, jeśli jest jakiś border */
}


/* 7. SEKCJE GŁÓWNE - WSPÓLNE STYLE */
section {
  max-width: 1100px;
  margin: 4rem auto 6rem;
  padding: 0 1.5rem;
}

/* Dodaj tę regułę, aby uwzględnić wysokość sticky header podczas przewijania do sekcji */
section[id] {
  scroll-margin-top: calc(var(--header-height, 70px) + 4.5rem); /* Dodatkowy 1rem dla lepszego odstępu */
}

.full-width-section {
  max-width: none;
  padding: 0;
}

/* 8. SEKCJA SKLEPÓW */
.shop-entry {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 4rem; /* Zwiększ ten margines, jeśli jest za mały */
  gap: 2.5rem;
  flex-wrap: nowrap;
}

.shop-type {
  font-size: 0.5em;
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
  background-color: var(--white);
  padding: 4px 6px;
  border-radius: 2px;
  position: relative;
  top: -2px;
  border: 1px solid var(--black);
}

.shop-entry:nth-child(even) {
  flex-direction: row;
}

.media-container {
  position: relative;
  flex: 0 0 40%;
  min-width: 300px;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  border: none;
  cursor: default;
}

.media-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform 0.5s ease;
}

.media-container:hover img:not(.main-space-image) { /* Nie zoomuj głównego zdjęcia lokalu */
  transform: scale(1.05);
}

.shop-entry-content {
  flex: 1;
  min-width: 280px;
  padding-top: 0;
  display: flex;
  flex-direction: column;
}

.shop-entry-content h3 {
  margin-bottom: 0.5rem;
  font-weight: 400;
}

.shop-entry-content p {
  color: var(--gray-dark);
  font-size: 0.95rem;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.shop-extra-info {
  font-size: 0.85rem;
  color: var(--gray-dark);
  margin-bottom: 1.5rem;
}

.shop-extra-info p {
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
}

.info-icon {
  width: 20px;
  height: 20px;
  margin-right: 0.6rem;
  vertical-align: middle;
}

.shop-extra-info strong {
  color: var(--black);
}

.shop-links {
  margin-top: 0.75rem;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.shop-links a {
  font-size: 0.8rem;
  text-decoration: underline;
  color: var(--black); /* Zmieniono z --gold na --black */
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}

.link-icon {
  width: 16px;
  height: 16px;
  margin-right: 0.4rem;
  vertical-align: middle;
}

.shop-links a:hover {
  text-decoration: none;
  color: var(--yellow); /* Akcent żółty przy hover */
}

/* .shop-details-button dziedziczy style z ogólnych .cta-button */

/* 9. SEKCJA WYDARZEŃ */
.events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
}

.event-card {
  background: var(--white);
  border: 1px solid var(--gray-light); /* Jaśniejsza ramka */
  border-radius: 4px; /* Dodane zaokrąglenie */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* Delikatny cień */
}

.event-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.event-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.event-content h3 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.event-date {
  font-size: 0.9rem;
  color: var(--yellow); /* Data na żółto */
  font-weight: 600;
  margin-bottom: 1rem;
}

.event-content p {
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

/* .event-link dziedziczy style z ogólnych .cta-button */

/* 10. SEKCJE SERWISOWE */
.service-section {
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--white);
}

.service-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6); /* Nieco ciemniejsza nakładka */
  z-index: 1;
}

#paczkomat.service-section {
  background-image: url('https://galeria.bankier.pl/p/8/6/93abaf6c115fa8-640-383-0-0-3107-1864.webp');
  margin-bottom: 0;
}

#bankomat.service-section {
  background-image: url('https://i.ytimg.com/vi/68T6tpSnWy8/maxresdefault.jpg?sqp=-oaymwEmCIAKENAF8quKqQMa8AEB-AH-CYAC0AWKAgwIABABGD4gWChlMA8=&rs=AOn4CLDNmwcHe1dP7-saNIKFdYBKT90e9Q');
  margin-top: 0;
  margin-bottom: 0;
}

.service-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
  padding: 6rem 2rem;
  text-align: center;
}

.service-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 1.5rem;
  filter: brightness(0) invert(1); /* Aby ikony były białe na ciemnym tle */
}

.service-content h2 {
  font-size: 2.8rem;
  color: var(--white);
  margin-bottom: 1rem;
  font-weight: 700;
}

.service-content p {
  font-size: 1.1rem;
  color: var(--white);
  line-height: 1.8;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

/* 11. SEKCJA LOKALIZACJI */
.map-section-condensed {
  max-width: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  background-color: var(--white);
  padding-bottom: 2rem;
}

.location-content-wrapper-condensed {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
}

.location-text-condensed {
  flex: 1 1 300px;
  padding: 2rem;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.location-text-condensed h2 {
  font-size: 2.5rem;
  margin-bottom: 0.8rem;
  color: var(--black);
  font-weight: 700;
  border-bottom: 1px solid var(--gray-light);
  padding-bottom: 0.5rem;
  width: fit-content;
}

.location-text-condensed h3 {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  color: var(--gray-dark);
  font-weight: 500;
  line-height: 1.6;
}

/* .map-button dziedziczy style z ogólnych .cta-button */
.location-text-condensed .map-button {
  margin-top: auto;
  align-self: flex-start;
}


.map-container-condensed {
  flex: 2 1 60%;
  min-height: 455px;
  height: auto;
  border: none;
}

.map-container-condensed iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.location-logo {
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
  display: block;
}

/* 12. SEKCJA PARKINGU */
#parking.full-width-section {
  max-width: none;
  padding: 0;
  margin-top: 4rem;
  margin-bottom: 0;
  position: relative;
  background-image: url('https://harmoniapark.com/wp-content/uploads/elementor/thumbs/v_2-scaled-prlr1dyl8zggq6urq9ogjqssqdxmbrfp4lwv0zy4j4.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--white);
}

#parking.full-width-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.parking-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
  padding: 5rem 2rem;
  text-align: center;
}

.parking-content h2 {
  font-size: 3rem;
  color: var(--white);
  margin-bottom: 1.5rem;
  font-weight: 700;
}

.parking-content p {
  font-size: 1.1rem;
  color: var(--white);
  line-height: 1.8;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

/* 13. SLIDER */
.hero-slider {
  position: relative;
  height: calc(100vh - var(--header-height, 70px));
  max-height: 1100px;
  min-height: 500px;
  overflow: hidden;
}

.slider-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
  visibility: hidden; /* Ukryj nieaktywne slajdy */
  display: none; /* Ukryj nieaktywne slajdy */
}

.slide.active {
  opacity: 1;
  z-index: 2;
  visibility: visible;
  display: block;
}

.slide-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: brightness(0.6);
  transition: transform 8s ease;
}

.slide.active .slide-background {
  transform: scale(1.05);
}

.slide-content {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 450px;
  max-width: 80%;
  color: var(--white);
  z-index: 3;
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.8s ease, opacity 0.8s ease;
  text-align: left;
  padding: 2rem;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.4) 100%);
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.slide.active .slide-content {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}

.slide-label {
  display: inline-block;
  padding: 8px 14px;
  background-color: var(--yellow); /* Etykieta na żółto */
  color: var(--black); /* Czarny tekst na etykiecie */
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

.slide-title {
  font-size: 3rem;
  margin-bottom: 1rem;
  color: var(--white);
  line-height: 1.1;
  text-shadow: 0 4px 8px rgba(0,0,0,0.5);
  font-weight: 700;
}

.slide-description {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  color: var(--white);
  text-shadow: 0 2px 6px rgba(0,0,0,0.8);
  letter-spacing: 0.02em;
  font-weight: 400;
  position: relative;
  z-index: 4;
  opacity: 1;
}

.slider-controls {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  align-items: center;
  z-index: 10;
}

.slider-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(5px);
  border: none;
  border-radius: 50%;
  color: var(--white);
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.slider-arrow:hover {
  background: var(--yellow); /* Żółte tło strzałek przy hover */
  color: var(--black); /* Czarny kolor ikony strzałki */
}

.slider-dots {
  display: flex;
  margin: 0 15px;
}

.slider-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 5px;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.slider-dot:hover {
  background: rgba(255, 255, 255, 0.7);
}

.slider-dot.active {
  background: var(--yellow); /* Aktywna kropka na żółto */
  transform: scale(1.2);
}

/* .slide-button dziedziczy style z ogólnych .cta-button */

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 15;
}

.hero-overlay .logo {
  width: 120px;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,0.2));
}

/* 14. STOPKA */
footer.site-footer { /* Dodana klasa dla większej specyficzności */
  text-align: center;
  padding: 2.5rem 1rem 1rem; /* Zmniejszony dolny padding */
  color: var(--gray-darker); /* Ciemniejszy tekst w stopce */
  font-size: 0.85rem;
  border-top: 1px solid var(--gray-light);
  /* background-color: var(--gray-lighter); Jaśniejsze tło stopki */
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 1.5rem 2rem;
  border-bottom: 1px solid var(--gray-light); /* Jaśniejszy separator */
}

.footer-section {
  flex: 1 1 250px;
  margin-bottom: 2rem;
  text-align: left; /* Wyrównanie do lewej dla sekcji */
}

.footer-logo {
  width: 120px;
  margin-bottom: 1rem;
}

.footer-section h4 {
  color: var(--black);
  margin-bottom: 1.2rem;
  font-weight: 600;
  font-size: 1.1rem;
}

.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-section ul li {
  margin-bottom: 0.7rem;
}

.footer-section a {
  color: var(--gray-darker);
  text-decoration: none;
  transition: color 0.3s;
}

.footer-section a:hover {
  color: var(--yellow); /* Linki w stopce na żółto przy hover */
}

.footer-icon {
  vertical-align: middle;
  margin-right: 8px;
  /* Można dodać filter, aby ikony były czarne lub żółte */
}

.footer-tenant-button {
  display: inline-block;
  background-color: var(--yellow);
  color: var(--black) !important; /* Ważne, aby nadpisać inne style linków */
  padding: 8px 15px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  margin: 10px 0;
  transition: background-color 0.3s, transform 0.3s, color 0.3s;
  border: 2px solid var(--yellow);
}

.footer-tenant-button:hover {
  background-color: var(--black);
  color: var(--yellow) !important;
  border-color: var(--black);
  transform: translateY(-2px);
}

.footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.footer-social a {
  margin-right: 15px;
  opacity: 0.8;
  transition: opacity 0.3s;
}
.footer-social a img { /* Aby ikony SVG dziedziczyły kolor lub można je ostylować */
    fill: var(--black); /* Domyślnie czarne */
}

.footer-social a:hover {
  opacity: 1;
}
.footer-social a:hover img {
    fill: var(--yellow); /* Żółte przy hover */
}


.copyright {
  flex: 1;
  text-align: center;
  margin: 0;
}

.footer-policy {
  display: flex;
  gap: 10px;
}

.footer-policy a {
  color: var(--gray-darker);
  text-decoration: none;
}
.footer-policy a:hover {
  color: var(--yellow);
}

.separator {
  color: var(--yellow); /* Separator na żółto */
}

.footer-title { /* Jeśli używane */
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--black);
  text-align: left;
}

.footer-section.footer-about p {
  text-align: left;
  margin-bottom: 1.5rem;
  max-width: 280px;
}


/* SEKCJA O CENTRUM */
.about-center-section {
  padding: 4rem 0;
  background-color: var(--white);
  position: relative;
}

.about-content-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3rem;
}

.about-info {
  flex: 1 1 450px;
  display: flex;
  flex-direction: column;
}

.about-logo {
  width: 240px;
  height: auto;
  display: block;
  position: relative;
  left: -5px;
}

.about-info h2 {
  font-weight: 700;
  font-size: 2.8rem;
  color: var(--black);
  margin-bottom: 1rem;
  position: relative;
}

.about-description {
  margin-bottom: .5rem;
}

.about-description p {
  margin-bottom: 1rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--gray-dark);
}

.address-container {
  margin-bottom: 2rem;
  padding: 1rem;
  background-color: var(--gray-lighter); /* Jaśniejsze tło */
  border-radius: 4px;
  line-height: .5;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05); /* Lżejszy cień */
}

.address-item {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.address-item:last-child {
  margin-bottom: 0;
}

.address-icon {
  width: 20px;
  height: 20px;
  margin-right: 1rem;
  /* Można dodać filter, aby ikony były czarne lub żółte */
}

.address-item span {
  font-size: 1rem;
  color: var(--black);
}

/* .about-cta-button dziedziczy style z ogólnych .cta-button */

.about-image-container {
  flex: 1 1 500px;
  height: 400px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.about-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.about-image-container:hover .about-image {
  transform: scale(1.05);
}

.parcel-lockers-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 15px;
  flex-wrap: nowrap;
}

.parcel-locker {
  flex: 1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.parcel-logo {
  max-height: 80px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}


/* SEKCJA DLA NAJEMCÓW - LOKALE */
.tenant-space-entry {
  margin-bottom: 5rem;
}

.main-space-image {
  width: 100%;
  height: auto;
  max-height: 450px;
  object-fit: cover;
  display: block;
  margin-bottom: 1rem;
  border-radius: 4px;
  transition: none;
}

.space-thumbnail-gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 5px;
  margin-bottom: 1rem;
}

.space-thumbnail-gallery img {
  width: 100px;
  height: 75px;
  object-fit: cover;
  border: 1px solid var(--gray-light); /* Jaśniejsza ramka */
  border-radius: 4px;
  cursor: pointer;
  display: block;
  transition: border-color 0.3s ease, opacity 0.3s ease;
  opacity: 0.7;
  transform: none !important;
}

.space-thumbnail-gallery img:hover,
.space-thumbnail-gallery img.active-thumbnail {
  border-color: var(--yellow); /* Żółta ramka dla aktywnej/hover */
  opacity: 1;
  transform: none !important;
}


/* SEKCJA WARUNKI WSPÓŁPRACY - AKORDEON */
.accordion-section {
  /* max-width: 900px; */
}

.accordion-section .section-title {
}

.accordion-container {
  border: 1px solid var(--gray-light);
  border-radius: 4px;
  overflow: hidden;
}

.accordion-item {
  border-bottom: 1px solid var(--gray-light);
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background-color: var(--white, #fff);
  color: var(--black, #333);
  cursor: pointer;
  padding: 1.25rem 1.5rem;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  font-size: 1.15rem;
  font-weight: 500;
  transition: background-color 0.3s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.accordion-header:hover {
  background-color: var(--gray-lighter);
}
.accordion-header[aria-expanded="true"] {
    background-color: var(--yellow); /* Żółte tło dla otwartego nagłówka */
    color: var(--black);
}


.accordion-header .accordion-title {
  flex-grow: 1;
}

.accordion-icon {
  width: 1em;
  height: 1em;
  border-style: solid;
  border-width: 0.15em 0.15em 0 0;
  border-color: var(--gray-darker); /* Ciemniejsza ikona */
  display: inline-block;
  transform: rotate(135deg);
  transition: transform 0.3s ease-out;
  margin-left: 1rem;
}
.accordion-header[aria-expanded="true"] .accordion-icon {
  transform: rotate(-45deg);
  border-color: var(--black); /* Czarna ikona dla otwartego nagłówka */
}


.accordion-content {
  background-color: var(--white, #fff);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease-out, padding 0.35s ease-out;
}

.accordion-content-inner {
  padding: 1.5rem;
  font-size: 0.95rem;
  color: var(--gray-dark);
  line-height: 1.7;
}

.accordion-content-inner h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--black, #333);
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.accordion-content-inner ul {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 1rem;
}

.accordion-content-inner ul li {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.accordion-content-inner ul li strong {
  color: var(--black, #333);
  font-weight: 500;
}

.accordion-content-inner p {
  margin-bottom: 1rem;
}
.accordion-content-inner p:last-child {
  margin-bottom: 0;
}

.accordion-content-inner em {
  font-size: 0.85rem;
  color: var(--gray-medium);
  display: block;
  margin-top: 1rem;
}

.accordion-content-inner .document-link {
  display: inline-block;
  margin-top: 1rem;
  color: var(--black); /* Zmieniono z --gold na --black */
  text-decoration: underline;
  font-weight: 500;
}

.accordion-content-inner .document-link:hover {
  color: var(--yellow); /* Żółty przy hover */
  text-decoration: none;
}

.tenant-market-potential-accordion-biznes .section-title {
  margin-bottom: 2rem;
}

.accordion-content-inner .business-conclusion {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background-color: var(--gray-lightest);
  border-left: 4px solid var(--yellow); /* Żółta ramka dla wniosku */
  border-radius: 0 4px 4px 0;
}

.accordion-content-inner .business-conclusion p {
  margin-bottom: 0;
  font-size: 0.95rem;
  color: var(--gray-darker);
}

.accordion-content-inner .business-conclusion p strong {
  color: var(--black, #333);
  font-weight: 600;
}

.accordion-content-inner .cta-accordion-conclusion {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gray-light);
  text-align: center;
}

.accordion-content-inner .cta-accordion-conclusion p {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--black, #333);
  margin-bottom: 1.5rem;
}
/* Przycisk CTA w akordeonie dziedziczy style z .cta-button */


/* POŁĄCZONA SEKCJA KONTAKTOWA DLA NAJEMCÓW */
.contact-combined-section {
  padding: 3.5rem 1.5rem;
  background-color: var(--white);
}

.contact-combined-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.contact-combined-section .section-title {
  text-align: left;
  margin-bottom: 1rem;
  /* border-bottom: 2px solid var(--yellow); */ /* Opcjonalne podkreślenie */
  /* padding-bottom: 0.75rem; */
}

.contact-combined-section .section-lead {
  text-align: left;
  font-size: 1.1rem;
  color: var(--gray-dark);
  max-width: 800px;
  margin: 0 auto 3.5rem 0;
  line-height: 1.7;
}

.contact-layout-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  align-items: flex-start;
}

.contact-person-info-column,
.contact-form-column {
  flex: 1;
  min-width: 320px;
}

.contact-person-info-column .column-title,
.contact-form-column .column-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--black, #333);
  margin-top: 0;
  margin-bottom: 1.8rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--yellow);
}

.person-card-compact {
  background-color: var(--gray-lightest);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.person-avatar-medium {
  width: 58%;
  height: auto;
  border-radius: 1%;
  object-fit: cover;
  margin-bottom: 1.5rem;
  border: 3px solid var(--white);
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.person-details-compact h4 {
  font-size: 1.3rem;
  color: var(--black, #333);
  margin-top: 0;
  margin-bottom: 0.3rem;
}

.person-title-compact {
  font-size: 0.95rem;
  color: var(--gray-darker); /* Zmieniono z --gold na ciemnoszary */
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.contact-methods-compact {
  margin-bottom: 1.5rem;
  text-align: left;
}

.contact-method-compact {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.contact-method-icon-compact {
  width: 20px;
  height: 20px;
  margin-right: 0.8rem;
  opacity: 1; /* Pełna widoczność ikon */
  margin-top: 0.15em;
  /* Użyj ikon SVG z fill="var(--black)" lub filter, jeśli PNG */
  /* filter: invert(15%) sepia(0%) saturate(0%) hue-rotate(148deg) brightness(99%) contrast(89%); */ /* Filtr dla czarnego */
}

.contact-method-compact a,
.contact-method-compact span {
  color: var(--gray-darker);
  text-decoration: none;
  line-height: 1.5;
}

.contact-method-compact a:hover {
  color: var(--yellow);
  text-decoration: none;
}

.person-availability-compact {
  font-size: 0.85rem;
  color: var(--gray-dark); /* Ciemniejszy szary */
  font-style: italic;
  line-height: 1.5;
  padding-top: 1rem;
  border-top: 1px solid var(--gray-light);
  margin-top: 1rem;
  width: 100%;
}

.tenant-contact-form-combined {
  background-color: var(--gray-lightest);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}

.tenant-contact-form-combined .form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 500px) {
  .tenant-contact-form-combined .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.25rem 1.5rem;
  }
}

.tenant-contact-form-combined .form-group {
  display: flex;
  flex-direction: column;
}

.tenant-contact-form-combined .form-group.full-width {
  grid-column: 1 / -1;
}

.tenant-contact-form-combined label {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--black, #333);
  margin-bottom: 0.4rem;
  display: block;
}

.tenant-contact-form-combined input[type="text"],
.tenant-contact-form-combined input[type="email"],
.tenant-contact-form-combined input[type="tel"],
.tenant-contact-form-combined select,
.tenant-contact-form-combined textarea {
  width: 100%;
  padding: 0.75rem 0.9rem;
  font-size: 0.95rem;
  border: 1px solid var(--gray-medium);
  border-radius: 4px;
  background-color: var(--white, #fff);
  color: var(--gray-darker);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.tenant-contact-form-combined input[type="text"]:focus,
.tenant-contact-form-combined input[type="email"]:focus,
.tenant-contact-form-combined input[type="tel"]:focus,
.tenant-contact-form-combined select:focus,
.tenant-contact-form-combined textarea:focus {
  outline: none;
  border-color: var(--yellow);
  box-shadow: 0 0 0 2px rgba(255, 222, 89, 0.3);
}

.tenant-contact-form-combined select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%231c1c1c' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); /* Czarna strzałka SVG */
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 0.9em;
  padding-right: 2.2rem;
}
.tenant-contact-form-combined select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffde59' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); /* Żółta strzałka przy focusie */
}


.tenant-contact-form-combined textarea {
  resize: vertical;
  min-height: 100px;
}

.tenant-contact-form-combined .checkbox-group {
  display: flex;
  align-items: flex-start;
  margin-top: 0.3rem;
}

.tenant-contact-form-combined input[type="checkbox"] {
  width: auto;
  margin-right: 0.6rem;
  margin-top: 0.2em;
  flex-shrink: 0;
  accent-color: var(--yellow);
}

.tenant-contact-form-combined .checkbox-label {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--gray-dark);
  line-height: 1.45;
  margin-bottom: 0;
}
.tenant-contact-form-combined .checkbox-label a {
  color: var(--black); /* Link w etykiecie na czarno */
  text-decoration: underline;
}
.tenant-contact-form-combined .checkbox-label a:hover {
  text-decoration: none;
  color: var(--yellow); /* Żółty przy hover */
}

.tenant-contact-form-combined .form-submit-area {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 1.25rem;
}
/* Przycisk .cta-button w formularzu dziedziczy ogólne style .cta-button */


/* 15. MEDIA QUERIES */
@media (max-width: 900px) {
  h1 { font-size: 2.8rem; }
  header.hero h1 { font-size: 3rem; }
  h2.section-title { font-size: 2rem; }
  h3 { font-size: 1.5rem; }

  .header-container { padding: 0.5rem 1rem; }
  .header-info { display: none; }
  .main-nav { margin-left: auto; }

  .contact-layout-wrapper { /* Dla połączonej sekcji kontaktowej */
    flex-direction: column;
    gap: 2.5rem;
  }
  .contact-person-info-column,
  .contact-form-column {
    width: 100%;
  }
  .person-card-compact {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 1.5rem;
  }
  .person-avatar-medium {
    margin-bottom: 0;
  }
  .person-availability-compact {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--white);
    flex-direction: column;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    padding: 0; /* Usunięty padding, aby linki zajmowały całą szerokość */
    z-index: 100;
    border-top: 1px solid var(--gray-light);
  }
  
  .nav-menu.active { display: flex; }
  
  .nav-menu li {
    width: 100%;
    border-bottom: 1px solid var(--gray-light); /* Separator między linkami */
  }
   .nav-menu li:last-child {
    border-bottom: none;
  }
  
  .nav-menu a {
    display: block;
    padding: 1rem 1.5rem; /* Zwiększony padding dla lepszej klikalności */
    font-size: 1rem;
    text-align: left; /* Wyrównanie do lewej */
  }
  
  .nav-menu a::after { display: none; } /* Usunięcie podkreślenia w mobilnym menu */
  
  .nav-menu a:hover {
    background-color: var(--gray-lighter); /* Delikatne tło przy hover */
    color: var(--black);
  }
  
  .mobile-menu-toggle { display: block; } /* Pokazanie przycisku hamburgera */
  .hamburger, .hamburger::before, .hamburger::after { /* Style dla hamburgera */
    content: '';
    display: block;
    height: 2px;
    width: 24px;
    background-color: var(--black);
    position: absolute;
    transition: all 0.3s ease;
  }
  .hamburger { top: 50%; left: 50%; transform: translate(-50%, -50%); }
  .hamburger::before { top: -8px; left: 0; }
  .hamburger::after { bottom: -8px; left: 0; }
  .mobile-menu-toggle.active .hamburger { background-color: transparent; }
  .mobile-menu-toggle.active .hamburger::before { top: 0; transform: rotate(45deg); }
  .mobile-menu-toggle.active .hamburger::after { bottom: 0; transform: rotate(-45deg); }

  .shop-entry {
    flex-direction: column !important;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  
  .media-container, .shop-entry-content {
    flex-basis: 100%;
    min-width: auto;
  }
  
  .shop-entry-content {
    margin-top: 1rem;
    text-align: left;
  }
  
  .media-container {
    height: 250px;
    aspect-ratio: unset;
  }

  .service-content h2 { font-size: 2rem; }
  .service-content p { font-size: 1rem; }
  .service-content { padding: 4rem 1.5rem; }
  .service-icon { width: 50px; height: 50px; }
  
  .parking-content h2 { font-size: 2.2rem; }
  .parking-content p { font-size: 1rem; }
  .parking-content { padding: 4rem 1.5rem; }
  
  .location-content-wrapper-condensed { flex-direction: column; }
  .location-text-condensed { text-align: center; padding: 2rem 1.5rem; }
  .location-text-condensed .map-button { align-self: center; }
  .map-container-condensed { min-height: 300px; }
  
  .map-container { height: 300px; }
  
  .simple-hero { height: auto; min-height: auto; }
  .hero-content { padding: 2rem; margin: 2rem 1rem; }
  .hero-content h1 { font-size: 2.5rem; }
  .hero-content p { font-size: 1rem; }
  
  .slide-content {
    bottom: 20%;
    width: 90%;
    padding: 1.5rem;
    text-align: center;
  }
  
  .slide-title { font-size: 2.2rem; }
  .slide-description { font-size: 1rem; margin-bottom: 1.2rem; }
  
  .slide-button {
    padding: 10px 20px;
    font-size: 0.85rem;
    display: inline-block;
    margin: 0 auto;
  }
  
  .slider-controls { bottom: 15px; }
  .hero-slider { height: 100vh; }

  .about-center-section { padding: 3rem 0; }
  .about-info { text-align: center; }
  .about-logo { margin: 0 auto 1rem; }
  .about-cta-button { align-self: center; }
  .about-image-container { height: 300px; }

  .parcel-lockers-container { flex-wrap: wrap; gap: 15px; }
  .parcel-locker { flex-basis: 45%; }

  .footer-container { flex-direction: column; }
  .footer-bottom { flex-direction: column; gap: 15px; }
  .footer-social, .copyright, .footer-policy { width: 100%; text-align: center; }
  .footer-policy { justify-content: center; }

  .tenant-contact-form { /* Dla osobnego formularza, jeśli istnieje */
    padding: 2rem 1.5rem;
  }
  .tenant-contact-form .form-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  /* .tenant-contact-section .section-lead - styl już w połączonej sekcji */
}

@media (max-width: 600px) {
  header.hero { height: auto; min-height: auto; padding: 3rem 1rem; }
  header.hero h1 { font-size: 2.5rem; }
  header.hero p { font-size: 1rem; }
  /* header.hero .cta-button - dziedziczy ogólne style .cta-button */
  section { margin: 3rem auto 4rem; }
  h2.section-title { margin-bottom: 2rem; }

  .person-card-compact { /* Dla połączonej sekcji kontaktowej */
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .person-avatar-medium {
    margin-bottom: 1rem;
  }
   .contact-methods-compact, .person-availability-compact {
    text-align: center;
  }
  .tenant-contact-form-combined {
    padding: 1.5rem;
  }
  .tenant-contact-form-combined .form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .slide-content { bottom: 15%; width: 94%; padding: 1.2rem; }
  .slide-title { font-size: 1.8rem; margin-bottom: 0.5rem; }
  .slider-arrow { width: 36px; height: 36px; }
  .slider-dot { width: 10px; height: 10px; margin: 0 4px; }
  .hero-overlay { padding: 15px; }
  .hero-overlay .logo { width: 100px; }

  .parcel-locker { flex-basis: 100%; }
}

/* Stopka */
.site-footer {
  background-color: var(--light-gray);
  padding: 3rem 0 1rem;
  color: var(--gray-dark);
  font-size: 0.9rem;
  line-height: 1.6;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 1.5rem 2rem;
  border-bottom: 1px solid rgba(143, 122, 73, 0.2);
}

.footer-section {
  flex: 1 1 250px;
  margin-bottom: 2rem;
}

.footer-logo {
  width: 120px;
  margin-bottom: 1rem;
}

.footer-section h4 {
  color: var(--black);
  margin-bottom: 1.2rem;
  font-weight: 600;
  font-size: 1.1rem;
}

.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-section ul li {
  margin-bottom: 0.7rem;
}

.footer-section a {
  color: var(--gray-dark);
  text-decoration: none;
  transition: color 0.3s;
}

.footer-section a:hover {
  color: var(--yellow);
}

.footer-icon {
  vertical-align: middle;
  margin-right: 8px;
}

.footer-tenant-button {
  display: inline-block;
  background-color: var(--yellow);
  color: var(--black) !important;
  padding: 8px 15px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  margin: 10px 0;
  transition: background-color 0.3s, transform 0.3s;
}

.footer-tenant-button:hover {
  background-color: var(--yellow);
  transform: translateY(-2px);
}

.footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.footer-social a {
  margin-right: 15px;
  opacity: 0.8;
  transition: opacity 0.3s;
}

.footer-social a:hover {
  opacity: 1;
}

.copyright {
  flex: 1;
  text-align: center;
  margin: 0;
}

.footer-policy {
  display: flex;
  gap: 10px;
}

.footer-policy a {
  color: var(--gray-dark);
  text-decoration: none;
}

.separator {
  color: var(--yellow);
}

@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
  }
  
  .footer-bottom {
    flex-direction: column;
    gap: 15px;
  }
  
  .footer-social, .copyright, .footer-policy {
    width: 100%;
    text-align: center;
  }
  
  .footer-policy {
    justify-content: center;
  }
}

.footer-title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--black);
  text-align: left;
}

.footer-section.footer-about p {
  text-align: left;
  margin-bottom: 1.5rem;
}





/* SEKCJA SKLEPÓW (lub ogólne dla .shop-entry, jeśli .tenant-space-entry dziedziczy) */
.shop-entry {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 4rem; /* Zwiększ ten margines, jeśli jest za mały */
  gap: 2.5rem;
  flex-wrap: nowrap;
}

/* Jeśli .tenant-space-entry to osobna definicja, dodaj lub zmodyfikuj margines tutaj */
.tenant-space-entry { /* Dodaj tę regułę, jeśli nie istnieje, lub zmodyfikuj istniejącą */
  margin-bottom: 5rem; /* Zwiększony margines dolny dla większego odstępu */
  /* ... inne style dla .tenant-space-entry ... */
}


/* Kontener na media w sklepach */
.media-container {
    position: relative;
    flex: 1 1 48%;
    min-width: 300px;
    /* height: auto; */ /* Odkomentuj, jeśli chcesz, aby wysokość była dynamiczna */
    /* aspect-ratio: 4 / 3; */ /* Możesz to przywrócić, jeśli chcesz stały współczynnik proporcji */
    min-height: auto; /* Zmieniono z 600px !important na auto, aby kontener dopasował się do zawartości */
    overflow: visible; /* Pozostawione dla testów, ale docelowo może być 'hidden' jeśli nie ma problemów */
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    /* border: 2px dashed blue !important; */ /* Usuń testową ramkę */
}

/* Obrazy w kontenerach sklepów - usunięcie efektu zoom dla .main-space-image */
.media-container:hover .main-space-image { /* Bardziej specyficzna reguła, aby nie wpływać na inne .media-container img */
  transform: none; /* Wyłączenie efektu zoom */
}

/* Jeśli .main-space-image ma własną regułę :hover, zmodyfikuj ją: */
.main-space-image:hover {
    transform: none; /* Wyłączenie efektu zoom */
}

/* Główne zdjęcie lokalu - upewnij się, że nie ma transformacji scale na hover */
.main-space-image {
  width: 100%;
  height: auto; /* Pozwól, aby wysokość była proporcjonalna do szerokości */
  max-height: 450px; /* Opcjonalnie: Ogranicz maksymalną wysokość głównego zdjęcia */
  object-fit: cover;
  display: block;
  margin-bottom: 1rem; /* Odstęp między głównym zdjęciem a galerią miniaturek */
  border-radius: 4px;
  transition: none; /* Usuń transition, jeśli było związane z zoomem */
}


.space-thumbnail-gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  /* border: 1px dashed red !important; */ /* Usuń testową ramkę */
  padding: 5px;
  margin-bottom: 1rem; /* Dodatkowy margines na dole galerii miniaturek */
}

.space-thumbnail-gallery img {
  width: 100px;
  height: 75px;
  object-fit: cover;
  /* border: 1px solid #00ff00 !important; */ /* Usuń testową ramkę */
  border: 1px solid #ddd; /* Zmień na subtelniejszą ramkę */
  border-radius: 4px;
  cursor: pointer;
  display: block;
  transition: border-color 0.3s ease, opacity 0.3s ease;
  opacity: 0.7;
  transform: none !important; /* Upewnij się, że nie ma transformacji scale */
}

.space-thumbnail-gallery img:hover,
.space-thumbnail-gallery img.active-thumbnail {
  /* border-color: var(--yellow) !important; */ /* Usuń !important */
  border-color: var(--yellow);
  opacity: 1;
  transform: none !important; /* Upewnij się, że nie ma transformacji scale przy hover */
}




/* ------------------------------------ */
/* STYLE DLA PODSTRONY SKLEPU           */
/* ------------------------------------ */

.shop-hero {
    position: relative;
    height: 100vh; /* Możesz dostosować wysokość */
    min-height: 350px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    margin-bottom: 0; /* Usunięcie domyślnego marginesu sekcji */
}

.shop-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Półprzezroczysta nakładka dla czytelności tekstu */
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-hero .container {
    position: relative; /* Aby logo było nad nakładką, jeśli jest w kontenerze */
    z-index: 2;
    padding: 2rem;
}

.shop-hero-logo {
    max-width: 220px;
    margin-bottom: 1.5rem;
    background-color: rgba(255,255,255,0.8); /* Opcjonalne tło dla logo, jeśli jest PNG z przezroczystością */
    padding: 10px;
    border-radius: 8px;
}

.shop-hero h1 {
    font-size: 3.5rem;
    color: var(--white);
    margin-bottom: 0.5rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
}

.shop-hero-tagline {
    font-size: 1.3rem;
    color: var(--white);
    font-weight: 400;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
}

.breadcrumbs {
    max-width: 1100px; /* Ta sama szerokość co reszta strony */
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 1.5rem; /* Dodajemy padding boczny */
    font-size: 0.85rem;
    color: var(--gray-dark);
    border-bottom: 1px solid var(--gray-light);
    margin-bottom: 2.5rem;
}

.breadcrumbs a {
    color: var(--black);
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: var(--yellow);
    text-decoration: underline;
}

.breadcrumbs span {
    color: var(--gray-dark);
}

.shop-detail-section.container {
    max-width: 1100px; /* Upewnij się, że kontener jest odpowiednio szeroki */
    margin-top: 0; /* Usunięcie domyślnego marginesu sekcji, jeśli breadcrumbs są powyżej */
}

.shop-detail-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin-bottom: 3rem;
}

.shop-detail-gallery-main {
    flex: 1 1 55%; /* Więcej miejsca na galerię */
    min-width: 300px;
}

.shop-main-image {
    width: 100%;
    height: auto;
    max-height: 500px; /* Dostosuj wg potrzeb */
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 1rem;
    border: 1px solid var(--gray-light);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.shop-thumbnail-gallery { /* Style dla tej klasy już istnieją, można je dostosować */
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.shop-thumbnail-gallery img { /* Style dla tej klasy już istnieją */
    width: 100px; /* Można dostosować */
    height: 75px;
    /* ... reszta stylów ... */
}
.shop-thumbnail-gallery img.active-thumbnail { /* Style dla tej klasy już istnieją */
    border-color: var(--yellow);
    opacity: 1;
}


.shop-detail-info {
    flex: 1 1 40%; /* Mniej miejsca na informacje obok galerii */
    min-width: 280px;
}

.shop-detail-name {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 0.5rem;
}

.shop-category-badge {
    display: inline-block;
    background-color: var(--yellow);
    color: var(--black);
    padding: 0.3rem 0.8rem;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.shop-description-short {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--gray-darker);
    margin-bottom: 2rem;
}

.shop-info-box {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background-color: var(--gray-lightest);
    border-radius: 6px;
    border-left: 3px solid var(--yellow);
}

.shop-info-box h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--black);
    margin-top: 0;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.shop-info-box p {
    font-size: 0.95rem;
    color: var(--gray-dark);
    margin-bottom: 0.3rem;
    line-height: 1.5;
}
.shop-info-box p:last-child {
    margin-bottom: 0;
}

.shop-info-box a {
    color: var(--black);
    text-decoration: none;
}
.shop-info-box a:hover {
    color: var(--yellow);
    text-decoration: underline;
}

.shop-social-links {
    margin-top: 1.5rem;
}
.shop-social-links h4 {
     font-size: 1.1rem;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
}
.shop-social-links a img {
    width: 32px; /* Dostosuj rozmiar ikon social media */
    height: 32px;
    margin-right: 10px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.shop-social-links a:hover img {
    opacity: 1;
}

.shop-detail-long-description {
    margin-top: 2rem; /* Odstęp od górnej sekcji */
    margin-bottom: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--gray-light);
}

.shop-detail-long-description h3 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 1.5rem;
}

.shop-detail-long-description p,
.shop-detail-long-description ul {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--gray-darker);
    margin-bottom: 1rem;
}

.shop-detail-long-description ul {
    list-style: disc;
    padding-left: 20px;
}
.shop-detail-long-description ul li {
    margin-bottom: 0.5rem;
}

.shop-menu-highlights {
    margin-bottom: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--gray-light);
}

.shop-menu-highlights h3 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 2rem;
    text-align: center;
}

.menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.menu-item {
    background-color: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.menu-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}

.menu-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.menu-item h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--black);
    margin: 1rem 1rem 0.5rem;
}

.menu-item p {
    font-size: 0.9rem;
    color: var(--gray-dark);
    padding: 0 1rem 1rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.shop-detail-cta {
    text-align: center;
    padding: 2rem 0;
    margin-top: 2rem;
    border-top: 1px solid var(--gray-light);
}

/* Dostosowania dla mniejszych ekranów */
@media (max-width: 900px) {
    .shop-hero h1 { font-size: 2.8rem; }
    .shop-hero-tagline { font-size: 1.1rem; }
    .shop-detail-name { font-size: 2rem; }
}

@media (max-width: 768px) {
    .shop-hero { height: 40vh; min-height: 300px; }
    .shop-hero-logo { max-width: 180px; }

    .shop-detail-layout {
        flex-direction: column;
    }
    .shop-detail-gallery-main,
    .shop-detail-info {
        flex-basis: 100%;
    }
    .shop-main-image { max-height: 400px; }
}





/* ------------------------------------ */
/* STYLE DLA PODSTRONY LOKALU NA WYNAJEM */
/* ------------------------------------ */

/* Można użyć .shop-hero lub stworzyć dedykowany .tenant-space-hero jeśli potrzebne są inne style */

.tenant-space-detail-section.container {
    /* Dziedziczy lub można dostosować style z .shop-detail-section */
}

.tenant-space-info .shop-detail-name { /* Używamy tej samej klasy dla spójności */
    margin-bottom: 1rem;
}

.space-size-badge {
    display: inline-block;
    background-color: var(--black); /* Odwrócone kolory dla odróżnienia od sklepu */
    color: var(--yellow);
    padding: 0.4rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 4px;
    margin-bottom: 1.5rem;
}

.space-key-info {
    margin-bottom: 2rem;
    background-color: var(--gray-lightest);
    padding: 1.5rem;
    border-radius: 6px;
    border-left: 3px solid var(--yellow);
}

.space-key-info .info-item {
    font-size: 1rem;
    color: var(--gray-darker);
    margin-bottom: 0.75rem;
    line-height: 1.6;
}
.space-key-info .info-item:last-child {
    margin-bottom: 0;
}

.space-key-info .info-label {
    font-weight: 600;
    color: var(--black);
    margin-right: 0.5rem;
    display: inline-block;
    min-width: 100px; /* Dla wyrównania */
}

.space-pricing-info {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background-color: var(--yellow-lightest, #fffaf0); /* Bardzo jasny żółty lub inny pasujący */
    border: 1px solid var(--yellow);
    border-radius: 6px;
}
/* Dodaj zmienną --yellow-lightest w :root jeśli jej używasz */
/* :root { --yellow-lightest: #fffaf0; } */


.space-pricing-info h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--black);
    margin-top: 0;
    margin-bottom: 1rem;
}

.space-pricing-info p {
    font-size: 1rem;
    color: var(--black);
    margin-bottom: 0.5rem;
}
.space-pricing-info p strong {
    font-weight: 700;
}

.space-contact-cta {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background-color: var(--gray-lighter);
    border-radius: 6px;
    text-align: center;
}

.space-contact-cta h4 {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--black);
    margin-top: 0;
    margin-bottom: 1rem;
}

.space-contact-cta p {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.space-contact-cta p .info-icon {
    margin-right: 0.5rem;
}

.space-contact-cta a {
    color: var(--black);
    text-decoration: none;
    font-weight: 500;
}
.space-contact-cta a:hover {
    color: var(--yellow);
    text-decoration: underline;
}

.space-inquiry-button.cta-button {
    margin-top: 1rem;
    width: 100%;
    max-width: 300px; /* Ograniczenie szerokości przycisku */
}

.tenant-space-long-description {
    /* Dziedziczy lub można dostosować style z .shop-detail-long-description */
}

.tenant-space-long-description h4 { /* Dla "Kluczowe atuty lokalu" */
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--black);
    margin-top: 2rem;
    margin-bottom: 1rem;
}

/* Style dla galerii miniaturek .space-thumbnail-gallery dziedziczą z .shop-thumbnail-gallery */
/* Jeśli potrzebne są specyficzne style, można je dodać */

@media (max-width: 768px) {
    .space-key-info .info-label {
        min-width: auto; /* Usuń min-width na mniejszych ekranach */
        display: block; /* Etykieta w nowej linii */
        margin-bottom: 0.25rem;
    }
    .space-key-info .info-item {
        margin-bottom: 1rem;
    }
}




/* ------------------------------------ */
/* STYLE DLA PODSTRONY WYDARZENIA       */
/* ------------------------------------ */

.event-hero {
    position: relative;
    height: 50vh; /* Możesz dostosować wysokość */
    min-height: 300px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    margin-bottom: 0;
}

.event-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.55); /* Ciemniejsza nakładka dla lepszego kontrastu */
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-hero .container {
    position: relative;
    z-index: 2;
    padding: 2rem;
}

.event-hero h1 {
    font-size: 3rem; /* Dostosuj rozmiar */
    color: var(--white);
    margin-bottom: 0.75rem;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
}

.event-hero-date {
    font-size: 1.2rem;
    color: var(--yellow); /* Data na żółto dla wyróżnienia */
    font-weight: 600;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
}

.event-detail-section.container {
    max-width: 900px; /* Węższy kontener dla treści artykułu */
    margin-top: 0;
}

.event-content-full {
    padding: 2rem 0; /* Dodaj padding, jeśli breadcrumbs są bezpośrednio nad */
}

.event-main-image-container {
    margin-bottom: 2rem;
    text-align: center; /* Wyśrodkowanie obrazka, jeśli jest mniejszy niż kontener */
}

.event-main-image {
    width: 100%;
    max-width: 700px; /* Ograniczenie szerokości głównego obrazka */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

.event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem; /* Odstępy między elementami meta */
    justify-content: center; /* Wyśrodkowanie meta danych */
    margin-bottom: 2.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--gray-light);
    border-bottom: 1px solid var(--gray-light);
    font-size: 0.95rem;
}

.event-meta-item {
    display: flex;
    align-items: center;
    color: var(--gray-darker);
}

.event-meta-item .info-icon {
    margin-right: 0.5rem;
    opacity: 0.8;
}

.event-content-full h2 {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--black);
    margin-top: 1rem; /* Jeśli jest .event-meta powyżej */
    margin-bottom: 1.5rem;
    text-align: center;
}

.event-content-full h3 { /* Dla podtytułów w treści */
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--black);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.event-content-full p,
.event-content-full ul {
    font-size: 1.05rem; /* Nieco większa czcionka dla czytelności */
    line-height: 1.8;
    color: var(--gray-darker);
    margin-bottom: 1.5rem;
}

.event-content-full ul {
    list-style: disc;
    padding-left: 25px;
}
.event-content-full ul li {
    margin-bottom: 0.75rem;
}

.event-gallery {
    margin-top: 3rem;
    margin-bottom: 2rem;
}

.event-gallery h4 {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 1.5rem;
    text-align: center;
}

.event-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.event-gallery-grid img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.event-share-buttons {
    margin-top: 2.5rem;
    margin-bottom: 2rem;
    text-align: center;
    padding-top: 1.5rem;
    border-top: 1px solid var(--gray-light);
}

.event-share-buttons h4 {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--gray-darker);
    margin-bottom: 1rem;
}

.social-share-link {
    display: inline-flex; /* Użyj flex dla wyrównania ikony i tekstu */
    align-items: center;
    text-decoration: none;
    color: var(--white);
    padding: 0.6rem 1.2rem;
    border-radius: 4px;
    margin: 0.3rem;
    font-size: 0.9rem;
    font-weight: 500;
    transition: opacity 0.3s ease;
}
.social-share-link img { /* Ikony w przyciskach udostępniania */
    margin-right: 0.5rem;
    width: 18px; /* Dostosuj rozmiar */
    height: 18px;
}

.social-share-link.facebook { background-color: #3b5998; }
.social-share-link.twitter { background-color: #1da1f2; }
/* Dodaj inne social media jeśli potrzebujesz */

.social-share-link:hover {
    opacity: 0.85;
}

.event-back-cta { /* Dla przycisku "Zobacz inne wydarzenia" */
    margin-top: 1rem; /* Mniejszy margines, bo już jest border-top z .event-share-buttons */
    padding-top: 0;
    border-top: none;
}


@media (max-width: 768px) {
    .event-hero h1 { font-size: 2.5rem; }
    .event-hero-date { font-size: 1.1rem; }
    .event-content-full h2 { font-size: 1.8rem; }
    .event-content-full h3 { font-size: 1.4rem; }
    .event-meta { justify-content: flex-start; gap: 0.5rem 1.5rem; } /* Wyrównanie do lewej na mobilnych */
}

/* KOMUNIKATY FORMULARZA */
.form-message {
  padding: 15px;
  margin: 15px 0;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
}

.form-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.form-message.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.form-message.warning {
  background-color: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

/* Style dla przycisku podczas ładowania */
button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}