@charset "utf-8";

/* Google Fonts - dodane Inter i Plus Jakarta Sans */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');

/* ==========================================================================
   CSS VARIABLES
   ========================================================================== */
:root {
  /* Kolory - Primary */
  --color-primary: #0e5ca7; 		/* niebieski z logo */
  --color-primary-dark: #0b447b; 	/* granat ciemny */
  --color-primary-light: #2657e8; 	/* ico stopka jasny niebieski */
  
  /* Kolory - Secondary */
  --color-secondary-dark: #0f5fa8;	/* niebieski */
  --color-secondary: #0b447b;		/* granat ciemny */
  
  /* Kolory - Accent (czerwony - oszczędnie) */
  --color-accent: #dc0303;
  
  /* Kolory - CTA (pomarańczowy - tylko przyciski rezerwacji) */
  --color-cta: #ed5524;
  --color-cta-hover: #d84a1c;
  --color-cta-gradient: linear-gradient(285deg, #f2953f, #d33904);
  
  /* Kolory - Success/Error */
  --color-success: #198754;
  --color-error: #dc3545;
  
  /* Kolory - Tekst */
  --color-text: #1f2a44;				/* dla tekstu ctn */
  --color-text-bl-dark: #003567;		/* mocny granat ciemny z kreski logo na h1 */
  --color-text-bl: #0e5ca7; 			/* niebieski z logo */
  --color-text-secondary: #4a5568;		/* sredni szary */
  --color-text-secondary-dark: #3c4452;	/* ciemny szary */
  --color-text-muted: #64748b;			/* sredni szary zlamany niebieski */
  --color-text-dwhite: #fdfdfd;			/* lekko ciemny bialy */
  
  /* Kolory - Tła */
  --color-bg: #ffffff;
  --color-bg-blue: #0f5fa8;												/* niebieski np. przycisk wycieczki powrot */
  --color-bg-dblue: #0b447b;											/* granat ciemny */
  --color-bg-lblueg: linear-gradient(135deg, #2657e8 0%, #2856dd 100%);	/* jasny granat tonalne tlo */
  --color-bg-dblueg: linear-gradient(135deg, #1e2a4a 0%, #141d33 100%);	/* gleboki granat tonalne tlo */
  --color-bg-antrac: linear-gradient(135deg, #575d67 0%, #292d34 100%);	/* antracyt tonalne tlo */
  --color-bg-subtle: #f1f5f9;											/* jasny szary */
  --color-bg-muted: #e2e8f0;											/* jasny szary z niebieskim */
  --color-bg-menu: #f4f9fd;												/* dla top menu jasniejszy szary z niebieskim */
  
  /* Kolory - Borders */
  --color-border-dblue: #0b447b;	/* granat ciemny */
  --color-border-light: #f1f5f9;	/* jasny szary */
  --color-border: #e2e8f0;			/* jasny szary z niebieskim */
  --color-border-dark: #cbd5e1;		/* lekko sredni szary zlamany niebieski */
  
  /* Kolory - Footer (ciemny granat) */
  --color-footer: #003567;
  --color-footer-border: #05427b;
  --color-footer-text: #fdfdfd;
  
  /* Fonty - NOWE (do stopniowego użycia) */
  --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  
  /* Fonty - STARE (obecne w lista.min.css) */
  --font-roboto: 'Roboto', sans-serif;
  --font-roboto-flex: 'Roboto Flex', sans-serif;
  --font-roboto-condensed: 'Roboto Condensed', sans-serif;
  --font-oswald: 'Oswald', sans-serif;
  
  /* Spacing */ /* ok */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  
  /* Border Radius */ /* ok */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  
  /* Shadows */ /* ok */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  
  /* Transitions */ /* ok */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
}

/* ==========================================================================
   ULEPSZENIA - nadpisania dla lista.css
   ========================================================================== */

/* Karuzela na stronie głównej */
#carouselslider {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  height: 100%;
  max-height: 420px;
}

#carouselslider .carousel-item img {
  border-radius: var(--radius-lg);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#carouselslider .carousel-inner {
  height: 100%;
}

#carouselslider .carousel-item {
  height: 100%;
}

#carouselslider .carousel-control-prev,
#carouselslider .carousel-control-next {
  width: 50px;
  height: 50px;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--transition-fast);
}

#carouselslider:hover .carousel-control-prev,
#carouselslider:hover .carousel-control-next {
  opacity: 1;
}

#carouselslider .carousel-control-prev {
  left: 15px;
}

#carouselslider .carousel-control-next {
  right: 15px;
}

#carouselslider .carousel-control-prev:hover,
#carouselslider .carousel-control-next:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

/* Napisy na slajdach */
#carouselslider .carousel-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 70%, transparent 100%);
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.5rem 1.5rem 1.5rem;
  text-align: left;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

#carouselslider .carousel-caption h5 {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.3rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

#carouselslider .carousel-caption p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

#carouselslider .carousel-item a {
  display: block;
  height: 100%;
  text-decoration: none;
}

/* Responsywne dostosowania napisów */
@media (max-width: 991px) {
  #carouselslider .carousel-caption {
    padding: 2rem 1.5rem 2.5rem;
  }
}
@media (max-width: 767px) {
  #carouselslider .carousel-caption {
    padding: 2rem 1.5rem 2rem;
  }
  #carouselslider .carousel-caption h5 {
    font-size: 1.1rem;
  }
  #carouselslider .carousel-caption p {
    font-size: 0.85rem;
  }
}

/* Sekcja formularza - responsywne dostosowania */

/* Wyrównanie wysokości kolumn */
.frfront .row {
  display: flex;
  align-items: stretch;
}

.frfront .col-lg-8 {
  display: flex;
  flex-direction: column;
}

.frfront .col-lg-8 #carouselslider {
  flex: 1;
}

/* Od 1399px w dół - dodatkowe marginesy */
@media (max-width: 1399px) {
  .frfront .container {
    max-width: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

/* Od 1199px w dół - większa wyszukiwarka, mniejsze zdjęcie */
@media (max-width: 1199px) {
  .frfront .col-lg-4 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .frfront .col-lg-8 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
}

/* Od 991px w dół - wyszukiwarka nad zdjęciem, standardowa szerokość */
@media (max-width: 991px) {
  .frfront .container {
    max-width: 720px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .frfront .col-lg-4,
  .frfront .col-lg-8 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #carouselslider {
    max-height: 350px;
  }
  .frfront .col-lg-8 {
    margin-top: 1.5rem;
  }
}

/* Tom Select - ulepszenia */
.fbox .ts-control {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  padding: 10px 12px;
}

.fbox .ts-wrapper.single.input-active .ts-control {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(14, 92, 167, 0.15);
}

/* Form elements w .fbox */
.fbox .form-select,
.fbox .form-control {
  padding: 10px 12px;
  font-size: 0.95rem;
}

.fbox .form-select {
  padding-right: 2.5rem;
}
