/* goEgipt.pl v31: artykuly, hotele, nawigacja, narzedzia i pogoda.
   Wszystkie selektory sa celowo ograniczone do wskazanych widokow. */

/* Aktywna sekcja menu kontra stale, niezalezne wyroznienie Last Minute. */
@media (min-width: 992px) {
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link {
    position: relative; isolation: isolate; color: #bf6007; font-weight: 700;
  }
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link::before {
    content: ""; position: absolute; z-index: -1; left: -10px; right: -10px;
    top: 50%; height: 34px; transform: translateY(-50%); pointer-events: none;
    background: #fff3e7; border: 1px solid #f3d9bd; border-radius: 100px;
  }
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item--last-minute:not(.goe-nav-current) > .rd-nav-link::after {
    display: none; content: none;
  }
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item.goe-nav-current > .rd-nav-link {
    color: #122e44; font-weight: 700;
  }
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item.goe-nav-current > .rd-nav-link::after {
    content: ""; display: block; position: absolute; left: 0; right: 0;
    bottom: 10px; height: 3px; border: 0; border-radius: 3px;
    background: #f58a21; opacity: 1; pointer-events: none;
  }
  .rd-navbar-minimal.rd-navbar-static .rd-nav-item--last-minute.goe-nav-current > .rd-nav-link { color: #b45400; }
}
@media (max-width: 991px) {
  .rd-navbar-fixed .rd-nav-item.goe-nav-current > .rd-nav-link {
    color: #c56509; font-weight: 700; background: #fff8f1; border-left: 3px solid #f58a21;
  }
  .rd-navbar-fixed .rd-nav-item--last-minute > .rd-nav-link {
    color: #bd5c0a; font-weight: 700; background: #fff4e7;
  }
}

/* Karty redakcyjne maja ten sam rytm i subtelny obrys co katalogi v30. */
.article-page-section, .hotel-detail-section,
.calculators-page, .currency-page, .goe-weather-page {
  background: #f7f9fb; color: #263b4b;
}
.article-page-section, .hotel-detail-section { padding: 16px 0 28px; }
.article-page-section .container, .hotel-detail-section .container,
.calculators-page > .container, .currency-page > .container,
.goe-weather-page > .container { min-width: 0; }

/* Karta pojedynczego poradnika. Spis tresci i odtwarzacz zostaja bez zmian JS. */
.article-page-section .goe-article-intro-card,
.article-page-section #tresc,
.article-page-section .article-author-box,
.article-page-section .post-creative-footer,
.article-page-section .article-related,
.article-page-section .article-trip-box {
  box-sizing: border-box; min-width: 0; width: 100%;
  margin: 0 0 13px; padding: 19px 23px;
  border: 1px solid #e3e9ee; border-radius: 16px;
  background: #fff; box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.article-page-section .post-creative-title {
  margin: 0 0 10px; color: #122e44;
  font-size: clamp(27px,2.35vw,33px); line-height: 1.2;
  letter-spacing: -.023em; font-weight: 600;
}
.article-page-section .article-category-link { margin-bottom: 7px; }
.article-page-section .article-top-box { margin: 0 0 11px; }
.article-page-section .goe-article-intro-card #streszczenie {
  margin: 0; color: #485b69; font-size: 16px; line-height: 1.65;
}
.article-page-section .post-creative > picture { display: block; margin: 0 0 13px; }
.article-page-section .article-hero-image {
  display: block; width: 100%; height: auto; margin: 0; padding: 5px;
  border: 1px solid #e3e9ee; border-radius: 16px;
  background: #fff; box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.article-page-section #tresc { font-size: 16px; line-height: 1.75; overflow-wrap: break-word; }
.article-page-section #tresc > :first-child { margin-top: 0; }
.article-page-section #tresc > :last-child { margin-bottom: 0; }
.article-page-section #tresc h2 {
  margin: 16px 0 9px; padding-top: 0; font-size: 24px;
  line-height: 1.3; font-weight: 600;
}
.article-page-section #tresc h3 { margin: 13px 0 7px; font-size: 19px; font-weight: 600; }
.article-page-section #tresc h4 { margin-top: 12px; }
.article-page-section .article-author-box { border-left: 3px solid #efc9a3; background: #fffaf5; }
.article-page-section .post-creative-footer {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; list-style: none;
}
.article-page-section .article-related { padding-top: 19px; border-top: 1px solid #e3e9ee; }
.article-page-section .article-related__title,
.article-page-section .article-trip-box h2 {
  margin: 0 0 11px; font-size: 23px; line-height: 1.25; font-weight: 600;
}
.article-page-section .article-related .row { margin-top: 0; }
.article-page-section .article-related__more { margin-top: 12px; }
.article-page-section .article-toc-host { margin-top: 0; }

/* Karta hotelu. Nie modyfikujemy galerii lightbox, formularza ani tabel ofert. */
.hotel-detail-section .hotel-detail-container { max-width: 1200px; }
.hotel-detail-section .hotel-detail-head,
.hotel-detail-section .hotel-gallery,
.hotel-detail-section .hotel-description,
.hotel-detail-section .hotel-offers-section,
.hotel-detail-section .hotel-lastminute-links,
.hotel-detail-section .hotel-comparisons-section,
.hotel-detail-section .hotel-related-section {
  box-sizing: border-box; min-width: 0; width: 100%; max-width: none;
  margin: 0 0 13px; padding: 19px 23px;
  border: 1px solid #e3e9ee; border-radius: 16px;
  background: #fff; box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.hotel-detail-section .hotel-detail-title {
  max-width: none; margin: 0 0 8px; color: #122e44;
  font-size: clamp(27px,2.35vw,34px); line-height: 1.2; font-weight: 600;
}
.hotel-detail-section .hotel-detail .hotel-meta-bar { margin-top: 8px; }
.hotel-detail-section .hotel-detail .hotel-rating-box { margin: 10px 0 12px; }
.hotel-detail-section .hotel-gallery { gap: 10px; padding: 9px; }
.hotel-detail-section .hotel-description { font-size: 16px; line-height: 1.74; }
.hotel-detail-section .goe-hotel-article-body {
  max-width: 990px; margin: 0 auto; overflow-wrap: break-word;
}
.hotel-detail-section .goe-hotel-article-body > :first-child { margin-top: 0; }
.hotel-detail-section .goe-hotel-article-body > :last-child { margin-bottom: 0; }
.hotel-detail-section .hotel-description h2 {
  margin: 16px 0 9px; font-size: 24px; line-height: 1.3; font-weight: 600;
}
.hotel-detail-section .hotel-description h3 { margin: 14px 0 7px; font-size: 19px; font-weight: 600; }
.hotel-detail-section .hotel-description h4 { margin-top: 12px; }
.hotel-detail-section .hotel-offers-section { padding: 20px 19px; }
.hotel-detail-section .hotel-offers-header h2,
.hotel-detail-section .hotel-related-heading h2,
.hotel-detail-section .hotel-comparisons-heading h2 {
  margin-top: 0; font-size: 23px; line-height: 1.27; font-weight: 600;
}
.hotel-detail-section .hotel-related-section { margin-top: 0; padding-top: 19px; border-top: 1px solid #e3e9ee; }
.hotel-detail-section .hotel-related-grid { gap: 14px; }
.hotel-detail-section .hotel-lastminute-links { background: #fff9f2; border-color: #f0dfcd; }

/* Kalkulatory (hub, koszt wakacji, napiwki). Logika JS pozostaje nienaruszona. */
.calculators-page { padding: 18px 0 30px; }
.calculators-page > .container { max-width: 1200px; }
.calculators-page .gt-hero, .calculators-page .gt-card,
.calculators-page .gt-panel, .calculators-page .gt-note {
  border-radius: 16px; border: 1px solid #e3e9ee;
  box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.calculators-page .gt-hero {
  width: 100%; max-width: none; margin: 0 0 13px;
  padding: 21px 24px; background: #fff;
}
.calculators-page .gt-hero h1 {
  max-width: none; margin: 0 0 8px;
  font-size: clamp(27px,2.3vw,33px); line-height: 1.2; font-weight: 600;
}
.calculators-page .gt-hero p { max-width: none; margin: 0; font-size: 15px; line-height: 1.6; }
.calculators-page .gt-calc-nav { margin: 0 0 12px; gap: 7px; }
.calculators-page .gt-calc-nav a { min-height: 36px; padding: 7px 13px; font-size: 12.5px; }
.calculators-page .gt-grid { gap: 13px; margin: 0 0 13px; }
.calculators-page .gt-card, .calculators-page .gt-panel { padding: 20px 22px; }
.calculators-page .gt-panel { margin-bottom: 13px; }
.calculators-page .gt-tool-card { min-height: 210px; }
.calculators-page .gt-tool-card .gt-icon { font-size: 28px; }
.calculators-page .gt-tool-card h2 {
  margin: 7px 0; font-size: 21px; line-height: 1.25; font-weight: 600;
}
.calculators-page .gt-tool-card p { margin: 0 0 15px; font-size: 14px; line-height: 1.56; }
.calculators-page .gt-panel h2,
.calculators-page .gt-section-head h2 {
  margin-top: 0; font-size: 22px; line-height: 1.28; font-weight: 600;
}
.calculators-page .gt-panel h2 + p { margin-top: 5px; }
.calculators-page .gt-calc-layout { gap: 15px; margin: 0 0 13px; }
.calculators-page .gt-form-section { margin-bottom: 16px; padding-bottom: 16px; }
.calculators-page .gt-note {
  margin: 0 0 13px; padding: 13px 18px;
  border-left: 3px solid #efc08e; background: #fffaf5;
}
.calculators-page .gt-faq { margin-top: 13px; }
.calculators-page .gt-faq h3 { margin: 13px 0 5px; font-size: 17px; }
.calculators-page :is(input,select,button):focus-visible,
.calculators-page .gt-calc-nav a:focus-visible { outline: 2px solid #ef8b33; outline-offset: 2px; }

/* Waluty - oddzielny historyczny CSS, ale identyczny nowy wyglad kontenerow. */
.currency-page { padding: 18px 0 30px; }
.currency-page > .container { max-width: 1200px; }
.currency-page .currency-hero, .currency-page .currency-panel,
.currency-page .currency-card, .currency-page .currency-note {
  box-sizing: border-box; width: 100%; max-width: none;
  background: #fff; border: 1px solid #e3e9ee;
  border-radius: 16px; box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.currency-page .currency-hero { margin: 0 0 13px; padding: 21px 24px; }
.currency-page .currency-hero h1 {
  margin: 0 0 8px; font-size: clamp(27px,2.3vw,33px); line-height: 1.2; font-weight: 600;
}
.currency-page .currency-hero p { max-width: none; margin: 0; font-size: 15px; line-height: 1.6; }
.currency-page .currency-panel { margin: 0 0 13px; padding: 20px 22px; }
.currency-page .currency-panel h2, .currency-page .currency-form h2 {
  margin-top: 0; font-size: 22px; line-height: 1.3; font-weight: 600;
}
.currency-page .currency-panel-head { margin-bottom: 12px; }
.currency-page .currency-layout { gap: 15px; margin-bottom: 13px; }
.currency-page .currency-card { padding: 20px 22px; }
.currency-page .currency-note {
  margin: 0 0 13px; padding: 17px 22px;
  border-left: 3px solid #efc08e; background: #fffaf5;
}
.currency-page .currency-faq h3 { margin: 14px 0 6px; font-size: 17px; }
.currency-page :is(input,select,button):focus-visible { outline: 2px solid #ef8b33; outline-offset: 2px; }

/* Pogoda: czytelne, rowne karty regionow i blok informacyjny. */
.goe-weather-page { padding: 18px 0 30px; }
.goe-weather-page > .container { max-width: 1200px; }
.goe-weather-page .goe-weather-page__intro,
.goe-weather-page .goe-weather-page__info,
.goe-weather-page .goe-weather-card {
  box-sizing: border-box; min-width: 0; border: 1px solid #e3e9ee;
  border-radius: 16px; background: #fff;
  box-shadow: 0 3px 14px rgba(18,46,68,.035);
}
.goe-weather-page .goe-weather-page__intro {
  margin: 0 0 13px; padding: 21px 24px; text-align: left;
}
.goe-weather-page .goe-weather-page__intro h1 {
  max-width: none; margin: 0 0 8px; color: #122e44;
  font-size: clamp(27px,2.3vw,33px); line-height: 1.2; font-weight: 600;
}
.goe-weather-page .goe-weather-page__intro p {
  max-width: none; margin: 0 0 8px;
  font-size: 15px; line-height: 1.6; color: #586c7b;
}
.goe-weather-page .goe-weather-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px; margin: 0 0 13px;
}
.goe-weather-page .goe-weather-card { margin: 0; padding: 20px 22px; }
.goe-weather-page .goe-weather-page__info { margin: 0 0 13px; padding: 20px 22px; }
.goe-weather-page .goe-weather-page__info h2 {
  margin: 0 0 9px; font-size: 23px; line-height: 1.3; font-weight: 600;
}
.goe-weather-page .goe-weather-page__info p { margin: 0 0 10px; font-size: 15px; line-height: 1.6; }
.goe-weather-page .goe-weather-page__status { margin: 0 0 9px; font-size: 12px; color: #6a7986; }

@media (max-width: 991px) {
  .article-page-section .goe-article-intro-card,
  .article-page-section #tresc, .article-page-section .article-author-box,
  .article-page-section .post-creative-footer, .article-page-section .article-related,
  .article-page-section .article-trip-box,
  .hotel-detail-section .hotel-detail-head, .hotel-detail-section .hotel-gallery,
  .hotel-detail-section .hotel-description, .hotel-detail-section .hotel-offers-section,
  .hotel-detail-section .hotel-lastminute-links,
  .hotel-detail-section .hotel-comparisons-section,
  .hotel-detail-section .hotel-related-section { padding: 17px 18px; }
  .hotel-detail-section .hotel-gallery { padding: 8px; }
  .hotel-detail-section .hotel-detail-title,
  .article-page-section .post-creative-title { font-size: 30px; }
  .calculators-page .gt-hero h1,
  .currency-page .currency-hero h1,
  .goe-weather-page .goe-weather-page__intro h1 { font-size: 29px; }
}
@media (max-width: 767px) {
  .article-page-section, .hotel-detail-section,
  .calculators-page, .currency-page, .goe-weather-page { padding: 12px 0 22px; }
  .article-page-section .goe-article-intro-card,
  .article-page-section #tresc, .article-page-section .article-author-box,
  .article-page-section .post-creative-footer, .article-page-section .article-related,
  .article-page-section .article-trip-box,
  .hotel-detail-section .hotel-detail-head, .hotel-detail-section .hotel-description,
  .hotel-detail-section .hotel-offers-section,
  .hotel-detail-section .hotel-lastminute-links,
  .hotel-detail-section .hotel-comparisons-section,
  .hotel-detail-section .hotel-related-section {
    padding: 15px 14px; border-radius: 13px;
  }
  .hotel-detail-section .hotel-gallery { border-radius: 13px; padding: 6px; }
  .article-page-section .post-creative-title,
  .hotel-detail-section .hotel-detail-title { font-size: 27px; }
  .article-page-section #tresc,
  .hotel-detail-section .hotel-description { font-size: 15.5px; line-height: 1.7; }
  .article-page-section #tresc h2,
  .hotel-detail-section .hotel-description h2 { margin-top: 14px; font-size: 21px; }
  .article-page-section #tresc h3,
  .hotel-detail-section .hotel-description h3 { font-size: 18px; }
  .article-page-section .article-related__title,
  .hotel-detail-section .hotel-offers-header h2,
  .hotel-detail-section .hotel-related-heading h2 { font-size: 21px; }
  .calculators-page .gt-hero,
  .currency-page .currency-hero,
  .goe-weather-page .goe-weather-page__intro { padding: 17px; border-radius: 13px; }
  .calculators-page .gt-card, .calculators-page .gt-panel,
  .currency-page .currency-panel, .currency-page .currency-card,
  .currency-page .currency-note, .goe-weather-page .goe-weather-card,
  .goe-weather-page .goe-weather-page__info { padding: 16px 17px; border-radius: 13px; }
  .calculators-page .gt-hero h1,
  .currency-page .currency-hero h1,
  .goe-weather-page .goe-weather-page__intro h1 { font-size: 27px; }
  .calculators-page .gt-panel h2,
  .currency-page .currency-panel h2,
  .goe-weather-page .goe-weather-page__info h2 { font-size: 21px; }
  .goe-weather-page .goe-weather-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .currency-page .currency-row {
    gap: 6px; grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr);
  }
  .currency-page .currency-swap { width: 40px; }
  .goe-weather-page .goe-weather-card { overflow-wrap: anywhere; }
}
