/*
Theme Name: Bricks Child
Theme URI: https://bricksbuilder.io/
Description: Motyw potomny dla Bricks
Author: Bricks
Template: bricks
Version: 1.0.0
Text Domain: bricks-child
*/


body {
	font-family: "Inter", system-ui, sans-serif;
	overflow-x: hidden;
}
.brxe-text-basic p {
	font-family: "Inter", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

/* header */
.brx-nav-nested-items .menu-item a {
	padding: 9px 13px;
	border-radius: 25px;
}
.brx-nav-nested-items > li:hover > a {
    color: var(--ink-2) !important;
}
@media (min-width: 992px) {
	#brxe-fjxnll .brx-nav-nested-items { flex-wrap: nowrap; }
	#brxe-fjxnll .brx-nav-nested-items .menu-item a { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1088px) {
	.nav-search {
	  column-gap: 0 !important;
	}
	.brx-nav-nested-items .menu-item a {
		padding: 6px 4px !important;
		font-size: 14px !important;
	}
}
@media (min-width: 1089px) and (max-width: 1199px) {
	.brx-nav-nested-items .menu-item a {
		padding: 9px 6px !important;
	}
}

/* shadows */
.box-shadow-1 {
	box-shadow: 0 1px 2px rgba(22,50,63,.06), 0 2px 8px rgba(22,50,63,.05);	
	transition: all 0.3s ease;	
}

/* hero */
.hero-slider .eyebrow {
	color: var(--gold-light);	
}
.hero-slider form {
	padding-left: 10px;
}

/* Hero slider — kropki paginacji zamienione na miniatury zdjęć */
.hero-slider .splide__pagination {
      display: flex !important;
      gap: 10px !important;
}
.hero-slider .splide__pagination li {
      list-style: none;
}
.hero-slider .splide__pagination__page {
      width: 78px !important;
      height: 52px !important;
      margin: 0 !important;
      padding: 0 !important;
      position: relative !important;
      overflow: hidden !important;
      border: 2px solid rgba(255, 255, 255, .5) !important;
      border-radius: 9px !important;
      background-color: transparent !important;
      background-size: cover !important;
      background-position: center !important;
      background-repeat: no-repeat !important;
      box-shadow: 0 4px 12px rgba(0, 0, 0, .3) !important;
      opacity: .65 !important;
      cursor: pointer !important;
      transition: opacity .2s, border-color .2s !important;
}
.hero-slider .splide__pagination__page:hover {
      opacity: .85 !important;
}
.hero-slider .splide__pagination__page.is-active {
      width: 78px !important;
      height: 52px !important;
      opacity: 1 !important;
      border-color: #ffffff !important;
      background-color: transparent !important;
}
.hero-slider .splide__pagination li:nth-child(1) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_001_zamek_z_drona-300x103.webp');
}
.hero-slider .splide__pagination li:nth-child(2) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_010_arboretum_sciezka_jesien_2026-300x103.webp');
}
.hero-slider .splide__pagination li:nth-child(3) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_002_promenada_kladka-300x103.webp');
}
.hero-slider .splide__pagination li:nth-child(4) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_013_lodowisko_oaza_blonie-300x103.webp');
}
.hero-slider .splide__pagination li:nth-child(5) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_011_zamek_jesien_2026-300x103.webp');
}
.hero-slider .splide__pagination li:nth-child(6) .splide__pagination__page {
      background-image: url('/wp-content/uploads/2026/11/2026-11-02_kornik_travel_019_arboretum_staw-300x103.webp');
}
.hero-slider .splide__pagination__page::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      height: 3px;
      width: 0;
      background: #C9A24B;
}
.hero-slider .splide__pagination__page.is-active::after {
      animation: heroThumbFill 6s linear forwards; /* dopasuj do "Interval" Slidera */
}
@keyframes heroThumbFill {
      from { width: 0; }
      to { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
      .hero-slider .splide__pagination__page.is-active::after {
       		animation: none;
       		width: 100%;
      }
}
/* Slider – telefon: zamiast strzałek i miniaturek krótkie paski postępu na dole slajdu */
/* Slider – bez strzałek na wszystkich ekranach (nawigacja miniaturkami / paskami) */
.hero-slider .splide__arrows {
      display: none !important;
}
@media (max-width: 767px) {
      .hero-slider .splide__pagination {
      		display: flex !important;
      		gap: 6px !important;
      		position: absolute !important;
      		top: auto !important;
      		bottom: 24px !important;
      		left: 20px !important;
      		right: auto !important;
      		transform: none !important;
      		padding: 0 !important;
      		z-index: 3;
      }
      .hero-slider .splide__pagination__page,
      .hero-slider .splide__pagination__page.is-active {
      		width: 22px !important;
      		height: 4px !important;
      		border: 0 !important;
      		border-radius: 2px !important;
      		background-image: none !important;
      		background-color: rgba(255, 255, 255, .45) !important;
      		box-shadow: none !important;
      		opacity: 1 !important;
      		transition: width .3s ease !important;
      }
      .hero-slider .splide__pagination__page.is-active {
      		width: 44px !important;
      }
      .hero-slider .splide__pagination__page::after {
      		height: 100%;
      		border-radius: 2px;
      }
}

/* eyebrow */
.eyebrow {
	position: relative;
	display: inline-flex;
  	align-items: center;
  	gap: 8px;
  	font-size: 12.5px;
  	font-weight: 600;
  	letter-spacing: 0.14em;
  	text-transform: uppercase;
  	color: var(--gold);	
	margin-bottom: 8px;
}
.eyebrow::before {
  	content: "";
  	width: 22px;
  	height: 2px;
  	background: var(--gold);
  	border-radius: 2px;
}

/* post meta */
.chip-adress,
.chip-time,
.chip-price,
.chip-info {
	position: relative;
}
.chip-adress::before,
.chip-time::before, 
.chip-price::before, 
.chip-info::before {
  	display: inline-block;
	font-family: Font Awesome\ 6 Free;
	font-size: 12.5px;
  	font-weight: 500;
	color: var(--water-deep) !important;
	margin-right: 5px;
}
.chip-adress::before {
	content: "\f279";	
}
.chip-time::before {
	content: "\f017";	
}
.chip-price::before {
	content: "\f09d";	
}
.chip-info::before {
	content: "\f058" !important;	
}

/* search */
.bricks-search-form {
    align-items: center;
}
.bricks-search-overlay .bricks-search-form {
    max-width: 80% !important;
	width: 80%;
}
/**/
.brxe-filter-search.post-search-filter {
    position: relative;
}
.brxe-filter-search.post-search-filter::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    pointer-events: none;
    z-index: 2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316323F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.brxe-filter-search.post-search-filter input {
    padding-left: 48px !important;
}

/* post box */
.post-box {}
.post-box__img img {
	transform: scale(1);
	transition: all 0.3s ease;
}
post-box__cnt {
	
}
.post-box__item:hover .post-box__img img {
	transform: scale(1.1);	
}
.post-box__item.box-shadow-1:hover {
	box-shadow: 0 3px 6px rgba(22,50,63,.1), 0 8px 32px rgba(22,50,63,.25);	
}
.brxe-post-content.post-detail-cnt .wp-block-heading {
	margin-bottom: 16px;
}
.brxe-post-content.post-detail-cnt .wp-block-image img {
	border-radius: 16px;
}
/**/
.hours, .price {
  	border: 1px solid var(--line);
  	border-radius: 16px;
  	overflow: hidden;
	margin-bottom: 16px;
}
.hours .season {
  	display: flex;
  	justify-content: space-between;
  	gap: 12px;
  	padding: 14px 18px;
  	border-bottom: 1px solid var(--line);
  	font-size: 15px;
}
.hours .season .when {
  	font-weight: 600;
  	color: var(--ink);
}
.hours .season.closed .val {
  	color: var(--brick-deep);
  	font-weight: 600;
}
.price .r {
  	display: flex;
  	justify-content: space-between;
  	padding: 13px 18px;
  	border-bottom: 1px solid var(--line);
  	font-size: 15px;
}
/* post content */
.brxe-post-content.post-detail-cnt h1,
.brxe-post-content.post-detail-cnt h2,
.brxe-post-content.post-detail-cnt h3,
.brxe-post-content.post-detail-cnt h4,
.brxe-post-content.post-detail-cnt h5,
.brxe-post-content.post-detail-cnt h6 {
	font-family: "Fraunces", Georgia, serif;;
  	font-weight: 600;
  	letter-spacing: -.015em;
  	line-height: 1.1;
  	color: var(--navy);	
}
.brxe-post-content.post-detail-cnt h1 {
	font-size: 50px;	
}
@media (max-width: 767px) {
.brxe-post-content.post-detail-cnt h1 {
	font-size: 28px;	
}	
}
.brxe-post-content.post-detail-cnt h2 {
	font-size: 28px;	
}
@media (max-width: 767px) {
.brxe-post-content.post-detail-cnt h2 {
	font-size: 24px;	
}	
}
.brxe-post-content.post-detail-cnt h3 {
	font-size: 18px;	
}
.brxe-post-content.post-detail-cnt h4,
.brxe-post-content.post-detail-cnt h5,
.brxe-post-content.post-detail-cnt h6 {
	font-size: 16px;	
}
.brxe-post-content.post-detail-cnt .wp-block-paragraph {
    font-size: 16px !important;
    color: #2c4450 !important;
    margin: 0 0 16px !important;
    line-height: 1.7 !important;	
}
.brxe-post-content.post-detail-cnt hr {
	height: 1px;
  	background: var(--line);
  	margin: 22px 0 26px;
  	border: 0;	
}
.brxe-post-content figure {
    margin: 32px 0 !important;
}
/* */
.wp-block-table {
    overflow: hidden !important;
    border-radius: 16px !important;
}
.wp-block-table table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    width: 100% !important;
}
.wp-block-table td {
    border: none !important;
    border-bottom: 1px solid var(--line) !important;
}
.wp-block-table tr:last-child td {
    border-bottom: none !important;
}
.brxe-post-content .wp-block-table td, .wp-block-table th {
    border: 1px solid var(--line);
    padding: 14px 18px;
}
/* post image gallery */
.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] {
      display: grid !important;
      grid-template-columns: repeat(4, 1fr) !important;
      grid-auto-rows: 1fr !important;
}

.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] > .bricks-layout-item:first-child {
      grid-column: span 2 !important;
      grid-row: span 2 !important;
}

.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] .bricks-layout-item,
.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] .bricks-layout-item figure,
.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] .bricks-layout-item a,
.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] .bricks-layout-item img {
      width: 100%;
      height: 100%;
}

.post-img-gallery.bricks-layout-wrapper[data-layout="grid"] .image img {
      object-fit: cover;
}
.pswp.brx .pswp__img {
	border-radius: 8px;
}


/* open street map */
.osm-dot {
    box-sizing: border-box;
    background: var(--brick);
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .25);
}
.leaflet-tooltip.osm-tip {
    background: var(--brick);
    color: #fff;
    font: 600 13px/1.2 Inter, sans-serif;
    padding: 10px 14px;
	margin-top: -10px;
    border: none;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
    white-space: nowrap;
    opacity: 1;
}
.leaflet-tooltip.osm-tip.leaflet-tooltip-top::before {
    border-top-color: var(--brick);
}
.tab-content {
    border: none !important;
}

/* white sticky box */
.white-box .add-info p {
	margin-bottom: 0;
}
.add-info a {
    display: inline-flex;
    align-items: center;

    width: auto;
    height: 24px;
    min-height: 0;
    box-sizing: border-box;

    margin: 0 10px 8px 0;
    padding: 0 14px;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    color: var(--ink);

    background-color: var(--sand);
    border: 1px solid var(--line);
    border-radius: 20px;

    text-decoration: none;
    white-space: nowrap;
}

/* post gallery NEW */
.kt-gallery .kt-hero {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.kt-gallery .kt-tile {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: 16px;
}
.kt-gallery .kt-hero .kt-tile:first-child {
    grid-column: span 2;
    grid-row: span 2;
    aspect-ratio: auto;
}
.kt-gallery .kt-hero .kt-tile:first-child:last-child {
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 16/10;
}
.kt-gallery .kt-tile img,
.kt-gallery .kt-tile video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.kt-gallery .kt-more {
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 10px;
}
.kt-gallery.is-open .kt-more {
    display: grid;
}
.kt-gallery .kt-video .kt-play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .55);
    pointer-events: none;
}
.kt-gallery .kt-video .kt-play::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    border: solid transparent;
    border-width: 12px 0 12px 20px;
    border-left-color: #fff;
}
.glightbox-container .gslide-media img {
    border-radius: 16px;
}
.glightbox-container .gslide-media video,
.glightbox-container .gslide-media iframe,
.glightbox-container .gvideo-wrapper {
    border-radius: 16px;
    overflow: hidden;
}
/*.glightbox-mobile .glightbox-container .gprev,
.glightbox-mobile .glightbox-container .gnext {
    display: block;
}*/
.glightbox-container .gslide-image img {
    width: auto;
    height: auto;
    max-width: calc(100vw - 20px);
    max-height: 88vh;
}
.glightbox-container .gslide-video {
    max-width: calc(100vw - 20px) !important;
    max-height: 85vh;
    margin-left: auto !important;
    margin-right: auto !important;
}
.glightbox-container .gvideo-wrapper {
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .kt-gallery .kt-hero {
        grid-template-columns: repeat(2, 1fr);
    }
    .kt-gallery .kt-hero .kt-tile:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .kt-gallery .kt-hero .kt-tile:first-child:not(.kt-video) {
        aspect-ratio: auto;
    }
    .kt-gallery .kt-hero .kt-tile:first-child:not(.kt-video) img {
        height: auto;
        object-fit: contain;
    }
    /* Pionowy kadr tylko dla Shortów; zwykły film poziomy dostaje 16:9 */
    .kt-gallery .kt-hero .kt-tile:first-child.kt-video[data-short] {
        aspect-ratio: 9/16;
    }
    .kt-gallery .kt-hero .kt-tile:first-child.kt-video:not([data-short]) {
        aspect-ratio: 16/9;
    }
    .kt-gallery .kt-more {
        grid-template-columns: repeat(2, 1fr);
    }
    /*.glightbox-clean .gprev,
    .glightbox-clean .gnext {
        top: 45%;
        width: 26px;
    }*/
	.glightbox-container .gprev,
	.glightbox-container .gnext {
		display: none !important
	}
}
.glightbox-container .gvideo-wrapper.kt-short{position:relative;overflow:hidden;width:auto!important;height:85vh!important;max-width:calc(100vw - 20px)!important;aspect-ratio:9/16}
.glightbox-container .gvideo-wrapper.kt-short .plyr{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden}
.glightbox-container .gvideo-wrapper.kt-short .plyr__video-wrapper{position:absolute!important;top:50%;left:50%;transform:translate(-50%,-50%);height:100%!important;width:auto!important;aspect-ratio:16/9;padding:0!important}
.glightbox-container .gvideo-wrapper.kt-short iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}

/* Menu mobilne – ostry hamburger (bez skalowania) i panel pod nagłówkiem */
@media (max-width: 991px) {
      #brxe-rrlhvp {
      		--brxe-toggle-scale: 1 !important;
      }
      #brxe-rrlhvp .brxa-wrap {
      		width: 22px;
      		height: 14px;
      }
      #brxe-rrlhvp .brxa-inner,
      #brxe-rrlhvp .brxa-inner::before,
      #brxe-rrlhvp .brxa-inner::after {
      		--brxe-toggle-bar-height: 2px !important;
      		--brxe-toggle-bar-width: 22px !important;
      		--brxe-toggle-bar-radius: 2px !important;
      }
      #brxe-rrlhvp .brxa-inner {
      		margin-top: -1px;
      }
      #brxe-rrlhvp .brxa-inner::before {
      		top: -6px;
      }
      #brxe-rrlhvp .brxa-inner::after {
      		bottom: -6px;
      }
      #brxe-rrlhvp.is-active .brxa-inner::before {
      		top: 0;
      }
      #brxe-rrlhvp.is-active .brxa-inner::after {
      		bottom: 0;
      }
      #brxe-fjxnll.brx-open .brx-nav-nested-items {
      		top: calc(68px + var(--wp-admin--admin-bar--height, 0px)) !important;
      }
}

/* Linki w treści – wyraźnie widoczne (kolor + podkreślenie), bez przycisków */
#brx-content :is(.brxe-text, .brxe-text-basic, .brxe-post-content) a:not(.bricks-button):not(.wp-block-button__link):not(.wp-element-button) {
  color: #226476;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(34, 100, 118, .45);
  transition: color .2s ease, text-decoration-color .2s ease;
}
#brx-content :is(.brxe-text, .brxe-text-basic, .brxe-post-content) a:not(.bricks-button):not(.wp-block-button__link):not(.wp-element-button):hover,
#brx-content :is(.brxe-text, .brxe-text-basic, .brxe-post-content) a:not(.bricks-button):not(.wp-block-button__link):not(.wp-element-button):focus-visible {
  color: #C25E3C;
  text-decoration-color: currentColor;
}

/* Menu główne – aktywna pozycja po najechaniu: biały tekst na ciemniejszym granacie */
.brx-nav-nested-items > li:hover > a[aria-current="page"],
.brx-nav-nested-items > li > a[aria-current="page"]:focus-visible {
  color: var(--paper, #fff) !important;
  background-color: var(--navy-deep, #0F2438) !important;
}

/* Tagi (adres, godziny, cena, udogodnienia) – zawsze w jednym wierszu, przewijane w bok */
#brx-content div:has(> .chip-adress),
#brx-content div:has(> .chip-time),
#brx-content div:has(> .chip-price) {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  max-width: 100%;
}
#brx-content div:has(> .chip-adress)::-webkit-scrollbar,
#brx-content div:has(> .chip-time)::-webkit-scrollbar,
#brx-content div:has(> .chip-price)::-webkit-scrollbar { display: none; }
#brx-content .kt-chips-scroll { cursor: grab; }
#brx-content .kt-chips-scroll.kt-dragging { cursor: grabbing; }
/* udogodnienia z pętli (karta obiektu) płyną w tym samym wierszu */
#brx-content div:has(> .chip-adress) > div:not([class*="chip-"]),
#brx-content div:has(> .chip-adress) > div:not([class*="chip-"]) > div:not([class*="chip-"]) { display: contents; }
#brx-content [class*="chip-"] { flex: 0 0 auto; white-space: nowrap; }
/* własny cienki pasek pod tagami (jednakowy w każdej przeglądarce, tylko gdy tagi się nie mieszczą) */
.kt-chipbar { position: relative; height: 3px; margin-top: 6px; margin-bottom: -9px; border-radius: 3px; background: transparent; width: 100%; max-width: 100%; flex: 0 0 auto; align-self: stretch; }
.kt-chipbar[hidden] { display: none; }
.kt-chipbar__thumb { position: absolute; top: 0; left: 0; height: 100%; border-radius: 3px; background: rgba(22, 50, 63, .28); }

/* Wyszukiwarka w nagłówku – przycisk zamknięcia przy polu (przenoszony skryptem do formularza) */
#brxe-elpilu .bricks-search-form { position: relative; }
#brxe-elpilu .bricks-search-form input[type="search"] {
  width: min(560px, 100%) !important;
  padding-left: 64px !important;
  padding-right: 64px !important;
}
#brxe-elpilu .bricks-search-form .close {
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  left: calc(50% + min(280px, 50%) - 54px) !important;
  transform: translateY(-50%);
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--line, #E4DED3) !important;
  background: #fff !important;
  color: var(--navy, #1B3A5B) !important;
  font-size: 0 !important;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
#brxe-elpilu .bricks-search-form .close svg { width: 18px; height: 18px; }
#brxe-elpilu .bricks-search-form .close:hover,
#brxe-elpilu .bricks-search-form .close:focus-visible {
  background: var(--navy, #1B3A5B) !important;
  border-color: var(--navy, #1B3A5B) !important;
  color: #fff !important;
}
@media (max-width: 767px) {
  #brxe-elpilu .bricks-search-form input[type="search"] {
    font-size: 20px !important;
    padding-left: 52px !important;
    padding-right: 52px !important;
  }
}

/* SEO (strona główna): tytuły slajdów 2-6 jako div oraz klony slidera – wygląd jak dotychczasowe nagłówki */
.hero-slider div.brxe-heading { font-family: Fraunces; font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; text-rendering: optimizelegibility; }

/* SEO (strona główna): miejsca w zakładkach „Wybrane miejsca” jako h4 – wygląd jak dotychczasowe h2 */
#brxe-xgvmok h4.brxe-heading { font-size: 38px; line-height: 1.1; }
@media (max-width: 991px) { #brxe-xgvmok h4.brxe-heading { font-size: 28px; } }
@media (max-width: 767px) { #brxe-xgvmok h4.brxe-heading { font-size: 26px; } }

/* SEO: tytuł nakładki wyszukiwarki jako div – wygląd jak dotychczasowy h3 */
.bricks-search-overlay div.title { font-family: Fraunces; font-weight: 600; line-height: 1.2; letter-spacing: -0.015em; text-rendering: optimizelegibility; }

/* Baner zgody na cookies (Google Analytics) */
.kt-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 10000; max-width: 760px; margin: 0 auto; display: flex; align-items: center; gap: 20px; padding: 18px 22px; background: var(--navy-deep, #16323f); color: #F7F4EE; border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.25); font-size: 14px; line-height: 1.5; }
.kt-cookies[hidden] { display: none; }
.kt-cookies__txt { margin: 0; flex: 1; }
.kt-cookies__txt a { color: #5BA7B8; text-decoration: underline; }
.kt-cookies__txt a:hover { color: #F7F4EE; }
.kt-cookies__btns { display: flex; gap: 10px; flex-shrink: 0; }
.kt-cookies__btn { cursor: pointer; border: 1px solid #F7F4EE; background: #F7F4EE; color: #16323f; font: 600 14px/1 Inter, sans-serif; padding: 12px 18px; border-radius: 999px; transition: all .2s ease; }
.kt-cookies__btn:hover { background: #5BA7B8; border-color: #5BA7B8; color: #fff; }
.kt-cookies__btn--ghost { background: transparent; color: #F7F4EE; }
@media (max-width: 767px) { .kt-cookies { flex-direction: column; align-items: stretch; gap: 14px; left: 10px; right: 10px; bottom: 10px; } .kt-cookies__btns .kt-cookies__btn { flex: 1; } }

/* Strona 404 */
.kt-404-chip { display: inline-block; padding: 9px 18px; border: 1px solid rgba(15,36,56,.18); border-radius: 999px; font-size: 14px; font-weight: 500; color: #226476; text-decoration: none; background: #fff; transition: all .2s ease; }

.kt-404-btn.brxe-button { display: inline-flex; align-items: center; gap: 10px; background: #0F2438; color: #fff; border-radius: 25px; padding: 14px 22px; font-size: 15px; font-weight: 600; border: 0; transition: all .2s ease; }

#brxe-kt404s, #brxe-kt404s .bricks-search-form { width: 100%; }
#brxe-kt404s input[type="search"] { width: 100%; height: 56px; padding: 0 24px; border: 1px solid rgba(15,36,56,.18); border-radius: 999px; background: #fff; font-size: 16px; color: #0F2438; }
#brxe-kt404s input[type="search"]:focus { outline: none; border-color: #226476; box-shadow: 0 0 0 3px rgba(34,100,118,.15); }

/* Wyniki wyszukiwania – karty w stylu serwisu */
h1.kt-search-title { font-size: clamp(30px, 4vw, 46px); line-height: 1.15; text-align: center; margin: 0; }
.kt-search-grid .bricks-layout-item { list-style: none; }
.kt-search-grid .bricks-layout-inner { position: relative; height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(15,36,56,.08); border-radius: 20px; overflow: hidden; box-shadow: 0 6px 24px rgba(15,36,56,.06); transition: transform .25s ease, box-shadow .25s ease; }
.kt-search-grid .bricks-layout-inner:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(15,36,56,.12); }
.kt-search-grid .image-wrapper { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; }
.kt-search-grid .image-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.kt-search-grid .bricks-layout-inner:hover .image-wrapper img { transform: scale(1.04); }
.kt-search-grid .content-wrapper { flex: 1; display: flex; flex-direction: column; padding: 20px 24px 24px; }
.kt-search-label { margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #226476; }
.kt-search-grid h2 { font-family: Fraunces, Georgia, serif; font-size: 22px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; color: #0F2438; }
.kt-search-grid h2 a { color: inherit; text-decoration: none; transition: color .2s ease; }
.kt-search-grid h2 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.kt-search-grid .bricks-layout-inner:hover h2 a { color: #226476; }
.kt-search-grid .content-wrapper p { font-size: 15px; line-height: 1.55; color: var(--muted, #5b6b73); }
.kt-search-grid [data-field-id="qvuuic"] { margin-top: auto; }
.kt-search-grid [data-field-id="qvuuic"] a { font-size: 14px; font-weight: 600; color: #226476; text-decoration: none; transition: color .2s ease; }
.kt-search-grid [data-field-id="qvuuic"] a::after { content: " →"; }
.kt-search-grid .bricks-layout-inner:hover [data-field-id="qvuuic"] a { color: #C25E3C; }
.kt-search-grid .bricks-pagination ul { gap: 8px; }
.kt-search-grid .bricks-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border-radius: 999px; text-decoration: none; transition: background .2s ease; }
.kt-search-grid .bricks-pagination a.page-numbers:hover { background: rgba(34,100,118,.1); }
.kt-search-grid .bricks-pagination .page-numbers.current { background: #0F2438; color: #fff; }

/* ===== Spójny system przycisków i linków ===== */
/* 1. Przyciski wypełnione (granatowe) – hover: morski */
#brx-content .bricks-button, #brx-content .kt-404-chip, #brx-content .add-info a, #brxe-hhblfu { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
#brx-content .bricks-button:hover { background-color: #226476; color: #fff; }
#brx-content .bricks-button i { transition: transform .2s ease; }
#brx-content .bricks-button:hover i { transform: translateX(4px); }
/* 2. Przyciski obrysowe (białe) – hover jak wypełnione */
#brx-content .bricks-button.kt-button:hover, #brxe-cnnpbf:hover { background-color: #226476; border-color: #226476; color: #fff; }
/* 3. Przyciski tekstowe „Zobacz wszystkie …” – hover: kolor linku, bez tła */
#brx-content a#brxe-onhcnd:hover, #brx-content a#brxe-quehez:hover, #brx-content a#brxe-iqvnat:hover { background-color: transparent; color: #C25E3C; }
/* 4. Pigułki-linki (404, dodatkowe informacje na karcie obiektu) */
#brx-content .kt-404-chip:hover { background: #226476; border-color: #226476; color: #fff; }
#brx-content .brxe-text-basic.add-info a { text-decoration: none !important; }
#brx-content .brxe-text-basic.add-info a:hover { background: #226476 !important; border-color: #226476 !important; color: #fff !important; }
/* 5. Akcent „Otwórz w Google Maps” */
#brxe-hhblfu:hover { background-color: #A84D2F; color: #fff; }
/* 6. Linki tekstowe (telefony, e-maile, linki w treści) – hover: terakota */
#brx-content a.brxe-text-link:not(.kt-404-chip):not(#brxe-hhblfu):hover { color: #C25E3C; }

/* 7. Pigułki kontaktowe na karcie obiektu (telefon, e-mail) – cała pigułka klikalna, hover jak pozostałe pigułki */
#brx-content .brxe-bkueup, #brx-content .brxe-aansdz { position: relative; transition: background-color .2s ease, color .2s ease; }
#brx-content .brxe-bkueup a.brxe-text-link::after, #brx-content .brxe-aansdz a.brxe-text-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
#brx-content .brxe-bkueup:hover, #brx-content .brxe-aansdz:hover { background-color: #226476; }
#brx-content .brxe-bkueup:hover a.brxe-text-link, #brx-content .brxe-aansdz:hover a.brxe-text-link, #brx-content .brxe-bkueup:hover i, #brx-content .brxe-aansdz:hover i { color: #fff !important; }


/* ===== Galeria obiektu: układ dla 2, 3 i 4 zdjęć (bez pustych pól) ===== */
@media (min-width: 768px) {
  /* Duży kafel nie może rozpychać wierszy (pionowe zdjęcie dawało większe odstępy) */
  .kt-gallery .kt-hero .kt-tile:first-child:not(:last-child) img,
  .kt-gallery .kt-hero .kt-tile:first-child:not(:last-child) video { position: absolute; inset: 0; }
  /* 2 zdjęcia: dwa równe kafle */
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(2):last-child) > .kt-tile { grid-area: auto; aspect-ratio: 4 / 3; }
  /* 3 zdjęcia: duże po lewej + dwa po prawej */
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(3):last-child) { grid-template-columns: 2fr 1fr; }
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(3):last-child) > .kt-tile:first-child { grid-area: span 2 / span 1; }
  /* 4 zdjęcia: duże + dwa małe + jedno szerokie */
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(4):last-child) > .kt-tile:last-child { grid-column: span 2; aspect-ratio: 2 / 1; }
}
@media (max-width: 767px) {
  /* 2 i 4 zdjęcia: ostatnie na pełną szerokość, żeby nie zostawało puste pole */
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(2):last-child) > .kt-tile:last-child,
  .kt-gallery .kt-hero:has(> .kt-tile:nth-child(4):last-child) > .kt-tile:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
}


/* ===== Biały boks adresu: ukryj pusty kontener telefonów/maili (bez dziury) ===== */
#brxe-tizpfm > div:empty { display: none; }
#brxe-tizpfm:not(:has(> div:not(:empty))) { display: none; }

/* ===== Strona informacyjna – układ artykułu (.kt-page) ===== */
.kt-page { width: 100%; }
.kt-page .kt-hero-img { margin: 0 0 36px; }
.kt-page .kt-hero-img img { width: 100%; aspect-ratio: 21 / 9; max-height: 460px; object-fit: cover; border-radius: 16px; display: block; }
.kt-page figcaption { font-size: 14px; color: var(--ink-2); margin-top: 8px; }
.kt-page .kt-two { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; margin-bottom: 36px; }
.kt-page .kt-card { background: #F6F2EA; border-radius: 16px; padding: 18px; }
.kt-page .kt-card img { width: 100%; height: 250px; object-fit: cover; object-position: 50% 12%; border-radius: 12px; display: block; }
.kt-page .kt-card h3 { font-size: 20px; margin: 16px 0 10px; }
.kt-page .kt-card ul { list-style: none; margin: 0; padding: 0; }
.kt-page .kt-card li { font-size: 15px; line-height: 1.45; padding: 7px 0; border-top: 1px solid rgba(27,58,91,.12); }
.kt-page .kt-card li strong { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #B08A3E; margin-bottom: 2px; }
.kt-page .kt-body h2:first-child { margin-top: 0; }
.kt-page .kt-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 8px 0 36px; }
.kt-page .kt-tiles figure { margin: 0; }
.kt-page .kt-tiles img { width: 100%; height: 320px; object-fit: cover; object-position: top; border-radius: 16px; display: block; background: #F6F2EA; }
.kt-page .kt-tiles .kt-contain img { object-fit: contain; padding: 24px; }
.kt-page .kt-cta { margin-top: 24px; }
@media (max-width: 900px) {
  .kt-page .kt-two { grid-template-columns: 1fr; gap: 24px; }
  .kt-page .kt-card { display: grid; grid-template-columns: 140px 1fr; gap: 16px; align-items: start; }
  .kt-page .kt-card h3 { margin-top: 0; }
  .kt-page .kt-tiles { grid-template-columns: 1fr; }
  .kt-page .kt-tiles img { height: 260px; }
}
@media (max-width: 560px) { .kt-page .kt-card { grid-template-columns: 1fr; } .kt-page .kt-card img { max-width: 220px; height: auto; } }


/* Tabele cen/godzin w treści obiektu */
/* 1. Opis pod nazwą jest w <sup>, który domyślnie ma line-height:0 – stąd rozjechana interlinia przy zawijaniu */
#brx-content .post-detail-cnt table sup { font-size: .8125em; line-height: 1.5; vertical-align: baseline; }
/* 2. has-fixed-layout dzieli kolumny po równo – auto daje opisowi tyle miejsca, ile zostaje po cenie.
   Tylko od 768px: na telefonie kolumna z ceną robi się za wąska i łamie słowa (DBL/TWIN). */
@media (min-width: 768px) {
  #brx-content .post-detail-cnt table.has-fixed-layout { table-layout: auto; }
}


/* HERO SLIDER: tekst wjeżdża z przeciwnej strony niż obrazek.
   Kierunek ustawia skrypt w functions.php przez atrybut data-kt-dir.
   Domyślna widoczność to opacity:1, żeby tekst nie zniknął, gdyby animacje nie zadziałały. */
.hero-slider .splide__slide .brxe-container > .brxe-div > * { opacity: 1; }
.hero-slider .splide__slide:not(.is-active) .brxe-container > .brxe-div > * { opacity: 0; }
.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > * {
	animation: ktHeroIn .85s cubic-bezier(.22,.61,.36,1) both;
}
.hero-slider[data-kt-dir="prev"] .splide__slide.is-active .brxe-container > .brxe-div > * {
	animation-name: ktHeroInPrev;
}
.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > *:nth-child(1) { animation-delay: .05s; }
.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > *:nth-child(2) { animation-delay: .12s; }
.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > *:nth-child(3) { animation-delay: .19s; }
.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > *:nth-child(4) { animation-delay: .26s; }
@keyframes ktHeroIn { from { opacity: 0; transform: translateX(-70px); } to { opacity: 1; transform: none; } }
@keyframes ktHeroInPrev { from { opacity: 0; transform: translateX(70px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) {
	@keyframes ktHeroIn { from { opacity: 0; transform: translateX(-36px); } to { opacity: 1; transform: none; } }
	@keyframes ktHeroInPrev { from { opacity: 0; transform: translateX(36px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
	.hero-slider .splide__slide .brxe-container > .brxe-div > *,
	.hero-slider .splide__slide.is-active .brxe-container > .brxe-div > * { animation: none; opacity: 1; }
}


/* Poziomy film jako pierwszy kafel galerii: slot na desktopie jest kwadratowy,
   wiec zamiast przycinac klatke 16:9 pokazujemy ja w calosci na granatowym tle. */
.kt-gallery .kt-hero .kt-tile:first-child.kt-video:not([data-short]) {
	background: #0f2438;
}
.kt-gallery .kt-hero .kt-tile:first-child.kt-video:not([data-short]) img {
	object-fit: contain;
}


/* FILM W GALERII NA TELEFONIE
   Na mobile film nie otwiera sie w lightboxie (YouTube blokowal autoplay z dzwiekiem),
   tylko rusza w samym kafelku. Pierwszy kafel startuje sam, wyciszony. */
@media (max-width: 768px) {
	.kt-gallery .kt-tile.kt-video.is-playing {
		background: #000;
		cursor: default;
	}
	.kt-gallery .kt-tile.kt-video.is-playing iframe,
	.kt-gallery .kt-tile.kt-video.is-playing video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
		display: block;
		object-fit: contain;
		background: #000;
	}
	.kt-gallery .kt-tile.kt-video.is-playing .kt-play {
		display: none;
	}
	/* maly okragly przelacznik dzwieku: przekreslony glosnik = wyciszony */
	.kt-gallery .kt-unmute {
		position: absolute;
		top: 10px;
		left: 10px;
		z-index: 3;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		font-size: 0;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		background-color: rgba(0, 0, 0, .28);
		filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .45));
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 21px 21px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9.5v5h3.6L12 18V6L7.6 9.5H4z' fill='%23fff'/%3E%3Cpath d='M16.2 9.2l4.6 5.6M20.8 9.2l-4.6 5.6' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
	}
	.kt-gallery .kt-unmute.kt-on {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9.5v5h3.6L12 18V6L7.6 9.5H4z' fill='%23fff'/%3E%3Cpath d='M15.3 9.4a3.7 3.7 0 010 5.2' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' fill='none'/%3E%3Cpath d='M18.1 6.8a7.4 7.4 0 010 10.4' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
	}
	.kt-gallery .kt-unmute:hover,
	.kt-gallery .kt-unmute:focus-visible {
		background-color: rgba(0, 0, 0, .5);
	}
}


/* OKRUSZKI (breadcrumbs) NA TELEFONIE
   Zamiast zawijac sie do drugiego wiersza - jeden wiersz przewijany w bok,
   tak jak tagi, ale bez paska .kt-chipbar pod spodem. Skrypt przewija na koniec. */
@media (max-width: 768px) {
	#brx-content .brxe-breadcrumbs {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		max-width: 100%;
		min-width: 0;
	}
	#brx-content .brxe-breadcrumbs::-webkit-scrollbar {
		display: none;
	}
	#brx-content .brxe-breadcrumbs > * {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}
