/* ====================================================================
   COOKIE BANNER (RODO) — fixed bottom, responsive.
   ==================================================================== */
.gg-cookies {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.12);
  border-left: 5px solid var(--gg-gold);
  border-radius: 10px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
  padding: 16px 20px;
  max-width: 980px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gg-text);
}
.gg-cookies[hidden] { display: none; }
.gg-cookies__content {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.gg-cookies__text { flex: 1 1 360px; min-width: 0; }
.gg-cookies__text a { color: var(--gg-blue); text-decoration: underline; }
.gg-cookies__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.gg-cookies__btn {
  border: 0;
  border-radius: 6px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}
.gg-cookies__btn--primary {
  background: var(--gg-blue);
  color: #fff;
}
.gg-cookies__btn--primary:hover { background: var(--gg-blue-deep); }
.gg-cookies__btn--ghost {
  background: transparent;
  color: var(--gg-text-muted);
  border: 1px solid rgba(11, 61, 126, 0.18);
}
.gg-cookies__btn--ghost:hover { border-color: var(--gg-blue); color: var(--gg-blue); }

/* ====================================================================
   MAPA LEAFLET na stronie wyspy.
   ==================================================================== */
.gg-map-section {
  padding: 48px 0 56px;
  background: #fff;
}
.gg-map-section__title {
  text-align: center;
  margin: 0 0 8px !important;
  font-size: clamp(22px, 2.6vw, 30px);
}
.gg-map-section__lead {
  text-align: center;
  color: var(--gg-text-muted);
  margin: 0 auto 24px;
  font-size: 14px;
  max-width: 560px;
}
#gg-island-map {
  width: 100%;
  height: 460px;
  border-radius: 10px;
  box-shadow: 0 6px 22px rgba(11, 61, 126, 0.10);
  z-index: 1;
}
@media (max-width: 600px) {
  #gg-island-map { height: 320px; }
}

/* Customowy marker — pin w stylu greckim */
.gg-marker { background: transparent; border: 0; }
.gg-marker__pin {
  width: 22px;
  height: 28px;
  background: var(--gg-blue);
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  position: relative;
}
.gg-marker__pin::after {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--gg-gold);
  border-radius: 50%;
  position: absolute;
  top: 5px;
  left: 5px;
}

/* ====================================================================
   WYSZUKIWARKA — pole w nagłówku + lista wyników.
   ==================================================================== */
.gg-search {
  display: flex;
  align-items: center;
  margin-left: 18px;
}
.gg-search__form {
  display: flex;
  align-items: center;
  background: var(--gg-bg-soft);
  border: 1px solid rgba(11, 61, 126, 0.12);
  border-radius: 22px;
  padding: 0 4px 0 14px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.gg-search__form:focus-within {
  border-color: var(--gg-blue);
  box-shadow: 0 0 0 3px rgba(13, 94, 175, 0.12);
}
.gg-search__input {
  border: 0;
  background: transparent;
  font-size: 13px;
  padding: 8px 0;
  width: 220px;
  outline: none;
  color: var(--gg-text);
}
.gg-search__input::placeholder { color: var(--gg-text-muted); }
.gg-search__submit {
  border: 0;
  background: var(--gg-blue);
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.gg-search__submit:hover {
  background: var(--gg-gold);
}

.gg-search-results {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}
.gg-search-result {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 18px;
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.08);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.15s, transform 0.15s;
}
.gg-search-result:hover {
  box-shadow: 0 6px 18px rgba(11, 61, 126, 0.10);
  transform: translateY(-1px);
}
.gg-search-result__media {
  display: block;
  background-size: cover;
  background-position: center;
  background-color: var(--gg-bg-soft);
  min-height: 120px;
}
.gg-search-result__body {
  padding: 16px 20px 16px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gg-search-result__kind {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gg-gold-deep);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.gg-search-result__title {
  margin: 0 0 6px !important;
  font-size: 18px !important;
  color: var(--gg-blue-deep) !important;
}
.gg-search-result__title a {
  color: inherit !important;
  text-decoration: none;
}
.gg-search-result__title a:hover {
  color: var(--gg-gold-deep) !important;
}
.gg-search-result__desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--gg-text);
  margin: 0;
}
@media (max-width: 600px) {
  .gg-search-result { grid-template-columns: 1fr; }
  .gg-search-result__media { min-height: 160px; }
  .gg-search-result__body { padding: 14px 16px; }
}

/* ====================================================================
   WYCIECZKI FAKULTATYWNE — sekcja kafelków na stronie wyspy.
   ==================================================================== */
.gg-tours {
  padding: 56px 0;
  background: linear-gradient(180deg, #fff 0%, var(--gg-bg-soft) 100%);
}
.gg-tours__title {
  text-align: center;
  margin: 0 0 8px !important;
  font-size: clamp(22px, 2.6vw, 30px);
}
.gg-tours__lead {
  text-align: center;
  color: var(--gg-text-muted);
  max-width: 640px;
  margin: 0 auto 32px;
  font-size: 14px;
}
.gg-tours__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.gg-tour-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(11, 61, 126, 0.06);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  display: flex;
  flex-direction: column;
}
.gg-tour-card:hover {
  box-shadow: 0 8px 22px rgba(11, 61, 126, 0.13);
  transform: translateY(-3px);
}
.gg-tour-card__media {
  width: 100%;
  padding-top: 60%;
  background-size: cover;
  background-position: center;
  background-color: var(--gg-bg-soft);
}
.gg-tour-card__body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.gg-tour-card__title {
  margin: 0 0 6px !important;
  font-size: 16px !important;
  line-height: 1.3;
  color: var(--gg-blue-deep) !important;
}
.gg-tour-card__desc {
  font-size: 13px;
  color: var(--gg-text-muted);
  line-height: 1.45;
  margin: 0 0 12px;
  flex: 1;
}
.gg-tour-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--gg-text-muted);
  margin-bottom: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(11, 61, 126, 0.08);
}
.gg-tour-card__price {
  color: var(--gg-gold-deep);
  font-weight: 700;
  font-size: 15px;
}
.gg-tour-card__cta {
  display: inline-block;
  text-align: center;
  background: var(--gg-blue);
  color: #fff !important;
  padding: 9px 14px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s;
}
.gg-tour-card__cta:hover {
  background: var(--gg-gold);
  color: #fff !important;
}

/* ====================================================================
   SUB-REGIONY wyspy (np. Kreta → Chania, Heraklion, Rethymno, Lassithi).
   Sekcja kafelków pod hero strony wyspy.
   ==================================================================== */
.gg-subregions {
  padding: 56px 0 64px;
  background: #fff;
}
.gg-subregions__title {
  text-align: center;
  margin: 0 0 8px;
  font-size: clamp(24px, 3vw, 32px);
}
.gg-subregions__lead {
  text-align: center;
  color: var(--gg-text-muted);
  max-width: 640px;
  margin: 0 auto 36px;
  font-size: 15px;
  line-height: 1.5;
}
.gg-subregions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.gg-subregion-card {
  display: block;
  background: var(--gg-bg-soft);
  border-left: 3px solid var(--gg-blue);
  padding: 22px 22px 20px;
  border-radius: 6px;
  position: relative;
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-left-color 0.15s ease;
  text-decoration: none !important;
  color: inherit;
}
.gg-subregion-card:hover {
  box-shadow: 0 8px 20px rgba(11, 61, 126, 0.10);
  transform: translateY(-2px);
  border-left-color: var(--gg-gold);
}
.gg-subregion-card--active {
  background: #FFF7E0;
  border-left-color: var(--gg-gold) !important;
  border-left-width: 4px;
}
.gg-subregion-card--active .gg-subregion-card__number {
  color: var(--gg-gold-deep);
}
.gg-subregion-card__number {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--gg-gold-deep);
  margin-bottom: 6px;
}
.gg-subregion-card__name {
  margin: 0 0 8px !important;
  font-size: 20px !important;
  color: var(--gg-blue-deep) !important;
}
.gg-subregion-card__desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--gg-text);
}

/* ====================================================================
   BREADCRUMB nad hero — Strona główna › Wyspa › Sub-region.
   ==================================================================== */
.gg-breadcrumb {
  background: var(--gg-bg-soft);
  padding: 12px 0;
  border-bottom: 1px solid #E5EDF5;
  font-size: 14px;
}
.gg-breadcrumb__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.gg-breadcrumb__item {
  display: flex;
  align-items: center;
  color: var(--gg-text-muted);
}
.gg-breadcrumb__item + .gg-breadcrumb__item::before {
  content: "›";
  margin-right: 8px;
  color: var(--gg-text-muted);
}
.gg-breadcrumb__item a {
  color: var(--gg-blue);
  text-decoration: none;
}
.gg-breadcrumb__item a:hover { text-decoration: underline; }
.gg-breadcrumb__item [aria-current="page"] {
  color: var(--gg-text);
  font-weight: 600;
}

/* ====================================================================
   HERO strony wyspy / regionu (np. /hotele-na-krecie).
   Tło dynamiczne — inline style z obrazy/wyspa-{slug}.jpg.
   ==================================================================== */
.gg-island-hero {
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.gg-island-hero__overlay {
  background: linear-gradient(180deg, rgba(11, 61, 126, 0.30) 0%, rgba(11, 61, 126, 0.70) 100%);
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  padding: 60px 0 50px;
}

.gg-island-hero__inner {
  color: #fff;
}

.gg-island-hero__kicker {
  display: inline-block;
  background-color: rgba(255, 179, 0, 0.95);
  color: #0B3D7E;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 14px;
  margin-bottom: 14px;
}

.gg-island-hero__title {
  color: #fff !important;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  margin: 0 0 14px;
  line-height: 1.05;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.4);
}

.gg-island-hero__lead {
  color: rgba(255, 255, 255, 0.95);
  font-size: 16px;
  line-height: 1.5;
  max-width: 720px;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

/* ====================================================================
   HERO na stronie głównej — Santorini photo z Unsplash.
   Tło + overlay dla czytelności tekstu, CTA buttony.
   ==================================================================== */
.gg-hero {
  width: 100%;
  background-image: url('../obrazy/hero-grecja.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.gg-hero__overlay {
  background: linear-gradient(180deg, rgba(11, 61, 126, 0.35) 0%, rgba(11, 61, 126, 0.65) 100%);
  min-height: 520px;
  display: flex;
  align-items: center;
  padding: 56px 0;
}

.gg-hero__inner {
  text-align: center;
  color: #fff;
  max-width: 1040px;
}

.gg-hero__title {
  color: #fff !important;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 16px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.gg-hero__lead {
  color: rgba(255, 255, 255, 0.95);
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.5;
  margin: 0 auto 24px;
  max-width: 960px;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.gg-hero__ctas {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Popup "Ile osób?" — liczniki +/- jak na wakacje.pl */
.gg-osoby-panel {
  width: 320px;
  padding: 18px;
}
.gg-osoby-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(11, 61, 126, 0.08);
}
.gg-osoby-row:last-of-type { border-bottom: 0; }
.gg-osoby-row__label { display: flex; flex-direction: column; gap: 2px; }
.gg-osoby-row__title { font-weight: 700; color: var(--gg-blue-deep); font-size: 15px; }
.gg-osoby-row__sub   { font-size: 12px; color: var(--gg-text-muted); }
.gg-osoby-row__counter {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gg-osoby-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--gg-blue);
  background: #fff;
  color: var(--gg-blue);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.gg-osoby-btn:hover { background: var(--gg-blue); color: #fff; }
.gg-osoby-val {
  min-width: 24px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  color: var(--gg-blue-deep);
}
.gg-osoby-confirm {
  width: 100%;
  margin-top: 14px;
  padding: 10px 16px;
  background: var(--gg-blue);
  color: #fff;
  border: 0;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s;
}
.gg-osoby-confirm:hover { background: var(--gg-blue-deep); }

/* Datepicker flatpickr — dopasowanie do brandingu */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus {
  background: var(--gg-blue) !important;
  border-color: var(--gg-blue) !important;
  color: #fff !important;
}
.flatpickr-day.inRange {
  background: var(--gg-bg-soft) !important;
  border-color: var(--gg-bg-soft) !important;
  box-shadow: -5px 0 0 var(--gg-bg-soft), 5px 0 0 var(--gg-bg-soft) !important;
  color: var(--gg-blue-deep) !important;
}
.flatpickr-day:hover { background: rgba(13, 94, 175, 0.10) !important; }
.flatpickr-current-month { color: var(--gg-blue-deep); }

/* Custom dropdown w wyszukiwarce (Dokąd? / Skąd?) — wakacje.pl-style */
.gg-dropdown {
  position: relative;
}
.gg-dropdown__trigger {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 15px;
  color: var(--gg-blue-deep);
  font-weight: 600;
  padding: 4px 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}
.gg-dropdown__trigger.is-selected { color: var(--gg-blue-deep); }
.gg-dropdown__trigger::after {
  content: '▾';
  margin-left: 8px;
  font-size: 11px;
  color: var(--gg-text-muted);
  transition: transform 0.15s;
  display: inline-block;
}
.gg-dropdown.is-open .gg-dropdown__trigger::after {
  transform: rotate(180deg);
}
.gg-dropdown__panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  min-width: 280px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(11, 61, 126, 0.20);
  border: 1px solid rgba(11, 61, 126, 0.10);
  padding: 6px;
  z-index: 100;
  max-height: 380px;
  overflow-y: auto;
  display: none;
}
.gg-dropdown.is-open .gg-dropdown__panel {
  display: block;
}
.gg-dropdown__option {
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 12px;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  align-items: center;
  transition: background 0.12s;
}
.gg-dropdown__option:hover {
  background: var(--gg-bg-soft);
}
.gg-dropdown__icon {
  grid-row: 1 / span 2;
  font-size: 22px;
  text-align: center;
}
.gg-dropdown__thumb {
  grid-row: 1 / span 2;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  background-color: var(--gg-bg-soft);
}
.gg-dropdown__main {
  font-size: 14px;
  font-weight: 700;
  color: var(--gg-blue-deep);
  line-height: 1.3;
}
.gg-dropdown__sub {
  font-size: 12px;
  color: var(--gg-text-muted);
  line-height: 1.3;
}

/* Wyszukiwarka wakacje.pl-style w hero */
.gg-searchbar {
  background: #fff;
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  max-width: 1040px;
  margin: 32px auto 0;
}
.gg-searchbar__field {
  /* Domyslnie = pole DOKAD (najszersze, aby zmiescic "Wszystkie wyspy Grecji") */
  flex: 1 1 210px;
  min-width: 195px;
  text-align: left;
  padding: 6px 12px;
  border-right: 1px solid rgba(11, 61, 126, 0.10);
}
/* === Wizualne elementy w treści artykulow/hoteli === */

/* Greckie kolumny — SVG zamiast emoji, wieksze i czystsze */
.gg-greek-column-icon {
  display: inline-block;
  width: 32px;
  height: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 40' fill='%230B3D7E'%3E%3Crect x='2' y='34' width='28' height='4' rx='1'/%3E%3Crect x='4' y='32' width='24' height='2'/%3E%3Crect x='8' y='8' width='3' height='24'/%3E%3Crect x='14' y='8' width='3' height='24'/%3E%3Crect x='20' y='8' width='3' height='24'/%3E%3Cpath d='M4 6h24l-2-4H6z'/%3E%3Crect x='2' y='6' width='28' height='2' rx='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Info box — granat z greckim columnem SVG */
.gg-info-box {
  background: #f4f7fb;
  border: 1px solid rgba(11, 61, 126, 0.12);
  border-left: 4px solid var(--gg-blue);
  border-bottom: 2px solid var(--gg-blue);
  padding: 16px 20px 16px 64px;
  margin: 20px 0;
  border-radius: 8px;
  font-size: 15px;
  position: relative;
  min-height: 60px;
}
.gg-info-box::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background-image: url("../obrazy/delikatna_kolumna_grecka.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-size: 0;
}

/* Tip box — zlota kropka jak w listach (zamiast slonca emoji) */
.gg-tip-box {
  background: linear-gradient(135deg, #fffaeb 0%, #fff4d6 100%);
  border: 1px solid rgba(255, 179, 0, 0.30);
  border-left: 4px solid var(--gg-gold);
  border-bottom: 2px solid var(--gg-gold);
  padding: 16px 20px 16px 36px;
  margin: 20px 0;
  border-radius: 8px;
  font-size: 15px;
  position: relative;
}
.gg-tip-box::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 22px;
  width: 10px;
  height: 10px;
  background: var(--gg-gold);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255, 179, 0, 0.22);
}

/* Warning box — delikatny SVG triangle zamiast emoji ⚠️ */
.gg-warn-box {
  background: linear-gradient(135deg, #fff8e7 0%, #ffeed1 100%);
  border: 1px solid rgba(245, 158, 11, 0.30);
  border-left: 4px solid #f59e0b;
  border-bottom: 2px solid #f59e0b;
  padding: 16px 20px 16px 50px;
  margin: 20px 0;
  border-radius: 8px;
  font-size: 15px;
  position: relative;
}
.gg-warn-box::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4B000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 L22 21 H2 Z'/%3E%3Cline x1='12' y1='10' x2='12' y2='15'/%3E%3Ccircle cx='12' cy='18' r='0.6' fill='%23F4B000' stroke='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Plus / minus boxy obok siebie */
.gg-prosCons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 720px) {
  .gg-prosCons { grid-template-columns: 1fr; }
}
.gg-pros-box,
.gg-cons-box {
  padding: 18px 20px;
  border-radius: 10px;
  font-size: 14.5px;
}
.gg-pros-box {
  background: #f0f9f0;
  border: 1px solid #c8e6c9;
}
.gg-cons-box {
  background: #fdf3f3;
  border: 1px solid #ffcdd2;
}
.gg-pros-box h3,
.gg-cons-box h3 {
  margin: 0 0 12px 0;
  font-size: 17px;
  font-weight: 700;
}
.gg-pros-box h3 { color: #2e7d32; }
.gg-cons-box h3 { color: #c62828; }
.gg-pros-box ul,
.gg-cons-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.gg-pros-box li,
.gg-cons-box li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
  line-height: 1.5;
}
.gg-pros-box li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #2e7d32;
  font-weight: 700;
  font-size: 18px;
}
.gg-cons-box li::before {
  content: "✗";
  position: absolute;
  left: 0;
  top: 0;
  color: #c62828;
  font-weight: 700;
  font-size: 18px;
}

/* Fact box — kafle z kluczowymi faktami */
.gg-fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin: 24px 0;
}
.gg-fact {
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.12);
  border-radius: 10px;
  padding: 14px 16px;
  text-align: left;
}
.gg-fact__label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gg-text-muted);
  font-weight: 600;
  margin-bottom: 4px;
}
.gg-fact__value {
  display: block;
  font-size: 16px;
  color: var(--gg-blue-deep);
  font-weight: 600;
}

/* Step box — kroki: numerek inline + zlote kropki jak w listach */
.gg-steps {
  counter-reset: step;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.gg-steps li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 10px;
  line-height: 1.55;
}
.gg-steps li::before {
  counter-increment: step;
  content: counter(step) ".";
  position: absolute;
  left: 4px;
  top: 0;
  color: var(--gg-gold);
  font-weight: 700;
  font-size: 15px;
}

/* Highlight quote / pauza wizualna */
.gg-quote {
  border-left: 4px solid var(--gg-gold);
  padding: 18px 24px;
  margin: 24px 0;
  background: rgba(255, 179, 0, 0.06);
  font-size: 17px;
  line-height: 1.5;
  color: var(--gg-blue-deep);
  font-style: italic;
  border-radius: 0 6px 6px 0;
}

/* Score / ocena box */
.gg-score-box {
  display: flex;
  align-items: center;
  gap: 20px;
  background: linear-gradient(135deg, var(--gg-blue-deep) 0%, var(--gg-blue) 100%);
  color: #fff;
  padding: 22px 28px;
  border-radius: 12px;
  margin: 24px 0;
}
.gg-score-box__num {
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  flex: 0 0 auto;
}
.gg-score-box__num small { font-size: 22px; opacity: 0.7; font-weight: 500; }
.gg-score-box__text {
  flex: 1 1 auto;
}
.gg-score-box__text strong { display: block; font-size: 18px; margin-bottom: 4px; }

/* Tabelki — z ramka, zaokrąglone, header w granacie */
.hotel-info-table,
.poradnik-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 24px 0;
  font-size: 14.5px;
  border: 1px solid rgba(11, 61, 126, 0.15);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(11, 61, 126, 0.04);
}
.hotel-info-table th,
.hotel-info-table td,
.poradnik-table th,
.poradnik-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(11, 61, 126, 0.08);
}
.hotel-info-table th,
.poradnik-table th {
  background: linear-gradient(135deg, var(--gg-blue-deep) 0%, var(--gg-blue) 100%);
  color: #fff;
  font-weight: 600;
  border-bottom: 2px solid var(--gg-gold);
}
.hotel-info-table tr:nth-child(even) td,
.poradnik-table tr:nth-child(even) td { background: rgba(11, 61, 126, 0.025); }
.hotel-info-table tr:last-child td,
.poradnik-table tr:last-child td { border-bottom: 1px solid rgba(11, 61, 126, 0.15); }
.hotel-info-table tr:hover td,
.poradnik-table tr:hover td { background: rgba(255, 179, 0, 0.06); }

/* === FAQ accordion w kolorystyce gogrecja (granat + zloto) === */
/* Cala sekcja H2 "FAQ — najczesciej zadawane pytania" + naste H3 + p === */
.tour-info h2 + h3,
.tour-content h2 + h3,
article h2 + h3,
.hotel-content h2 + h3,
h2 + h3 {
  /* H3 to pytanie FAQ */
}

/* Lepsze listy w treściach hoteli/poradników — UL dziedziczone od H2/p (article-style content) */
section.section-md ul:not(.gg-pros-box ul):not(.gg-cons-box ul):not(.gg-dest-list):not(.gg-fact-grid):not(.rd-navbar-nav):not(.gg-tag-filter__pills):not(.gg-steps):not(.list-nav):not(.breadcrumbs-custom-path):not(.footer-advanced-list):not(.tour-default-info):not(.row),
.tour-info ul:not(.gg-pros-box ul):not(.gg-cons-box ul),
.hotel-content ul:not(.gg-pros-box ul):not(.gg-cons-box ul),
.gg-content ul {
  list-style: none;
  padding-left: 0;
}
section.section-md ul:not(.gg-pros-box ul):not(.gg-cons-box ul):not(.gg-dest-list):not(.gg-fact-grid):not(.rd-navbar-nav):not(.gg-tag-filter__pills):not(.gg-steps):not(.list-nav):not(.breadcrumbs-custom-path):not(.footer-advanced-list):not(.tour-default-info):not(.row) > li,
.tour-info ul:not(.gg-pros-box ul):not(.gg-cons-box ul) > li,
.hotel-content ul:not(.gg-pros-box ul):not(.gg-cons-box ul) > li,
.gg-content ul > li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  line-height: 1.55;
}
section.section-md ul:not(.gg-pros-box ul):not(.gg-cons-box ul):not(.gg-dest-list):not(.gg-fact-grid):not(.rd-navbar-nav):not(.gg-tag-filter__pills):not(.gg-steps):not(.list-nav):not(.breadcrumbs-custom-path):not(.footer-advanced-list):not(.tour-default-info):not(.row) > li::before,
.tour-info ul:not(.gg-pros-box ul):not(.gg-cons-box ul) > li::before,
.hotel-content ul:not(.gg-pros-box ul):not(.gg-cons-box ul) > li::before,
.gg-content ul > li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 9px;
  width: 9px;
  height: 9px;
  background: radial-gradient(circle, var(--gg-gold) 30%, rgba(255, 179, 0, 0.5) 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.20);
}
/* Wyjątki - listy które nie maja styling */
.gg-pros-box ul,
.gg-cons-box ul,
.gg-dest-list,
.gg-fact-grid,
.rd-navbar-nav,
.gg-tag-filter__pills,
.gg-steps,
.list-nav,
.breadcrumbs-custom-path { list-style: none; }
.gg-pros-box ul > li::before,
.gg-cons-box ul > li::before,
.list-nav > li::before,
.breadcrumbs-custom-path > li::before { display: none !important; }

/* FAQ - sekcja po H2 zawierajaca H3 + odpowiedzi */
.gg-faq-block,
article > h2 + h3 {
  /* nothing direct */
}

/* H3 jako pytania FAQ - granat + zloty pas + ikona kolumny */
.tour-info h3,
.hotel-content h3,
.tour-default-block h3,
section h3:not(.gg-pros-box h3):not(.gg-cons-box h3):not(.gg-hotel-map__title) {
  background: linear-gradient(90deg, rgba(11, 61, 126, 0.06) 0%, rgba(255, 179, 0, 0.03) 100%);
  border-left: 2px solid var(--gg-gold);
  padding: 16px 22px 16px 56px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0 10px;
  font-size: 17px;
  font-weight: 600;
  color: var(--gg-blue-deep);
  line-height: 1.4;
  position: relative;
}
.tour-info h3::before,
.hotel-content h3::before,
.tour-default-block h3::before,
section h3:not(.gg-pros-box h3):not(.gg-cons-box h3):not(.gg-hotel-map__title)::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background-image: url("../obrazy/delikatna_kolumna_grecka.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-size: 0;
}
.tour-info h3,
.hotel-content h3,
.tour-default-block h3,
section h3:not(.gg-pros-box h3):not(.gg-cons-box h3):not(.gg-hotel-map__title) {
  padding-left: 56px !important;
}

/* Wyjątek - H3 z inline style background:none (np. w gg-greek-section) NIE ma kolumny */
section h3[style*="background:none"]::before,
section h3[style*="background: none"]::before,
.gg-greek-section h3::before {
  display: none !important;
}
section h3[style*="background:none"],
section h3[style*="background: none"],
.gg-greek-section h3 {
  padding-left: 0 !important;
  background: none !important;
  border-left: 0 !important;
}
/* Odpowiedzi FAQ - paragraph zaraz po H3 ma lewa indentacje + tlo */
.tour-info h3 + p,
.hotel-content h3 + p,
section h3 + p {
  background: #fff;
  border-left: 2px solid rgba(11, 61, 126, 0.10);
  padding: 12px 20px;
  margin: 0 0 16px 0;
  border-radius: 0 6px 6px 0;
  color: #333;
  line-height: 1.6;
}

/* Wewnatrz pros-cons NIE chcemy tego stylu na h3 */
.gg-pros-box h3,
.gg-cons-box h3 {
  background: none !important;
  border-left: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 0 12px 0 !important;
}

/* H2 z greckim meandrem (klasyczny grecki wzor) i kolorem flagi greckiej */
.tour-info h2,
.hotel-content h2,
section h2:not(.gg-dest-modal h2) {
  position: relative;
  font-size: 26px;
  font-weight: 700;
  color: var(--gg-blue-deep);
  margin: 40px 0 18px;
  padding: 4px 0 16px 0;
}
.tour-info h2::after,
.hotel-content h2::after,
section h2:not(.gg-dest-modal h2)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 70px;
  height: 1.5px;
  background-image:
    linear-gradient(90deg, var(--gg-blue-deep) 0%, var(--gg-blue-deep) 35%, var(--gg-gold) 35%, var(--gg-gold) 65%, var(--gg-blue-deep) 65%);
  border-radius: 1px;
}

/* Meander pattern - dekoracyjny pasek pod kazdym H2 */
.gg-meander {
  height: 14px;
  background-image: repeating-linear-gradient(90deg,
    var(--gg-blue-deep) 0,
    var(--gg-blue-deep) 4px,
    transparent 4px,
    transparent 8px,
    var(--gg-blue-deep) 8px,
    var(--gg-blue-deep) 12px,
    transparent 12px,
    transparent 16px);
  margin: 14px 0 24px 0;
  opacity: 0.18;
}

/* Sekcje z greckim klimatem - tlo morza */
.gg-greek-section {
  background: linear-gradient(135deg, #f0f7ff 0%, #fff8e7 100%);
  border-radius: 12px;
  padding: 24px 28px;
  margin: 24px 0;
  position: relative;
  overflow: hidden;
}
.gg-greek-section::before {
  content: "";
  position: absolute;
  left: 0; top: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg,
    var(--gg-blue-deep) 0%, var(--gg-blue-deep) 50%,
    #fff 50%, #fff 100%);
}

/* Greckie listy z roznymi ikonami - rotacja po typach */
ul.gg-list-greek li:nth-child(5n+1)::before { content: "🏛️"; background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; left: 0 !important; top: 6px !important; }
ul.gg-list-greek li:nth-child(5n+2)::before { content: "🫒"; background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; left: 0 !important; top: 6px !important; }
ul.gg-list-greek li:nth-child(5n+3)::before { content: "☀️"; background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; left: 0 !important; top: 6px !important; }
ul.gg-list-greek li:nth-child(5n+4)::before { content: "🌊"; background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; left: 0 !important; top: 6px !important; }
ul.gg-list-greek li:nth-child(5n+5)::before { content: "⚓"; background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; left: 0 !important; top: 6px !important; }
ul.gg-list-greek > li { padding-left: 36px !important; }

/* Sekcja "Top 15" — kazdy element jako kafelek */
.gg-top-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.gg-top-list > li {
  background: linear-gradient(135deg, #fff 0%, #f4f7fb 100%);
  border: 1px solid rgba(11, 61, 126, 0.10);
  border-left: 4px solid var(--gg-gold);
  border-radius: 10px;
  padding: 16px 18px;
  position: relative;
  list-style: none !important;
  padding-left: 18px !important;
}
.gg-top-list > li::before { display: none !important; }

/* Greckie cytaty - z kolumna i tlem */
.gg-greek-quote {
  background: linear-gradient(135deg, rgba(11, 61, 126, 0.04) 0%, rgba(255, 179, 0, 0.04) 100%);
  border-left: 5px solid var(--gg-blue-deep);
  border-right: 5px solid var(--gg-gold);
  padding: 20px 28px;
  margin: 28px 0;
  font-style: italic;
  font-size: 17px;
  color: var(--gg-blue-deep);
  text-align: center;
  border-radius: 8px;
  position: relative;
}
.gg-greek-quote::before { content: "❝"; font-size: 38px; color: var(--gg-gold); display: block; line-height: 0.5; margin-bottom: 8px; opacity: 0.6; }

/* Mapka hotelu — bez ramki, naglowka i adresu, dosunieta do krawedzi kolumny */
.gg-hotel-map {
  margin: 30px 0;
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: transparent;
}
.gg-hotel-map__title { display: none !important; }
.gg-hotel-map__address { display: none !important; }
.gg-hotel-map__container {
  height: 420px;
  width: 100%;
}

/* === Multi-select tag filter (typy hoteli) — w stylu wakacje.pl === */
.gg-tag-filter {
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.10);
  border-radius: 14px;
  padding: 16px 18px;
  margin: 16px 0 20px;
  box-shadow: 0 2px 12px rgba(11, 61, 126, 0.04);
}
.gg-tag-filter__header {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 10px; margin-bottom: 10px;
}
.gg-tag-filter__label {
  font-size: 14px; font-weight: 700; color: var(--gg-blue-deep);
}
.gg-tag-filter__reset {
  background: transparent;
  border: 1px solid rgba(11, 61, 126, 0.20);
  color: var(--gg-blue);
  font-size: 12px; font-weight: 500;
  padding: 4px 12px; border-radius: 14px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.gg-tag-filter__reset:hover { background: rgba(11, 61, 126, 0.08); }
.gg-tag-filter__reset[hidden] { display: none; }
.gg-tag-filter__pills {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.gg-tag-pill {
  background: rgba(11, 61, 126, 0.06);
  border: 1px solid transparent;
  color: var(--gg-blue-deep);
  padding: 7px 14px;
  border-radius: 18px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.gg-tag-pill:hover {
  background: rgba(11, 61, 126, 0.12);
}
.gg-tag-pill.is-active {
  background: var(--gg-blue-deep);
  color: #fff;
  border-color: var(--gg-blue-deep);
  font-weight: 600;
}
.gg-tag-pill.is-active:hover {
  background: var(--gg-blue);
}
.gg-tag-filter__info {
  margin-top: 10px;
  font-size: 13px;
  color: var(--gg-text-muted);
}
.gg-tag-filter__info:empty { display: none; }
/* Karta hotelu - smooth fade gdy filtrowane */
.gg-hotel-card-wrap { transition: opacity 0.2s; }
.gg-hotel-card-wrap.is-hidden { display: none !important; }

/* KIEDY szersze — aby "Wybierz daty" pokazalo sie w calosci */
.gg-searchbar__field--kiedy { flex: 0 1 180px; min-width: 175px; }
/* SKAD bardziej zwezone — tekst "Dowolne" jest krotki */
.gg-searchbar__field[data-dropdown="skad"] { flex: 0 1 110px; min-width: 100px; }
/* ILE OSOB zwezone — "2 osoby" */
.gg-searchbar__field--small { flex: 0 1 125px; min-width: 115px; }
.gg-searchbar__field:last-of-type { border-right: 0; }

/* === MODAL DOKAD (wakacje.pl style) === */
.gg-dest-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.gg-dest-modal[hidden] { display: none; }
.gg-dest-modal__overlay { position: absolute; inset: 0; background: rgba(11, 61, 126, 0.55); backdrop-filter: blur(2px); }
.gg-dest-modal__panel {
  position: relative;
  background: #fff;
  width: 92%;
  max-width: 760px;
  max-height: 88vh;
  border-radius: 14px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.30);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: ggDestSlide 0.18s ease-out;
}
@keyframes ggDestSlide { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.gg-dest-modal__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 24px; border-bottom: 1px solid rgba(11, 61, 126, 0.10);
}
.gg-dest-modal__header h2 { margin: 0; font-size: 20px; font-weight: 700; color: var(--gg-blue-deep); font-family: "Work Sans", sans-serif; }
.gg-dest-modal__close {
  width: 36px; height: 36px; border: 0; background: rgba(11, 61, 126, 0.06); border-radius: 50%;
  font-size: 22px; line-height: 1; cursor: pointer; color: var(--gg-blue-deep);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.gg-dest-modal__close:hover { background: rgba(11, 61, 126, 0.14); }
.gg-dest-modal__search {
  position: relative; padding: 14px 24px;
  border-bottom: 1px solid rgba(11, 61, 126, 0.10);
}
.gg-dest-modal__searchIcon {
  position: absolute; left: 36px; top: 50%; transform: translateY(-50%);
  font-size: 16px; color: var(--gg-text-muted);
}
.gg-dest-modal__searchInput {
  width: 100%;
  padding: 10px 14px 10px 38px;
  border: 1.5px solid rgba(11, 61, 126, 0.18);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.15s;
}
.gg-dest-modal__searchInput:focus { outline: none; border-color: var(--gg-blue); }
.gg-dest-modal__body {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.gg-dest-modal__left {
  padding: 16px 24px;
  overflow-y: auto;
}
.gg-dest-modal__right {
  padding: 16px 20px;
  background: rgba(11, 61, 126, 0.04);
  border-left: 1px solid rgba(11, 61, 126, 0.10);
}
.gg-dest-modal__sectionTitle {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--gg-text-muted);
  margin-bottom: 10px;
}
.gg-dest-modal__selected {
  font-size: 14px; font-weight: 600; color: var(--gg-blue-deep);
  padding: 8px 12px;
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.15);
  border-radius: 6px;
  word-wrap: break-word;
}
.gg-dest-list { list-style: none; padding: 0; margin: 0; }
.gg-dest-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; margin: 2px 0;
  border: 1px solid transparent;
  border-radius: 8px; cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
  position: relative;
}
.gg-dest-item:hover { background: rgba(11, 61, 126, 0.05); }
.gg-dest-item.is-active { background: rgba(255, 179, 0, 0.15); border-color: var(--gg-gold); }
.gg-dest-item__icon { font-size: 22px; flex: 0 0 36px; text-align: center; }
.gg-dest-item__thumb {
  flex: 0 0 56px; height: 40px; border-radius: 6px;
  background-size: cover; background-position: center;
}
.gg-dest-item__body { flex: 1; min-width: 0; }
.gg-dest-item__main { font-weight: 600; color: var(--gg-blue-deep); font-size: 14.5px; }
.gg-dest-item__sub { font-size: 12px; color: var(--gg-text-muted); margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gg-dest-item__expand {
  flex: 0 0 auto;
  background: transparent;
  border: 1px solid rgba(11, 61, 126, 0.20);
  color: var(--gg-blue);
  border-radius: 14px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s;
}
.gg-dest-item__expand:hover { background: rgba(11, 61, 126, 0.08); }
.gg-dest-sublist { list-style: none; padding: 0; margin: 0 0 6px 48px; }
.gg-dest-sublist[hidden] { display: none; }
.gg-dest-sublist > ul { list-style: none; padding: 0; margin: 0; }
.gg-dest-sublist__item {
  padding: 6px 10px; margin: 2px 0;
  border-radius: 6px; cursor: pointer;
  font-size: 13px; color: var(--gg-blue-deep);
  display: flex; gap: 8px; align-items: center;
  transition: background 0.12s;
}
.gg-dest-sublist__item:hover { background: rgba(11, 61, 126, 0.05); }
.gg-dest-sublist__item.is-active { background: rgba(255, 179, 0, 0.15); }
.gg-dest-sublist__bullet { color: rgba(11, 61, 126, 0.4); font-size: 10px; }
.gg-dest-modal__footer {
  padding: 14px 24px;
  border-top: 1px solid rgba(11, 61, 126, 0.10);
  display: flex; justify-content: flex-end;
}
.gg-dest-modal__confirm {
  background: var(--gg-gold);
  color: var(--gg-blue-deep);
  border: 0;
  padding: 10px 26px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}
.gg-dest-modal__confirm:hover { background: var(--gg-gold-deep); transform: translateY(-1px); }
@media (max-width: 600px) {
  .gg-dest-modal__body { grid-template-columns: 1fr; }
  .gg-dest-modal__right { border-left: 0; border-top: 1px solid rgba(11, 61, 126, 0.10); }
  .gg-dest-modal__panel { width: 96%; max-height: 92vh; }
}
.gg-searchbar__label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gg-text-muted);
  margin-bottom: 3px;
}
.gg-searchbar__input {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: var(--gg-blue-deep);
  font-weight: 500;
  padding: 4px 0;
  outline: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gg-searchbar__submit {
  flex: 0 0 auto;
  align-self: center;
  background: var(--gg-gold);
  color: var(--gg-blue-deep);
  border: 0;
  border-radius: 10px;
  padding: 0 20px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
  height: 46px;
  line-height: 46px;
  margin: 0;
}
.gg-searchbar__submit:hover {
  background: var(--gg-gold-deep);
  transform: translateY(-1px);
}
.gg-searchbar__filters {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 6px 4px;
  border-top: 1px solid rgba(11, 61, 126, 0.08);
  margin-top: 4px;
}
.gg-searchbar__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid rgba(11, 61, 126, 0.18);
  border-radius: 16px;
  font-size: 13px;
  color: var(--gg-text);
  cursor: pointer;
  user-select: none;
  background: #fff;
  transition: border-color 0.15s, background 0.15s;
}
.gg-searchbar__chip input { margin: 0; cursor: pointer; }
.gg-searchbar__chip:hover { border-color: var(--gg-blue); }
.gg-searchbar__chip:has(input:checked) {
  background: var(--gg-blue);
  border-color: var(--gg-blue);
  color: #fff;
}
@media (max-width: 720px) {
  .gg-searchbar__field { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid rgba(11, 61, 126, 0.08); }
  .gg-searchbar__field:last-of-type { border-bottom: 0; }
  .gg-searchbar__submit { flex: 1 1 100%; }
}

.gg-hero__btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gg-hero__btn--primary {
  background-color: #FFB300;
  color: #0B3D7E;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.gg-hero__btn--primary:hover {
  background-color: #E59E00;
  color: #0B3D7E !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.gg-hero__btn--ghost {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
}

.gg-hero__btn--ghost:hover {
  background-color: #fff;
  color: #0B3D7E !important;
  transform: translateY(-1px);
}

/* ====================================================================
   FAILSAFE: gwarantujemy widoczność contentu niezależnie od WOW.js.
   Jeśli wow-animation/wow.js nie odpali (timing, brak jQuery, itd.) —
   bez tego override strona pozostaje pusta (visibility:hidden).
   ==================================================================== */
.wow-animation .wow,
html.wow-animation .wow,
.wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}
.preloader {
  display: none !important;
}
/* Bazowy szablon ma .page { opacity: 0 } — JS dodaje [data-x-mode] żeby pokazać.
   Bez tego (timing albo brak jQuery) strona zostaje niewidoczna. */
.page {
  opacity: 1 !important;
}

/* ====================================================================
   goGrecja.pl — paleta grecka (override)
   Ładowane jako ostatni plik CSS w layoucie (frontend.ini → css.fourth).
   --------------------------------------------------------------------
   Paleta:
     --gg-blue-deep  #0B3D7E  (nagłówki, ciemny granatowy)
     --gg-blue       #0D5EAF  (primary, kolor flagi greckiej)
     --gg-blue-soft  #4A8DD8  (hover na ciemnym tle)
     --gg-bg-soft    #F5F9FC  (jasne tła sekcji)
     --gg-gold       #FFB300  (akcent / CTA / hover na nagłówkach)
     --gg-gold-deep  #E59E00  (active / pressed)
     --gg-text       #2C3E50  (tekst body)
     --gg-text-muted #6B7B8C  (tekst pomocniczy)
   ==================================================================== */

:root {
  --gg-blue-deep: #0B3D7E;
  --gg-blue: #0D5EAF;
  --gg-blue-soft: #4A8DD8;
  --gg-bg-soft: #F5F9FC;
  --gg-gold: #FFB300;
  --gg-gold-deep: #E59E00;
  --gg-text: #2C3E50;
  --gg-text-muted: #6B7B8C;
}

/* === Nagłówki — granatowy, akcent na hover ciepły żółty === */
h1, h2, h3, h4, h5, h6,
[class^='heading-'] {
  color: var(--gg-blue-deep) !important;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
[class^='heading-'] a:hover,
.post-modern-title a:hover,
.tour-default-title a:hover {
  color: var(--gg-gold) !important;
}

/* === Body text === */
body {
  color: var(--gg-text);
}

/* === Linki w treści === */
a {
  color: var(--gg-blue);
}

a:hover {
  color: var(--gg-gold);
}

/* === Menu główne (RD Navbar) === */
.rd-navbar-static .rd-nav-link,
.rd-navbar-fixed .rd-nav-link {
  color: var(--gg-blue-deep) !important;
}

.rd-nav-link:hover,
.rd-nav-item.active .rd-nav-link,
.rd-nav-item.focus .rd-nav-link {
  color: var(--gg-gold) !important;
}

.rd-dropdown-link {
  font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  color: #ffffff !important;
  background-color: transparent !important;
}
.rd-dropdown-link:hover,
.rd-dropdown-item:hover .rd-dropdown-link,
.rd-dropdown-item.focus .rd-dropdown-link {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.10) !important;
  font-weight: 700 !important;
}

/* CTA w menu — delikatne wyrozrnienie zlotym tlem (nie krzykliwe) */
.rd-nav-link.gg-nav-cta {
  background: rgba(255, 179, 0, 0.18) !important;
  color: var(--gg-blue-deep) !important;
  border: 1px solid rgba(255, 179, 0, 0.55) !important;
  border-radius: 18px !important;
  padding: 6px 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 4px !important;
  transition: background 0.15s, transform 0.15s;
}
.rd-nav-link.gg-nav-cta:hover {
  background: var(--gg-gold-deep) !important;
  color: var(--gg-blue-deep) !important;
  transform: translateY(-1px);
}

/* Layout: logo blisko menu (zamiast space-between z dziura w srodku) */
.rd-navbar-static .rd-navbar-main {
  justify-content: flex-start !important;
  gap: 24px;
}
.rd-navbar-static .rd-navbar-main-element {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Lepsze odstępy między zakładkami menu + delikatniejsze fonty (nadpisuje Oswald uppercase z style.css) */
.rd-navbar-nav .rd-nav-item {
  margin: 0 6px !important;
}
/* Start (1. element) - zerowy margines z lewej (blisko logo) */
.rd-navbar-nav .rd-nav-item:first-child {
  margin-left: 0 !important;
}
/* "Ktora wyspe?" (2. element) + reszta - wypchniete na prawo */
.rd-navbar-nav .rd-nav-item:nth-child(2) {
  margin-left: auto !important;
}

/* Breadcrumb - kontener wyrownany do logo (max-width 1170px, padding 15px) */
.breadcrumbs-custom-path {
  max-width: 1170px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 24px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  list-style: none;
}
/* Breadcrumb - truncate dlugich tytulow z kropeczkami */
.breadcrumbs-custom-path li.active {
  max-width: 560px;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  font-weight: 600;
}
.breadcrumbs-custom-path li {
  font-size: 14px;
}
@media (max-width: 991px) {
  .breadcrumbs-custom-path li.active { max-width: 320px; }
}
@media (max-width: 600px) {
  .breadcrumbs-custom-path li.active { max-width: 180px; }
}

/* H1 / tytuly artykulow - tez kropeczki na bardzo dlugich */
.intro-custom-title,
.heading-1,
h1.gg-article-title {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
.rd-navbar-static .rd-nav-link,
.rd-navbar-fixed .rd-nav-link {
  font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 350 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 8px 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .rd-navbar-nav .rd-nav-item { margin: 0 3px !important; }
  .rd-navbar-static .rd-nav-link, .rd-navbar-fixed .rd-nav-link { padding: 8px 10px !important; font-size: 13px !important; }
}

/* === Przyciski primary === */
.button-primary,
.btn-primary {
  background-color: var(--gg-blue) !important;
  border-color: var(--gg-blue) !important;
  color: #fff !important;
}

.button-primary:hover,
.btn-primary:hover {
  background-color: var(--gg-gold) !important;
  border-color: var(--gg-gold) !important;
  color: #fff !important;
}

.button-primary-outline {
  border-color: var(--gg-blue) !important;
  color: var(--gg-blue) !important;
  background-color: transparent !important;
}

.button-primary-outline:hover {
  background-color: var(--gg-blue) !important;
  color: #fff !important;
}

.btn-warning {
  background-color: var(--gg-gold) !important;
  border-color: var(--gg-gold) !important;
  color: #fff !important;
}

.btn-warning:hover {
  background-color: var(--gg-gold-deep) !important;
  border-color: var(--gg-gold-deep) !important;
}

/* === Sekcje z parallax / dark backgrounds === */
.bg-primary-darker {
  background-color: var(--gg-blue-deep) !important;
}

/* Sekcja "Wybierz najlepszy hotel..." — parallax na ciemnym tle.
   Domyślny H4 to ciemnogranat na granacie = niewidoczny. Wymuszamy biel. */
.parallax-container,
.parallax-container .parallax-content,
.bg-primary-darker {
  color: #fff !important;
}
.parallax-container h1, .parallax-container h2, .parallax-container h3,
.parallax-container h4, .parallax-container h5, .parallax-container h6,
.bg-primary-darker h1, .bg-primary-darker h2, .bg-primary-darker h3,
.bg-primary-darker h4, .bg-primary-darker h5, .bg-primary-darker h6 {
  color: #fff !important;
}
.parallax-container .fw-bold,
.bg-primary-darker .fw-bold {
  color: var(--gg-gold) !important;
}

.bg-primary {
  background-color: var(--gg-blue) !important;
}

.bg-gray-100 {
  background-color: var(--gg-bg-soft) !important;
}

/* === Cena (last-minute, hotel) — żółty akcent === */
.tour-default-price,
.heading-5.tour-default-price,
.fw-bold.fs-5.text-warning {
  color: var(--gg-gold-deep) !important;
}

/* === Footer — jasne tło, wyraznie blekitne === */
.footer-advanced.bg-gray-700 {
  background-color: #E2ECF6 !important;  /* delikatny, jasny blekit */
  border-top: 3px solid var(--gg-blue) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Mniejsze odstepy pionowe — gora 3 kolumn */
.footer-advanced .footer-advanced-main {
  padding-top: 28px !important;
  padding-bottom: 12px !important;
}

/* Mniejsze odstepy pionowe — pasek nawigacji START / O SERWISE / ... */
.footer-advanced .footer-advanced-aside {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.footer-advanced .footer-advanced-layout {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Dolny pasek z logo + copyright — zmniejsz odstep */
.footer-advanced-layout-2 {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.footer-advanced-aside .footer-advanced-layout-2,
.footer-advanced-aside hr {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

/* Mniej miejsca pod naglowkami "O serwise / Najwazniejsze poradniki..." */
.footer-advanced h4 {
  margin-bottom: 12px !important;
}
.footer-advanced .footer-advanced-text,
.footer-advanced-list {
  margin-bottom: 0 !important;
}

.footer-advanced .footer-advanced-text,
.footer-advanced-list a,
.list-nav a,
.rights {
  color: var(--gg-text) !important;
}

.footer-advanced-list a:hover,
.list-nav a:hover {
  color: var(--gg-gold-deep) !important;
}

.footer-advanced h4 {
  color: var(--gg-blue-deep) !important;
}

.footer-advanced hr {
  border-color: rgba(11, 61, 126, 0.18) !important;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

/* === Dropdown menu (Zobacz hotele, Last Minute) — widoczne kropki przed nazwami === */
.rd-navbar-dropdown .rd-dropdown-item,
.rd-navbar-dropdown li.rd-dropdown-item {
  list-style: disc !important;
  list-style-position: outside !important;
  margin-left: 18px !important;
}
.rd-navbar-dropdown .rd-dropdown-item::marker,
.rd-navbar-dropdown li::marker {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 0.9em;
}
.rd-navbar-dropdown .rd-dropdown-item:hover::marker {
  color: var(--gg-gold) !important;
}
/* "Ląd grecki" — separator BEZ kropki (nadpisuje list-style: disc wyzej) */
.rd-navbar-dropdown li.rd-dropdown-item.rd-dropdown-divider,
.rd-navbar-dropdown li.rd-dropdown-divider {
  list-style: none !important;
  margin-left: 0 !important;
}
.rd-navbar-dropdown li.rd-dropdown-divider::marker {
  content: "" !important;
  color: transparent !important;
}

/* === Searchbar — caly field klikalny + bialy datepicker === */
.gg-searchbar__field {
  cursor: pointer;
  position: relative;
}
.gg-searchbar__label {
  cursor: pointer;
  user-select: none;
}
/* Datepicker (Wybierz daty) — biale tlo, bez szarego placeholdera */
input.gg-searchbar__input.gg-datepicker,
.flatpickr-input.gg-searchbar__input {
  background: #fff !important;
  border-radius: 6px !important;
  padding: 6px 22px 6px 8px !important;
  cursor: pointer;
}
input.gg-searchbar__input.gg-datepicker::placeholder,
.flatpickr-input.gg-searchbar__input::placeholder {
  color: var(--gg-text-muted);
  opacity: 1;
}

/* === Wieksza, jednolita strzaltka (caret) we wszystkich polach searchbara === */
/* Ukryj stary, maly inline-caret na .gg-dropdown__trigger (SKAD/ILE OSOB) */
.gg-searchbar .gg-dropdown__trigger::after {
  display: none !important;
}
/* Zostaw miejsce na strzaltke po prawej */
.gg-searchbar__field .gg-searchbar__input {
  padding-right: 24px;
}
/* Wlasciwa strzaltka — kazde pole searchbara */
.gg-searchbar__field::after {
  content: '';
  position: absolute;
  right: 12px;
  bottom: 14px;
  width: 12px;
  height: 8px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%230B3D7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1 6,7 11,1'/></svg>");
  background-repeat: no-repeat;
  background-size: 12px 8px;
  pointer-events: none;
  transition: transform 0.15s ease;
}
.gg-searchbar__field.is-open::after,
.gg-searchbar__field.gg-dropdown.is-open::after {
  transform: rotate(180deg);
}

/* === Breadcrumb — drobny rebrand === */
.breadcrumbs-custom-path li.active {
  color: var(--gg-blue-deep) !important;
}

.breadcrumbs-custom-path a {
  color: var(--gg-text-muted) !important;
}

.breadcrumbs-custom-path a:hover {
  color: var(--gg-gold) !important;
}

/* === Hotel rating box / category-related-box === */
.category-related-box {
  background-color: var(--gg-bg-soft);
  border-left: 4px solid var(--gg-blue);
  padding: 12px 16px;
  margin: 16px 0;
}

.category-related-box__label {
  color: var(--gg-blue-deep);
  font-weight: 600;
  margin-right: 8px;
}

.category-related-box a {
  display: inline-block;
  margin: 4px 8px 4px 0;
  padding: 4px 10px;
  background-color: #fff;
  border: 1px solid var(--gg-blue);
  border-radius: 4px;
  color: var(--gg-blue);
  text-decoration: none;
  font-size: 13px;
}

.category-related-box a:hover {
  background-color: var(--gg-blue);
  color: #fff;
}

/* === Hotel quick filter === */
.hotel-quick-filter {
  margin: 16px 0;
}

.hotel-quick-filter__label {
  color: var(--gg-blue-deep);
  font-weight: 600;
  margin-right: 8px;
}

.hotel-quick-filter a,
.hotel-quick-filter__active {
  display: inline-block;
  margin: 4px 6px 4px 0;
  padding: 6px 12px;
  border-radius: 18px;
  font-size: 13px;
  text-decoration: none;
}

.hotel-quick-filter a {
  background-color: #fff;
  border: 1px solid var(--gg-blue);
  color: var(--gg-blue);
}

.hotel-quick-filter a:hover {
  background-color: var(--gg-blue);
  color: #fff;
}

.hotel-quick-filter__active {
  background-color: var(--gg-gold);
  color: #fff;
  font-weight: 600;
}

/* === Logo placeholder (gdy nie wstawiono PNG) === */
.rd-navbar-brand .gg-logo-text {
  display: inline-block;
  font-family: "Oswald", "Work Sans", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--gg-blue);
  letter-spacing: 0.02em;
}

.rd-navbar-brand .gg-logo-text span {
  color: var(--gg-gold);
}

/* === Auto cross-linking — bloki "Powiązane" z klastra (D4) === */
.gg-cluster-related {
  padding: 28px 0 8px;
}
.gg-cluster-related--hotels {
  padding-top: 8px;
}
.gg-cluster-related__title {
  position: relative;
  font-size: 22px;
  font-weight: 700;
  color: var(--gg-blue-deep);
  margin: 0 0 20px;
  padding-bottom: 12px;
}
.gg-cluster-related__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 70px;
  height: 1.5px;
  background-image: linear-gradient(90deg,
    var(--gg-blue-deep) 0%, var(--gg-blue-deep) 35%,
    var(--gg-gold) 35%, var(--gg-gold) 65%,
    var(--gg-blue-deep) 65%);
  border-radius: 1px;
}
.gg-cluster-card {
  background: #fff;
  border: 1px solid rgba(11, 61, 126, 0.10);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.gg-cluster-card:hover {
  box-shadow: 0 10px 26px rgba(11, 61, 126, 0.14);
  transform: translateY(-2px);
}
.gg-cluster-card__media {
  display: block;
  line-height: 0;
  overflow: hidden;
}
.gg-cluster-card__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.gg-cluster-card:hover .gg-cluster-card__media img {
  transform: scale(1.05);
}
.gg-cluster-card__title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: 12px 14px;
}
.gg-cluster-card__title a {
  color: var(--gg-blue-deep);
  text-decoration: none;
}
.gg-cluster-card__title a:hover {
  color: var(--gg-gold-deep);
}
.gg-cluster-card--hotel .gg-cluster-card__title {
  padding-bottom: 2px;
}
.gg-cluster-card__meta {
  padding: 0 14px 12px;
  font-size: 13px;
  color: var(--gg-text-muted);
}

/* === Auto-linki wewnetrzne w tresci (D4, zasada 3C) === */
.gg-autolink {
  color: var(--gg-blue);
  text-decoration: none;
  border-bottom: 1px solid rgba(13, 94, 175, 0.35);
  transition: color 0.15s, border-color 0.15s;
}
.gg-autolink:hover {
  color: var(--gg-gold-deep);
  border-bottom-color: var(--gg-gold);
}

/* === ZAMROZENIE CTA "Zobacz oferty Last Minute" (2026-05-21) ===
   Tymczasowo ukrywa caly box CTA we wszystkich poradnikach i hotelach.
   Docelowo decyzja zostanie podjeta pozniej. Aby przywrocic - usun ten blok. */
.cta {
  display: none !important;
}

/* === ATRYBUCJA ZDJEC z wakacje.pl (2026-05-30) ===
   Box pod galeria hotelu z informacja o pochodzeniu zdjec + link partnerski. */
.gg-photo-attr {
  background: #F5F0E8;
  border-left: 4px solid var(--gg-gold, #C9A55B);
  padding: 10px 16px;
  margin: 12px 0 18px;
  font-size: 13px;
  color: #555;
  border-radius: 4px;
  line-height: 1.5;
}
.gg-photo-attr p { margin: 0; }
.gg-photo-attr a {
  color: var(--gg-gold-deep, #8C6D2C);
  font-weight: 600;
  text-decoration: underline;
}
.gg-photo-attr a:hover { color: #2E7D32; }
