/**
 * Ocean WP Full Size Typography Integration
 * Uses FULL Ocean customizer font sizes - NO scaling down
 * Karty i strony używają pełnych rozmiarów czcionek z Ocean customizer
 */

/* =================================================================
   TYPOGRAPHY RESET - FULL OCEAN SIZES
   ================================================================= */

/* Main plugin containers inherit Ocean body typography - FULL SIZE */
.jcm-archive-lokal-container,
.jcm-archive-inwestycja-container,
.jcm-single-lokal,
.jcm-single-inwestycja-container,
.jcm-plugin-wrapper {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important;
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
}

/* =================================================================
   HEADINGS - FULL OCEAN SIZES (NO SCALING)
   ================================================================= */

/* H1 Headings - FULL SIZE */
.jcm-archive-lokal-container h1, 
.jcm-archive-inwestycja-container h1, 
.jcm-single-lokal h1, 
.jcm-single-inwestycja-container h1,
.jcm-plugin-wrapper h1,
.lokal-card h1,
.inwestycja-card h1 {
    font-family: var(--jcm-ocean-h1-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h1-font-size, 2rem) !important;
    font-weight: var(--jcm-ocean-h1-font-weight, 700) !important;
    font-style: var(--jcm-ocean-h1-font-style, normal) !important;
    line-height: var(--jcm-ocean-h1-line-height, inherit) !important;
    margin: 0 0 1rem 0 !important;
    color: inherit;
}

/* H2 Headings - FULL SIZE */
/* Override Elementor Global Styles (.elementor-kit-7 h2) with higher specificity */
.elementor-kit-7 .jcm-archive-lokal-container h2, 
.elementor-kit-7 .jcm-archive-inwestycja-container h2, 
.elementor-kit-7 .jcm-single-lokal h2, 
.elementor-kit-7 .jcm-single-inwestycja-container h2,
.elementor-kit-7 .jcm-plugin-wrapper h2,
.elementor-kit-7 .lokal-card h2,
.elementor-kit-7 .inwestycja-card h2,
.jcm-archive-lokal-container h2, 
.jcm-archive-inwestycja-container h2, 
.jcm-single-lokal h2, 
.jcm-single-inwestycja-container h2,
.jcm-plugin-wrapper h2,
.lokal-card h2,
.inwestycja-card h2 {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important;
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    font-style: var(--jcm-ocean-h2-font-style, normal) !important;
    line-height: var(--jcm-ocean-h2-line-height, inherit);
    margin: 0 0 0.875rem 0 !important;
    color: inherit;
}

/* H3 Headings - FULL SIZE (używa H2 base size) */
.jcm-archive-lokal-container h3, 
.jcm-archive-inwestycja-container h3, 
.jcm-single-lokal h3, 
.jcm-single-inwestycja-container h3,
.jcm-plugin-wrapper h3,
.lokal-card h3,
.inwestycja-card h3 {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL SIZE, nie scale */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
    margin: 0 0 0.75rem 0 !important;
    color: inherit;
}

/* H4 Headings - FULL SIZE (używa H2 base size) */
.jcm-archive-lokal-container h4, 
.jcm-archive-inwestycja-container h4, 
.jcm-single-lokal h4, 
.jcm-single-inwestycja-container h4,
.jcm-plugin-wrapper h4,
.lokal-card h4,
.inwestycja-card h4 {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL SIZE, nie scale */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
    margin: 0 0 0.625rem 0 !important;
    color: inherit;
}

/* =================================================================
   CARD TYPOGRAPHY - FULL SIZES
   ================================================================= */

/* Card titles - Ocean WP Customizer Control */
.lokal-card .lokal-title,
.lokal-card__title,
.lokal-card__title a,
.inwestycja-card .inwestycja-title,
.inwestycja-card__title,
.inwestycja-card__title a,
.price-card__header h2,
.details-card__header h2,
.description-header h2,
.contact-card__header h2,
.featured-card__header h2,
.lokal-gallery h2 {
    font-family: var(--jcm-ocean-h2-font-family, inherit);
    font-size: var(--jcm-ocean-h2-font-size, inherit);
    font-weight: var(--jcm-ocean-h2-font-weight, inherit);
    line-height: var(--jcm-ocean-h2-line-height, inherit);
    color: inherit;
}

/* =================================================================
   INVESTMENT AND LOKAL NAMES - H5 HEADINGS
   ================================================================= */

/* Nazwy inwestycji - H2 heading style na single pages */
.inwestycja-name,
.inwestycja-title,
.entry-title .inwestycja-title,
.jcm-single-inwestycja-container .entry-title,
.jcm-single-inwestycja-container h1.entry-title {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL H2 size */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
    color: inherit;
    margin-bottom: 1rem;
}

/* Nazwy lokali - H2 heading style na single pages */
.lokal-name,
.lokal-title,
.entry-title .lokal-title,
.jcm-single-lokal .entry-title,
.jcm-single-lokal h1.entry-title {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL H2 size */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
    color: inherit;
    margin-bottom: 1rem;
}

/* Card content texts - FULL BODY SIZE */
.lokal-card__detail-label,
.lokal-card__detail-value,
.lokal-card__investment-link,
.lokal-card__description,
.lokal-card__spec-label,
.lokal-card__spec-value,
.lokal-card__spec-item,
.inwestycja-card__detail-label,
.inwestycja-card__detail-value,
.inwestycja-card__description,
.inwestycja-card__spec-label,
.inwestycja-card__spec-value,
.inwestycja-card__spec-item {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
}

/* Card prices - LARGE SIZE */
.lokal-card__price,
.lokal-card__price-value,
.lokal-card__price-m2,
.inwestycja-card__price,
.inwestycja-card__price-value {
    font-family: var(--jcm-ocean-h1-font-family, inherit) !important;
    font-size: calc(var(--jcm-ocean-h1-font-size, 2rem) * 1.1) !important; /* 1.1x H1 size */
    font-weight: var(--jcm-ocean-h1-font-weight, 700) !important;
    line-height: var(--jcm-ocean-h1-line-height, inherit) !important;
    color: inherit;
}

/* Card status badges - BODY SIZE */
.lokal-card__status,
.lokal-card__badge,
.inwestycja-card__status,
.inwestycja-card__badge {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
}

/* Card buttons - BODY SIZE */
.lokal-card__cta-btn,
.lokal-card__details-btn,
.inwestycja-card__cta-btn,
.inwestycja-card__details-btn {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
}

/* Card content - FULL BODY SIZE */
.lokal-card .card-content,
.inwestycja-card .card-content,
.card-details,
.property-description {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
}

/* Price displays - LARGER THAN H1 */
.price-display,
.lokal-price,
.inwestycja-price {
    font-family: var(--jcm-ocean-h1-font-family, inherit) !important;
    font-size: calc(var(--jcm-ocean-h1-font-size, 2rem) * 1.3) !important; /* 1.3x H1 size */
    font-weight: var(--jcm-ocean-h1-font-weight, 700) !important;
    line-height: var(--jcm-ocean-h1-line-height, inherit) !important;
    color: inherit;
}

/* =================================================================
   ARCHIVE PAGE STYLES - FULL SIZES
   ================================================================= */

/* Archive titles - FULL H1 SIZE */
.jcm-archive-title {
    font-family: var(--jcm-ocean-h1-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h1-font-size, 2rem) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-h1-font-weight, 700) !important;
    color: inherit;
    margin-bottom: 2rem;
}

/* Archive descriptions - LARGER BODY */
.jcm-archive-description {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: calc(var(--jcm-ocean-body-font-size, 16px) * 1.125) !important; /* 1.125x body */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
    margin-bottom: 2rem;
}

/* Hide investment stats on archive page */
.jcm-archive-inwestycja-container .inwestycja-card__stats {
    display: none !important;
}

/* =================================================================
   CARD TITLES - H5 STYLE FOR INVESTMENT AND PROPERTY NAMES
   ================================================================= */

/* Investment card titles - Ocean WP Customizer Control */
.inwestycja-card__title,
.inwestycja-card__title a,
.inwestycja-card__title h2 {
    font-family: var(--jcm-ocean-h2-font-family, inherit);
    font-size: var(--jcm-ocean-h2-font-size, inherit);
    font-weight: var(--jcm-ocean-h2-font-weight, inherit);
    line-height: var(--jcm-ocean-h2-line-height, inherit);
    color: inherit;
    margin-bottom: 1rem;
}

/* Property card titles - Ocean WP Customizer Control */
.lokal-card__title,
.lokal-card__title a,
.lokal-card__title h2 {
    font-family: var(--jcm-ocean-h2-font-family, inherit);
    font-size: var(--jcm-ocean-h2-font-size, inherit);
    font-weight: var(--jcm-ocean-h2-font-weight, inherit);
    line-height: var(--jcm-ocean-h2-line-height, inherit);
    color: inherit;
    margin-bottom: 1rem;
}

/* =================================================================
   SINGLE PAGE METADATA FIELDS - FULL OCEAN INHERITANCE
   ================================================================= */

/* Metadata section titles - FULL H2 SIZE */
.inwestycja-metadata__title,
.lokal-metadata__title {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    color: inherit;
    margin-bottom: 1.5rem;
}

/* All metadata fields - inherit Ocean body typography and colors */
.inwestycja-metadata__item,
.inwestycja-metadata__label,
.inwestycja-metadata__value,
.lokal-metadata__item,
.lokal-metadata__label,
.lokal-metadata__value,
.price-card__meta-item,
.price-card__meta-label,
.price-card__meta-value,
.contact-card__meta-item,
.contact-card__meta-label,
.contact-card__meta-value,
.details-card__meta-item,
.details-card__meta-label,
.details-card__meta-value {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important;
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit !important; /* Inherit from Ocean theme */
}

/* Universal metadata inheritance - ALL fields follow Ocean theme */
.inwestycja-metadata__item strong,
.lokal-metadata__item strong,
.developer-data__label,
.contact-info__label,
p strong,
.inwestycja-metadata__item a,
.lokal-metadata__item a,
.developer-data__value a,
.contact-info__value a {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}

/* Small metadata items (Telefon, Email, WWW) - FULL BODY SIZE */
.inwestycja-metadata__item--small,
.lokal-metadata__item--small,
.price-card__meta-label,
.developer-data__item,
.contact-info__item {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE, nie smaller */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
}

/* Labels inside metadata (strong tags) - inherit font weight from Ocean */
.inwestycja-metadata__item strong,
.lokal-metadata__item strong,
.price-card__meta-item strong {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 300) !important; /* Slightly bolder */
    color: inherit;
}

/* Price history elements - FULL BODY SIZE */
.price-history__item,
.history-item__date,
.history-item__price,
.history-item__m2,
.history-price__new,
.history-m2__new {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    line-height: var(--jcm-ocean-body-line-height, 1.6) !important;
    color: inherit;
}

/* Status badges - BODY SIZE */
.status-badge {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
    color: inherit;
}

/* Links inside metadata (telefon, email, www) - inherit Ocean link styles */
.inwestycja-metadata__item a,
.lokal-metadata__item a {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: var(--jcm-ocean-body-font-weight, 400) !important;
    color: inherit; /* Let Ocean handle link colors */
    text-decoration: inherit; /* Let Ocean handle link decoration */
}

/* Prospekt buttons and similar - BODY SIZE */
.inwestycja-prospekt-btn,
.lokal-prospekt-btn,
.inwestycja-single__lokale-header .btn {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
}

/* =================================================================
   FILTER AND UI ELEMENTS - FULL SIZES
   ================================================================= */

/* Filter labels and inputs - FULL BODY SIZE */
.filter-label,
.search-label {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE, nie smaller */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    color: inherit;
}

/* Buttons inherit Ocean button styles - FULL SIZE */
.jcm-button,
.filter-button,
.load-more-button {
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    font-weight: calc(var(--jcm-ocean-body-font-weight, 400) + 200) !important;
    line-height: var(--jcm-ocean-h3-line-height, inherit) !important;
}

/* =================================================================
   MOBILE RESPONSIVE - KEEP FULL SIZES
   ================================================================= */

/* On smaller screens, maintain FULL Ocean sizes (not scaled down) */
@media (max-width: 768px) {
    .jcm-archive-title {
        font-size: var(--jcm-ocean-h1-font-size, 2rem) !important; /* KEEP FULL */
    }
    
    .price-display,
    .lokal-price,
    .inwestycja-price {
        font-size: calc(var(--jcm-ocean-h1-font-size, 2rem) * 1.2) !important; /* Slightly smaller but still large */
    }
    
    .jcm-archive-lokal-container h2, 
    .jcm-archive-inwestycja-container h2,
    .lokal-card h2,
    .inwestycja-card h2 {
        font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* KEEP FULL */
    }
    
    /* Card content stays FULL SIZE on mobile */
    .lokal-card .card-content,
    .inwestycja-card .card-content {
        font-size: var(--jcm-ocean-body-font-size, 16px) !important; /* FULL SIZE */
    }
}

/* =================================================================
   CLEANUP - REMOVE CONFLICTING STYLES
   ================================================================= */

/* Remove any hardcoded font styles that might conflict */
.jcm-plugin-wrapper * {
    font-family: inherit !important;
}

/* Ensure all text elements inherit properly */
.jcm-archive-lokal-container *,
.jcm-archive-inwestycja-container *,
.jcm-single-lokal *,
.jcm-single-inwestycja-container * {
    font-family: inherit;
    color: inherit;
}

/* =================================================================
   SPECIFIC CARD IMPROVEMENTS - FULL SIZE TEXT
   ================================================================= */

/* Make sure card text is clearly readable with full sizes */
.lokal-card,
.inwestycja-card {
    line-height: var(--jcm-ocean-body-line-height, inherit);
}

/* Card descriptions and details use full body size */
.card-description,
.card-details p,
.property-info,
.investment-info {
    font-size: var(--jcm-ocean-body-font-size, 16px) !important;
    line-height: var(--jcm-ocean-body-line-height, inherit);
}

/* =================================================================
   UNIVERSAL CARD SELECTORS - CATCH ALL CARD ELEMENTS
   ================================================================= */

/* Uniwersalny selektor dla wszystkich tekstów w kartach - FULL SIZE */
/* Body text elements - exclude headings AND their content */
.lokal-card *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(h1 *):not(h2 *):not(h3 *):not(h4 *):not(h5 *):not(h6 *),
.inwestycja-card *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(h1 *):not(h2 *):not(h3 *):not(h4 *):not(h5 *):not(h6 *),
.lokal-card--archive *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(h1 *):not(h2 *):not(h3 *):not(h4 *):not(h5 *):not(h6 *),
.inwestycja-card--archive *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(h1 *):not(h2 *):not(h3 *):not(h4 *):not(h5 *):not(h6 *) {
    font-size: var(--jcm-ocean-body-font-size, 16px) !important;
    font-family: var(--jcm-ocean-body-font-family, inherit) !important;
    line-height: var(--jcm-ocean-body-line-height, inherit);
}

/* Card headings except titles (which are H5) - FULL H2 SIZE */
.lokal-card h1, .lokal-card h3, .lokal-card h4, .lokal-card h6,
.inwestycja-card h1, .inwestycja-card h3, .inwestycja-card h4, .inwestycja-card h6,
.lokal-card--archive h1, .lokal-card--archive h3, .lokal-card--archive h4, .lokal-card--archive h6,
.inwestycja-card--archive h1, .inwestycja-card--archive h3, .inwestycja-card--archive h4, .inwestycja-card--archive h6 {
    font-family: var(--jcm-ocean-h2-font-family, inherit) !important;
    font-size: var(--jcm-ocean-h2-font-size, 1.75rem) !important; /* FULL H2 SIZE */
    font-weight: var(--jcm-ocean-h2-font-weight, 600) !important;
    line-height: var(--jcm-ocean-h2-line-height, inherit) !important;
}

/* Card titles (H2, H5) use H5 style as defined above in CARD TITLES section */