/*
 Theme Name: Hestia Child
 Theme URI: https://abentojra.pl
 Description: Motyw dziecko dla Hestia
 Author: Adam Kondracki
 Template: hestia
 Version: 1.1.057
*/

/* 
 * 
 * LOADER + FADE IN 
 *  
 */

body {
	opacity: 1;
	animation-name: fadeInOpacity;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 0.3s;
}

@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

   
/* ===== DOMYŚLNIE BRAK LOADERA ===== */
#page-loader { display:none; }

/* ===== TYLKO HOMEPAGE ===== */

/*body.home #page-loader {
  display:flex;
  position: fixed;
  inset: 0;
  background:#0e0e0e;
  z-index:99999;
  align-items:center;
  justify-content:center;
  flex-direction:column;

  animation: loaderFadeOut 1.5s ease forwards;
}*/

/* ====== BIKE ====== */
/*.bike {
  position: relative;
  width: 160px;
  height: 80px;
  margin-bottom: 20px;
  animation: bikeMove 1.2s linear infinite;
}
@keyframes bikeMove {
  0% { transform: translateX(-10px); }
  50% { transform: translateX(10px); }
  100% { transform: translateX(-10px); }
}
.wheel {
  position: absolute;
  bottom: 0;
  width: 48px;
  height: 48px;
  border: 4px solid #6fff00;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.wheel.front { right: 0; }
.wheel.back { left: 0; }
@keyframes spin { to { transform: rotate(360deg); } }

.frame {
  position: absolute;
  top: 30px;
  left: 35px;
  width: 90px;
  height: 4px;
  background: #6fff00;
}
.handle {
  position: absolute;
  right: 10px;
  top: 18px;
  width: 20px;
  height: 4px;
  background: #6fff00;
  transform: rotate(-20deg);
}
.seat {
  position: absolute;
  left: 35px;
  top: 18px;
  width: 16px;
  height: 4px;
  background: #6fff00;
}

.loader-text {
  color: #6fff00;
  font-size: 14px;
  letter-spacing: 1px;
  opacity: .85;
}*/


/* ===== FADE BODY ===== */
/*body.home {
  animation: pageFadeIn .2s ease forwards;
}

@keyframes loaderFadeOut {
  0%   { opacity:1; visibility:visible; }
  90%  { opacity:1; }
  100% { opacity:0; visibility:hidden; }
}

@keyframes pageFadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}*/


/*
FORMULARZ LOGOWANIA DLA NIEZALOGOWANYCH NA STRONIE GLOWNEJ
*/

.big-title-sidebar-wrapper.col-md-5.hestia-slider-alignment-left .form-group {
   color: #fff;
}

.big-title-sidebar-wrapper.col-md-5.hestia-slider-alignment-left .login-username.form-group input { 
   background-color: #fff !important;
}

.big-title-sidebar-wrapper.col-md-5.hestia-slider-alignment-left .login-password.form-group input {
   background-color: #fff !important;
}

#loginform label {
   font-weight: 400;
}

/*
Stylizacja przycisków Moje konto i Wyloguj na sliderze strony głównej
*/

/*.hero-login-box {
    max-width: 380px;
    padding: 25px;
}*/

/* POLA INPUT — tło #5e5e5e */
.hero-login-box input[type="text"],
.hero-login-box input[type="password"],
.hero-login-box input[type="email"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 15px;
    background: #5e5e5e !important;
    color: #fff !important; /* białe litery żeby były czytelne */
}

/* placeholder również musi być jasny */
.hero-login-box input::placeholder {
    color: #e0e0e0 !important;
}

/* PRZYCISK */
.hero-login-box input[type="submit"] {
    width: 100%;
    padding: 12px;
    border-radius: 6px;
    border: none;
    background: #2196f3;
    color: #fff;
    cursor: pointer;
}

/* po zalogowaniu – przyciski Konto / Wyloguj */
.hlb-btn {
    display: block;
    width: 100%;
    padding: 18px;
    margin-bottom: 2px;
    text-align: center;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
}

.hlb-btn:hover {
   text-decoration: none !important;
   color: #fff !important;
}

.hlb-account {
    background: #2196f3;
    color: #fff;
}

.hlb-logout {
    background: #f44336;
    color: #fff;
}

.hlb-bookings {
    background: #4b864b;
    color: #fff;
}

/*******
STYLOWANIE SZABLONU WYDARZENIA
*******/

.wydarzenie-container {
    display: flex;
    gap: 40px;
    margin: 40px auto;
    max-width: 1200px;
}

.left-col {
    flex: 1;
}

.right-col {
    flex: 1;
    text-align: center;
}

.right-col img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.buttons {
    margin-top: 20px;
    display: flex;
    gap: 15px;
    justify-content: center;
}

.btn {
    padding: 12px 28px;
    color: #fff;
    font-size: 18px;
    border-radius: 6px;
    font-weight: 700;
    text-decoration: none;
}

.btn.red { background: #D64234; }
.btn.green { background: #6AA84F; }
.btn.blue { background: #1C63D5; }



/****
STYLIZACJA PRZELACZNIKOW NA STRONIE WYDARZENIA (TABOW)
****/

.event-tabs {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.event-tab-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 200px;
    slex-shrink: 0;
}

.event-tab-content {
    flex: 1;
}

.event-tab-content .tab {
    display: none;
}

.event-tab-content .tab.active {
    display: block;
}

.event-tab-menu li {
    cursor: pointer;
    padding: 10px 0;
    font-size: 16px;
    color: #555;
    position: relative;
    transition: color .2s ease;
}

.event-tab-menu li.active {
    color: #e05a6e;
    font-weight: 700;
}

.event-tab-menu li.active::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, #FFC46A, #FF9C46);
    border-radius: 3px;
}

/*************************
  EVENT SINGLE-WYDARZENIE MOBILE RESPONSIVE FIXES
**************************/

@media (max-width: 992px) {

    .wydarzenie-container {
        flex-direction: column;
        gap: 25px;
        padding: 0 20px;
    }

    .left-col,
    .right-col {
        width: 100%;
    }

    .right-col img {
        max-width: 100%;
        height: auto;
    }

    /* PRZYCISKI */
    .buttons {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .btn {
        width: 100%;
        text-align: center;
    }

    /* MENU TABS POD SOBĄ */
    .event-tabs {
        flex-direction: column;
        gap: 10px;
    }

    .event-tab-menu {
        width: 100%;
        display: flex;
        flex-direction: row;
        gap: 10px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 10px;
        overflow-x: auto;
    }

    .event-tab-menu li {
        padding: 8px 12px;
        font-size: 14px;
        white-space: nowrap;
    }

    .event-tab-menu li.active::after {
        display: none; /* pionowy pasek nie pasuje na mobile */
    }

    .event-tab-content {
        width: 100%;
    }
}

/* Jeszcze mniejsze ekrany — iPhone SE itp. */
@media (max-width: 480px) {
    h1, h2, h3 {
        font-size: 90%;
    }

    .btn {
        font-size: 16px;
        padding: 10px 20px;
    }

    .event-tab-menu li {
        font-size: 13px;
    }
}


/*****
LISTA WYDARZEN PRZED NAMI / ZA NAMI
*****/

.wydarzenie-card {
    padding: 15px;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    min-height: 430px;
}

.wyd-img img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.wyd-title {
    margin-top: 10px;
    font-size: 16px;
    color: #3C4858 !important;
    text-align: left;
    height: 40px;
}

.wyd-desc {
    font-size: 14px;
    color: #666;
    margin: 10px 0 15px;
}


/*
STYLOWANIE KARUZELI PRZED/PO NAMI
*/

/* GRID 3 kolumny */
.wyd-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin: 40px 0;
}

/* Pojedynczy box */
.wyd-box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,0.12);
}

/* Obrazek */
.wyd-image {
    position: relative;
}

.wyd-image img {
    width: 100%;
    display: block;
    height: auto;
}

/* Rok w lewym górnym rogu */
.wyd-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #1f3351;
    color: #fff;
    padding: 5px 12px;
    font-size: 14px;
    border-radius: 4px;
}

/* Content wewnątrz boxu */
.wyd-content {
    padding: 20px;
}

.wyd-content h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

.wyd-desc {
    font-size: 15px;
    color: #666;
    margin-bottom: 15px;
}

.wyd-more {
    display: inline-block;
    padding: 10px 18px;
    background: #000;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
}

.wyd-more:hover {
    background: #333;
}

/* MOBILKI — 1 kolumna */
@media (max-width: 768px) {
    .wyd-grid {
        grid-template-columns: 1fr;
    }
}


/* --- KAFELKI EVENTÓW --- */

.wydarzenie-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    text-align: center;
    width: 320px !important;
    padding-bottom: 50px !important;
}

.wyd-img img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.wyd-desc {
    font-size: 14px;
    color: #666;
    margin: 10px 0 15px;
    min-height: 60px;
}

.wyd-btn {
    display: block;
    padding: 10px 18px;
    background: #e32124;
    color: #fff !important;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    width: 150px;
    margin: 0 auto;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translate(-50%, 0%);
    margin-top: 20px;
    
}

.wyd-btn:hover {
    text-decoration: none;
}

.swiper-slide {
    width: 320px !important;
}


/*
SLIDER
*/

/* Wymusza slider wyglądający jak karuzela */
.wydarzenia-swiper, .aktualnosci-swiper {
    width: 100%;
    max-width: 1200px; /* dopasuj jeśli chcesz */
    margin: 0 auto;
    overflow: hidden; /* KLUCZOWE – ukrywa pozostałe slajdy */
    padding: 20px 0;
}

.swiper-slide.wydarzenie-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    height: auto !important;
}

/* Obrazek wydarzenia */
.wyd-img img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 10px;
}

/* Układ daty */
.wyd-card-top {
    text-align: left;
    margin-top: 10px;
    font-weight: 600;
    color: #444;
}

.wyd-lokalizacja {
    color: #3C4858;
    text-align: left;
    display: block;
    font-weight: 700;
}

/* Opis */
.wyd-desc {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 15px;
    color: #666;
}

/* --------------------------
   STRZAŁKI SWIPER – widoczne
--------------------------- */

.wydarzenia-swiper .swiper-button-next,
.wydarzenia-swiper .swiper-button-prev,
.aktualnosci-swiper .swiper-button-next,
.aktualnosci-swiper .swiper-button-prev {
    color: #fff !important;              /* kolor ikony */
    width: 48px;
    height: 48px;
    background: rgba(0,0,0,0.45);
    border-radius: 50%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    z-index: 9999;
}

/* pozycja */
.wydarzenia-swiper .swiper-button-next,
.aktualnosci-swiper .swiper-button-next {
    right: 10px !important;
}

.wydarzenia-swiper .swiper-button-prev,
.aktualnosci-swiper .swiper-button-prev {
    left: 10px !important;
}

/* efekt hover */
.wydarzenia-swiper .swiper-button-next:hover,
.wydarzenia-swiper .swiper-button-prev:hover,
.aktualnosci-swiper .swiper-button-next:hover,
.aktualnosci-swiper .swiper-button-prev:hover {
    background: rgba(0,0,0,0.7);
}

.swiper-button-next,
.swiper-button-prev {
    display: flex !important;
}


/*
SLIDER - WYPOZYCJONOWANIE POD STRZALKI
*/

/* Ustaw slider jako kontekst pozycjonowania */
.wydarzenia-swiper, .aktualnosci-swiper {
    position: relative;
    /*padding: 0 40px;*/ /* miejsce na strzałki */
}

/* Strzałki Swipera zawsze w pionowym środku */
.wydarzenia-swiper .swiper-button-prev,
.wydarzenia-swiper .swiper-button-next,
.aktualnosci-swiper .swiper-button-prev,
.aktualnosci-swiper .swiper-button-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    color: #333;        /* kolor ikony */
    width: 40px;
    height: 40px;
}

/* Lewa strzałka */
.wydarzenia-swiper .swiper-button-prev,
.aktualnosci-swiper .swiper-button-prev {
    left: 0;
}

/* Prawa strzałka */
.wydarzenia-swiper .swiper-button-next,
.aktualnosci-swiper .swiper-button-next {
    right: 0;
}

/* Opcjonalnie większe ikonki */
.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 15px;
}

.wydarzenia-swiper .swiper-pagination,
.aktualnosci-swiper .swiper-pagination {
    display: none !important;
}

.row.hestia-big-title-content .buttons {
   justify-content: flex-start;
}


/*
STYLOWANIE KARUZELI LOGO NA STRONIE WYDARZENIA
*/

/* --- Karuzela logo sponsorów --- */
.loga-sponsorow-wrapper {
    overflow: hidden;
    width: 100%;
    margin-top: 20px;
}

.loga-sponsorow-track {
    display: flex;
    gap: 40px;
    animation: sponsorscroll 12s linear infinite;
}

.logo-slide {
    flex: 0 0 calc(33.333% - 40px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-slide img {
    max-width: 120px;
    height: auto;
    filter: grayscale(0%);
    transition: 0.3s;
}

.logo-slide img:hover {
    filter: grayscale(0%);
    transform: scale(1.07);
}

/* MOBILE: 2 loga */
@media (max-width: 768px) {
    .logo-slide {
        flex: 0 0 calc(50% - 20px);
    }
}

/* VERY SMALL: 1 logo */
@media (max-width: 480px) {
    .logo-slide {
        flex: 0 0 100%;
    }
}

/* --- Animacja przesuwania logo --- */
@keyframes sponsorscroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/*
STYLE DO WLASNEGO SLIDERA 
*/

/* ====== SWIPER MEDIA TAG (dopasowany do stylu SU) ====== */

.my-media-swiper {
    width: 100%;
   
}

.my-media-swiper .swiper-wrapper {
    display: flex;
    align-items: center;
}

.my-media-swiper .swiper-slide {
    width: 20% !important;
    flex-shrink: 0;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.my-media-swiper .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    padding: 10px;
}

/*strzałki – identyczne jak w SU */
.media-button-next,
.media-button-prev {
    color: #333 !important;
    width: 40px;
    height: 40px;
}

.media-button-next:hover,
.media-button-prev:hover {
    color: #000 !important;
}

textarea[name="event_extra_comment"] {
    color: red !important;
}

/*
* Stylowanie formularza rejestracyjnego
*/

/* --- Layout jak na screenie (3 kolumny, karty) --- */
.rejestracja-container { max-width: 1200px; }
.rejestracja-event-info { margin: 40px 0 20px; }
.rejestracja-event-info h1 { font-size: 34px; margin: 0 0 10px; }
.event-meta { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.event-meta li { color: #444; }

.reg-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  align-items: start;
}

@media (max-width: 1024px) {
  .reg-grid { grid-template-columns: 1fr; }
}

.reg-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.reg-card h3 { margin: 0 0 12px; font-size: 18px; }
.reg-card h4 { margin: 0; font-size: 16px; }

.reg-label { display:block; margin: 10px 0; }
.reg-label > span { display:block; font-size: 13px; color:#555; margin-bottom: 6px; }

.reg-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
}

.reg-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 1024px) {
  .reg-row2 { grid-template-columns: 1fr; }
}

.reg-divider { height: 1px; background: #eee; margin: 14px 0; }
.reg-note { margin: 8px 0 0; color: #777; font-size: 13px; }

.reg-checkbox { display:flex; gap: 10px; align-items: flex-start; }
.reg-checkbox input { margin-top: 3px; }

.reg-btn {
  border: none;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
}
.reg-btn-outline {
  background: #fff;
  border: 1px solid #ccc;
}
.reg-btn-primary {
  background: #e53935;
  color: #fff;
}
.reg-btn-full { width: 100%; }

.czlonkowie-header {
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}
.czlonkowie-actions { display:flex; gap: 8px; }

.member-card {
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 12px;
  margin: 10px 0;
  background: #fafafa;
}
.member-top {
  display:flex;
  justify-content: space-between;
  align-items:center;
  margin-bottom: 10px;
}
.member-top strong { font-size: 14px; }
.member-remove {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 6px 10px;
  cursor:pointer;
}
.member-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 1024px) {
  .member-grid { grid-template-columns: 1fr; }
}

/*Stylizacja kalkulatora cenowego*/

/* ======================================================
   ABENTOJRA – KALKULATOR CEN (REJESTRACJA)
   ====================================================== */

#abentojra-calculator {
    background: #ffffff;
    border-radius: 10px;
/*    padding: 20px 20px 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);*/
    margin-top: 20px;
}

/* lista pozycji */
#abentojra-calculator .abentojra-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* pojedynczy wiersz */
#abentojra-calculator .abentojra-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

/* ostatni bez borderu */
#abentojra-calculator .abentojra-line:last-child {
    border-bottom: none;
}

/* etykieta */
#abentojra-calculator .abentojra-label {
    font-size: 15px;
    font-weight: 500;
    color: #333;
}

/* cena w etykiecie */
#abentojra-calculator .abentojra-label strong {
    font-weight: 600;
    color: #e53935; /* czerwony jak przycisk */
}

/* select ilości */
#abentojra-calculator .abentojra-qty {
    min-width: 90px;
    padding: 6px 10px;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid #ddd;
    background-color: #fff;
    transition: border-color .2s, box-shadow .2s;
}

/* focus jak w formularzu */
#abentojra-calculator .abentojra-qty:focus {
    outline: none;
    border-color: #e53935;
    box-shadow: 0 0 0 2px rgba(229,57,53,.15);
}

/* PODSUMOWANIE */
#abentojra-calculator .abentojra-total {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 2px dashed #eee;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* kwota */
#abentojra-calculator #abentojra-total-price {
    font-size: 20px;
    font-weight: 700;
    color: #e53935;
}

/* mobile */
@media (max-width: 600px) {
    #abentojra-calculator .abentojra-line {
        flex-direction: column;
        align-items: flex-start;
    }

    #abentojra-calculator .abentojra-qty {
        width: 100%;
    }

    #abentojra-calculator .abentojra-total {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}

/*
* STYLIZACJA PRZYCISKU ZAPISZ-SIE
*/
.carousel-inner .container .row.hestia-big-title-content .btn.btn-primary {
    border-radius: 6px !important;
}

/*
* STYLIZACJA STRONY ZAPISZ-SIE
*/

/* ==============================
   LISTA WYDARZEŃ – ZAPISZ SIĘ
================================ */

.zapisz-sie-event-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 60px;
}

/* KARTA WYDARZENIA */
.zapisz-sie-event-item {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 30px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.zapisz-sie-event-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}

/* GRAFIKA */
.event-thumb {
    position: relative;
    overflow: hidden;
}

.event-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.zapisz-sie-event-item:hover .event-thumb img {
    transform: scale(1.05);
}

/* PRAWA KOLUMNA */
.event-content {
    padding: 30px 30px 30px 0;
    display: flex;
    flex-direction: column;
}

/* TYTUŁ */
.event-title {
    font-size: 28px;
    margin: 0 0 10px;
    line-height: 1.2;
}

.event-title a {
    color: #e53935;
    text-decoration: none;
}

.event-title a:hover {
    text-decoration: underline;
}

/* DATA */
.event-date {
    font-size: 15px;
    color: #666;
    margin-bottom: 15px;
    font-weight: 500;
}

/* OPIS */
.event-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 25px;
    max-width: 720px;
}

/* PRZYCISK */
.event-actions {
    margin-top: auto;
}

.event-actions .reg-btn {
    display: inline-block;
    padding: 14px 28px;
    font-size: 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #e53935, #c62828);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(229,57,53,.35);
    transition: transform .15s ease, box-shadow .15s ease;
}

.event-actions .reg-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(229,57,53,.45);
}

/* ==============================
   RESPONSIVE
================================ */

@media (max-width: 1024px) {
    .zapisz-sie-event-item {
        grid-template-columns: 1fr;
    }

    .event-thumb {
        height: 260px;
    }

    .event-content {
        padding: 25px;
    }
}

@media (max-width: 600px) {
    .event-title {
        font-size: 22px;
    }

    .event-desc {
        font-size: 15px;
    }
}
 

/*
STYLIZACJA MOJE-REZERWACJE
*/

.abentojra-rezerwacje {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    font-size: 14px;
}

.abentojra-rezerwacje th {
    background: #111;
    color: #fff;
    padding: 10px;
    text-align: left;
}

.abentojra-rezerwacje td {
    border-bottom: 1px solid #ddd;
    padding: 10px;
    vertical-align: top;
}

.abentojra-rezerwacje ul {
    margin: 0;
    padding-left: 18px;
}

.abentojra-rezerwacje .status-paid {
    color: #2e7d32;
    font-weight: bold;
}

.abentojra-rezerwacje .status-nowa {
    color: #f57c00;
    font-weight: bold;
}

.abentojra-rezerwacje .status-cancelled {
    color: #c62828;
}

/*
UKRYCIE AUTORA POSTU I WPISU ORAZ KATEGORII WPISU
*/
.page-header .author,
.hestia-blogs .author,
.hestia-blogs .row .category {
    display: none; 
}

/*
Stylizacja podsumowania wydarzenia
*/
.no-markers-li li:first-child {
    list-style: none;
}


/* ======================================================
   ABENTOJRA – WYSZUKIWARKA WYDARZEŃ
   ====================================================== */

.ab-search-wrap{margin:18px 0}

.ab-search-bar{
    display:grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr auto;
    gap:10px;
    align-items:end;
    padding:10px;
    background:#fff;
    border-radius:14px;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
    color: #777777;
}

.ab-search-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.ab-search-field.form-group {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.ab-search-input.form-control {
    margin-bottom: 0px;
}

.ab-search-label{
    font-size:12px;
    opacity:.75;
}

.ab-search-input{
    width:100%;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:12px !important;
    padding:10px !important;
    outline:none;
    height:40px;
    background: none !important;
}

.ab-search-input:focus{
    border-color:rgba(0,0,0,.3);
}

.ab-search-btn{
    border:none;
    border-radius:999px;
    padding:12px 18px;
    font-weight:700;
    cursor:pointer;
    background:#f5b400;
}

.ab-search-btn:hover{
    filter:brightness(.98);
}

.ab-search-row2{
    display:flex;
    gap:8px;
}

.ab-search-row2 .ab-search-input{
    flex:1;
}

/* ===== WYNIKI ===== */

.ab-results{
    margin-top:18px;
}

.ab-result-item{
    display:flex;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid rgba(0,0,0,.06);
    align-items:flex-start;
}

.ab-result-thumb img{
    border-radius:12px;
    max-width:160px;
    height:auto;
}

.ab-result-meta{
    opacity:.8;
    font-size:14px;
    margin:6px 0;
}

.ab-result-actions a{
    display:inline-block;
    margin-top:8px;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(0,0,0,.06);
    text-decoration:none;
    font-weight:600;
}

.ab-result-actions a:hover{
    background:rgba(0,0,0,.1);
}

/* ===== RESPONSIVE ===== */

@media (max-width:1000px){
    .ab-search-bar{
        grid-template-columns:1fr 1fr;
    }
    .ab-search-btn{
        grid-column:1 / -1;
        justify-self:stretch;
    }
}

@media (max-width:650px){
    .ab-search-bar{
        grid-template-columns:1fr;
    }
}

/*
KOSZYK
*/
.checkout.woocommerce-checkout.form-group #customer_details .col-1 > p:first-of-type {
    display: none;
}

/* Usuń "(opcjonalne)" tylko w sekcji Dane do faktury */
.abj-invoice .optional {
    display: none !important;
}

/* Odsunięcie tekstu "Chcę otrzymać fakturę" */
.abj-checkbox-text {
    margin-left: 20px;
}

/* Poprawna stylizacja inputów */
.woocommerce input,
.woocommerce textarea,
.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select {
    background: none !important;
    border-color: #d9d9d9 !important;
}

.abj-invoice .select2-container .select2-selection--single{
  height: 44px;
  border-radius: 12px;
  border: 1px solid #d9d9d9;
  display:flex;
  align-items:center;
}

.abj-invoice .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 44px;
  padding-left: 12px;
}

.abj-invoice .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 44px;
}

.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection {
    border-color: #d9d9d9;
}

/*
* 
* MODYFIKACJA HEADERA DESKTOP
* 
*/

@media (min-width: 993px) {
    
.page-header {
    margin: 25px 0 0px;
    border-bottom: none;
    padding-bottom: 0px !important;
}
.header-filter::before {
    background-color: transparent;
}
.carousel .item .container,
.big-title-sidebar-wrapper .widget {
    padding: 0px !important;
}

/*Przyciski headera*/
.carousel .buttons {
    margin: 0px !important;
}
.carousel .page-header .row {
    align-items: flex-end
}
.big-title-slider-content.text-left.col-md-7 {
    width: auto;
}
.big-title-sidebar-wrapper .widget {
    margin: 0px;
}
.hero-login-box {
    padding: 0px;
}
.hero-login-box.logged-in-box {
    display: flex;
    width: 550px;
    gap: 10px;
    justify-content: center;
}
.carousel .item .container, .big-title-sidebar-wrapper .widget {
    align-items: flex-end;
}
.carousel .page-header .row {
    justify-content: center;
}
.carousel .item .container {
    aling-items: flex-end;
    width: 100%;
}
.big-title-sidebar-wrapper {
    width: auto !important;
}
.row.hestia-big-title-content {
    background-color: #fff;
    padding: 20px !important;
}

}

/*
* 
* MODYFIKACJA HEADERA MOBILE
* 
*/

@media (max-width: 992px) {

.page-header {
    margin: 25px 0 0px;
    border-bottom: none;
    padding-bottom: 0px !important;
}

}

 /* 
 UKRYCIE SKLEPU 
 */
 .hlb-btn.hlb-account,
 .menu-item-191 {
     display: none !important;
 }
 
 /*
 ZAOKRĄGLANIE ROGÓW LOGO SPOSOROW
 */
 
  .su-image-carousel-item-content a, .su-image-carousel-item-content a:active, .su-image-carousel-item-content a:focus, .su-image-carousel-item-content a:hover, .su-image-carousel-item-content a:visited, .su-image-carousel-item-content img {
     border-radius: 10px !important;
 }
 
 .my-media-swiper .swiper-slide img {
     border-radius: 20px !important;
 }
 
 /* =========================
   Select2 / SelectWoo w stylu .reg-input
   (działa na selectWoo i select2)
   ========================= */

/* kontener na 100% */
.select2-container {
  width: 100% !important;
}

/* główne pole (single) */
.select2-container--default .select2-selection--single {
  height: 44px;               /* dopasuj jeśli reg-input ma inną wysokość */
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 12px;        /* dopasuj do Twoich inputów */
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 42px 0 12px;     /* miejsce na strzałkę */
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* tekst w środku */
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.2;
  color: inherit;
  font-size: 14px;            /* dopasuj jeśli reg-input ma inne */
}

/* placeholder */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: rgba(0,0,0,.45);
}

/* strzałka po prawej */
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
  right: 10px;
  top: 0;
  width: 28px;
}

/* focus / aktywne */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open  .select2-selection--single {
  border-color: rgba(0,0,0,.38);
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);  /* delikatny ring */
}

/* disabled */
.select2-container--default.select2-container--disabled .select2-selection--single {
  background: rgba(0,0,0,.04);
  opacity: .7;
}

/* dropdown */
.select2-container--default .select2-dropdown {
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

/* wyszukiwarka w dropdownie */
.select2-container--default .select2-search--dropdown .select2-search__field {
  height: 40px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 10px;
  padding: 0 12px;
  outline: none;
}

/* elementy listy */
.select2-container--default .select2-results__option {
  padding: 10px 12px;
  font-size: 14px;
}

/* hover / zaznaczenie */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: rgba(0,0,0,.08);
  color: inherit;
}
.select2-container--default .select2-results__option--selected {
  background: rgba(0,0,0,.12);
}

/* komunikaty typu "No results found" itp. */
.select2-container--default .select2-results__message {
  padding: 10px 12px;
  color: rgba(0,0,0,.55);
  font-size: 13px;
}

/* żeby Select2 nie „psuł” label spacing */
.reg-label .select2-container {
  margin-top: 6px; /* jeśli Twoje inputy mają odstęp od <span> */
}

/*
UKRYCIE LOGOWANIA NA STRONIE GLOWNEJ
*/

.hero-login-box, .big-title-sidebar-wrapper.col-md-5.hestia-slider-alignment-left {
    display: none !important;
}

/* Ukrycie naglówka */
.hestia-title {
    display: none !important;
}


/*

       WYLACZENIE PARALAKSY 

*/
.page .header-filter {
    transform: none !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: top center !important;
}

.page .header-filter:before,
.page .header-filter:after {
    display: none !important;
}

.page [data-parallax="active"] {
    transform: none !important;
}

.page .page-header.header-small .container {
    padding: 0 !important;
}

/* DESKTOP */
.page .page-header.header-small {
    height: 300px !important;
    min-height: 300px !important;
}

/* MOBILE */
@media (max-width: 768px) {

    .page .page-header.header-small {
        height: 70px !important;
        min-height: 70px !important;
    }

    .page .page-header.header-small h1 {
        display: none !important;
    }
}

/*
CZCIONKA W BLOGU
*/

/* MOBILE */
@media (max-width: 768px) {
    .display-post-types h3.dpt-title {
        font-size: 18px !important;
    }
}

/*
NAVBAR FIX
*/

.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse {
    margin: auto !important;
}

/* Lista startowa */

.abentojra-lista-startowa {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.abentojra-lista-startowa th,
.abentojra-lista-startowa td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
    text-align: left;
}

.abentojra-lista-startowa th {
    font-weight: 700;
}

/*
FIX KARUZEL
*/

.su-image-carousel .flickity-viewport{
    height:240px !important;
}

.su-image-carousel-item{
    height:240px !important;
}

.su-image-carousel-item-content{
    width:100%;
    height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.su-image-carousel-item-content img{
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:100%;
    max-height:220px;
    object-fit:contain;
}

/*
WYGLAD MOBILE
*/

@media (max-width: 768px) {
    
    /*FIX MENU MOBILE*/
    .navbar.navbar-fixed-top .navbar-collapse {
        margin-top: 70px !important;
    }

    /* Slider */
    #carousel-hestia-generic .page-header{
        min-height: clamp(250px, 45vw, 654px) !important;
        height: auto !important;
    }

    /* Kontener wewnątrz */
    #carousel-hestia-generic .page-header .container{
        padding-top: clamp(20px, 8vw, 75px) !important;
        /*padding-bottom: clamp(20px, 8vw, 75px) !important;*/
        padding-bottom: 5%;
    }
    
    .carousel .page-header .row {
        justify-content: end;
    }

    /* Tło */
    #carousel-hestia-generic .header-filter{
        background-size: cover;
        background-position: center;
    }
    
    #carousel-hestia-generic {
        margin-top: 45px;
    }
    
}

/*
Dostosowanie thumbnaili
*/

.dpt-thumbnail {
    height: auto !important;
}

.dpt-thumbnail-inner {
    height: auto !important;
}

.dpt-thumbnail img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    position: static !important;
}

/*
TABLETY
*/

@media (min-width: 768px) and (max-width: 1024px) {
    .carousel .page-header .row {
        justify-content: center;
    }
    
    .multi-col.mob-wrap .dpt-entry, .multi-col.tab-wrap .dpt-entry, .multi-col.wide-wrap .dpt-entry {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .navbar a {
        font-size: 10px;
    }
    
    .nav > li > a {
        padding: 10px 5px;
    }
}

/*
Paginacja aktualności
*/
.dp-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 40px 0;
    flex-wrap: wrap;
}

.dp-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;

    height: 46px;
    min-width: 46px;
    padding: 0 18px;

    border: 1px solid #e6e6e6;
    border-radius: 8px;

    background: #fff;
    color: #444;

    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    line-height: 1;

    transition: .2s ease;
    
    padding: 15px !important;
}

.dp-pagination .page-numbers:hover {
    background: #e32124;
    color: #fff;
    border-color: #e32124;
}

.dp-pagination .page-numbers.current {
    background: #e32124;
    color: #fff;
    border-color: #e32124;
    box-shadow: 0 6px 18px rgba(227,33,36,.25);
}

.dp-pagination .next,
.dp-pagination .prev {
    min-width: auto;
    padding: 0 20px;
}
