/* =========================================================
   LOCO REAL ESTATE – KOMPLETNY CSS
   PODSTRONY INWESTYCJI + PODSTRONY DZIELNICOWE
   WERSJA 6 / PREMIUM / SEO / RESPONSIVE

   ZASADA WDROŻENIA:
   Usuń wszystkie wcześniejsze sekcje CSS dotyczące:
   1) podstron inwestycji,
   2) podstron dzielnicowych,
   a następnie wklej TEN plik jako jeden spójny blok.
   ========================================================= */

/* =========================================================
   LOCO REAL ESTATE – PODSTRONY INWESTYCJI
   WERSJA 3 / SPÓJNA / PREMIUM / SEO / RECAPTCHA

   Zastępuje cały dotychczasowy fragment CSS dotyczący
   podstron inwestycji – od komentarza:
   "LOCO REAL ESTATE – WSPÓLNY SZABLON PODSTRON INWESTYCJI"
   aż do komentarza rozpoczynającego CSS podstron dzielnicowych.

   Wymagane klasy bloków w WordPressie:
   loco-hero-full
   loco-building-facts-row
   loco-building-intro
   loco-building-gallery
   loco-building-content
   loco-bottom-content
   loco-similar-investments
   loco-investments-grid
   loco-faq
   loco-contact-section
   loco-contact-columns
   ========================================================= */

/* =========================================================
   0. ZMIENNE I USTAWIENIA GLOBALNE
   ========================================================= */

:root {
  --loco-purple: #2f0d45;
  --loco-purple-dark: #240833;
  --loco-gold: #bd9650;
  --loco-gold-light: #d7bb83;
  --loco-beige: #f1ece7;
  --loco-beige-light: #f7f4f1;
  --loco-text: #433b45;
  --loco-muted: #746c75;
  --loco-line: #ded7df;
  --loco-white: #ffffff;
  --loco-shadow: 0 18px 45px rgba(47, 13, 69, 0.08);
  --loco-content-wide: 1380px;
  --loco-content: 1240px;
  --loco-text-width: 780px;
}

body:has(.loco-hero-full) {
  overflow-x: hidden !important;
  color: var(--loco-text) !important;
  background: var(--loco-white) !important;
}

body:has(.loco-hero-full),
body:has(.loco-hero-full) button,
body:has(.loco-hero-full) input,
body:has(.loco-hero-full) select,
body:has(.loco-hero-full) textarea {
  font-family: "Open Sans", Arial, sans-serif !important;
}

body:has(.loco-hero-full) h1,
body:has(.loco-hero-full) h2,
body:has(.loco-hero-full) h3,
body:has(.loco-hero-full) h4 {
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.015em !important;
}

body:has(.loco-hero-full) p,
body:has(.loco-hero-full) li {
  color: var(--loco-text) !important;
}

body:has(.loco-hero-full) a {
  text-underline-offset: 3px;
}

/* =========================================================
   1. NAGŁÓWEK STRONY I USUNIĘCIE ELEMENTÓW MOTYWU
   ========================================================= */

body:has(.loco-hero-full) #header {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--loco-white) !important;
}

body:has(.loco-hero-full) #header::before,
body:has(.loco-hero-full) #header::after {
  display: none !important;
  content: none !important;
}

body:has(.loco-hero-full) #header .main-part {
  position: relative !important;
  inset: auto !important;
  z-index: 100 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 88px !important;
  margin: 0 !important;
  padding: 8px 32px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 2px 14px rgba(47, 13, 69, 0.07) !important;
  box-sizing: border-box !important;
}

body:has(.loco-hero-full) #header .main-part img,
body:has(.loco-hero-full) #header .logo img,
body:has(.loco-hero-full) #header .main-logo img {
  display: block !important;
  width: auto !important;
  max-width: 165px !important;
  max-height: 68px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

body:has(.loco-hero-full) #header .main-part a,
body:has(.loco-hero-full) #header .main-part li {
  color: var(--loco-purple) !important;
}

body:has(.loco-hero-full) #head-page,
body:has(.loco-hero-full) .page-header,
body:has(.loco-hero-full) header.entry-header,
body:has(.loco-hero-full) .page-title,
body:has(.loco-hero-full) .title-page,
body:has(.loco-hero-full) #slider {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body:has(.loco-hero-full) main,
body:has(.loco-hero-full) #main,
body:has(.loco-hero-full) #primary,
body:has(.loco-hero-full) #start,
body:has(.loco-hero-full) .site-main,
body:has(.loco-hero-full) .content-area,
body:has(.loco-hero-full) .entry-content,
body:has(.loco-hero-full) .the-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   2. HERO
   ========================================================= */

.loco-hero-full {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: clamp(540px, 70vh, 760px) !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(72px, 8vw, 116px) clamp(32px, 6vw, 92px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.loco-hero-full img.wp-block-cover__image-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 38% 50% !important;
  transform: scale(1.002);
}

.loco-hero-full .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(20, 7, 28, 0.62) 0%, rgba(20, 7, 28, 0.36) 46%, rgba(20, 7, 28, 0.08) 78%, rgba(20, 7, 28, 0.02) 100%) !important;
  opacity: 1 !important;
}

.loco-hero-full .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: var(--loco-content-wide) !important;
  margin: 0 auto !important;
  text-align: left !important;
}

body:has(.loco-hero-full) .loco-hero-full h1 {
  max-width: 760px !important;
  margin: 0 0 15px !important;
  color: var(--loco-white) !important;
  font-size: clamp(48px, 5.5vw, 80px) !important;
  line-height: 1.01 !important;
  text-align: left !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.35) !important;
}

body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > h1 + p {
  max-width: 650px !important;
  margin: 0 0 15px !important;
  color: var(--loco-gold-light) !important;
  font-size: clamp(13px, 1.1vw, 16px) !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) !important;
}

body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > p:nth-of-type(2) {
  max-width: 610px !important;
  margin: 0 0 29px !important;
  color: var(--loco-white) !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  text-align: left !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) !important;
}

.loco-hero-full .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 0 !important;
}

.loco-hero-full .wp-block-button {
  margin: 0 !important;
}

.loco-hero-full .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 15px 28px !important;
  border-radius: 2px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.loco-hero-full .wp-block-button:first-child .wp-block-button__link {
  color: var(--loco-purple-dark) !important;
  background: var(--loco-gold-light) !important;
  border: 1px solid var(--loco-gold-light) !important;
}

.loco-hero-full .wp-block-button:nth-child(2) .wp-block-button__link {
  color: var(--loco-white) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(2px);
}

.loco-hero-full .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
}

.loco-hero-full .wp-block-button:first-child .wp-block-button__link:hover {
  background: var(--loco-white) !important;
  border-color: var(--loco-white) !important;
}

.loco-hero-full .wp-block-button:nth-child(2) .wp-block-button__link:hover {
  color: var(--loco-purple) !important;
  background: var(--loco-white) !important;
  border-color: var(--loco-white) !important;
}


body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > p {
  color: var(--loco-white) !important;
}

body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > h1 + p {
  color: var(--loco-gold-light) !important;
}

/* =========================================================
   3. PASEK DANYCH INWESTYCJI
   ========================================================= */

.loco-building-facts-row {
  display: grid !important;
  grid-template-columns: 0.95fr 1.35fr 1fr 1fr 1.15fr 0.85fr !important;
  align-items: center !important;
  gap: 28px !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 31px clamp(34px, 5vw, 82px) !important;
  background: var(--loco-beige) !important;
  border-top: 1px solid rgba(47, 13, 69, 0.04) !important;
  border-bottom: 1px solid rgba(47, 13, 69, 0.04) !important;
  box-sizing: border-box !important;
}

.loco-building-facts-row > .wp-block-column {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 4px !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.loco-building-facts-row .wp-block-image {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-building-facts-row .wp-block-image img {
  display: block !important;
  width: 31px !important;
  height: 31px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.loco-building-facts-row p:first-of-type {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  color: #6a626b !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.loco-building-facts-row p:last-of-type {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  color: var(--loco-purple) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  text-align: left !important;
}

/* =========================================================
   4. SEKCJA WPROWADZAJĄCA
   ========================================================= */

.loco-building-intro {
  width: 100% !important;
  max-width: var(--loco-content-wide) !important;
  margin: 0 auto !important;
  padding: clamp(76px, 8vw, 118px) clamp(28px, 4vw, 58px) !important;
  box-sizing: border-box !important;
}

.loco-building-intro > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  gap: clamp(58px, 7vw, 108px) !important;
  align-items: center !important;
  margin: 0 !important;
}

.loco-building-intro .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.loco-building-intro h2 {
  max-width: 620px !important;
  margin: 0 0 28px !important;
  font-size: clamp(44px, 4.2vw, 66px) !important;
  line-height: 1.08 !important;
}

.loco-building-intro p {
  max-width: 630px !important;
  margin: 0 0 18px !important;
  color: var(--loco-text) !important;
  font-size: 16px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
}

.loco-building-intro .wp-block-buttons {
  margin-top: 31px !important;
}

.loco-building-intro .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 14px 30px !important;
  color: var(--loco-purple) !important;
  background: transparent !important;
  border: 1px solid var(--loco-gold) !important;
  border-radius: 2px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.loco-building-intro .wp-block-button__link:hover {
  color: var(--loco-white) !important;
  background: var(--loco-purple) !important;
  border-color: var(--loco-purple) !important;
  transform: translateY(-1px) !important;
}

.loco-building-intro .wp-block-image {
  margin: 0 !important;
}

.loco-building-intro .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: clamp(520px, 49vw, 690px) !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  box-shadow: var(--loco-shadow) !important;
}

/* =========================================================
   5. GALERIA – DUŻE KADRY + PRZEWIJANIE
   ========================================================= */

.wp-block-heading:has(+ .wp-block-gallery.loco-building-gallery) {
  width: calc(100% - 64px) !important;
  max-width: var(--loco-content-wide) !important;
  margin: 0 auto 34px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(42px, 4vw, 60px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.wp-block-gallery.loco-building-gallery {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: calc(100% - 64px) !important;
  max-width: var(--loco-content-wide) !important;
  margin: 0 auto clamp(80px, 8vw, 112px) !important;
  padding: 0 0 16px !important;
  gap: 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--loco-gold) var(--loco-beige) !important;
  box-sizing: border-box !important;
}

.wp-block-gallery.loco-building-gallery::-webkit-scrollbar {
  height: 7px !important;
}

.wp-block-gallery.loco-building-gallery::-webkit-scrollbar-track {
  background: var(--loco-beige) !important;
  border-radius: 20px !important;
}

.wp-block-gallery.loco-building-gallery::-webkit-scrollbar-thumb {
  background: var(--loco-gold) !important;
  border-radius: 20px !important;
}

.wp-block-gallery.loco-building-gallery figure.wp-block-image {
  display: block !important;
  flex: 0 0 360px !important;
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  height: 250px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
}

.wp-block-gallery.loco-building-gallery figure.wp-block-image:first-child {
  flex-basis: 520px !important;
  width: 520px !important;
  min-width: 520px !important;
  max-width: 520px !important;
}

.wp-block-gallery.loco-building-gallery figure.wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.4s ease, opacity 0.3s ease !important;
}

.wp-block-gallery.loco-building-gallery figure.wp-block-image:hover img {
  transform: scale(1.025) !important;
  opacity: 0.97 !important;
}

/* =========================================================
   6. ARCHITEKTURA I LOKALIZACJA
   ========================================================= */

.loco-building-content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  width: calc(100% - 64px) !important;
  max-width: var(--loco-content-wide) !important;
  margin: 0 auto !important;
  padding: 0 0 clamp(86px, 8vw, 126px) !important;
  gap: clamp(54px, 6vw, 92px) !important;
  box-sizing: border-box !important;
}

.loco-building-content > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-building-content > .wp-block-column:nth-child(2) {
  padding-top: 0 !important;
}

.loco-building-content h2,
.loco-building-content h3 {
  max-width: 560px !important;
  margin: 0 0 30px !important;
  font-size: clamp(38px, 3.2vw, 50px) !important;
  line-height: 1.1 !important;
  text-align: left !important;
}

.loco-building-content p {
  max-width: 590px !important;
  margin: 0 0 19px !important;
  color: var(--loco-text) !important;
  font-size: 16px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
}

.loco-building-content a {
  color: var(--loco-purple) !important;
  text-decoration-color: var(--loco-gold) !important;
}

/* =========================================================
   7. PODOBNE INWESTYCJE I FAQ
   ========================================================= */

.loco-bottom-content {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr) !important;
  align-items: start !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(78px, 8vw, 112px) max(32px, calc((100vw - var(--loco-content-wide)) / 2)) !important;
  gap: clamp(58px, 7vw, 110px) !important;
  background: var(--loco-beige-light) !important;
  box-sizing: border-box !important;
}

.loco-bottom-content > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-similar-investments,
.loco-faq {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-similar-investments h2,
.loco-similar-investments h3,
.loco-similar-investments > p:first-child,
.loco-faq h2,
.loco-faq h3,
.loco-faq > p:first-child {
  margin: 0 0 36px !important;
  font-size: clamp(39px, 3.6vw, 56px) !important;
  line-height: 1.1 !important;
  text-align: left !important;
}

.loco-investments-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-investments-grid > .wp-block-column {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-basis: auto !important;
}

.loco-investments-grid .wp-block-image {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.loco-investments-grid .wp-block-image a {
  display: block !important;
  text-decoration: none !important;
}

.loco-investments-grid .wp-block-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 260px !important;
  margin: 0 !important;
  object-fit: cover !important;
  transform: none !important;
  transition: transform 0.4s ease, opacity 0.3s ease, box-shadow 0.3s ease !important;
}

.loco-investments-grid .wp-block-image a:hover img {
  transform: scale(1.025) !important;
  opacity: 0.96 !important;
  box-shadow: var(--loco-shadow) !important;
}

.loco-faq details {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--loco-line) !important;
}

.loco-faq details:last-child {
  border-bottom: 1px solid var(--loco-line) !important;
}

.loco-faq summary {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 21px 48px 21px 0 !important;
  color: var(--loco-purple) !important;
  background: transparent !important;
  cursor: pointer !important;
  list-style: none !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

.loco-faq summary::-webkit-details-marker {
  display: none !important;
}

.loco-faq summary::after {
  content: "+" !important;
  position: absolute !important;
  top: 18px !important;
  right: 4px !important;
  color: var(--loco-gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}

.loco-faq details[open] summary::after {
  content: "−" !important;
}

.loco-faq details > *:not(summary) {
  margin: 0 !important;
  padding: 0 45px 23px 0 !important;
  color: #514a53 !important;
  font-size: 14px !important;
  line-height: 1.78 !important;
}

/* =========================================================
   8. KONTAKT – PEŁNA SZEROKOŚĆ TŁA
   ========================================================= */

.loco-contact-section {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(78px, 8vw, 112px) max(32px, calc((100vw - var(--loco-content)) / 2)) clamp(82px, 8vw, 118px) !important;
  background: var(--loco-beige) !important;
  box-sizing: border-box !important;
}

.loco-contact-section h2,
.loco-contact-section h3 {
  max-width: 900px !important;
  margin: 0 0 22px !important;
  font-size: clamp(43px, 4vw, 62px) !important;
  line-height: 1.08 !important;
}

.loco-contact-section > p {
  max-width: 980px !important;
  margin: 0 0 38px !important;
  color: var(--loco-text) !important;
  font-size: 16px !important;
  line-height: 1.82 !important;
}

.loco-contact-section > p a {
  color: var(--loco-purple) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--loco-gold) !important;
  text-underline-offset: 3px !important;
}

.loco-contact-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: var(--loco-content) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-contact-columns > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-contact-section details {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-contact-section summary {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 17px 52px 17px 22px !important;
  color: var(--loco-purple) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid var(--loco-gold) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  list-style: none !important;
  box-sizing: border-box !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

.loco-contact-section summary::-webkit-details-marker {
  display: none !important;
}

.loco-contact-section summary::after {
  content: "+" !important;
  position: absolute !important;
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  color: var(--loco-gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}

.loco-contact-section details[open] summary {
  color: var(--loco-white) !important;
  background: var(--loco-purple) !important;
  border-color: var(--loco-purple) !important;
}

.loco-contact-section details[open] summary::after {
  content: "−" !important;
  color: var(--loco-white) !important;
}

.loco-contact-section details .wp-block-contact-form-7-contact-form-selector,
.loco-contact-section details .wpcf7 {
  margin: 18px 0 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  background: var(--loco-white) !important;
  border: 1px solid var(--loco-line) !important;
  box-shadow: 0 12px 35px rgba(47, 13, 69, 0.05) !important;
  box-sizing: border-box !important;
}

.loco-contact-section .wpcf7 label {
  color: var(--loco-purple) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

.loco-contact-section .wpcf7 input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.loco-contact-section .wpcf7 select,
.loco-contact-section .wpcf7 textarea:not([name="g-recaptcha-response"]) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  padding: 12px 13px !important;
  color: #342d37 !important;
  background: var(--loco-white) !important;
  border: 1px solid #cbc3cc !important;
  border-radius: 1px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.loco-contact-section .wpcf7 textarea:not([name="g-recaptcha-response"]) {
  min-height: 130px !important;
  resize: vertical !important;
}

.loco-contact-section .wpcf7 input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.loco-contact-section .wpcf7 select:focus,
.loco-contact-section .wpcf7 textarea:not([name="g-recaptcha-response"]):focus {
  outline: none !important;
  border-color: var(--loco-gold) !important;
  box-shadow: 0 0 0 1px rgba(189, 150, 80, 0.22) !important;
}

/* Techniczne pole odpowiedzi Google reCAPTCHA musi pozostać niewidoczne. */
.loco-contact-section textarea[name="g-recaptcha-response"],
.loco-contact-section .g-recaptcha-response,
.loco-contact-section textarea.g-recaptcha-response {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  display: block !important;
  visibility: hidden !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 1px !important;
  max-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  resize: none !important;
  pointer-events: none !important;
}

.loco-contact-section .wpcf7 p {
  margin: 0 0 15px !important;
}

.loco-contact-section .item-acceptance {
  width: 100% !important;
}

.loco-contact-section .item-acceptance .item-content {
  display: block !important;
  width: 100% !important;
}

.loco-contact-section .loco-consent-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.loco-contact-section .loco-consent-row:last-child {
  margin-bottom: 0 !important;
}

.loco-contact-section .loco-consent-row .wpcf7-list-item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-contact-section .loco-consent-row label {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  column-gap: 11px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-contact-section .loco-consent-row input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  flex: none !important;
}

.loco-contact-section .loco-consent-row .acceptance-text {
  display: block !important;
  width: 100% !important;
  color: #4a414c !important;
  font-size: 12px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: left !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
}

.loco-contact-section .loco-consent-marketing .acceptance-text strong {
  display: block !important;
  margin-bottom: 2px !important;
  color: var(--loco-purple) !important;
  font-weight: 700 !important;
}

.loco-contact-section .loco-consent-row .acceptance-text a {
  color: var(--loco-purple) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--loco-gold) !important;
  text-underline-offset: 2px !important;
}

.loco-contact-section .item-recaptcha {
  margin-top: 24px !important;
}

.loco-contact-section .item-recaptcha .item-content {
  display: flex !important;
  justify-content: flex-start !important;
}

.loco-contact-section .wpcf7 input[type="submit"] {
  display: block !important;
  width: auto !important;
  min-width: 190px !important;
  margin: 22px auto 0 !important;
  padding: 14px 29px !important;
  color: var(--loco-white) !important;
  background: var(--loco-purple) !important;
  border: 1px solid var(--loco-purple) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.loco-contact-section .wpcf7 input[type="submit"]:hover {
  color: var(--loco-purple) !important;
  background: var(--loco-gold-light) !important;
  border-color: var(--loco-gold-light) !important;
}

/* =========================================================
   9. TABLETY
   ========================================================= */

@media (max-width: 1100px) {
  .loco-building-facts-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px 28px !important;
    padding: 29px 34px !important;
  }

  .loco-building-facts-row p:first-of-type {
    white-space: normal !important;
  }


  .loco-bottom-content {
    padding-right: 34px !important;
    padding-left: 34px !important;
  }

  .loco-contact-section {
    padding-right: 34px !important;
    padding-left: 34px !important;
  }
}

@media (max-width: 900px) {
  .loco-hero-full {
    min-height: 590px !important;
    padding: 72px 42px !important;
  }

  .loco-building-intro {
    padding: 76px 28px 86px !important;
  }

  .loco-building-intro > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .loco-building-intro .wp-block-image img {
    height: min(72vw, 650px) !important;
  }

  .wp-block-heading:has(+ .wp-block-gallery.loco-building-gallery),
  .wp-block-gallery.loco-building-gallery,
  .loco-building-content {
    width: calc(100% - 48px) !important;
  }

  .wp-block-gallery.loco-building-gallery figure.wp-block-image,
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:first-child {
    flex: 0 0 430px !important;
    width: 430px !important;
    min-width: 430px !important;
    max-width: 430px !important;
    height: 290px !important;
  }


  .loco-building-content,
  .loco-bottom-content {
    grid-template-columns: 1fr !important;
  }

  .loco-building-content {
    gap: 48px !important;
  }

  .loco-building-content > .wp-block-column:nth-child(2) {
    padding-top: 0 !important;
  }

  .loco-building-content p,
  .loco-building-content h2,
  .loco-building-content h3 {
    max-width: var(--loco-text-width) !important;
  }

  .loco-bottom-content {
    gap: 70px !important;
  }

  .loco-contact-columns {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   10. TELEFONY
   ========================================================= */

@media (max-width: 600px) {
  body:has(.loco-hero-full) #header .main-part {
    min-height: 72px !important;
    padding: 8px 18px !important;
  }

  body:has(.loco-hero-full) #header .main-part img,
  body:has(.loco-hero-full) #header .logo img,
  body:has(.loco-hero-full) #header .main-logo img {
    max-width: 135px !important;
    max-height: 54px !important;
  }

  .loco-hero-full {
    min-height: 560px !important;
    padding: 58px 22px !important;
  }

  .loco-hero-full img.wp-block-cover__image-background {
    object-position: 52% 50% !important;
  }

  .loco-hero-full .wp-block-cover__background {
    background: linear-gradient(90deg, rgba(20, 7, 28, 0.68) 0%, rgba(20, 7, 28, 0.46) 75%, rgba(20, 7, 28, 0.28) 100%) !important;
  }

  body:has(.loco-hero-full) .loco-hero-full h1 {
    font-size: 43px !important;
    line-height: 1.04 !important;
  }

  body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > h1 + p {
    font-size: 12px !important;
  }

  body:has(.loco-hero-full) .loco-hero-full .wp-block-cover__inner-container > p:nth-of-type(2) {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .loco-hero-full .wp-block-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .loco-hero-full .wp-block-button,
  .loco-hero-full .wp-block-button__link {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .loco-building-facts-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 14px !important;
    padding: 26px 18px !important;
  }

  .loco-building-facts-row > .wp-block-column {
    grid-template-columns: 29px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }

  .loco-building-facts-row .wp-block-image img {
    width: 25px !important;
    height: 25px !important;
  }

  .loco-building-facts-row p:first-of-type {
    font-size: 11px !important;
  }

  .loco-building-facts-row p:last-of-type {
    font-size: 14px !important;
  }

  .loco-building-intro {
    padding: 58px 20px 70px !important;
  }

  .loco-building-intro h2 {
    font-size: 39px !important;
    line-height: 1.1 !important;
  }

  .loco-building-intro p {
    font-size: 15px !important;
    line-height: 1.74 !important;
  }

  .loco-building-intro .wp-block-image img {
    height: 118vw !important;
    max-height: 560px !important;
  }

  .wp-block-heading:has(+ .wp-block-gallery.loco-building-gallery),
  .wp-block-gallery.loco-building-gallery,
  .loco-building-content {
    width: calc(100% - 36px) !important;
  }

  .wp-block-heading:has(+ .wp-block-gallery.loco-building-gallery) {
    margin-bottom: 24px !important;
    font-size: 38px !important;
  }

  .wp-block-gallery.loco-building-gallery {
    display: flex !important;
    flex-wrap: nowrap !important;
    min-height: 0 !important;
    margin-bottom: 68px !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: thin !important;
    scrollbar-color: var(--loco-gold) var(--loco-beige) !important;
  }

  .wp-block-gallery.loco-building-gallery figure.wp-block-image,
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:first-child,
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:nth-child(2),
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:nth-child(3),
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:nth-child(4),
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:nth-child(5),
  .wp-block-gallery.loco-building-gallery figure.wp-block-image:nth-child(n + 6) {
    display: block !important;
    flex: 0 0 83vw !important;
    width: 83vw !important;
    min-width: 83vw !important;
    max-width: 83vw !important;
    height: 270px !important;
    scroll-snap-align: start !important;
  }

  .loco-building-content {
    padding-bottom: 72px !important;
    gap: 44px !important;
  }

  .loco-building-content h2,
  .loco-building-content h3 {
    margin-bottom: 24px !important;
    font-size: 36px !important;
  }

  .loco-building-content p {
    font-size: 15px !important;
    line-height: 1.74 !important;
  }

  .loco-bottom-content {
    padding: 64px 20px 72px !important;
    gap: 58px !important;
  }

  .loco-similar-investments h2,
  .loco-similar-investments h3,
  .loco-similar-investments > p:first-child,
  .loco-faq h2,
  .loco-faq h3,
  .loco-faq > p:first-child {
    margin-bottom: 28px !important;
    font-size: 37px !important;
  }

  .loco-investments-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .loco-investments-grid .wp-block-image img {
    height: 280px !important;
  }

  .loco-contact-section {
    padding: 64px 20px 72px !important;
  }

  .loco-contact-section h2,
  .loco-contact-section h3 {
    font-size: 39px !important;
  }

  .loco-contact-section > p {
    font-size: 15px !important;
    line-height: 1.74 !important;
  }

  .loco-contact-section details .wpcf7 {
    padding: 20px !important;
  }

  .loco-contact-section .loco-consent-row label {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }

  .loco-contact-section .loco-consent-row .acceptance-text {
    font-size: 11px !important;
    line-height: 1.56 !important;
  }

  .loco-contact-section .item-recaptcha {
    overflow-x: auto !important;
  }
}

@media (max-width: 400px) {
  body:has(.loco-hero-full) .loco-hero-full h1 {
    font-size: 38px !important;
  }

  .loco-building-intro h2,
  .wp-block-heading:has(+ .wp-block-gallery.loco-building-gallery),
  .loco-building-content h2,
  .loco-building-content h3,
  .loco-similar-investments h2,
  .loco-similar-investments h3,
  .loco-similar-investments > p:first-child,
  .loco-faq h2,
  .loco-faq h3,
  .loco-faq > p:first-child,
  .loco-contact-section h2,
  .loco-contact-section h3 {
    font-size: 34px !important;
  }
}


/* =========================================================
   LOCO REAL ESTATE - PODSTRONY DZIELNICOWE PREMIUM
   Wersja pelna, wspolna dla Powisla, Mokotowa, Woli,
   Zoliborza, Wilanowa i kolejnych lokalizacji.

   Zastepuje CALY poprzedni fragment CSS zaczynajacy sie od:
   "LOCO REAL ESTATE - PODSTRONY DZIELNICOWE"

   WYMAGANE KLASY ISTNIEJACYCH BLOKOW:
   loco-location-hero
   loco-location-intro
   loco-location-eyebrow
   loco-location-title
   loco-location-text
   loco-location-buttons
   loco-location-value
   loco-location-value-columns
   loco-location-content
   loco-location-cta

   NOWE, OPCJONALNE KLASY DLA SEKCJI INWESTYCJI:
   loco-location-investments
   loco-location-investments-intro
   loco-location-investments-grid
   loco-location-investment-card
   loco-location-investment-image
   loco-location-investment-body

   UWAGA:
   Hero obsluguje wylacznie statyczna okladke ze zdjeciem.
   Ogolny film oraz globalny slider motywu sa ukryte.
   ========================================================= */

/* =========================================================
   1. ZMIENNE I USTAWIENIA OGOLNE
   ========================================================= */

body:has(.loco-location-intro) {
  --loco-purple: #2f0d45;
  --loco-purple-dark: #240833;
  --loco-gold: #bd9650;
  --loco-gold-light: #d4b778;
  --loco-beige: #f1ece7;
  --loco-beige-light: #f8f5f2;
  --loco-text: #433b45;
  --loco-text-soft: #685f69;
  --loco-border: rgba(47, 13, 69, 0.14);
  --loco-shadow: 0 18px 50px rgba(36, 8, 51, 0.08);

  overflow-x: hidden !important;
  color: var(--loco-text) !important;
  background: #ffffff !important;
  font-family: "Open Sans", Arial, sans-serif !important;
}

body:has(.loco-location-intro) *,
body:has(.loco-location-intro) *::before,
body:has(.loco-location-intro) *::after {
  box-sizing: border-box !important;
}

/* Ukrycie dodatkowych tytulow i naglowkow generowanych przez motyw */
body:has(.loco-location-intro) #primary article.post > h1.title,
body:has(.loco-location-intro) #head-page,
body:has(.loco-location-intro) .page-header,
body:has(.loco-location-intro) header.entry-header,
body:has(.loco-location-intro) .title-page,
body:has(.loco-location-intro) .page-title,
article.post:has(.loco-location-intro) > h1.title {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Usuniecie pustego miejsca nad trescia */
body:has(.loco-location-intro) #primary article.post,
body:has(.loco-location-intro) #primary article.post > .the-content,
body:has(.loco-location-intro) #primary article.post > .entry-content,
article.post:has(.loco-location-intro) > .the-content,
article.post:has(.loco-location-intro) > .entry-content,
body:has(.loco-location-intro) main#main,
body:has(.loco-location-intro) #primary {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Globalny slider motywu nie moze pojawiac sie nad okladka */
body:has(.loco-location-intro) #slider {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* =========================================================
   2. HERO - OKLADKA ZE ZDJECIEM I TEKSTEM
   ========================================================= */

.loco-location-hero {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: clamp(480px, 54vw, 720px) !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(64px, 8vw, 112px) clamp(28px, 7vw, 104px) !important;
  background: var(--loco-purple-dark) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.loco-location-hero img.wp-block-cover__image-background,
.loco-location-hero > img,
.loco-location-hero figure img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

.loco-location-hero .wp-block-cover__background {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(24, 7, 34, 0.66) 0%, rgba(24, 7, 34, 0.36) 48%, rgba(24, 7, 34, 0.10) 78%, rgba(24, 7, 34, 0.02) 100%) !important;
  opacity: 1 !important;
}

.loco-location-hero .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: left !important;
}

body:has(.loco-location-intro) .loco-location-hero .loco-location-eyebrow {
  margin: 0 0 14px !important;
  color: var(--loco-gold-light) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

body:has(.loco-location-intro) .loco-location-hero .loco-location-title {
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(54px, 6vw, 88px) !important;
  line-height: 1.02 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.38) !important;
}

@media (max-width: 900px) {
  .loco-location-hero {
    min-height: 540px !important;
    padding: 70px 34px !important;
  }

  body:has(.loco-location-intro) .loco-location-hero .loco-location-title {
    font-size: clamp(48px, 9vw, 68px) !important;
  }
}

@media (max-width: 600px) {
  .loco-location-hero {
    min-height: 460px !important;
    padding: 58px 20px !important;
  }

  .loco-location-hero img.wp-block-cover__image-background {
    object-position: 58% center !important;
  }

  .loco-location-hero .wp-block-cover__background {
    background: linear-gradient(90deg, rgba(24, 7, 34, 0.72) 0%, rgba(24, 7, 34, 0.48) 76%, rgba(24, 7, 34, 0.25) 100%) !important;
  }

  body:has(.loco-location-intro) .loco-location-hero .loco-location-eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
  }

  body:has(.loco-location-intro) .loco-location-hero .loco-location-title {
    font-size: 44px !important;
    line-height: 1.06 !important;
  }
}

/* =========================================================
   3. INTRO DZIELNICY
   ========================================================= */

.loco-location-intro {
  width: calc(100% - 64px) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: clamp(68px, 7vw, 112px) 0 clamp(66px, 7vw, 106px) !important;
  text-align: left !important;
}

.loco-location-intro h1,
.loco-location-intro h2,
.loco-location-intro h3,
.loco-location-intro p {
  padding: 0 !important;
}

.loco-location-eyebrow {
  display: block !important;
  margin: 0 0 14px !important;
  color: var(--loco-gold) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.loco-location-title {
  display: block !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(58px, 7vw, 102px) !important;
  line-height: 0.98 !important;
  font-weight: 400 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
  text-align: left !important;
}

.loco-location-text,
.loco-location-intro p.loco-location-text {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 30px 0 0 !important;
  color: var(--loco-text) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: clamp(17px, 1.3vw, 20px) !important;
  line-height: 1.78 !important;
  font-weight: 400 !important;
  text-align: left !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
}

/* =========================================================
   4. PRZYCISKI W INTRO
   ========================================================= */

.loco-location-buttons {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

.loco-location-buttons .wp-block-button,
.loco-location-buttons > .wp-block-column {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.loco-location-buttons .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 290px !important;
  min-height: 54px !important;
  padding: 15px 30px !important;
  color: #ffffff !important;
  background: var(--loco-purple) !important;
  border: 1px solid var(--loco-purple) !important;
  border-radius: 2px !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
              border-color 0.2s ease, transform 0.2s ease !important;
}

.loco-location-buttons .wp-block-button:nth-child(2) .wp-block-button__link,
.loco-location-buttons .wp-block-column:nth-child(2) .wp-block-button__link {
  color: var(--loco-purple) !important;
  background: transparent !important;
  border-color: rgba(47, 13, 69, 0.46) !important;
}

.loco-location-buttons .wp-block-button__link:hover {
  color: var(--loco-purple) !important;
  background: var(--loco-gold-light) !important;
  border-color: var(--loco-gold-light) !important;
  transform: translateY(-2px) !important;
}

.loco-location-buttons .wp-block-button__link:focus-visible {
  outline: 2px solid var(--loco-gold) !important;
  outline-offset: 4px !important;
}

/* =========================================================
   5. BEZOWA SEKCJA EKSPERCKA
   Obsługuje klasę na grupie zewnętrznej lub na bloku Kolumny.
   ========================================================= */

.loco-location-value {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(76px, 8vw, 120px) 32px !important;
  background: var(--loco-beige) !important;
  border: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Właściwy układ działa niezależnie od tego, czy klasę
   loco-location-value-columns nadano Kolumnom, czy ich Grupie. */
.loco-location-value-columns,
.loco-location-value > .wp-block-columns,
.loco-location-value > .wp-block-group__inner-container > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(420px, 0.95fr) minmax(480px, 1.05fr) !important;
  align-items: start !important;
  gap: clamp(64px, 8vw, 128px) !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.loco-location-value-columns > .wp-block-column,
.loco-location-value > .wp-block-columns > .wp-block-column,
.loco-location-value > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column,
.loco-location-value .wp-block-column {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  flex-basis: auto !important;
  box-sizing: border-box !important;
}

.loco-location-value h2,
.loco-location-value h3,
.loco-location-value-columns h2,
.loco-location-value-columns h3 {
  display: block !important;
  width: 100% !important;
  max-width: 650px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 4.4vw, 68px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: -0.018em !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  white-space: normal !important;
}

.loco-location-value p,
.loco-location-value-columns p {
  display: block !important;
  width: 100% !important;
  max-width: 680px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--loco-text) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

.loco-location-value p + p,
.loco-location-value-columns p + p {
  margin-top: 20px !important;
}

/* =========================================================
   6. ZWYKLE SEKCJE TEKSTOWE
   ========================================================= */

.loco-location-content {
  width: calc(100% - 64px) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: clamp(78px, 8vw, 124px) 0 !important;
}

.loco-location-content + .loco-location-content {
  padding-top: 0 !important;
}

.loco-location-content h2 {
  max-width: 980px !important;
  margin: 0 0 38px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 4.6vw, 70px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
}

.loco-location-content h3 {
  max-width: 860px !important;
  margin: 52px 0 20px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(30px, 2.8vw, 42px) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  text-align: left !important;
}

.loco-location-content p {
  max-width: 900px !important;
  margin: 0 0 20px !important;
  color: var(--loco-text) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.84 !important;
  font-weight: 400 !important;
  text-align: left !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
}

.loco-location-content p:last-child {
  margin-bottom: 0 !important;
}

.loco-location-content ul,
.loco-location-content ol {
  max-width: 900px !important;
  margin: 22px 0 32px !important;
  padding-left: 24px !important;
  color: var(--loco-text) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.loco-location-content li {
  margin-bottom: 10px !important;
}

.loco-location-content a,
.loco-location-value a,
.loco-location-investments a {
  color: var(--loco-purple) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--loco-gold) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}

.loco-location-content a:hover,
.loco-location-value a:hover,
.loco-location-investments a:hover {
  color: var(--loco-gold) !important;
}

/* Obrazy w sekcjach tresciowych */
.loco-location-content .wp-block-image {
  margin: 44px 0 0 !important;
}

.loco-location-content .wp-block-image img {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  height: clamp(380px, 48vw, 680px) !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* =========================================================
   7. BLOKI ROZWIJANE - ULICE, CZESCI DZIELNICY, FAQ
   ========================================================= */

.loco-location-content details,
.loco-location-content .wp-block-details {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--loco-border) !important;
}

.loco-location-content details:last-child,
.loco-location-content .wp-block-details:last-child {
  border-bottom: 1px solid var(--loco-border) !important;
}

.loco-location-content details summary,
.loco-location-content .wp-block-details summary {
  position: relative !important;
  display: block !important;
  padding: 25px 56px 25px 0 !important;
  cursor: pointer !important;
  list-style: none !important;
  color: var(--loco-purple) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}

.loco-location-content details summary::-webkit-details-marker,
.loco-location-content .wp-block-details summary::-webkit-details-marker {
  display: none !important;
}

.loco-location-content details summary::after,
.loco-location-content .wp-block-details summary::after {
  content: "+" !important;
  position: absolute !important;
  top: 50% !important;
  right: 4px !important;
  transform: translateY(-50%) !important;
  color: var(--loco-gold) !important;
  font-family: Arial, sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}

.loco-location-content details[open] summary::after,
.loco-location-content .wp-block-details[open] summary::after {
  content: "−" !important;
}

.loco-location-content details > *:not(summary),
.loco-location-content .wp-block-details > *:not(summary) {
  max-width: 880px !important;
  margin: 0 !important;
  padding: 0 46px 26px 0 !important;
}

/* =========================================================
   8. NOWA SEKCJA - INWESTYCJE W DZIELNICY
   ========================================================= */

.loco-location-investments {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(82px, 9vw, 132px) 32px !important;
  background: var(--loco-beige-light) !important;
}

.loco-location-investments-intro {
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto 52px !important;
}

.loco-location-investments-intro h2,
.loco-location-investments > h2 {
  max-width: 980px !important;
  margin: 0 0 24px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 4.6vw, 70px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

.loco-location-investments-intro p,
.loco-location-investments > p {
  max-width: 860px !important;
  margin: 0 !important;
  color: var(--loco-text) !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
}

.loco-location-investments-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.loco-location-investment-card,
.loco-location-investments-grid > .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(47, 13, 69, 0.08) !important;
  box-shadow: 0 10px 34px rgba(36, 8, 51, 0.04) !important;
  overflow: hidden !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.loco-location-investment-card:hover,
.loco-location-investments-grid > .wp-block-column:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--loco-shadow) !important;
}

.loco-location-investment-image,
.loco-location-investment-card .wp-block-image,
.loco-location-investments-grid .wp-block-image {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.loco-location-investment-image img,
.loco-location-investment-card .wp-block-image img,
.loco-location-investments-grid .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: 310px !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.5s ease !important;
}

.loco-location-investment-card:hover img,
.loco-location-investments-grid > .wp-block-column:hover img {
  transform: scale(1.025) !important;
}

.loco-location-investment-body,
.loco-location-investment-card > :not(.wp-block-image),
.loco-location-investments-grid > .wp-block-column > :not(.wp-block-image) {
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.loco-location-investment-card h3,
.loco-location-investments-grid h3 {
  margin: 28px 0 8px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: 29px !important;
  line-height: 1.16 !important;
  font-weight: 400 !important;
}

.loco-location-investment-card h3 a,
.loco-location-investments-grid h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.loco-location-investment-card p,
.loco-location-investments-grid p {
  margin: 0 0 16px !important;
  color: var(--loco-text-soft) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

.loco-location-investment-card .wp-block-buttons,
.loco-location-investments-grid .wp-block-buttons {
  margin: auto 0 0 !important;
  padding: 0 28px 28px !important;
}

.loco-location-investment-card .wp-block-button__link,
.loco-location-investments-grid .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 10px 0 !important;
  color: var(--loco-purple) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--loco-gold) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* =========================================================
   9. KONCOWE CTA DLA WLASCICIELI
   ========================================================= */

.loco-location-cta {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(82px, 9vw, 132px) 32px !important;
  background: var(--loco-beige) !important;
  border: 0 !important;
}

.loco-location-cta > * {
  width: 100% !important;
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.loco-location-cta h2 {
  max-width: 980px !important;
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  color: var(--loco-purple) !important;
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-size: clamp(46px, 5vw, 74px) !important;
  line-height: 1.07 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

.loco-location-cta p {
  max-width: 900px !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
  color: var(--loco-text) !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
}

.loco-location-cta .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: 34px !important;
}

.loco-location-cta .wp-block-button {
  margin: 0 !important;
}

.loco-location-cta .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 345px !important;
  min-height: 54px !important;
  padding: 15px 30px !important;
  color: #ffffff !important;
  background: var(--loco-purple) !important;
  border: 1px solid var(--loco-purple) !important;
  border-radius: 2px !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
              border-color 0.2s ease, transform 0.2s ease !important;
}

/* Na ekranach komputerowych numer telefonu jest widoczny w przycisku.
   Link nadal pozostaje aktywnym linkiem tel:. */
.loco-location-cta a.wp-block-button__link[href^="tel:"]::after {
  content: " · +48 515 000 145" !important;
  display: inline !important;
  margin-left: 2px !important;
  white-space: nowrap !important;
}

.loco-location-cta .wp-block-button__link:hover {
  color: var(--loco-purple) !important;
  background: var(--loco-gold-light) !important;
  border-color: var(--loco-gold-light) !important;
  transform: translateY(-2px) !important;
}

.loco-location-cta .wp-block-button__link:focus-visible {
  outline: 2px solid var(--loco-purple) !important;
  outline-offset: 4px !important;
}

/* =========================================================
   10. TABLETY
   ========================================================= */

@media (max-width: 1100px) {
  .loco-location-value-columns,
  .loco-location-value > .wp-block-columns,
  .loco-location-value > .wp-block-group__inner-container > .wp-block-columns {
    grid-template-columns: minmax(360px, 0.95fr) minmax(420px, 1.05fr) !important;
    gap: 54px !important;
  }

  .loco-location-investments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .wp-block-cover.loco-location-hero:has(img) {
    height: 460px !important;
    min-height: 460px !important;
  }

  .loco-location-intro,
  .loco-location-content {
    width: calc(100% - 48px) !important;
  }

  .loco-location-value,
  .loco-location-investments,
  .loco-location-cta {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .loco-location-value-columns,
  .loco-location-value > .wp-block-columns,
  .loco-location-value > .wp-block-group__inner-container > .wp-block-columns {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
    max-width: 820px !important;
  }

  .loco-location-value h2,
  .loco-location-value h3,
  .loco-location-value-columns h2,
  .loco-location-value-columns h3,
  .loco-location-value p,
  .loco-location-value-columns p {
    max-width: 820px !important;
  }
}

/* =========================================================
   11. TELEFONY
   ========================================================= */

@media (max-width: 600px) {
  .wp-block-cover.loco-location-hero:has(img) {
    height: 300px !important;
    min-height: 300px !important;
  }

  .loco-location-intro {
    width: calc(100% - 36px) !important;
    padding: 48px 0 56px !important;
  }

  .loco-location-eyebrow {
    margin-bottom: 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
  }

  .loco-location-title {
    font-size: clamp(48px, 16vw, 68px) !important;
    line-height: 1 !important;
  }

  .loco-location-text,
  .loco-location-intro p.loco-location-text {
    margin-top: 24px !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  .loco-location-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 30px !important;
  }

  .loco-location-buttons .wp-block-button,
  .loco-location-buttons > .wp-block-column,
  .loco-location-buttons .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }

  .loco-location-value,
  .loco-location-investments,
  .loco-location-cta {
    padding: 58px 18px !important;
  }

  .loco-location-value-columns,
  .loco-location-value > .wp-block-columns,
  .loco-location-value > .wp-block-group__inner-container > .wp-block-columns {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .loco-location-value h2,
  .loco-location-value h3,
  .loco-location-value-columns h2,
  .loco-location-value-columns h3 {
    max-width: 100% !important;
    font-size: 36px !important;
    line-height: 1.12 !important;
  }

  .loco-location-cta a.wp-block-button__link[href^="tel:"]::after {
    display: none !important;
    content: none !important;
  }

  .loco-location-value-columns {
    gap: 24px !important;
  }

  .loco-location-value h2,
  .loco-location-value h3,
  .loco-location-value-columns h2,
  .loco-location-value-columns h3,
  .loco-location-content h2,
  .loco-location-investments-intro h2,
  .loco-location-investments > h2,
  .loco-location-cta h2 {
    font-size: 38px !important;
    line-height: 1.12 !important;
  }

  .loco-location-content {
    width: calc(100% - 36px) !important;
    padding: 58px 0 !important;
  }

  .loco-location-content h2 {
    margin-bottom: 28px !important;
  }

  .loco-location-content h3 {
    margin-top: 38px !important;
    margin-bottom: 16px !important;
    font-size: 29px !important;
  }

  .loco-location-content p,
  .loco-location-content ul,
  .loco-location-content ol,
  .loco-location-value p,
  .loco-location-value-columns p,
  .loco-location-investments-intro p,
  .loco-location-investments > p,
  .loco-location-cta p {
    font-size: 15px !important;
    line-height: 1.74 !important;
  }

  .loco-location-content .wp-block-image img {
    height: 300px !important;
  }

  .loco-location-content details summary,
  .loco-location-content .wp-block-details summary {
    padding: 21px 44px 21px 0 !important;
    font-size: 15px !important;
  }

  .loco-location-content details > *:not(summary),
  .loco-location-content .wp-block-details > *:not(summary) {
    padding-right: 0 !important;
  }

  .loco-location-investments-intro {
    margin-bottom: 34px !important;
  }

  .loco-location-investments-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .loco-location-investment-image img,
  .loco-location-investment-card .wp-block-image img,
  .loco-location-investments-grid .wp-block-image img {
    height: 260px !important;
  }

  .loco-location-investment-card h3,
  .loco-location-investments-grid h3 {
    font-size: 27px !important;
  }

  .loco-location-cta .wp-block-buttons,
  .loco-location-cta .wp-block-button,
  .loco-location-cta .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   12. BARDZO MALE TELEFONY
   ========================================================= */

@media (max-width: 400px) {
  .wp-block-cover.loco-location-hero:has(img) {
    height: 240px !important;
    min-height: 240px !important;
  }

  .loco-location-intro {
    width: calc(100% - 30px) !important;
  }

  .loco-location-title {
    font-size: 46px !important;
  }

  .loco-location-value,
  .loco-location-investments,
  .loco-location-cta {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ======================================================================
   LOCO REAL ESTATE - FINALNE USTAWIENIA TYPOGRAFII I RYTMU
   WERSJA 15 CLEAN
   Zakresy sa rozdzielone dla:
   1) inwestycji,
   2) mikrolokalizacji (np. Powisle),
   3) strony nadrzednej dzielnicy (np. Srodmiescie).
   ====================================================================== */

/* =========================================================
   A. INWESTYCJE - TYPOGRAFIA HERO
   ========================================================= */
body:has(.loco-hero-full) .loco-hero-full h1,
body:has(.loco-hero-full) .loco-hero-full h2,
body:has(.loco-hero-full) .loco-hero-full h3 {
  font-family: "Marcellus", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* Opcjonalny krotki lead na hero inwestycji lub lokalizacji. */
.loco-hero-lead,
.loco-location-hero-lead {
  max-width: 650px !important;
  margin: 18px 0 0 !important;
  color: rgba(255,255,255,.94) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

/* =========================================================
   B. MIKROLOKALIZACJE - POWISLE I PODOBNE
   ========================================================= */
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-intro {
  padding-top: 54px !important;
  padding-bottom: 44px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-content {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-content + .loco-location-content {
  padding-top: 38px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value h2,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value h3 {
  font-size: clamp(42px, 4.2vw, 64px) !important;
  line-height: 1.06 !important;
  max-width: 10ch !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value-columns,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value > .wp-block-columns,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value > .wp-block-group__inner-container > .wp-block-columns {
  gap: clamp(36px, 5vw, 72px) !important;
  align-items: center !important;
}

/* Dwa przyciski na mikrolokalizacji - jedna logika, dwa warianty. */
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons {
  margin-top: 26px !important;
  gap: 14px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons .wp-block-button__link {
  min-width: 260px !important;
  min-height: 50px !important;
  padding: 14px 26px !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  transform: none !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons .wp-block-button:first-child .wp-block-button__link {
  background: var(--loco-purple) !important;
  border-color: var(--loco-purple) !important;
  color: #fff !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons .wp-block-button:first-child .wp-block-button__link:hover {
  background: var(--loco-gold-light) !important;
  border-color: var(--loco-gold-light) !important;
  color: var(--loco-purple-dark) !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons .wp-block-button:nth-child(2) .wp-block-button__link {
  background: transparent !important;
  border-color: rgba(47,13,69,.42) !important;
  color: var(--loco-purple) !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-buttons .wp-block-button:nth-child(2) .wp-block-button__link:hover {
  background: var(--loco-purple) !important;
  border-color: var(--loco-purple) !important;
  color: #fff !important;
}

/* Koncowe CTA Powisla - wiecej oddechu u gory, ale bez pustej hali. */
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta {
  padding-top: 66px !important;
  padding-bottom: 62px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta h2 {
  margin-bottom: 20px !important;
}

body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta p {
  margin-bottom: 30px !important;
  max-width: 960px !important;
}

/* Odklejenie akapitu od formularzy / rozwijanych boksow. */
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta .wp-block-columns,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta details,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta .wp-block-details,
body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta .loco-contact-columns {
  margin-top: 30px !important;
}

/* =========================================================
   C. STRONA NADRZEDNA DZIELNICY - SRODMIESCIE
   ========================================================= */
body:has(.loco-location-areas) {
  --loco-parent-purple: #2f0d45;
  --loco-parent-purple-dark: #240833;
  --loco-parent-gold: #bd9650;
  --loco-parent-cream: #f5efe9;
  --loco-parent-cream-2: #f1ebe5;
  --loco-parent-text: #433b45;
  --loco-parent-width: 1180px;
}

body:has(.loco-location-areas) .loco-location-intro,
body:has(.loco-location-areas) .loco-location-content,
body:has(.loco-location-areas) .loco-location-areas {
  width: min(calc(100% - 48px), var(--loco-parent-width)) !important;
  max-width: var(--loco-parent-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.loco-location-areas) .loco-location-intro {
  padding: 52px 0 34px !important;
}

body:has(.loco-location-areas) .loco-location-content {
  padding: 42px 0 !important;
  margin: 0 auto !important;
}

body:has(.loco-location-areas) .loco-location-content + .loco-location-content {
  padding-top: 30px !important;
}

body:has(.loco-location-areas) .loco-location-intro p,
body:has(.loco-location-areas) .loco-location-content p,
body:has(.loco-location-areas) .loco-location-content li,
body:has(.loco-location-areas) .loco-location-areas > p,
body:has(.loco-location-areas) .loco-location-areas > .wp-block-group__inner-container > p {
  max-width: 920px !important;
  margin: 0 0 16px !important;
  color: var(--loco-parent-text) !important;
  font-size: 17px !important;
  line-height: 1.76 !important;
}

body:has(.loco-location-areas) .loco-location-content h2,
body:has(.loco-location-areas) .loco-location-areas > h2,
body:has(.loco-location-areas) .loco-location-areas > .wp-block-group__inner-container > h2,
body:has(.loco-location-areas) .loco-location-cta h2 {
  max-width: 900px !important;
  margin: 0 0 22px !important;
  color: var(--loco-parent-purple) !important;
  font-family: "Marcellus", Georgia, serif !important;
  font-size: clamp(42px, 4.1vw, 64px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.022em !important;
  line-height: 1.04 !important;
}

/* Rejony - bez ramek, bez cieni, bez kolek. */
body:has(.loco-location-areas) .loco-location-areas {
  padding: 34px 0 38px !important;
}

body:has(.loco-location-areas) .loco-location-areas > h2,
body:has(.loco-location-areas) .loco-location-areas > .wp-block-group__inner-container > h2 {
  max-width: 760px !important;
  margin-bottom: 16px !important;
}

body:has(.loco-location-areas) .loco-location-areas > p,
body:has(.loco-location-areas) .loco-location-areas > .wp-block-group__inner-container > p {
  margin-bottom: 24px !important;
}

body:has(.loco-location-areas) .loco-location-areas .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 0 14px !important;
}

body:has(.loco-location-areas) .loco-location-areas .wp-block-columns:last-child {
  margin-bottom: 0 !important;
}

body:has(.loco-location-areas) .loco-location-area-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 20px 24px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #f8f4ef 0%, #f2ebe4 100%) !important;
  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease !important;
}

body:has(.loco-location-areas) .loco-location-area-card::before,
body:has(.loco-location-areas) .loco-location-area-card::after {
  content: none !important;
  display: none !important;
}

body:has(.loco-location-areas) .loco-location-area-card > *,
body:has(.loco-location-areas) .loco-location-area-card .wp-block-group__inner-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body:has(.loco-location-areas) .loco-location-area-card h3,
body:has(.loco-location-areas) .loco-location-area-card p,
body:has(.loco-location-areas) .loco-location-area-card a {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--loco-parent-purple) !important;
  font-family: "Marcellus", Georgia, serif !important;
  font-size: clamp(23px, 1.85vw, 29px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body:has(.loco-location-areas) .loco-location-area-card:hover {
  background: var(--loco-parent-purple) !important;
}

body:has(.loco-location-areas) .loco-location-area-card:hover h3,
body:has(.loco-location-areas) .loco-location-area-card:hover p,
body:has(.loco-location-areas) .loco-location-area-card:hover a {
  color: #fff !important;
}

body:has(.loco-location-areas) .loco-location-areas + .loco-location-content,
body:has(.loco-location-areas) .loco-location-areas + * .loco-location-content {
  padding-top: 34px !important;
}

/* CTA strony nadrzednej - zwarty, ale z wyraznym oddechem od gory. */
body:has(.loco-location-areas) .loco-location-cta {
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 0 !important;
  padding: 62px max(24px, calc((100vw - var(--loco-parent-width)) / 2)) 64px !important;
  background: var(--loco-parent-cream-2) !important;
}

body:has(.loco-location-areas) .loco-location-cta > *,
body:has(.loco-location-areas) .loco-location-cta > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: var(--loco-parent-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.loco-location-areas) .loco-location-cta h2 {
  max-width: 720px !important;
  margin-bottom: 18px !important;
}

body:has(.loco-location-areas) .loco-location-cta p {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

body:has(.loco-location-areas) .loco-location-cta .wp-block-buttons {
  margin: 0 !important;
}

body:has(.loco-location-areas) .loco-location-cta .wp-block-button__link {
  min-height: 50px !important;
  padding: 14px 26px !important;
  border: 1px solid var(--loco-parent-purple) !important;
  border-radius: 2px !important;
  background: var(--loco-parent-purple) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  transform: none !important;
}

body:has(.loco-location-areas) .loco-location-cta .wp-block-button__link:hover {
  background: var(--loco-parent-gold) !important;
  border-color: var(--loco-parent-gold) !important;
  color: var(--loco-parent-purple-dark) !important;
}

/* =========================================================
   D. RESPONSIVE
   ========================================================= */
@media (max-width: 960px) {
  body:has(.loco-location-areas) .loco-location-areas .wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body:has(.loco-location-areas) .loco-location-intro,
  body:has(.loco-location-areas) .loco-location-content,
  body:has(.loco-location-areas) .loco-location-areas {
    width: min(calc(100% - 32px), var(--loco-parent-width)) !important;
  }

  body:has(.loco-location-areas) .loco-location-intro {
    padding: 40px 0 26px !important;
  }

  body:has(.loco-location-areas) .loco-location-content,
  body:has(.loco-location-areas) .loco-location-content + .loco-location-content {
    padding: 32px 0 !important;
  }

  body:has(.loco-location-areas) .loco-location-areas {
    padding: 30px 0 32px !important;
  }

  body:has(.loco-location-areas) .loco-location-areas .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  body:has(.loco-location-areas) .loco-location-area-card {
    min-height: 78px !important;
  }

  body:has(.loco-location-areas) .loco-location-cta {
    margin-top: 18px !important;
    padding: 46px 20px 48px !important;
  }

  body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-intro {
    padding-top: 42px !important;
    padding-bottom: 34px !important;
  }

  body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-content {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-value,
  body:has(.loco-location-intro):not(:has(.loco-location-areas)):not(:has(.loco-hero-full)) .loco-location-cta {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}
/* =========================================================
   LOCO — KOREKTA STRONY NADRZĘDNEJ DZIELNICY
   ŚRÓDMIEŚCIE: CTA JAK NA POWIŚLU + SUBTELNIEJSZE KAFLE

   Zakres:
   - wyłącznie strona zawierająca .loco-location-areas
   - nie zmienia Powiśla
   - nie zmienia stron inwestycji
   ========================================================= */


/* =========================================================
   1. CTA — PEŁNY BEŻOWY PAS, TREŚĆ DO LEWEJ
   ========================================================= */

body:has(.loco-location-areas) .loco-location-cta {
  position: relative !important;

  width: 100% !important;
  max-width: none !important;

  margin: 28px 0 0 !important;
  padding: 58px 0 56px !important;

  background: var(--loc-cream, #f3eee8) !important;
  border: 0 !important;
  border-radius: 0 !important;

  /*
   * Rozciągnięcie koloru poza szerokość kontenera,
   * bez ustawiania niebezpiecznego width: 100vw.
   */
  box-shadow:
    0 0 0 100vmax var(--loc-cream, #f3eee8) !important;

  clip-path: inset(0 -100vmax) !important;
  overflow: visible !important;

  text-align: left !important;
}

/* Zabezpieczenie przed przycinaniem pełnego pasa przez grupę WordPressa */

body:has(.loco-location-areas)
.wp-block-group:has(> .loco-location-cta),

body:has(.loco-location-areas)
.wp-block-group__inner-container:has(> .loco-location-cta) {
  overflow: visible !important;
}


/* Wewnętrzna szerokość taka sama jak pozostałych sekcji strony */

body:has(.loco-location-areas)
.loco-location-cta > .wp-block-group__inner-container,

body:has(.loco-location-areas)
.loco-location-cta.is-layout-constrained > *,

body:has(.loco-location-areas)
.loco-location-cta > h2,

body:has(.loco-location-areas)
.loco-location-cta > p,

body:has(.loco-location-areas)
.loco-location-cta > .wp-block-buttons {
  width: min(
    calc(100% - 48px),
    var(--loc-wide, 1180px)
  ) !important;

  max-width: var(--loc-wide, 1180px) !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;

  text-align: left !important;
}


/* Usunięcie automatycznego centrowania elementów przez WordPress */

body:has(.loco-location-areas)
.loco-location-cta
.wp-block-group__inner-container > * {
  margin-left: 0 !important;
  margin-right: auto !important;
}


/* Nagłówek CTA */

body:has(.loco-location-areas) .loco-location-cta h2 {
  width: 100% !important;
  max-width: 900px !important;

  margin-top: 0 !important;
  margin-bottom: 18px !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  padding: 0 !important;

  color: var(--loc-purple, #2f0d45) !important;

  font-family:
    "Marcellus",
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: clamp(44px, 4vw, 64px) !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;

  text-align: left !important;
}


/* Opis CTA */

body:has(.loco-location-areas) .loco-location-cta p {
  width: 100% !important;
  max-width: 940px !important;

  margin-top: 0 !important;
  margin-bottom: 26px !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  padding: 0 !important;

  color: var(--loc-text, #433b45) !important;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 17px !important;
  line-height: 1.74 !important;
  font-weight: 400 !important;

  text-align: left !important;
}


/* Przyciski CTA — wyrównane do lewej */

body:has(.loco-location-areas)
.loco-location-cta .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;

  width: 100% !important;
  max-width: 940px !important;

  gap: 12px !important;

  margin: 0 !important;
  padding: 0 !important;
}

body:has(.loco-location-areas)
.loco-location-cta .wp-block-button {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Nieco lżejszy przycisk CTA */

body:has(.loco-location-areas)
.loco-location-cta .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 290px !important;
  min-height: 48px !important;

  padding: 13px 24px !important;

  color: #ffffff !important;
  background: var(--loc-purple, #2f0d45) !important;

  border: 1px solid var(--loc-purple, #2f0d45) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0.075em !important;

  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease !important;
}

body:has(.loco-location-areas)
.loco-location-cta .wp-block-button__link:hover {
  color: var(--loc-purple-dark, #240833) !important;
  background: var(--loc-gold-soft, #d7bb83) !important;
  border-color: var(--loc-gold-soft, #d7bb83) !important;

  transform: none !important;
  box-shadow: none !important;
}


/* =========================================================
   2. KAFELKI MIKROLOKALIZACJI — LŻEJSZE I SUBTELNIEJSZE
   ========================================================= */

/* Równa siatka */

body:has(.loco-location-areas)
.loco-location-areas .wp-block-columns {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  column-gap: 18px !important;
  row-gap: 14px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/*
 * Drugi rząd kafli.
 * Nadpisuje duży odstęp generowany przez block-gap WordPressa.
 */

body:has(.loco-location-areas)
.loco-location-areas
.wp-block-columns + .wp-block-columns {
  margin-top: 14px !important;
  margin-block-start: 14px !important;
}


/* Kolumny bez narzuconych szerokości flex */

body:has(.loco-location-areas)
.loco-location-areas
.wp-block-columns > .wp-block-column {
  width: auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  flex-basis: auto !important;
}


/* Pojedynczy kafel */

body:has(.loco-location-areas)
.loco-location-area-card {
  position: relative !important;

  display: grid !important;
  place-items: stretch !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 74px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #f7f4f0 !important;

  border: 1px solid rgba(47, 13, 69, 0.07) !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  overflow: hidden !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease !important;
}


/* Bez dodatkowych dekoracji */

body:has(.loco-location-areas)
.loco-location-area-card::before,

body:has(.loco-location-areas)
.loco-location-area-card::after {
  content: none !important;
  display: none !important;
}


/* Delikatny hover bez ciemnego fioletowego wypełnienia */

body:has(.loco-location-areas)
.loco-location-area-card:hover {
  background: #f0ebe6 !important;

  border-color:
    rgba(189, 150, 80, 0.30) !important;

  transform: none !important;
  box-shadow: none !important;
}


/* Wewnętrzne kontenery kafla */

body:has(.loco-location-areas)
.loco-location-area-card > *,

body:has(.loco-location-areas)
.loco-location-area-card > .wp-block-group__inner-container {
  display: grid !important;
  place-items: center !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 74px !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: center !important;
}


/* Typografia kafli — Open Sans zamiast cięższego Marcellusa */

body:has(.loco-location-areas)
.loco-location-area-card .wp-block-heading,

body:has(.loco-location-areas)
.loco-location-area-card p,

body:has(.loco-location-areas)
.loco-location-area-card a,

body:has(.loco-location-areas)
.loco-location-area-card strong,

body:has(.loco-location-areas)
.loco-location-area-card span {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #37213f !important;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: clamp(16px, 1.15vw, 18px) !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;

  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* Link na całej powierzchni kafla */

body:has(.loco-location-areas)
.loco-location-area-card a,

body:has(.loco-location-areas)
.loco-location-area-card .wp-block-heading a,

body:has(.loco-location-areas)
.loco-location-area-card p a {
  display: grid !important;
  place-items: center !important;

  min-height: 74px !important;

  padding: 15px 20px !important;

  color: #37213f !important;
  background: transparent !important;
}


/* Brak zmiany tekstu na biały po najechaniu */

body:has(.loco-location-areas)
.loco-location-area-card:hover .wp-block-heading,

body:has(.loco-location-areas)
.loco-location-area-card:hover p,

body:has(.loco-location-areas)
.loco-location-area-card:hover a,

body:has(.loco-location-areas)
.loco-location-area-card:hover strong,

body:has(.loco-location-areas)
.loco-location-area-card:hover span {
  color: var(--loc-purple, #2f0d45) !important;
}


/* =========================================================
   3. TABLETY
   ========================================================= */

@media (max-width: 900px) {

  body:has(.loco-location-areas)
  .loco-location-areas .wp-block-columns {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta {
    padding-top: 52px !important;
    padding-bottom: 50px !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta > .wp-block-group__inner-container,

  body:has(.loco-location-areas)
  .loco-location-cta.is-layout-constrained > *,

  body:has(.loco-location-areas)
  .loco-location-cta > h2,

  body:has(.loco-location-areas)
  .loco-location-cta > p,

  body:has(.loco-location-areas)
  .loco-location-cta > .wp-block-buttons {
    width: min(
      calc(100% - 40px),
      var(--loc-wide, 1180px)
    ) !important;
  }
}


/* =========================================================
   4. TELEFONY
   ========================================================= */

@media (max-width: 640px) {

  body:has(.loco-location-areas)
  .loco-location-areas .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  body:has(.loco-location-areas)
  .loco-location-areas
  .wp-block-columns + .wp-block-columns {
    margin-top: 10px !important;
    margin-block-start: 10px !important;
  }

  body:has(.loco-location-areas)
  .loco-location-area-card,

  body:has(.loco-location-areas)
  .loco-location-area-card > *,

  body:has(.loco-location-areas)
  .loco-location-area-card
  > .wp-block-group__inner-container,

  body:has(.loco-location-areas)
  .loco-location-area-card a {
    min-height: 66px !important;
  }

  body:has(.loco-location-areas)
  .loco-location-area-card .wp-block-heading,

  body:has(.loco-location-areas)
  .loco-location-area-card p,

  body:has(.loco-location-areas)
  .loco-location-area-card a,

  body:has(.loco-location-areas)
  .loco-location-area-card strong,

  body:has(.loco-location-areas)
  .loco-location-area-card span {
    font-size: 16px !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta {
    margin-top: 22px !important;
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta > .wp-block-group__inner-container,

  body:has(.loco-location-areas)
  .loco-location-cta.is-layout-constrained > *,

  body:has(.loco-location-areas)
  .loco-location-cta > h2,

  body:has(.loco-location-areas)
  .loco-location-cta > p,

  body:has(.loco-location-areas)
  .loco-location-cta > .wp-block-buttons {
    width: calc(100% - 36px) !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta h2 {
    max-width: none !important;

    font-size: 38px !important;
    line-height: 1.09 !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta p {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta .wp-block-buttons,

  body:has(.loco-location-areas)
  .loco-location-cta .wp-block-button,

  body:has(.loco-location-areas)
  .loco-location-cta .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.loco-location-areas)
  .loco-location-cta
  a.wp-block-button__link[href^="tel:"]::after {
    content: "" !important;
    display: none !important;
  }
}
/* =========================================================
   LOCO — NAPRAWA KAFELKÓW MIKROLOKALIZACJI
   usuwa wewnętrzne linie i centruje napisy
   ========================================================= */

body:has(.loco-location-areas)
.loco-location-areas .loco-location-area-card {
  --loco-card-height: 68px;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--loco-card-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #f8f5f1 !important;

  border: 1px solid rgba(47, 13, 69, 0.07) !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  overflow: hidden !important;

  color: #34203c !important;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;

  text-align: center !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease !important;
}


/* Usunięcie wszystkich wewnętrznych ramek i linii */

body:has(.loco-location-areas)
.loco-location-areas .loco-location-area-card * {
  box-sizing: border-box !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}


/* Wszystkie wewnętrzne warstwy zajmują całą powierzchnię kafla */

body:has(.loco-location-areas)
.loco-location-areas .loco-location-area-card > *,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card .wp-block-group__inner-container,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card .wp-block-buttons,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card .wp-block-button,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card .wp-block-heading,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card p,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card a,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card span,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card strong {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 1 1 100% !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: var(--loco-card-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;

  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
}


/* Bezpieczny odstęp tekstu od boków kafla */

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card a,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card > span,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card > strong,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card
.wp-block-heading:not(:has(a)),

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card
p:not(:has(a)) {
  padding-left: 22px !important;
  padding-right: 22px !important;
}


/* Bez podwójnego paddingu przy spanach znajdujących się w linku */

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card a > span,

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card a > strong {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Delikatne najechanie */

body:has(.loco-location-areas)
.loco-location-areas .loco-location-area-card:hover {
  background: #f2ede7 !important;

  border-color:
    rgba(47, 13, 69, 0.14) !important;

  transform: none !important;
  box-shadow: none !important;
}

body:has(.loco-location-areas)
.loco-location-areas .loco-location-area-card:hover * {
  color: var(--loc-purple, #2f0d45) !important;
}


/* Widoczny fokus przy obsłudze klawiaturą */

body:has(.loco-location-areas)
.loco-location-areas
.loco-location-area-card a:focus-visible,

body:has(.loco-location-areas)
.loco-location-areas
a.loco-location-area-card:focus-visible {
  outline: 2px solid #bd9650 !important;
  outline-offset: -3px !important;
}


/* Telefony */

@media (max-width: 640px) {

  body:has(.loco-location-areas)
  .loco-location-areas .loco-location-area-card {
    --loco-card-height: 62px;

    font-size: 15px !important;
  }
}
