/* goSeszele.pl — UX compact / container system, 2026-10-10 */
:root {
  --gs-ux-bg: #f5f7f9;
  --gs-ux-card: #ffffff;
  --gs-ux-border: #dfe6eb;
  --gs-ux-border-soft: #e8edf1;
  --gs-ux-text: #183144;
  --gs-ux-muted: #5f7280;
  --gs-ux-shadow: 0 8px 26px rgba(22, 50, 68, .055);
  --gs-ux-radius: 16px;
  --gs-ux-accent: #a94700;
  --gs-ux-accent-soft: #fff2e7;
}

/* Top navigation — Last Minute is intentionally distinct, not banner-like. */
.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link,
.rd-navbar-fixed .rd-nav-item--last-minute > .rd-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #9a4100 !important;
  font-weight: 700;
}
.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link {
  padding: 8px 12px !important;
  border: 1px solid #f0c7a4;
  border-radius: 999px;
  background: var(--gs-ux-accent-soft);
}
.rd-nav-link__lm-dot { width: 7px; height: 7px; border-radius: 50%; background: #c65500; box-shadow: 0 0 0 3px rgba(198,85,0,.11); }
.rd-navbar-fixed .rd-nav-item--last-minute > .rd-nav-link { padding-left: 24px !important; }
.rd-navbar-fixed .rd-nav-link__lm-dot { margin-left: -12px; }

/* Shared compact typography and vertical rhythm. */
.home-page h1,
.category-page h1,
.hotel-listing-section h1,
.article-page-section h1,
.hotel-detail-section h1 { letter-spacing: -.45px; }
.home-page h2,
.category-page h2,
.hotel-listing-section h2,
.article-page-section h2,
.hotel-detail-section h2 { letter-spacing: -.25px; }

/* Homepage: compact, every major block visibly contained. */
.home-page { background: var(--gs-ux-bg); padding-bottom: 18px; }
.home-hero { padding: 16px 0 6px !important; background: transparent !important; }
.home-hero > .container {
  background: linear-gradient(135deg,#ffffff 0%,#f8fcfd 100%);
  border: 1px solid var(--gs-ux-border);
  border-radius: 18px;
  box-shadow: var(--gs-ux-shadow);
  padding: 25px 28px !important;
}
.home-hero__copy { max-width: 920px !important; }
.home-hero h1 { font-size: 34px !important; line-height: 1.16 !important; margin: 0 0 9px !important; }
.home-hero__lead { max-width: 900px !important; margin-bottom: 0 !important; font-size: 16px !important; line-height: 1.62 !important; }
.home-search-widget { display: none !important; }
.home-section,
.home-section--soft,
.home-last-minute-section { padding: 7px 0 !important; background: transparent !important; border: 0 !important; }
.home-section > .container {
  background: var(--gs-ux-card);
  border: 1px solid var(--gs-ux-border);
  border-radius: var(--gs-ux-radius);
  box-shadow: var(--gs-ux-shadow);
  padding: 20px 22px 21px !important;
}
.home-section__header { margin-bottom: 14px !important; }
.home-section__header h2 { font-size: 25px !important; line-height: 1.24 !important; margin: 0 0 5px !important; }
.home-section__header p { margin: 0 !important; line-height: 1.52 !important; }
.home-section__header--split { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.home-section__header--split > div { max-width:780px; }
.home-section__eyebrow { display:block; margin-bottom:4px; color:#71818c; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.home-section__actions { margin-top: 13px !important; }
.home-primary-link--compact { flex:0 0 auto; }
.home-section__actions--mobile-lm { display:none; }
.home-region-grid, .home-last-minute-grid { margin-top: 0 !important; }
.home-last-minute-card { height:100%; border:1px solid var(--gs-ux-border-soft) !important; border-radius:13px !important; box-shadow:none !important; overflow:hidden; }
.home-last-minute-card__media { height:190px !important; }
.home-last-minute-card__body { padding:14px 15px 15px !important; min-height:0 !important; }
.home-last-minute-card__body h3 { font-size:18px !important; line-height:1.28 !important; margin:3px 0 9px !important; }
.home-last-minute-card__region { color:#687b88; font-size:12px; font-weight:700; }
.home-last-minute-card__details { gap:4px !important; font-size:12px !important; }
.home-last-minute-card__footer { margin-top:12px !important; padding-top:11px !important; }
.home-last-minute-card__badge, .home-last-minute-card__cta { background:var(--gs-ux-accent) !important; }
.home-last-minute-card__price, .home-last-minute-card__price small { color:#874000 !important; }

/* Article category pages and /poradniki. */
.category-page { background:var(--gs-ux-bg) !important; padding:16px 0 28px !important; }
.category-page > .container { max-width:1200px; }
.category-header,
.category-results,
.category-long-description,
.category-empty {
  max-width:none !important;
  width:100%;
  background:var(--gs-ux-card);
  border:1px solid var(--gs-ux-border);
  border-radius:var(--gs-ux-radius);
  box-shadow:var(--gs-ux-shadow);
  padding:20px 22px !important;
  margin:0 0 12px !important;
}
.category-header h1 { font-size:31px !important; line-height:1.22 !important; margin:5px 0 8px !important; }
.category-header__description { max-width:880px !important; font-size:15px !important; line-height:1.62 !important; }
.category-header__description--short p { margin:0 !important; }
.category-results__heading { margin-bottom:14px !important; }
.category-results__heading h2,
.category-long-description h2 { font-size:23px !important; line-height:1.28 !important; margin:0 0 7px !important; }
.category-long-description { margin-top:12px !important; }
.category-long-description__body { max-width:980px; color:#455d6b; font-size:15px; line-height:1.72; }
.category-long-description__body p { margin:0 0 12px; }
.category-long-description__body p:last-child { margin-bottom:0; }
.category-card-grid { gap:16px !important; }

/* Hotel catalog, region and type pages — consistent width and panel system. */
.hotel-listing-section { background:var(--gs-ux-bg) !important; padding:16px 0 28px !important; }
.hotel-listing-section > .container { max-width:1200px; }
.hotel-listing-intro,
.hotel-listing-controls-panel,
.hotel-listing-results-panel,
.hotel-destination-content {
  width:100%;
  max-width:none !important;
  background:var(--gs-ux-card);
  border:1px solid var(--gs-ux-border);
  border-radius:var(--gs-ux-radius);
  box-shadow:var(--gs-ux-shadow);
  padding:20px 22px !important;
  margin:0 0 12px !important;
  box-sizing:border-box;
}
.hotel-listing-intro h1 { font-size:31px !important; line-height:1.22 !important; margin:0 0 8px !important; }
.hotel-destination-heading__text,
.hotel-listing-intro__text { max-width:900px !important; margin-top:6px !important; font-size:15px !important; line-height:1.62 !important; }
.hotel-listing-intro__text--short p { margin-bottom:0 !important; }
.hotel-listing-note { margin-top:12px !important; }
.hotel-guide-links, .hotel-related-links { margin-top:12px !important; }
.hotel-listing-controls-panel { padding-top:17px !important; padding-bottom:17px !important; }
.hotel-search-box,
.hotel-region-nav,
.hotel-subregion-filter,
.hotel-type-filter,
.hotel-listing-heading,
.hotel-card-grid,
.hotel-pagination { max-width:none !important; width:100%; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box; }
.hotel-search-box { margin-top:0 !important; margin-bottom:14px !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
.hotel-search-box__field { max-width:680px; }
.hotel-region-nav { margin-top:0 !important; margin-bottom:12px !important; }
.hotel-subregion-filter, .hotel-type-filter { margin-top:10px !important; margin-bottom:0 !important; }
.hotel-listing-heading { margin-top:0 !important; margin-bottom:13px !important; }
.hotel-listing-heading h2 { font-size:23px !important; line-height:1.28 !important; margin:0 0 3px !important; }
.hotel-list-card__media,
.hotel-list-card__media img,
.hotel-list-card img { margin-top:0 !important; }
.hotel-list-card { margin-top:0 !important; }
.hotel-card-grid { gap:16px !important; }
.hotel-pagination { margin-top:16px !important; }
.hotel-destination-content { margin-top:12px !important; }
.hotel-destination-content h2 { font-size:23px !important; line-height:1.3 !important; margin:0 0 8px !important; }
.hotel-destination-content__body { max-width:980px; line-height:1.72; }
.hotel-destination-content__body h2 { margin-top:17px !important; }
.hotel-destination-content__body h3 { margin-top:14px !important; }

/* Single article — one strong content container + lighter related panels. */
.article-page-section { background:var(--gs-ux-bg) !important; padding:16px 0 28px !important; }
.article-page-section > .container { max-width:1200px; }
.article-page-section .post-creative {
  background:var(--gs-ux-card);
  border:1px solid var(--gs-ux-border);
  border-radius:var(--gs-ux-radius);
  box-shadow:var(--gs-ux-shadow);
  padding:22px 24px !important;
}
.article-page-section .post-creative-title,
.article-page-section .post-creative-title h1,
.article-page-section h1.post-creative-title { font-size:31px !important; line-height:1.22 !important; margin-bottom:10px !important; }
.article-page-section #tresc h2,
.article-page-section .article-content h2 { font-size:23px !important; line-height:1.32 !important; margin-top:17px !important; margin-bottom:8px !important; }
.article-page-section #tresc h3,
.article-page-section .article-content h3 { margin-top:14px !important; margin-bottom:7px !important; }
.article-related,
.article-trip-box {
  background:var(--gs-ux-card) !important;
  border:1px solid var(--gs-ux-border) !important;
  border-radius:var(--gs-ux-radius) !important;
  box-shadow:var(--gs-ux-shadow);
  padding:18px 20px !important;
  margin-top:12px !important;
}
.article-related h2, .article-trip-box h2 { font-size:22px !important; margin-top:0 !important; }
.article-toc-host:not(:empty) {
  background:var(--gs-ux-card);
  border:1px solid var(--gs-ux-border);
  border-radius:var(--gs-ux-radius);
  box-shadow:var(--gs-ux-shadow);
  padding:12px;
}

/* Single hotel — the whole card is contained; major sub-sections have light boundaries. */
.hotel-detail-section { background:var(--gs-ux-bg) !important; padding:16px 0 28px !important; }
.hotel-detail-container { max-width:1200px !important; }
.hotel-detail {
  background:var(--gs-ux-card);
  border:1px solid var(--gs-ux-border);
  border-radius:var(--gs-ux-radius);
  box-shadow:var(--gs-ux-shadow);
  padding:22px 24px !important;
}
.hotel-detail h1 { font-size:32px !important; line-height:1.22 !important; margin-bottom:9px !important; }
.hotel-detail h2 { font-size:23px !important; line-height:1.3 !important; margin-top:17px !important; margin-bottom:8px !important; }
.hotel-detail h3 { margin-top:14px !important; }
.hotel-gallery,
.hotel-description,
.hotel-offers-section,
.hotel-lastminute-links,
.hotel-related-section,
.hotel-comparison-teaser {
  border-radius:13px !important;
}
.hotel-description,
.hotel-offers-section,
.hotel-lastminute-links,
.hotel-related-section,
.hotel-comparison-teaser {
  border:1px solid var(--gs-ux-border-soft) !important;
  background:#fbfcfd !important;
  padding:17px 18px !important;
  margin-top:12px !important;
}
.hotel-related-section h2,
.hotel-offers-section h2 { margin-top:0 !important; }

/* General half-size heading spacing inside content pages. */
.category-page .category-long-description h2 + *,
.hotel-listing-section .hotel-destination-content h2 + *,
.article-page-section #tresc h2 + *,
.hotel-detail-section h2 + * { margin-top:0; }

@media (max-width: 991px) {
  .home-hero > .container,
  .home-section > .container,
  .category-header,
  .category-results,
  .category-long-description,
  .hotel-listing-intro,
  .hotel-listing-controls-panel,
  .hotel-listing-results-panel,
  .hotel-destination-content,
  .article-page-section .post-creative,
  .hotel-detail { padding:18px !important; }
  .home-hero h1 { font-size:30px !important; }
  .category-header h1, .hotel-listing-intro h1, .article-page-section h1, .hotel-detail h1 { font-size:29px !important; }
  .home-section__header--split { align-items:flex-start; }
  .home-last-minute-card__media { height:205px !important; }
}

@media (max-width: 767px) {
  .home-hero { padding-top:10px !important; }
  .home-hero > .container,
  .home-section > .container,
  .category-header,
  .category-results,
  .category-long-description,
  .hotel-listing-intro,
  .hotel-listing-controls-panel,
  .hotel-listing-results-panel,
  .hotel-destination-content,
  .article-page-section .post-creative,
  .hotel-detail { padding:15px !important; border-radius:13px !important; }
  .home-hero h1 { font-size:27px !important; line-height:1.18 !important; }
  .home-section__header h2,
  .category-results__heading h2,
  .category-long-description h2,
  .hotel-listing-heading h2,
  .hotel-destination-content h2,
  .article-page-section #tresc h2,
  .hotel-detail h2 { font-size:21px !important; }
  .category-header h1, .hotel-listing-intro h1, .article-page-section h1, .hotel-detail h1 { font-size:26px !important; }
  .home-section__header--split { display:block; }
  .home-section__header--split > .home-primary-link { display:none; }
  .home-section__actions--mobile-lm { display:block; }
  .home-last-minute-card__media { height:210px !important; }
  .article-page-section .row.row-30 { row-gap:12px; }
}


/* UX V2: stabilny landing Last Minute niezalezny od liczby aktualnych ofert. */
.last-minute-page { padding:18px 0 34px !important; background:#f5f7f9 !important; }
.last-minute-page > .container { max-width:1200px; }
.last-minute-hero {
  max-width:none !important;
  margin:0 0 12px !important;
  padding:22px 24px !important;
  border:1px solid var(--gs-ux-border-soft) !important;
  border-radius:14px !important;
  background:#fff !important;
  text-align:left !important;
  box-shadow:var(--gs-ux-shadow) !important;
}
.last-minute-hero h1 { margin:0 0 8px !important; font-size:34px !important; line-height:1.16 !important; }
.last-minute-intro { max-width:880px !important; margin:0 !important; font-size:16px; line-height:1.65 !important; }
.last-minute-updated { margin-top:10px !important; }
.last-minute-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 12px; }
.last-minute-summary-card { padding:15px 16px; border:1px solid var(--gs-ux-border-soft); border-radius:12px; background:#fff; }
.last-minute-summary-card strong { display:block; margin-bottom:4px; color:#263f51; font-size:14px; }
.last-minute-summary-card span { display:block; color:#657985; font-size:13px; line-height:1.5; }
.last-minute-availability-note { margin:0 0 12px; padding:13px 16px; border:1px solid #efd8b7; border-radius:11px; background:#fffaf3; color:#6f5537; font-size:14px; line-height:1.55; }
.last-minute-filters { max-width:none !important; margin:0 0 12px !important; box-shadow:none !important; }
.last-minute-results-panel { margin:0 0 12px; padding:18px; border:1px solid var(--gs-ux-border-soft); border-radius:14px; background:#fff; box-shadow:var(--gs-ux-shadow); }
.last-minute-results-head { max-width:none !important; margin:0 0 14px !important; }
.last-minute-results-head h2 { font-size:25px !important; line-height:1.25 !important; }
.last-minute-list { max-width:none !important; }
.last-minute-seo-content { margin:0 !important; padding:22px 24px !important; border:1px solid var(--gs-ux-border-soft) !important; border-radius:14px !important; background:#fff !important; box-shadow:var(--gs-ux-shadow) !important; }
.last-minute-seo-content__body { max-width:960px; color:#435866; line-height:1.72; }
.last-minute-seo-content__body h2 { margin:24px 0 8px !important; font-size:24px !important; line-height:1.28 !important; }
.last-minute-seo-content__body h2:first-child { margin-top:0 !important; }
.last-minute-seo-content__body p { margin:0 0 12px !important; }

/* Karta hotelu: powiazane hotele maja zaczynac sie od samej krawedzi karty. */
.hotel-related-card__image,
.hotel-related-card__image img { margin-top:0 !important; margin-bottom:0 !important; padding-top:0 !important; }
.hotel-related-card__image img { vertical-align:top; }

@media (max-width:991px) {
  .last-minute-summary-grid { grid-template-columns:1fr; }
  .last-minute-hero h1 { font-size:29px !important; }
  .last-minute-results-panel { padding:14px; }
}
@media (max-width:575px) {
  .last-minute-page { padding-top:10px !important; }
  .last-minute-hero, .last-minute-seo-content { padding:16px !important; }
  .last-minute-hero h1 { font-size:27px !important; }
  .last-minute-results-head h2 { font-size:22px !important; }
}


/* UX V3 — Last Minute jako normalny link top-level; bez konfliktu pill/underline. */
.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link {
  display: inline-block !important;
  padding: 24px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #b54f00 !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link::after {
  display: none !important;
  content: none !important;
}
.rd-navbar-static .rd-nav-item--last-minute > .rd-nav-link:hover,
.rd-navbar-static .rd-nav-item--last-minute.opened > .rd-nav-link,
.rd-navbar-static .rd-nav-item--last-minute.focus > .rd-nav-link {
  color: #ff830a !important;
}
.rd-navbar-static.rd-navbar--is-stuck .rd-nav-item--last-minute > .rd-nav-link,
.rd-navbar-static.rd-navbar--is-clone .rd-nav-item--last-minute > .rd-nav-link {
  padding-top: 21px !important;
  padding-bottom: 21px !important;
}
.rd-nav-link__lm-dot { display: none !important; }
@media (max-width: 991px) {
  .rd-navbar-fixed .rd-nav-item--last-minute > .rd-nav-link {
    display: block !important;
    min-height: 48px;
    padding: 14px 52px 14px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #b54f00 !important;
    font-weight: 700 !important;
  }
}

/* UX V3 — podobne hotele: obraz zawsze wypelnia caly kadr bez pustych pasow. */
.hotel-related-card__image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: #eef2f5 !important;
}
.hotel-related-card__image img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  vertical-align: top !important;
}
