/**
 * Elementor Harmony CSS - Green Primary
 * Synchronizuje design stron lokali z główną stroną Elementor
 * Główny kolor: Elementor Green (#61CE70)
 * Dodatkowy kolor: Elementor Blue (#6EC1E4)
 */

/* ============================================================================
   THEME FONT INTEGRATION
   ============================================================================ */

/* Using theme fonts - no external imports needed */

/* ============================================================================
   GLOBAL OVERRIDES - Apply Elementor style everywhere
   Wysoką specyficznością nadpisujemy wszystkie inne style
   
   NOTE: Elementor isolation moved to END of file for proper cascade
   ============================================================================ */

html body .jcm-single-lokal-container {
  max-width: 100% !important;  /* Przywrócono pełną szerokość */
  margin: 0 auto !important;
  padding: 0 !important; /* Usunięto padding kontenera dla pełnej szerokości */
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  color: #000000 !important;     /* Changed from gray to black for visibility */
}

/* Typography Updates - EXCLUDING content sections */
html body .jcm-single-lokal h1:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-lokal .lokal-hero__title:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h1:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container .inwestycja-header__title:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-headings-font-family, inherit) !important;
  font-weight: var(--jcm-ocean-headings-font-weight) !important;
  color: var(--color-text-dark) !important;
}

/* H1 Elements - EXCLUDING content sections */
html body .jcm-single-lokal h1:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h1:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-lokal .lokal-hero__title:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container .inwestycja-header__title:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h1-font-family) !important;
  font-size: var(--jcm-ocean-h1-font-size) !important;
  font-weight: var(--jcm-ocean-h1-font-weight) !important;
  color: var(--color-text-dark) !important;
}

html body .jcm-single-lokal h2:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h2:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h2-font-family) !important;
  font-size: var(--jcm-ocean-h2-font-size) !important;
  font-weight: var(--jcm-ocean-h2-font-weight) !important;
  color: var(--color-text-dark) !important;
}

html body .jcm-single-lokal h3:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h3:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h3-font-family) !important;
  font-size: var(--jcm-ocean-h3-font-size) !important;
  font-weight: var(--jcm-ocean-h3-font-weight) !important;
  color: var(--color-text-dark) !important;
}

html body .jcm-single-lokal h4:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h4:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h4-font-family) !important;
  font-size: var(--jcm-ocean-h4-font-size) !important;
  font-weight: var(--jcm-ocean-h4-font-weight) !important;
  color: var(--color-text-dark) !important;
}

html body .jcm-single-lokal h5:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h5:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h5-font-family) !important;
  font-size: var(--jcm-ocean-h5-font-size) !important;
  font-weight: var(--jcm-ocean-h5-font-weight) !important;
  color: var(--color-text-dark) !important;
}

html body .jcm-single-lokal h6:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container h6:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-h6-font-family) !important;
  font-size: var(--jcm-ocean-h6-font-size) !important;
  font-weight: var(--jcm-ocean-h6-font-weight) !important;
  color: var(--color-text-dark) !important;
}

/* Body text - EXCLUDING content sections */
html body .jcm-single-lokal p:not(.lokal-single__content-section *),
html body .jcm-single-lokal span:not(.lokal-single__content-section *),
html body .jcm-single-lokal div:not(.lokal-single__content-section *),
html body .jcm-single-inwestycja-container p:not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container span:not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container div:not(.inwestycja-single__content-section *) {
  font-family: var(--font-family-base) !important;
  color: #000000 !important;
}

/* CRITICAL FIX: DO NOT TOUCH ELEMENTOR CONTENT - Let Elementor inline styles work */
/* Removed all resets - Elementor handles everything via inline styles */

/* CRITICAL: NIE nadpisuj Image Map Pro - musi działać normalnie */
html body .lokal-single__content-section [id*="image-map-pro"],
html body .lokal-single__content-section [id*="image-map-pro"] *,
html body .inwestycja-single__content-section [id*="image-map-pro"],
html body .inwestycja-single__content-section [id*="image-map-pro"] * {
  color: initial !important;
  font-family: initial !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

/* Links - Elementor style */
html body .jcm-single-lokal a {
  color: #00632B !important;
  text-decoration: none !important;
  transition: var(--transition-fast) !important;
}

html body .jcm-single-lokal a:hover {
  color: var(--jcm-theme-primary) !important;
}

/* ============================================================================
   CARDS & SECTIONS - Elementor white cards style
   ============================================================================ */

html body .lokal-card,
html body .jcm-single-lokal .lokal-details,
html body .jcm-single-lokal .lokal-pricing,
html body .jcm-single-lokal .lokal-map-section,
html body .inwestycja-section {
  background-color: #FFFFFF !important;
  border-radius: 0px !important;
  box-shadow: var(--shadow-md) !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
  border: none !important;
}

/* Note: Elementor isolation handled at END of file with all: revert */

/* Specific card overrides */
html body .lokal-card--details,
html body .lokal-card--pricing,
html body .lokal-card--map {
  background-color: #FFFFFF !important;
  box-shadow: var(--shadow-md) !important;
}

/* Price card - keep accent color but update shadow */
html body .lokal-pricing__card {
  background-color: #FFFFFF !important;
  box-shadow: var(--shadow-md) !important;
  border: 1px solid #f0f0f0 !important;
}

/* ============================================================================
   BUTTONS - Elementor button style
   ============================================================================ */

html body .lokal-button,
html body .jcm-button,
html body .btn-primary,
html body button[class*="btn"],
html body input[type="submit"],
html body .rzuty-tab {
  background-color: var(--jcm-theme-primary) !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 12px 24px !important;
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  font-weight: var(--jcm-ocean-body-font-weight, var(--font-weight-medium, 400)) !important;
  font-size: 14px !important;
  border-radius: 0px !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition-fast) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.lokal-button:hover,
.jcm-button:hover,
.btn-primary:hover,
button[class*="btn"]:hover,
input[type="submit"]:hover,
.rzuty-tab:hover {
  background-color: var(--jcm-theme-primary-light) !important;
  color: #FFFFFF !important;
  /* transform: translateY(-1px) !important; - REMOVED: unoszenie na hover */
  box-shadow: var(--shadow-md) !important;
}

/* Secondary buttons - use Elementor blue */
html body .btn-secondary,
html body .lokal-button--secondary {
  background-color: var(--jcm-theme-secondary) !important; /* Blue #6EC1E4 */
}

html body .btn-secondary:hover,
html body .lokal-button--secondary:hover {
  background-color: #8DCDE8 !important; /* Lighter blue */
}

/* Accent elements - use darker green */
html body .accent-element,
html body .feature-highlight {
  background-color: var(--jcm-theme-primary-dark) !important; /* Dark green #4EB355 */
}

/* ============================================================================
   STATUS BADGES - Enhanced with Elementor colors
   ============================================================================ */

.status-badge {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  font-weight: var(--jcm-ocean-body-font-weight, var(--font-weight-medium, 400)) !important;
  font-size: 12px !important;
  padding: 6px 12px !important;
  border-radius: 0px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.status-badge--dostepny {
  background-color: var(--jcm-theme-secondary) !important;
  color: #FFFFFF !important;
}

.status-badge--zarezerwowany {
  background-color: #f97316 !important;  /* Orange */
  color: #FFFFFF !important;
}

.status-badge--sprzedany {
  background-color: #ef4444 !important;  /* Red */
  color: #FFFFFF !important;
}

/* ============================================================================
   RESPONSIVE - Elementor breakpoints
   ============================================================================ */

@media (max-width: 1024px) {
  .jcm-single-lokal-container {
    max-width: 100% !important;
    padding: 0 !important;
  }
}

@media (max-width: 767px) {
  .jcm-single-lokal-container {
    max-width: 100% !important;
    padding: 0 !important;
  }
  
  .lokal-card {
    padding: 15px !important;
    margin-bottom: 15px !important;
  }
  
  .jcm-single-lokal h1,
  .jcm-single-lokal .lokal-hero__title {
    font-size: var(--jcm-h1_size, 26px); /* Allow customizer override */
  }
  
  .jcm-single-lokal h2 {
    font-size: 22px !important;
  }
}

/* ============================================================================
   LAYOUT SPACING - Widget spacing like Elementor
   ============================================================================ */

.jcm-single-lokal > * {
  margin-bottom: 20px !important;
}

.jcm-single-lokal > *:last-child {
  margin-bottom: 0 !important;
}

/* Section spacing */
.lokal-hero,
.lokal-details-section,
.lokal-pricing-section,
.lokal-map-section {
  margin-bottom: 20px !important;
}

/* ============================================================================
   HERO SECTION - Elementor style
   ============================================================================ */

.lokal-hero {
  background-color: transparent !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
}

.lokal-hero__content {
  background-color: transparent !important;
  padding: 0 !important;
}

/* Breadcrumb styling */
.lokal-hero__breadcrumb {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  color: #000000 !important;
  font-size: 14px !important;
  margin-bottom: 15px !important;
}

.lokal-hero__breadcrumb a {
  color: #00632B !important;
}

.lokal-hero__breadcrumb a:hover {
  color: var(--jcm-theme-primary) !important;
}

/* ============================================================================
   PRICE AND STATUS INDICATORS - Elementor Enhanced
   ============================================================================ */

/* Price styling with Elementor colors */
html body .lokal-pricing__price,
html body .lokal-price {
  color: var(--jcm-theme-primary) !important;
  font-family: var(--jcm-ocean-headings-font-family, inherit) !important;
  font-weight: var(--jcm-ocean-headings-font-weight) !important;
}

/* Price per m2 */
html body .lokal-pricing__price-per-m2 {
  color: #000000 !important;
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
}

/* Breadcrumbs enhancement */
html body .lokal-hero__breadcrumb {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  color: #000000 !important;
  font-size: 14px !important;
}

/* Metadata fields */
html body .lokal-details__field {
  margin-bottom: 15px !important;
}

html body .lokal-details__label {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  font-weight: var(--jcm-ocean-body-font-weight, var(--font-weight-medium, 400)) !important;
  color: var(--color-text-dark) !important;
}

html body .lokal-details__value {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
  color: #000000 !important;
}

/* ============================================================================
   OVERRIDE ANTI-THEME PROTECTION FOR HARMONY
   ============================================================================ */

html body .jcm-plugin-wrapper[data-jcm-container="single-lokal"] {
  background-color: transparent !important;
}

/* Remove any background colors that conflict - EXCLUDING content sections */
html body .jcm-single-lokal *:not(.lokal-single__content-section):not(.lokal-single__content-section *),
html body .jcm-single-inwestycja-container *:not(.inwestycja-single__content-section):not(.inwestycja-single__content-section *) {
  box-sizing: border-box !important;
}

/* Final override for any remaining conflicts - EXCLUDING content sections */
html body .jcm-single-lokal-container p:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-lokal-container span:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-lokal-container div:not(.lokal-hero__title):not(.inwestycja-header__title):not(.lokal-single__content-section):not(.lokal-single__content-section *):not(.inwestycja-single__content-section):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container p:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container span:not(.lokal-single__content-section *):not(.inwestycja-single__content-section *),
html body .jcm-single-inwestycja-container div:not(.lokal-single__content-section):not(.lokal-single__content-section *):not(.inwestycja-single__content-section):not(.inwestycja-single__content-section *) {
  font-family: var(--jcm-ocean-body-font-family, inherit) !important;
}

/* ============================================================================
   CRITICAL: COMPLETE ISOLATION FOR ELEMENTOR CONTENT SECTIONS
   This MUST be LAST to override ALL rules above
   ============================================================================ */

/* ALLOW ELEMENTOR INLINE STYLES - Do not reset all properties */
/* Image Map Pro specific fixes if needed */
html body .lokal-single__content-section [id*="image-map-pro"],
html body .lokal-single__content-section [id*="image-map-pro"] *,
html body .inwestycja-single__content-section [id*="image-map-pro"],
html body .inwestycja-single__content-section [id*="image-map-pro"] * {
  overflow: visible !important;
  pointer-events: auto !important;
}