/* Resetowanie stylów i podstawowe elementy */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Zmienne CSS */
:root {
  --primary-color: #FFCC00;
  --secondary-color: #e42929;
  --text-color: #333333;
}

/* Ustawiamy bazowy rozmiar czcionki na 16px, co umożliwia późniejsze łatwe skalowanie */
html {
  font-size: 1rem;
}

/* Podstawowe style dla <body> dokumentu */
body {
  font-family: Arial, sans-serif; /* Ustalamy domyślną czcionkę */
  color: var(--text-color); /* Kolor tekstu */
  background-color: #ffffff; /* Kolor tła */
  line-height: 1.6; /* Wysokość linii tekstu */
  width: 100%; /* Szerokość całego ciała dokumentu */
  overflow-x: hidden; /* Ukrywamy poziomy pasek przewijania */
}

/* Struktura globalna */
header {
  display: flex; /* Ustawienie nagłówka jako elastyczny kontener */
  justify-content: space-between; /* Rozdzielanie elementów na skrajne strony */
  align-items: center; /* Wyrównanie elementów w pionie do środka */
  padding: 1rem; /* Dodanie odstępów wokół zawartości */
  background-color: #4F4F4F; /* Ciemnoszare tło nagłówka */
  border-bottom: 2px solid #ddd; /* Jasnoszara linia oddzielająca nagłówek od reszty strony */
}

/* Ustawienia logo - szerokość obrazu logo */
.logo img {
  width: 15rem;
}

/* Menu nawigacyjne na dużych ekranach */
.menu-large {
  list-style: none; /* Usunięcie domyślnego stylu listy */
  display: flex; /* Menu jako elastyczny kontener */
  gap: 1.5rem; /* Odstępy między elementami menu */
}

/* Ukrycie menu dla dużych ekranów na urządzeniach mobilnych */
@media (max-width: 768px) {
  .menu-large {
    display: none; /* Ukrywa menu na ekranach mobilnych */
  }
}
 
/* Menu mobilne - początkowo ukryte */
.menu-mobile {
  display: none; /* Ukrycie menu */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; /* Szerokość menu na cały ekran */
  height: 100vh; /* Wysokość na cały ekran */
  background-color: var(--primary-color); /* Złote tło */
  flex-direction: column; /* Ustawienie elementów w kolumnie */
  justify-content: center; /* Wyrównanie elementów pionowo */
  align-items: center; /* Wyrównanie elementów w poziomie */
  z-index: 99; /* Wartość z-index, aby menu było na wierzchu */
}
 
/* Ikona menu mobilnego (hamburger) */
.menu-icon {
  cursor: pointer;
  width: 30px;
  height: 20px;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  display: block;
}

/* Styl dla poszczególnych elementów ikony menu */
.menu-icon span {
  width: 25px; /* Szerokość pasków ikony */
  height: 3px; /* Wysokość pasków ikony */
  background-color: var(--primary-color); /* Kolor pasków */
  margin: 5px 0; /* Odstępy między paskami */
  display: block;
}
  /* Ikona hamburgera powinna być widoczna na urządzeniach mobilnych */
  @media (min-width: 769px) {
    .menu-icon {
      display: none; /* Ukrycie ikony na ekranach większych niż 768px */
    }
  }

  @media (max-width: 768px) {
  .menu-icon {
    display: block; /* Pokazuje ikonę menu na mobilnych urządzeniach */
  }
}

/* Stylizacja krzyżyka */
.menu-close {
  display: none; /* Ukryte, dopóki menu nie jest otwarte */
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
  z-index: 100;
}

.menu-close span {
  position: absolute;
  width: 25px;
  height: 3px;
  background-color: var(--secondary-color);
  top: 50%;
  left: 0;
  transform-origin: center;
}

.menu-close span:first-child {
  transform: rotate(45deg);
}

.menu-close span:last-child {
  transform: rotate(-45deg);
}

/* Gdy menu jest otwarte */
.menu-mobile.show .menu-close {
  display: block; /* Pokaż krzyżyk */
}

.menu-mobile.show {
  display: block;
}

/* Linki w menu - ustawienia tekstu, kolorów i przejścia */
.menu-large a {
  text-decoration: none; /* Usunięcie podkreślenia linków */
  color: var(--primary-color); /* Złoty kolor tekstu linków */
  font-weight: bold; /* Pogrubienie tekstu linków */
  transition: color 0.3s; /* Płynna zmiana koloru przy najechaniu */
}

/* Efekt najechania na linki menu */
.menu-large a:hover {
  color: var(--secondary-color); /* Zmiana koloru na czerwony */
}

/* Aktywny link */
.menu-large a.active {
  color: var(--secondary-color); /* Zmiana koloru na czerwony */
}

/* Styl dla listy w menu mobilnym */
.menu-mobile ul {
  list-style: none; /* Usunięcie stylu listy */
  padding: 0; /* Usunięcie domyślnych marginesów i paddingu */
  text-align: center; /* Wyrównanie tekstu w liście do środka */
}

.menu-mobile ul li {
  margin: 1rem 0; /* Odstępy między elementami menu */
}

/* Linki w menu mobilnym */
.menu-mobile ul li a {
  text-decoration: none; /* Usunięcie podkreślenia */
  font-size: 1.5rem; /* Większy rozmiar czcionki */
  color: var(--text-color); /* Kolor tekstu */
  transition: color 0.3s; /* Płynna zmiana koloru przy najechaniu */
  font-weight: bold;
}

/* Efekt najechania na linki w menu mobilnym */
.menu-mobile ul li a:hover {
  color: var(--secondary-color); /* Zmiana koloru */
}

/* Efekt najechania na linki w menu mobilnym */
.menu-mobile ul li a.active {
  color: var(--secondary-color); /* Zmiana koloru */
}

/* Przejście do pokazania menu mobilnego */
.menu-mobile.show {
  display: flex; /* Pokazanie menu */
}

/* Animacja ukrywania i pokazywania menu */
.menu-mobile {
  opacity: 0; /* Początkowa przezroczystość */
  transform: translateY(-100%); /* Przesunięcie menu poza ekran */
  transition: opacity 0.3s ease, transform 0.3s ease; /* Płynna animacja */
}

.menu-mobile.show {
  opacity: 1; /* Menu staje się widoczne */
  transform: translateY(0); /* Menu wraca na swoje miejsce */
}

/* Sekcja Hero */
.hero {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  text-align: right;
  background-color: #f9f9f9; /* Kolor tła sekcji */
  padding: 0rem;
  background-image: url('/assets/images/hero-image.svg'); /* Ścieżka do obrazu */
  background-size: cover; /* Dopasowanie obrazu do całej sekcji */
  background-position: center center; /* Wyśrodkowanie obrazu */
  background-repeat: no-repeat; /* Brak powtórzeń */
  height: 33vh; /* Ustalamy wysokość sekcji na 33% wysokości ekranu */
}

@media (max-width: 480px) {
  .hero {
    height: 40vh; /* Zwiększenie wysokości na małych ekranach */
  }
}

/* Zawartość sekcji Hero */
.hero-content {
  max-width: 800px; /* Maksymalna szerokość kontenera */
  color: #ffffff; /* Kolor tekstu w sekcji hero */
  z-index: 1; /* Ustawienie na wyższy poziom, aby tekst był nad tłem */
}

/* Styl tytułu w sekcji Hero */
.hero h1 {
  font-size: 2.5rem; /* Duży rozmiar czcionki */
  color: #ffffff; /* Kolor tekstu */
  margin-right: 10rem; /* Przesunięcie sloganu w lewo */
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 1.8rem; /* Zmniejszenie rozmiaru tytułu */
  }
}

/* Styl paragrafu w sekcji Hero */
.hero p {
  font-size: 1.2rem; /* Mniejszy rozmiar czcionki */
  color: #ffffff; /* Kolor tekstu */
  margin-top: 0.5rem; /* Odstęp nad tekstem */
}

@media (max-width: 480px) {
  .hero p {
    font-size: 1rem; /* Zmniejszenie rozmiaru tekstu */
  }

}

/* Styl obrazka w sekcji Hero */
.hero-image {
  margin-top: 1rem; /* Odstęp nad obrazkiem */
  width: 100%; /* Szerokość obrazka względem kontenera*/
  height: 100%; /* Wysokość obrazka względem kontenera */
  border-radius: 0%; /* Zaokrąglenie obrazka */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Cień wokół obrazka */
}

/* Menu w formie rombów */
.diamond-menu {
  display: flex; /* Układ elastyczny */
  justify-content: center; /* Wyrównanie do środka */
  align-items: center; /* Wyrównanie elementów w poziomie */
  flex-wrap: wrap; /* Zawijanie elementów */
  gap: 0; /* Brak odstępów między rombami */
  padding: 2rem 0; /* Odstępy góra/dół */
  width: 100%; /* Szerokość całej sekcji */
}

/* Widok mobilny - romby zmieniają się w kwadraty */
@media (max-width: 768px) {
  .diamond-menu {
    flex-direction: column; /* Układ pionowy dla elementów */
    align-items: center; /* Wyrównanie do środka */
  }
}

/* Linki w menu rombów */
.diamond-link {
  display: flex;
  justify-content: center; /* Wyrównanie do środka */
  align-items: center; /* Wyrównanie elementów w poziomie */
  width: calc(20% - 10px); /* 5 elementów w jednym wierszu na dużych ekranach */
  aspect-ratio: 1; /* Kwadratowy kształt elementu */
  text-decoration: none; /* Usunięcie podkreślenia */
  position: relative;
  margin: 0 -50px; /* Zastosowanie negatywnego marginesu dla lepszego zbliżenia */
}

/* Widok mobilny - romby zmieniają się w kwadraty */
@media (max-width: 768px) {
  .diamond-link {
    width: 80%; /* Elementy zajmują 80% szerokości ekranu */
    aspect-ratio: 1; /* Zachowanie kwadratowego kształtu */
    margin: 0; /* Usunięcie marginesów */
    margin-top: 10px;
  }
}

/* Styl rombu */
.diamond {
  width: 100%; /* Szerokość rombu */
  height: 100%; /* Wysokość rombu */
  background-size: cover; /* Obrazek wypełnia romb */
  background-position: center; /* Obraz wyśrodkowany */
  background-repeat: no-repeat; /* Obrazek nie powtarza się */
  position: relative;
  clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%); /* Kształt rombu */
  transition: transform 0.3s ease-in-out; /* Płynna animacja zmiany */
}

/* Widok mobilny - romby zmieniają się w kwadraty */
@media (max-width: 768px) {
  .diamond {
    clip-path: none; /* Usunięcie clip-path w wersji mobilnej, aby romby stały się kwadratami */
    transform: none; /* Usunięcie efektu powiększenia rombu */
  }
}

/* Grafiki do rombów */
.diamond.index {
  background-image: url('/assets/images/diamond-menu/diamond-index.svg');
}
.diamond.about {
  background-image: url('/assets/images/diamond-menu/diamond-about.svg');
}
.diamond.portfolio {
  background-image: url('/assets/images/diamond-menu/diamond-portfolio.svg');
}
.diamond.offer {
  background-image: url('/assets/images/diamond-menu/diamond-offer.svg');
}
.diamond.contact {
  background-image: url('/assets/images/diamond-menu/diamond-contact.svg');
}

/* Efekt najechania na romb */
.diamond-link:hover .diamond {
  transform: scale(1.1); /* Powiększenie i zachowanie rombu */
}

/* Stopka */
footer {
  background-color: #4F4F4F; /* Ciemnoszare tło dla stopki */
  padding: 2rem 1rem; /* Odstępy wewnętrzne */
  text-align: center; /* Wyrównanie tekstu do środka */
  border-top: 2px solid #E5E5E5; /* Jasnoszara linia oddzielająca stopkę */
}

/* Sekcje w stopce */
.footer-content {
  display: flex; /* Układ elastyczny */
  justify-content: space-between; /* Rozdzielenie elementów */
  align-items: center; /* Wyśrodkowanie elementów w pionie */
  flex-wrap: wrap; /* Zawijanie elementów */
  gap: 2rem; /* Odstępy między sekcjami */
}

/* Widok mobilny stopki */
@media (max-width: 768px) {
  .footer-content {
    flex-direction: column; /* Układ pionowy */
    align-items: center; /* Wyrównanie do środka */
  }
}

/* Poszczególne sekcje w stopce */
.footer-section {
  flex: 1; /* Równomierne rozdzielenie sekcji */
  min-width: 200px; /* Minimalna szerokość */
  text-align: center; /* Wyrównanie tekstu do środka */
  display: flex; /* Flexbox w sekcji */
  flex-direction: column; /* Układ pionowy */
  justify-content: center; /* Wyśrodkowanie zawartości w pionie */
  align-items: center; /* Wyrównanie tekstu do środka */
}

/* Widok mobilny stopki */
@media (max-width: 768px) {
  .footer-section {
    min-width: 100%; /* Każda sekcja zajmuje całą szerokość */
    text-align: center; /* Wyrównanie tekstu do środka */
  }
}

/* Styl tekstów w sekcjach stopki */
.footer-info p,
.footer-contact p {
  margin: 0.5rem 0; /* Odstępy między akapitami */
  color: #B3B3B3; /* Jasnoszary kolor tekstu */
  font-size: 1.1rem; /* Nieco mniejszy rozmiar czcionki */
}

/* Ustawienia logo - szerokość obrazu logo */
.footer-logo img {
  width: 300px;
}

/* Kredyty w stopce */
.footer-credits {
  margin-top: 1rem; /* Odstęp od poprzednich sekcji */
  font-size: 0.9rem; /* Mniejszy rozmiar czcionki */
  color: #B3B3B3; /* Jasnoszary kolor tekstu */
}

/* Styl linków w kredytach */
.footer-credits a {
  text-decoration: none; /* Usunięcie podkreślenia */
  color: #B3B3B3; /* Jasnoszary kolor linku */
  font-weight: bold; /* Pogrubienie tekstu */
  transition: color 0.3s ease, transform 0.3s ease; /* Płynna zmiana koloru i transformacji */
}

/* Efekt najechania na linki kredytów */
.footer-credits a:hover {
  color: var(--primary-color); /* Zmiana koloru na złoty */
  transform: scale(1.1); /* Powiększenie linku */
}

/* Linki kontaktowe w stopce */
.footer-contact a {
  text-decoration: none; /* Usunięcie podkreślenia */
  color: var(--primary-color); /* Złoty kolor linków */
  transition: color 0.3s ease; /* Płynna zmiana koloru przy najechaniu */
}

/* Efekt najechania na linki kontaktowe */
.footer-contact a:hover {
  color: var(--secondary-color); /* Zmiana koloru na czerwony */
}

/* Styl obrazków w linkach kontaktowych */
.footer-contact img {
  width: 16px; /* Szerokość ikonki */
  vertical-align: middle; /* Wyrównanie ikony z tekstem */
  margin-right: 8px; /* Odstęp między ikoną a tekstem */
}