/* EstiCRM - Single offer. Body prefix + !important żeby pobić Astrę.
   Galeria 3 warianty: mosaic, thumbs, commercial. Lightbox modal. */

body .esticrm-single {
    color: var(--esticrm-text) !important;
    font-family: var(--esticrm-font-sans) !important;
}

body .esticrm-single__layout {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    gap: 48px !important;
    align-items: start !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 40px 24px 80px !important;
}

body .esticrm-single__main {
    min-width: 0 !important;
}

body .esticrm-single__sidebar {
    min-width: 0 !important;
}

body .esticrm-single__divider {
    height: 1px !important;
    background: var(--esticrm-border) !important;
    margin: 28px 0 !important;
    border: 0 !important;
}

/* ============================================================
   GALLERY - shared
   ============================================================ */

body .esticrm-gallery {
    margin: 0 0 32px !important;
    padding: 0 !important;
}

body .esticrm-gallery a {
    text-decoration: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* podwójny tap na galerii nie zoomuje strony (mobile) */
body .esticrm-gallery a,
body .esticrm-gallery button,
body .esticrm-gallery__tile,
body .esticrm-gallery img {
    touch-action: manipulation !important;
}

body .esticrm-gallery img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* ============================================================
   GALLERY MOSAIC (default - 1 main + 2 side z blur "pokaż więcej")
   ============================================================ */

body .esticrm-gallery--mosaic .esticrm-gallery__mosaic {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    /* 1fr — wiersz trzyma wysokość z aspect-ratio; bez tego PIONOWE zdjęcie główne
       rozpychało grid do swojej naturalnej wysokości (min-height:auto przebijał aspect) */
    grid-template-rows: 1fr !important;
    gap: var(--esticrm-gallery-tile-gap, 8px) !important;
    /* 16/7 zamiast 16/9 — niższa mozaika, główne zdjęcie wychodzi poziome (~3:2), nie prawie kwadrat */
    aspect-ratio: var(--esticrm-gallery-mosaic-aspect, 16 / 7) !important;
    background: transparent !important;
}

/* kafelki mozaiki muszą móc się skurczyć poniżej treści — inaczej pionowe foto
   rozpycha siatkę i aspect-ratio jest ignorowane (object-fit:cover przycina zamiast rozpychać) */
body .esticrm-gallery--mosaic .esticrm-gallery__main,
body .esticrm-gallery--mosaic .esticrm-gallery__side,
body .esticrm-gallery--mosaic .esticrm-gallery__side-item {
    min-height: 0 !important;
    min-width: 0 !important;
}

/* Fallback dla mniej niż 3 zdjec */
body .esticrm-gallery--count-1 .esticrm-gallery__mosaic {
    grid-template-columns: 1fr !important;
}
body .esticrm-gallery--count-1 .esticrm-gallery__side { display: none !important; }
body .esticrm-gallery--count-2 .esticrm-gallery__mosaic {
    grid-template-columns: 1fr 1fr !important;
}
body .esticrm-gallery--count-2 .esticrm-gallery__side { display: block !important; }
body .esticrm-gallery--count-2 .esticrm-gallery__side > * + * { display: none !important; }

/* Wszystkie kafelki (tile) - jednolity border-radius na KAZDYM zdjeciu */
body .esticrm-gallery__tile {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: var(--esticrm-gallery-tile-radius, var(--esticrm-radius-card)) !important;
    background: #e8e4de !important;
    cursor: pointer !important;
}

body .esticrm-gallery__tile img {
    transition: transform .4s !important;
    border-radius: 0 !important;
}

body .esticrm-gallery__tile:hover img { transform: scale(1.03) !important; }

body .esticrm-gallery--mosaic .esticrm-gallery__side {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: var(--esticrm-gallery-tile-gap, 8px) !important;
}

body .esticrm-gallery__more-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--esticrm-gallery-overlay-bg, rgba(17, 16, 16, 0.55)) !important;
    backdrop-filter: blur(var(--esticrm-gallery-overlay-blur, 4px)) !important;
    -webkit-backdrop-filter: blur(var(--esticrm-gallery-overlay-blur, 4px)) !important;
    color: var(--esticrm-gallery-overlay-color, #fff) !important;
    cursor: pointer !important;
    transition: background .2s !important;
    border-radius: inherit !important;
    z-index: 2 !important;
}

body .esticrm-gallery__more-overlay:hover,
body .esticrm-gallery__tile--more:hover .esticrm-gallery__more-overlay,
body .esticrm-gallery__side-item--more:hover .esticrm-gallery__more-overlay {
    background: rgba(17, 16, 16, 0.7) !important;
}

body .esticrm-gallery__more-overlay svg {
    color: var(--esticrm-gallery-overlay-color, #fff) !important;
    stroke: var(--esticrm-gallery-overlay-color, #fff) !important;
    fill: none !important;
    width: 24px !important;
    height: 24px !important;
}

body .esticrm-gallery__more-label {
    font-family: var(--esticrm-font-sans) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-gallery-overlay-color, #fff) !important;
    line-height: 1 !important;
}

body .esticrm-gallery__more-count {
    font-family: var(--esticrm-font-sans) !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    color: var(--esticrm-gallery-overlay-color, #fff) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   AGENT CARD VARIANTS (6)
   ============================================================ */

/* HORIZONTAL */
body .esticrm-single-agent--horizontal {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
body .esticrm-single-agent--horizontal .esticrm-single-agent__avatar {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
}
body .esticrm-single-agent--horizontal .esticrm-single-agent__horiz-body { flex: 1 !important; min-width: 0 !important; }
body .esticrm-single-agent--horizontal .esticrm-single-agent__contacts {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-top: 8px !important;
    font-size: 13px !important;
}
body .esticrm-single-agent--horizontal .esticrm-single-agent__contacts a {
    color: var(--esticrm-text) !important;
    text-decoration: none !important;
}
body .esticrm-single-agent--horizontal .esticrm-single-agent__contacts a:hover { color: var(--esticrm-accent) !important; }

/* PREMIUM */
body .esticrm-single-agent--premium {
    background: linear-gradient(180deg, #fff 0%, #faf7f0 100%) !important;
    border: 1px solid var(--esticrm-accent-light) !important;
    border-radius: var(--esticrm-radius-card) !important;
    padding: 32px 24px !important;
    text-align: center !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__premium-eyebrow {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-accent) !important;
    margin: 0 0 16px !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__avatar--big {
    width: 100px !important;
    height: 100px !important;
    margin: 0 auto 16px !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__name--serif {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__premium-line {
    width: 40px !important;
    height: 1px !important;
    background: var(--esticrm-accent) !important;
    margin: 16px auto !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__premium-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    font-size: 13px !important;
    color: var(--esticrm-text) !important;
    text-decoration: none !important;
}
body .esticrm-single-agent--premium .esticrm-single-agent__premium-row:hover { color: var(--esticrm-accent) !important; }
body .esticrm-single-agent--premium .esticrm-single-agent__premium-row svg {
    color: var(--esticrm-accent) !important;
    stroke: var(--esticrm-accent) !important;
    fill: none !important;
}

/* MINIMAL */
body .esticrm-single-agent--minimal {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--esticrm-border) !important;
    border-bottom: 1px solid var(--esticrm-border) !important;
    border-radius: 0 !important;
    padding: 20px 0 !important;
    text-align: left !important;
}
body .esticrm-single-agent--minimal .esticrm-single-agent__minimal-label {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 8px !important;
}
body .esticrm-single-agent--minimal .esticrm-single-agent__name {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    margin: 0 0 10px !important;
}
body .esticrm-single-agent--minimal .esticrm-single-agent__minimal-link {
    display: block !important;
    padding: 4px 0 !important;
    color: var(--esticrm-text) !important;
    text-decoration: none !important;
    font-size: 14px !important;
}
body .esticrm-single-agent--minimal .esticrm-single-agent__minimal-link:hover { color: var(--esticrm-accent) !important; }

/* FULL-BG */
body .esticrm-single-agent--full-bg {
    position: relative !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
    background-color: #1a1a1a !important;
    padding: 0 !important;
    border: 0 !important;
}
body .esticrm-single-agent--full-bg .esticrm-single-agent__bg-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 24px !important;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 60%, transparent 100%) !important;
    color: #fff !important;
}
body .esticrm-single-agent__name--white { color: #fff !important; }
body .esticrm-single-agent__role--white { color: rgba(255, 255, 255, .8) !important; }
body .esticrm-single-agent--full-bg .esticrm-single-agent__bg-link {
    display: block !important;
    padding: 6px 0 !important;
    font-size: 14px !important;
    color: #fff !important;
    text-decoration: none !important;
}
body .esticrm-single-agent--full-bg .esticrm-single-agent__bg-link:hover { color: var(--esticrm-accent) !important; }

/* CARD-TOP */
body .esticrm-single-agent--card-top {
    padding: 0 !important;
    overflow: hidden !important;
}
body .esticrm-single-agent--card-top .esticrm-single-agent__avatar--top {
    width: 100% !important;
    height: 220px !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
}
body .esticrm-single-agent--card-top .esticrm-single-agent__card-body { padding: 20px 24px 24px !important; }

/* CTA button */
body .esticrm-single-agent__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 12px 20px !important;
    margin-top: 16px !important;
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--esticrm-radius) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background .2s !important;
}
body .esticrm-single-agent__cta:hover { background: #9a7821 !important; color: #fff !important; }
body .esticrm-single-agent__cta--premium { border-radius: 999px !important; padding: 14px 24px !important; }

/* v8 A19: reveal phone button — domyślne style + edytowalne przez Elementor */
body .esticrm-agent-reveal-phone {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 18px !important;
    background: #f3f3f3 !important;
    color: #1a1a1a !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 999px !important;
    font: 500 13px/1 var(--esticrm-font-sans) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .15s, color .15s !important;
}
body .esticrm-agent-reveal-phone:hover {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
}

/* ============================================================
   INFO STRIP + SINGLE TITLE
   ============================================================ */

body .esticrm-info-strip {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 16px !important;
}
body .esticrm-info-strip__badge {
    display: inline-flex !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}
body .esticrm-info-strip__badge--wynajem { background: #5a3520 !important; color: #f5e8d8 !important; }
body .esticrm-info-strip__badge--sprzedaz { background: #1a2a3a !important; color: #c8dff5 !important; }
body .esticrm-info-strip__sep { color: var(--esticrm-border) !important; font-size: 10px !important; }
body .esticrm-info-strip__item { color: var(--esticrm-text) !important; }

body .esticrm-info-strip--blocks .esticrm-info-strip__item {
    display: inline-flex !important;
    padding: 4px 10px !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: 16px !important;
    font-size: 12px !important;
}
body .esticrm-info-strip--blocks .esticrm-info-strip__sep { display: none !important; }

body .esticrm-info-strip--breadcrumbs {
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
}
body .esticrm-info-strip--breadcrumbs .esticrm-info-strip__sep {
    color: var(--esticrm-accent) !important;
}

body .esticrm-single-title {
    margin: 0 0 16px !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--esticrm-text) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body .esticrm-single-title--serif {
    font-family: var(--esticrm-font-serif) !important;
    font-weight: 400 !important;
}

/* ============================================================
   GALLERY EXPAND (Pokaż więcej rozwija siatkę thumbs zamiast lightbox)
   ============================================================ */

body .esticrm-gallery__expand {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 12px !important;
    border-radius: var(--esticrm-radius-card) !important;
    background: rgba(0, 0, 0, .03) !important;
    animation: esticrm-fade-in .3s ease !important;
}

body .esticrm-gallery__expand[hidden] { display: none !important; }

body .esticrm-gallery__expand-item {
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: var(--esticrm-radius) !important;
    background: #e8e4de !important;
    cursor: pointer !important;
    display: block !important;
}

body .esticrm-gallery__expand-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .3s !important;
}

body .esticrm-gallery__expand-item:hover img { transform: scale(1.04) !important; }

@keyframes esticrm-fade-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   GALLERY GRID (3x3 wszystkie zdjecia)
   ============================================================ */

body .esticrm-gallery--grid .esticrm-gallery__grid-wrap {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: 200px !important;
    gap: var(--esticrm-gallery-tile-gap, 8px) !important;
}

body .esticrm-gallery--grid .esticrm-gallery__grid-item--main {
    grid-row: span 2 !important;
    grid-column: span 2 !important;
}

@media (max-width: 700px) {
    body .esticrm-gallery--grid .esticrm-gallery__grid-wrap {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 140px !important;
    }
    body .esticrm-gallery--grid .esticrm-gallery__grid-item--main {
        grid-column: span 2 !important;
        grid-row: span 2 !important;
    }
}

/* ============================================================
   GALLERY STACK (vertical)
   ============================================================ */

body .esticrm-gallery--stack .esticrm-gallery__main {
    aspect-ratio: 16 / 9 !important;
    margin-bottom: var(--esticrm-gallery-tile-gap, 8px) !important;
}

body .esticrm-gallery--stack .esticrm-gallery__stack-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: var(--esticrm-gallery-tile-gap, 8px) !important;
}

body .esticrm-gallery--stack .esticrm-gallery__stack-thumb {
    aspect-ratio: 4 / 3 !important;
}

@media (max-width: 640px) {
    body .esticrm-gallery--stack .esticrm-gallery__stack-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ============================================================
   GALLERY MASONRY (kafelki rozne rozmiary)
   ============================================================ */

body .esticrm-gallery--masonry .esticrm-gallery__masonry-wrap {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 180px !important;
    gap: var(--esticrm-gallery-tile-gap, 8px) !important;
}

body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--0 {
    grid-column: span 2 !important;
    grid-row: span 2 !important;
}
body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--1 { grid-column: span 2 !important; }
body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--2 { grid-column: span 2 !important; }

@media (max-width: 700px) {
    body .esticrm-gallery--masonry .esticrm-gallery__masonry-wrap {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 140px !important;
    }
    body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--0 { grid-column: span 2 !important; grid-row: span 2 !important; }
    body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--1,
    body .esticrm-gallery--masonry .esticrm-gallery__masonry-item--2 { grid-column: span 2 !important; }
}

/* ============================================================
   GALLERY THUMBS (wariant A - naprawiony obecny)
   ============================================================ */

body .esticrm-gallery--thumbs .esticrm-gallery__stage {
    position: relative !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    aspect-ratio: 16 / 10 !important;
    background: #e8e4de !important;
    cursor: pointer !important;
}

body .esticrm-gallery--thumbs .esticrm-gallery__stage-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body .esticrm-gallery--thumbs .esticrm-gallery__stage img {
    transition: transform .4s !important;
}

body .esticrm-gallery--thumbs .esticrm-gallery__stage:hover img {
    transform: scale(1.02) !important;
}

body .esticrm-gallery__counter {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: rgba(17, 16, 16, .7) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

body .esticrm-gallery__nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--esticrm-gallery-nav-bg, rgba(255, 255, 255, .92)) !important;
    color: var(--esticrm-gallery-nav-color, var(--esticrm-text)) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s, color .2s !important;
    z-index: 3 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2) !important;
    font-size: 0 !important;
    touch-action: manipulation !important;
}

body .esticrm-gallery__nav svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

body .esticrm-gallery__nav:hover {
    background: #fff !important;
    color: var(--esticrm-accent) !important;
}

body .esticrm-gallery__nav--prev { left: 16px !important; }
body .esticrm-gallery__nav--next { right: 16px !important; }

body .esticrm-gallery__thumbs {
    display: flex !important;
    gap: 8px !important;
    margin: 8px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
}

body .esticrm-gallery__thumbs::-webkit-scrollbar { height: 3px !important; }
body .esticrm-gallery__thumbs::-webkit-scrollbar-track { background: transparent !important; }
body .esticrm-gallery__thumbs::-webkit-scrollbar-thumb { background: var(--esticrm-border) !important; border-radius: 2px !important; }

body .esticrm-gallery__thumb {
    flex-shrink: 0 !important;
    width: 110px !important;
    height: 72px !important;
    padding: 0 !important;
    border: 2px solid transparent !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    background: #e8e4de !important;
    transition: border-color .2s !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-size: 0 !important;
}

body .esticrm-gallery__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .esticrm-gallery__thumb.is-active {
    border-color: var(--esticrm-gallery-accent, var(--esticrm-accent)) !important;
}

/* ============================================================
   GALLERY COMMERCIAL (wariant C - main + 4 thumbs + last as "more")
   ============================================================ */

body .esticrm-gallery--commercial {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__main {
    display: block !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    background: #e8e4de !important;
    cursor: pointer !important;
    position: relative !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__main img {
    transition: transform .4s !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__main:hover img {
    transform: scale(1.02) !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__commercial-thumbs {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
    gap: 8px !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__commercial-thumb {
    position: relative !important;
    display: block !important;
    aspect-ratio: 4 / 3 !important;
    border: 0 !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    background: #e8e4de !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-size: 0 !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__commercial-thumb img {
    transition: transform .4s !important;
}

body .esticrm-gallery--commercial .esticrm-gallery__commercial-thumb:hover img {
    transform: scale(1.04) !important;
}

/* ============================================================
   LIGHTBOX (modal)
   ============================================================ */

body .esticrm-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: rgba(10, 10, 10, .95) !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 60px !important;
    color: #fff !important;
    font-family: var(--esticrm-font-sans) !important;
}

body .esticrm-lightbox.is-open {
    display: flex !important;
}

body .esticrm-lightbox,
body .esticrm-lightbox__img,
body .esticrm-lightbox__inner {
    touch-action: pan-y pinch-zoom !important;
}

body .esticrm-lightbox__inner {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 1400px !important;
    max-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .esticrm-lightbox__img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 4px !important;
}

body .esticrm-lightbox__close {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .15) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s !important;
    z-index: 10 !important;
    font-size: 0 !important;
}

body .esticrm-lightbox__close:hover {
    background: rgba(255, 255, 255, .25) !important;
}

body .esticrm-lightbox__close svg {
    width: 20px !important;
    height: 20px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
}

body .esticrm-lightbox__nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .15) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s !important;
    z-index: 10 !important;
    font-size: 0 !important;
}

body .esticrm-lightbox__nav:hover {
    background: rgba(255, 255, 255, .25) !important;
}

body .esticrm-lightbox__nav svg {
    width: 22px !important;
    height: 22px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

body .esticrm-lightbox__nav--prev { left: 20px !important; }
body .esticrm-lightbox__nav--next { right: 20px !important; }

body .esticrm-lightbox__counter {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(0, 0, 0, .6) !important;
    color: #fff !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    pointer-events: none !important;
}

body .esticrm-lightbox__thumbs {
    position: absolute !important;
    bottom: 60px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 6px !important;
    max-width: 80% !important;
    overflow-x: auto !important;
    padding: 6px !important;
    background: rgba(0, 0, 0, .4) !important;
    border-radius: 6px !important;
}

body .esticrm-lightbox__thumb {
    flex-shrink: 0 !important;
    width: 60px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 2px solid transparent !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    background: none !important;
    transition: border-color .2s !important;
}

body .esticrm-lightbox__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

body .esticrm-lightbox__thumb.is-active {
    border-color: var(--esticrm-accent) !important;
}

/* ===== LIGHTBOX RESPONSYWNY (tablet/telefon) ===== */
@media (max-width: 900px) {
    body .esticrm-lightbox {
        padding: 16px !important;
    }
    body .esticrm-lightbox__inner {
        max-width: 100% !important;
    }
    body .esticrm-lightbox__nav--prev { left: 8px !important; }
    body .esticrm-lightbox__nav--next { right: 8px !important; }
    body .esticrm-lightbox__nav {
        width: 40px !important;
        height: 40px !important;
        background: rgba(0, 0, 0, .45) !important;
    }
}

@media (max-width: 768px) {
    /* obraz na całą szerokość ekranu — bez narzuconego dopełnienia */
    body .esticrm-lightbox {
        padding: 0 !important;
    }
    body .esticrm-lightbox__img {
        border-radius: 0 !important;
        max-width: 100% !important;
        max-height: 100% !important;
    }
    /* na telefonie nawigujemy gestem (swipe) — strzałki zbędne i brzydkie */
    body .esticrm-lightbox__nav {
        display: none !important;
    }
    body .esticrm-lightbox__close {
        top: 12px !important;
        right: 12px !important;
        width: 42px !important;
        height: 42px !important;
        background: rgba(0, 0, 0, .55) !important;
    }
    body .esticrm-lightbox__counter {
        bottom: 14px !important;
        font-size: 12px !important;
    }
}

/* ============================================================
   BASIC INFO (tytuł + tagi + cena)
   ============================================================ */

body .esticrm-single-basic-info {
    margin: 0 0 28px !important;
    padding: 0 !important;
}

body .esticrm-single-basic-info__title {
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-family: var(--esticrm-font-serif) !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: var(--esticrm-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body .esticrm-single-basic-info__tags {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

body .esticrm-single-basic-info__badge {
    background: var(--esticrm-accent) !important;
    color: var(--esticrm-dark) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    border: 0 !important;
    line-height: 1.4 !important;
}

body .esticrm-single-basic-info__tag {
    font-size: 13px !important;
    color: var(--esticrm-muted) !important;
    letter-spacing: .5px !important;
    text-transform: none !important;
}

body .esticrm-single-basic-info__dot {
    color: var(--esticrm-border) !important;
    font-size: 10px !important;
}

body .esticrm-single-basic-info__price-label {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 8px !important;
    line-height: 1.4 !important;
}

body .esticrm-single-basic-info__price-row {
    display: flex !important;
    align-items: baseline !important;
    gap: 14px !important;
    margin: 0 0 4px !important;
}

body .esticrm-single-basic-info__price {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    color: var(--esticrm-text) !important;
    line-height: 1.1 !important;
}

body .esticrm-single-basic-info__price-m2 {
    font-size: 13px !important;
    color: var(--esticrm-muted) !important;
}

/* ============================================================
   ACCORDION
   ============================================================ */

body .esticrm-accordion {
    border-bottom: 1px solid var(--esticrm-border) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body .esticrm-accordion:first-of-type {
    border-top: 1px solid var(--esticrm-border) !important;
}

body .esticrm-accordion__btn,
body summary.esticrm-accordion__btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 0 !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-text) !important;
    text-align: left !important;
    list-style: none !important;
    margin: 0 !important;
}

body .esticrm-accordion__btn::-webkit-details-marker,
body summary.esticrm-accordion__btn::-webkit-details-marker {
    display: none !important;
}

body .esticrm-accordion__btn::marker,
body summary.esticrm-accordion__btn::marker {
    display: none !important;
    content: '' !important;
}

body .esticrm-accordion__btn:hover {
    color: var(--esticrm-accent) !important;
}

body .esticrm-accordion__title {
    flex: 1 !important;
    color: inherit !important;
}

body .esticrm-accordion__icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: 50% !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background .2s, border-color .2s !important;
    color: var(--esticrm-text) !important;
}

body .esticrm-accordion__btn:hover .esticrm-accordion__icon {
    border-color: var(--esticrm-accent) !important;
}

body .esticrm-accordion__icon svg {
    transition: transform .3s !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
}

body .esticrm-accordion[open] .esticrm-accordion__icon {
    background: var(--esticrm-accent) !important;
    border-color: var(--esticrm-accent) !important;
    color: #fff !important;
}

body .esticrm-accordion[open] .esticrm-accordion__icon svg {
    transform: rotate(45deg) !important;
}

body .esticrm-accordion__body {
    padding: 0 0 24px !important;
}

body .esticrm-accordion__text p {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--esticrm-muted) !important;
    font-weight: 300 !important;
    margin: 0 0 16px !important;
}

body .esticrm-accordion__text p:last-child {
    margin: 0 !important;
}

body .esticrm-accordion__specs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

body .esticrm-accordion__spec {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--esticrm-border) !important;
}

body .esticrm-accordion__spec:last-child,
body .esticrm-accordion__spec:nth-last-child(2):nth-child(odd) {
    border-bottom: 0 !important;
}

body .esticrm-accordion__spec-icon {
    color: var(--esticrm-accent) !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 1 !important;
}

/* v10 B17 fix — pozwalamy wybranej ikonie (SVG/FA/img) pokazać własną strukturę. */
body .esticrm-accordion__spec-icon svg,
body .esticrm-accordion__spec-icon img {
    width: 20px !important;
    height: 20px !important;
    display: inline-block !important;
    color: currentColor !important;
    line-height: 1 !important;
}
body .esticrm-accordion__spec-icon svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}
body .esticrm-accordion__spec-icon svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}
body .esticrm-accordion__spec-icon i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: currentColor !important;
    min-width: 20px !important;
}

body .esticrm-accordion__spec-body { min-width: 0 !important; }

body .esticrm-accordion__spec-label {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 2px !important;
    line-height: 1.4 !important;
}

body .esticrm-accordion__spec-val {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--esticrm-text) !important;
    line-height: 1.4 !important;
}

body .esticrm-accordion__amenities,
body .esticrm-accordion__neighborhood {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 10px 20px !important;
}

body .esticrm-accordion__amenity,
body .esticrm-accordion__neighbor-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: var(--esticrm-text) !important;
    line-height: 1.4 !important;
}

body .esticrm-accordion__amenity-dot,
body .esticrm-accordion__neighbor-dot {
    color: var(--esticrm-accent) !important;
}

body .esticrm-accordion__map-placeholder {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 240px !important;
    border: 1px dashed var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    color: var(--esticrm-muted) !important;
    background: #f5f3ef !important;
}

body .esticrm-accordion__map-frame {
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    background: #e8e4de !important;
}

body .esticrm-accordion__map-frame iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
}

body .esticrm-accordion__address {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    font-size: 13px !important;
    color: var(--esticrm-text) !important;
}

body .esticrm-accordion__address svg {
    color: var(--esticrm-accent) !important;
    stroke: var(--esticrm-accent) !important;
    fill: none !important;
    flex-shrink: 0 !important;
}

body .esticrm-accordion__video {
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    background: #000 !important;
}

body .esticrm-accordion__video iframe,
body .esticrm-accordion__video video {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
}

/* ============================================================
   AGENT CARD (sidebar)
   ============================================================ */

body .esticrm-single-agent {
    background: #fff !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    padding: 24px !important;
    margin: 0 0 16px !important;
}

body .esticrm-single-agent__header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
}

body .esticrm-single-agent__avatar {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #e8e4de !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

body .esticrm-single-agent__avatar-img,
body .esticrm-single-agent__avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .esticrm-single-agent__avatar-placeholder {
    color: var(--esticrm-muted) !important;
}

body .esticrm-single-agent__head-info {
    flex: 1 !important;
    min-width: 0 !important;
}

body .esticrm-single-agent__name {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--esticrm-text) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body .esticrm-single-agent__role {
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 2px 0 0 !important;
}

body .esticrm-single-agent__divider {
    height: 1px !important;
    background: var(--esticrm-border) !important;
    margin: 16px 0 !important;
    border: 0 !important;
}

body .esticrm-single-agent__row {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin: 0 0 6px !important;
    font-size: 13px !important;
}

body .esticrm-single-agent__label {
    color: var(--esticrm-muted) !important;
    text-transform: lowercase !important;
    min-width: 36px !important;
}

body .esticrm-single-agent__value {
    color: var(--esticrm-text) !important;
    text-decoration: none !important;
    word-break: break-word !important;
    box-shadow: none !important;
}

body .esticrm-single-agent__value:hover {
    color: var(--esticrm-accent) !important;
}

body .esticrm-single-agent__value--email {
    color: var(--esticrm-accent) !important;
    font-size: 12px !important;
}

/* ============================================================
   ACTIONS (share + favorite) - W KOLORZE AKCENTU (gold), NIE czarne!
   ============================================================ */

body .esticrm-single-actions {
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

body .esticrm-single-share,
body .esticrm-single-fav {
    flex: 1 1 50% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    background: #fff !important;
    color: var(--esticrm-text) !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .5px !important;
    text-transform: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: border-color .2s, color .2s, background .2s !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
}

body .esticrm-single-share:hover,
body .esticrm-single-fav:hover {
    border-color: var(--esticrm-accent) !important;
    color: var(--esticrm-accent) !important;
    background: #fff !important;
}

body .esticrm-single-fav.is-active,
body .esticrm-single-fav[aria-pressed="true"] {
    background: var(--esticrm-accent) !important;
    border-color: var(--esticrm-accent) !important;
    color: #fff !important;
}

body .esticrm-single-fav.is-active svg,
body .esticrm-single-fav[aria-pressed="true"] svg {
    fill: #fff !important;
    stroke: #fff !important;
}

body .esticrm-single-share__icon svg,
body .esticrm-single-fav__icon svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.6 !important;
}

body .esticrm-single-share__label,
body .esticrm-single-fav__label {
    color: currentColor !important;
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    body .esticrm-single__layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 24px 16px 60px !important;
    }
    body .esticrm-accordion__specs,
    body .esticrm-accordion__amenities,
    body .esticrm-accordion__neighborhood {
        grid-template-columns: 1fr !important;
    }
    /* TABLET: mozaika trzyma układ boczny (główne + miniatury z prawej),
       tylko niższa, żeby zdjęcie nie zżerało całego ekranu */
    body .esticrm-gallery--mosaic .esticrm-gallery__mosaic {
        aspect-ratio: 16 / 8 !important;
    }
}

/* TELEFON: dopiero tu mozaika zwija się do jednej kolumny (główne + rząd miniatur pod spodem).
   grid-template-rows: auto auto (nie fr) — inaczej pusty 3. wiersz robił przerwę ~200px */
@media (max-width: 600px) {
    body .esticrm-gallery--mosaic .esticrm-gallery__mosaic {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        aspect-ratio: auto !important;
        gap: var(--esticrm-gallery-tile-gap, 8px) !important;
    }
    body .esticrm-gallery--mosaic .esticrm-gallery__main {
        aspect-ratio: 16 / 10 !important;
    }
    body .esticrm-gallery--mosaic .esticrm-gallery__side {
        grid-template-rows: auto !important;
        grid-template-columns: 1fr 1fr !important;
        gap: var(--esticrm-gallery-tile-gap, 8px) !important;
    }
    body .esticrm-gallery--mosaic .esticrm-gallery__side-item {
        aspect-ratio: 4 / 3 !important;
    }
    /* count-1: tylko main, brak pustej przestrzeni */
    body .esticrm-gallery--count-1 .esticrm-gallery__main {
        aspect-ratio: 16 / 10 !important;
    }
    /* count-2: jedna miniatura — niech będzie pełnej szerokości, nie pół */
    body .esticrm-gallery--count-2 .esticrm-gallery__side {
        grid-template-columns: 1fr !important;
    }
    body .esticrm-gallery--count-2 .esticrm-gallery__side-item {
        aspect-ratio: 16 / 10 !important;
    }
}

/* ============================================================
   v6: NOWE GALERIE (carousel-fw, split-side, gallery-overlay, strip-bottom)
   ============================================================ */

/* CAROUSEL-FULLWIDTH */
body .esticrm-gallery--carousel-fw {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    background: var(--esticrm-gallery-bg, #000) !important;
    overflow: hidden !important;
    border-radius: var(--esticrm-radius-card) !important;
}
body .esticrm-gallery__cfw-viewport { position: relative !important; width: 100% !important; height: 100% !important; }
body .esticrm-gallery__cfw-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity .4s ease !important;
    display: block !important;
}
body .esticrm-gallery__cfw-slide.is-active { opacity: 1 !important; }
body .esticrm-gallery__cfw-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-gallery__cfw-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: var(--esticrm-gallery-arrow-bg, rgba(0,0,0,.7)) !important;
    color: var(--esticrm-gallery-arrow-color, #fff) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 5 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    transition: background .2s, transform .15s !important;
}
body .esticrm-gallery__cfw-arrow svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    fill: none !important;
}
body .esticrm-gallery__cfw-arrow:hover {
    background: var(--esticrm-gallery-arrow-bg-hover, #000) !important;
    transform: translateY(-50%) scale(1.06) !important;
}
body .esticrm-gallery__cfw-arrow--prev { left: 16px !important; }
body .esticrm-gallery__cfw-arrow--next { right: 16px !important; }
body .esticrm-gallery__cfw-dots {
    position: absolute !important;
    bottom: 16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 3 !important;
}
body .esticrm-gallery__cfw-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: var(--esticrm-gallery-dot-bg, rgba(255,255,255,.5)) !important;
    cursor: pointer !important;
    transition: background .2s !important;
    padding: 0 !important;
}
body .esticrm-gallery__cfw-dot.is-active { background: var(--esticrm-gallery-dot-bg-active, #fff) !important; }

/* SPLIT-SIDE */
body .esticrm-gallery--split-side {
    display: grid !important;
    grid-template-columns: var(--esticrm-gallery-ss-main-width, 66%) 1fr !important;
    gap: var(--esticrm-gallery-tile-gap, 12px) !important;
    aspect-ratio: 16 / 10 !important;
}
body .esticrm-gallery--split-side .esticrm-gallery__ss-main {
    display: block !important;
    overflow: hidden !important;
    border-radius: var(--esticrm-radius-card) !important;
    background: #e8e4de !important;
}
body .esticrm-gallery--split-side .esticrm-gallery__ss-main img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-gallery--split-side .esticrm-gallery__ss-thumbs {
    display: grid !important;
    grid-template-rows: 1fr 1fr 1fr 1fr !important;
    gap: var(--esticrm-gallery-tile-gap, 12px) !important;
}
body .esticrm-gallery--split-side .esticrm-gallery__ss-thumb {
    display: block !important;
    overflow: hidden !important;
    border-radius: var(--esticrm-radius) !important;
    background: #e8e4de !important;
    position: relative !important;
}
body .esticrm-gallery--split-side .esticrm-gallery__ss-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
@media (max-width: 640px) {
    body .esticrm-gallery--split-side { grid-template-columns: 1fr !important; aspect-ratio: auto !important; }
    body .esticrm-gallery--split-side .esticrm-gallery__ss-thumbs { grid-template-rows: none !important; grid-template-columns: repeat(4, 1fr) !important; }
}

/* v8 A15: split-side expand-list span całej szerokości galerii (nie tylko głównego) */
body .esticrm-gallery--split-side .esticrm-gallery__expand,
body .esticrm-gallery--gallery-overlay .esticrm-gallery__expand,
body .esticrm-gallery--masonry .esticrm-gallery__expand,
body .esticrm-gallery--stack .esticrm-gallery__expand {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* GALLERY-OVERLAY (Sotheby's style) */
body .esticrm-gallery--overlay-style {
    position: relative !important;
    /* v8 A16: stała wysokość — nie redukuje się po expand */
    aspect-ratio: 16 / 10 !important;
    min-height: 380px !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
}
body .esticrm-gallery--overlay-style .esticrm-gallery__ov-main {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}
body .esticrm-gallery--overlay-style .esticrm-gallery__ov-main img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-gallery__ov-info {
    position: absolute !important;
    bottom: 24px !important;
    right: 24px !important;
    background: var(--esticrm-gallery-ov-info-bg, rgba(0,0,0,.7)) !important;
    color: var(--esticrm-gallery-ov-info-color, #fff) !important;
    padding: 14px 20px !important;
    border-radius: 4px !important;
    font-family: var(--esticrm-font-sans) !important;
    text-align: right !important;
}
body .esticrm-gallery__ov-count {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    opacity: .8 !important;
    margin: 0 0 4px !important;
}

/* STRIP-BOTTOM (Zillow) */
body .esticrm-gallery--strip-bottom .esticrm-gallery__stage {
    position: relative !important;
    aspect-ratio: 16 / 10 !important;
    background: #e8e4de !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
}
body .esticrm-gallery--strip-bottom .esticrm-gallery__stage img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-gallery--strip-bottom .esticrm-gallery__strip {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
    padding: 4px 0 !important;
}
body .esticrm-gallery--strip-bottom .esticrm-gallery__strip-thumb {
    flex: 0 0 var(--esticrm-gallery-strip-thumb-w, 100px) !important;
    height: 70px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: var(--esticrm-radius) !important;
    opacity: .7 !important;
    transition: opacity .2s !important;
    cursor: pointer !important;
    padding: 0 !important;
    background: transparent !important;
}
body .esticrm-gallery--strip-bottom .esticrm-gallery__strip-thumb.is-active {
    opacity: 1 !important;
    outline: 2px solid var(--esticrm-gallery-accent, var(--esticrm-accent)) !important;
    outline-offset: -2px !important;
}
body .esticrm-gallery--strip-bottom .esticrm-gallery__strip-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* "Pokaż mniej" button - footer expand-listy (B4 fix) */
body .esticrm-gallery__expand-collapse {
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 4px !important;
    padding: 12px 20px !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    background: #fff !important;
    color: var(--esticrm-text) !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: border-color .2s, color .2s, background .2s !important;
}
body .esticrm-gallery__expand-collapse:hover {
    border-color: var(--esticrm-accent) !important;
    color: var(--esticrm-accent) !important;
    background: rgba(214, 176, 104, .06) !important;
}
body .esticrm-gallery__expand-collapse svg {
    width: 14px !important;
    height: 14px !important;
    stroke: currentColor !important;
    fill: none !important;
}

/* B4 FIX: Gdy galeria rozwinięta - overlay znika */
body .esticrm-gallery.is-expanded .esticrm-gallery__more-overlay {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Expand list - mniejszy min thumb (sterowalny) */
body .esticrm-gallery__expand {
    grid-template-columns: repeat(auto-fit, minmax(var(--esticrm-gallery-thumb-min, 120px), 1fr)) !important;
}

/* ============================================================
   v6: SINGLE ACTIONS (Udostępnij/Ulubione/Drukuj/PDF/Porównaj)
   ============================================================ */
body .esticrm-single-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 !important;
}
body .esticrm-single-action {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--esticrm-action-border, var(--esticrm-border)) !important;
    border-radius: var(--esticrm-radius) !important;
    background: var(--esticrm-action-bg, #fff) !important;
    color: var(--esticrm-action-color, var(--esticrm-text)) !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: border-color .2s, color .2s, background .2s !important;
}
body .esticrm-single-action:hover {
    border-color: var(--esticrm-action-border-hover, var(--esticrm-accent)) !important;
    color: var(--esticrm-action-color-hover, var(--esticrm-accent)) !important;
    background: var(--esticrm-action-bg-hover, #fff) !important;
}
body .esticrm-single-action.is-active {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    border-color: var(--esticrm-accent) !important;
}
/* v10 B16 fix — ikony Single Actions (share/favorite/print/compare).
   Wcześniej `fill: none !important` ukrywał solid SVG, `<i>` bez FA był pusty.
   Tu pozwalamy SVG na własną strukturę + FA enqueued globalnie w esticrm-importer.php. */
body .esticrm-single-action svg,
body .esticrm-single-action__icon svg,
body .esticrm-single-action img {
    width: var(--esticrm-action-icon-size, 18px) !important;
    height: var(--esticrm-action-icon-size, 18px) !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    color: currentColor !important;
}
body .esticrm-single-action svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}
body .esticrm-single-action svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}
body .esticrm-single-action__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
body .esticrm-single-action i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--esticrm-action-icon-size, 18px) !important;
    line-height: 1 !important;
    color: currentColor !important;
    flex-shrink: 0 !important;
    min-width: var(--esticrm-action-icon-size, 18px) !important;
}

/* v7 (B10): akordeon smooth open/close animacja */
body details.esticrm-accordion {
    overflow: hidden !important;
}
body details.esticrm-accordion summary {
    cursor: pointer !important;
    list-style: none !important;
    user-select: none !important;
}
body details.esticrm-accordion summary::-webkit-details-marker { display: none !important; }
body details.esticrm-accordion[open] summary ~ * {
    animation: esticrm-accordion-slide .25s ease-out !important;
}
@keyframes esticrm-accordion-slide {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
/* v9 B25: __icon wrapper container - inner SVG/i/img handles size+color */

/* v7 (A13): icons-only mode - sama ikona w buttonie 38x38 */
body .esticrm-single-actions--icons-only .esticrm-single-action {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    padding: 0 !important;
    justify-content: center !important;
    aspect-ratio: 1/1 !important;
}

/* v8 A23: per-action shape */
body .esticrm-single-action--shape-circle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    aspect-ratio: 1/1 !important;
    justify-content: center !important;
}
body .esticrm-single-action--shape-square {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    padding: 0 !important;
    border-radius: 4px !important;
    aspect-ratio: 1/1 !important;
    justify-content: center !important;
}
body .esticrm-single-action--shape-pill {
    border-radius: 999px !important;
}
body .esticrm-single-action--shape-auto {
    width: auto !important;
}

/* v8 A22: TOAST notifications */
body .esticrm-toast {
    position: fixed !important;
    z-index: 99999 !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    font: 500 14px/1.3 var(--esticrm-font-sans, system-ui) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.25) !important;
    opacity: 0 !important;
    transition: opacity .25s, transform .25s !important;
    pointer-events: none !important;
}
body .esticrm-toast.is-visible { opacity: 1 !important; }
body .esticrm-toast--top-center {
    top: 24px !important;
    left: 50% !important;
    transform: translate(-50%, -10px) !important;
}
body .esticrm-toast--top-center.is-visible { transform: translate(-50%, 0) !important; }
body .esticrm-toast--top-right {
    top: 24px !important;
    right: 24px !important;
    transform: translateY(-10px) !important;
}
body .esticrm-toast--top-right.is-visible { transform: translateY(0) !important; }
body .esticrm-toast--bottom-center {
    bottom: 24px !important;
    left: 50% !important;
    transform: translate(-50%, 10px) !important;
}
body .esticrm-toast--bottom-center.is-visible { transform: translate(-50%, 0) !important; }
body .esticrm-toast--bottom-right {
    bottom: 24px !important;
    right: 24px !important;
    transform: translateY(10px) !important;
}
body .esticrm-toast--bottom-right.is-visible { transform: translateY(0) !important; }

/* v8 B6: Mortgage calculator */
body .esticrm-mortgage {
    background: var(--esticrm-bg, #fafafa) !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius-card) !important;
    padding: 24px !important;
    font-family: var(--esticrm-font-sans) !important;
}
body .esticrm-mortgage__title {
    margin: 0 0 16px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
}
body .esticrm-mortgage__modes {
    display: flex !important;
    gap: 0 !important;
    margin-bottom: 16px !important;
    background: #fff !important;
    border-radius: var(--esticrm-radius) !important;
    overflow: hidden !important;
    border: 1px solid var(--esticrm-border) !important;
}
body .esticrm-mortgage__mode {
    flex: 1 !important;
    padding: 10px 16px !important;
    background: transparent !important;
    color: var(--esticrm-muted) !important;
    border: 0 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: background .15s, color .15s !important;
}
body .esticrm-mortgage__mode.is-active {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
}
body .esticrm-mortgage__fields {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}
/* v11 B43 — data-mortgage-simple/wibor wrappers stają się display:contents żeby children labels były grid items.
   Zapobiega rozjeżdżaniu się "PLN" labels gdy WIBOR mode aktywny dodaje 2 inputy. */
body .esticrm-mortgage__fields [data-mortgage-simple],
body .esticrm-mortgage__fields [data-mortgage-wibor] {
    display: contents !important;
}
body .esticrm-mortgage__fields [data-mortgage-simple].is-hidden,
body .esticrm-mortgage__fields [data-mortgage-wibor].is-hidden {
    display: none !important;
}
body .esticrm-mortgage__fields [data-mortgage-simple].is-hidden > *,
body .esticrm-mortgage__fields [data-mortgage-wibor].is-hidden > * {
    display: none !important;
}
body .esticrm-mortgage__fields label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    position: relative !important;
}
body .esticrm-mortgage__fields input,
body .esticrm-mortgage__fields select {
    padding: 8px 12px !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    background: #fff !important;
    font-size: 14px !important;
    color: var(--esticrm-text) !important;
    width: 100% !important;
}
body .esticrm-mortgage__unit {
    position: absolute !important;
    right: 12px !important;
    bottom: 9px !important;
    font-size: 11px !important;
    color: var(--esticrm-muted) !important;
    pointer-events: none !important;
}
body .esticrm-mortgage__results {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--esticrm-border) !important;
}
body .esticrm-mortgage__results div {
    text-align: center !important;
    padding: 12px !important;
    background: #fff !important;
    border-radius: var(--esticrm-radius) !important;
}
body .esticrm-mortgage__results strong {
    display: block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--esticrm-accent) !important;
    margin-bottom: 4px !important;
}
body .esticrm-mortgage__results span {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: var(--esticrm-muted) !important;
}
body .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ============================================================
   v6: NOWE WARIANTY AGENTA (contact-form, stats, team, video)
   ============================================================ */
body .esticrm-single-agent--contact-form {
    background: #fff !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius-card) !important;
    padding: 20px !important;
}
body .esticrm-single-agent--contact-form .esticrm-single-agent__top {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}
body .esticrm-single-agent--contact-form .esticrm-single-agent__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
body .esticrm-single-agent--contact-form input,
body .esticrm-single-agent--contact-form textarea {
    padding: 10px 12px !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    background: #fff !important;
    color: var(--esticrm-text) !important;
}
body .esticrm-single-agent--contact-form input:focus,
body .esticrm-single-agent--contact-form textarea:focus {
    outline: 0 !important;
    border-color: var(--esticrm-accent) !important;
}
body .esticrm-single-agent__rodo {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 11px !important;
    color: var(--esticrm-muted) !important;
    line-height: 1.4 !important;
}
body .esticrm-single-agent__rodo input { margin-top: 2px !important; }
body .esticrm-single-agent__form-msg {
    padding: 10px 12px !important;
    border-radius: var(--esticrm-radius) !important;
    font-size: 13px !important;
}
body .esticrm-single-agent__form-msg--success { background: #e8f5e9 !important; color: #1b5e20 !important; }
body .esticrm-single-agent__form-msg--error { background: #ffebee !important; color: #b71c1c !important; }

body .esticrm-single-agent--stats {
    background: linear-gradient(180deg, #fff 0%, var(--esticrm-bg, #f9f7f4) 100%) !important;
    border: 1px solid var(--esticrm-accent-light) !important;
    border-radius: var(--esticrm-radius-card) !important;
    padding: 28px 22px !important;
    text-align: center !important;
}
body .esticrm-single-agent__stats-row {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    margin: 16px 0 !important;
}
body .esticrm-single-agent__stat {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
body .esticrm-single-agent__stat strong {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 28px !important;
    color: var(--esticrm-accent) !important;
    font-weight: 500 !important;
}
body .esticrm-single-agent__stat span {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--esticrm-muted) !important;
}

body .esticrm-single-agent--team {
    background: transparent !important;
    text-align: center !important;
    padding: 12px !important;
}
body .esticrm-single-agent--team .esticrm-single-agent__avatar--round {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    margin: 0 auto 10px !important;
    overflow: hidden !important;
}
body .esticrm-single-agent__name--small {
    font-size: 15px !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

body .esticrm-single-agent--video .esticrm-single-agent__video {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    margin-bottom: 12px !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
}
body .esticrm-single-agent--video iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}
body .esticrm-single-agent__contacts {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-top: 12px !important;
}
body .esticrm-single-agent__contact {
    font-size: 13px !important;
    color: var(--esticrm-text) !important;
    text-decoration: none !important;
}
body .esticrm-single-agent__contact:hover { color: var(--esticrm-accent) !important; }

/* Social links (FB, IG, LinkedIn) */
body .esticrm-single-agent__social {
    display: flex !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
body .esticrm-single-agent__social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: var(--esticrm-bg, #f9f7f4) !important;
    color: var(--esticrm-text) !important;
    transition: background .2s, color .2s !important;
}
body .esticrm-single-agent__social a:hover {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
}
body .esticrm-single-agent__social svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
}

/* ============================================================
   v6: AKORDEONY (layout grid/list/cards + opcja "bez akordeonu")
   ============================================================ */
body .esticrm-accordion__specs--cols-1 { grid-template-columns: 1fr !important; }
body .esticrm-accordion__specs--cols-3 { grid-template-columns: 1fr 1fr 1fr !important; }
body .esticrm-accordion__specs--cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }
body .esticrm-accordion__specs--list { grid-template-columns: 1fr !important; }
body .esticrm-accordion__specs--cards { gap: 12px !important; }
body .esticrm-accordion__specs--cards .esticrm-accordion__spec {
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    padding: 14px !important;
}
body .esticrm-accordion__amenities--cols-1 { grid-template-columns: 1fr !important; }
body .esticrm-accordion__amenities--cols-3 { grid-template-columns: 1fr 1fr 1fr !important; }
body .esticrm-accordion__amenities--cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }
body .esticrm-accordion__amenities--list { grid-template-columns: 1fr !important; }
body .esticrm-accordion__amenities--cards .esticrm-accordion__amenity {
    padding: 10px 14px !important;
    background: var(--esticrm-bg, #f9f7f4) !important;
    border-radius: var(--esticrm-radius) !important;
}
@media (max-width: 640px) {
    body .esticrm-accordion__specs--cols-2,
    body .esticrm-accordion__specs--cols-3,
    body .esticrm-accordion__specs--cols-4 { grid-template-columns: 1fr !important; }
    body .esticrm-accordion__amenities--cols-2,
    body .esticrm-accordion__amenities--cols-3,
    body .esticrm-accordion__amenities--cols-4 { grid-template-columns: 1fr !important; }
}

/* "Bez akordeonu" - blok bez nagłówka, content widoczny */
body .esticrm-accordion--plain .esticrm-accordion__header { display: none !important; }
body .esticrm-accordion--plain .esticrm-accordion__body {
    display: block !important;
    max-height: none !important;
    padding: 0 !important;
}
body .esticrm-accordion--boxed {
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    padding: 20px !important;
}
body .esticrm-accordion--boxed .esticrm-accordion__header { padding: 0 0 12px !important; border-bottom: 1px solid var(--esticrm-border) !important; }

/* ============================================================
   v6: INFO STRIP - nowe style (pills, cards-mini)
   ============================================================ */
body .esticrm-info-strip--pills { gap: 8px !important; }
body .esticrm-info-strip--pills .esticrm-info-strip__item {
    display: inline-flex !important;
    padding: 6px 14px !important;
    background: var(--esticrm-bg, #f9f7f4) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--esticrm-text) !important;
}
body .esticrm-info-strip--pills .esticrm-info-strip__sep { display: none !important; }
body .esticrm-info-strip--pills .esticrm-info-strip__badge {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    font-weight: 600 !important;
}

body .esticrm-info-strip--cards-mini {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 10px !important;
}
body .esticrm-info-strip--cards-mini .esticrm-info-strip__item,
body .esticrm-info-strip--cards-mini .esticrm-info-strip__badge {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--esticrm-text) !important;
}
body .esticrm-info-strip--cards-mini .esticrm-info-strip__badge {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    border-color: var(--esticrm-accent) !important;
}
body .esticrm-info-strip--cards-mini .esticrm-info-strip__sep { display: none !important; }

/* =========================================================
   FAZA 17 — Single offer dodatki
   ========================================================= */

/* B9 Floorplan */
body .esticrm-floorplan { width: 100%; text-align: center; }
body .esticrm-floorplan img { max-width: 100%; height: auto; border-radius: var(--esticrm-radius-card); border: 1px solid var(--esticrm-border); }
body .esticrm-floorplan[data-zoom="1"] img { cursor: zoom-in; transition: transform 0.2s ease; }
body .esticrm-floorplan[data-zoom="1"] img:hover { transform: scale(1.02); }
body .esticrm-floorplan__empty,
body .esticrm-tour__empty { padding: 32px 16px; text-align: center; color: var(--esticrm-muted); background: var(--esticrm-bg); border: 1px dashed var(--esticrm-border); border-radius: var(--esticrm-radius); }

/* B10 Tour */
body .esticrm-tour { background: #000; border-radius: var(--esticrm-radius-card); overflow: hidden; }
body .esticrm-tour iframe { display: block; }

/* B12 QR */
body .esticrm-qr { padding: 16px; border: 1px solid var(--esticrm-border); border-radius: var(--esticrm-radius-card); background: var(--esticrm-bg); }
body .esticrm-qr--centered { text-align: center; }
body .esticrm-qr--centered .esticrm-qr__canvas { display: inline-block; margin-bottom: 12px; }
body .esticrm-qr--side-by-side { display: flex; align-items: center; gap: 20px; }
body .esticrm-qr--side-by-side .esticrm-qr__canvas { flex: 0 0 auto; }
body .esticrm-qr--side-by-side .esticrm-qr__text { flex: 1; }
body .esticrm-qr__canvas { display: inline-block; line-height: 0; }
body .esticrm-qr__canvas img,
body .esticrm-qr__canvas canvas { display: block; }
body .esticrm-qr__title { font-family: var(--esticrm-font-serif); font-size: 18px; font-weight: 600; color: var(--esticrm-text); margin-bottom: 4px; }
body .esticrm-qr__subtitle { font-size: 13px; color: var(--esticrm-muted); }
@media (max-width: 600px) {
    body .esticrm-qr--side-by-side { flex-direction: column; text-align: center; }
}

/* =========================================================
   FAZA 19 — Polish
   ========================================================= */

/* B15 Mini gallery hover */
body .esticrm-card__mini-hover { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 12px; background: linear-gradient(to top, rgba(0,0,0,0.7), transparent); pointer-events: auto; }
body .esticrm-card__mini-thumbs { display: flex; gap: 6px; justify-content: center; }
body .esticrm-card__mini-thumb { display: inline-block; width: 36px; height: 24px; background: rgba(255,255,255,0.3); border-radius: 3px; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
body .esticrm-card__mini-thumb:hover,
body .esticrm-card__mini-thumb.is-active { background: var(--esticrm-accent); transform: scale(1.1); }

/* B17 Featured grid */
body .esticrm-featured-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }

/* v9 B26: Print CSS USUNIĘTY — drukowanie defaultowe (cała strona drukuje się normalnie). */

/* v8.1.1 BUG #19 fix: gallery-overlay rozwinięta NIE zwija głównego zdjęcia */
body .esticrm-gallery--overlay-style.is-expanded {
    aspect-ratio: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
body .esticrm-gallery--overlay-style.is-expanded .esticrm-gallery__ov-main {
    height: 56vh !important;
    min-height: 380px !important;
    aspect-ratio: 16/10 !important;
}
body .esticrm-gallery--overlay-style.is-expanded .esticrm-gallery__expand {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

/* v8.1.1 BUG #22: Single Tags widget */
body .esticrm-single-tags {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 12px 0 !important;
}
body .esticrm-single-tags--wrap {
    flex-wrap: wrap !important;
}
body .esticrm-single-tags--stack {
    flex-direction: column !important;
    align-items: flex-start !important;
}
body .esticrm-single-tags--row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
}
body .esticrm-single-tag {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--esticrm-font-sans) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    color: var(--esticrm-text) !important;
}
body .esticrm-single-tag--badge {
    background: var(--esticrm-bg) !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    border: 1px solid var(--esticrm-border) !important;
}
body .esticrm-single-tag--transaction {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    border-color: var(--esticrm-accent) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
body .esticrm-single-tag--inline {
    color: var(--esticrm-muted) !important;
}
body .esticrm-single-tag--inline + .esticrm-single-tag--inline::before {
    content: '·';
    margin: 0 8px 0 0 !important;
    color: var(--esticrm-border) !important;
}
/* v10 B19 fix — text-decoration zamiast border-bottom + padding (napis NIE skacze w górę) */
body .esticrm-single-tag--underlined {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    text-decoration: underline !important;
    text-decoration-color: var(--esticrm-tag-underline-color, var(--esticrm-accent)) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 4px !important;
    text-decoration-skip-ink: none !important;
}
body .esticrm-single-tag__label {
    color: var(--esticrm-muted) !important;
    font-weight: 500 !important;
    margin-right: 4px !important;
}

/* v11 B27 — global tag_style override: aplikuje styl badge/inline/underlined do WSZYSTKICH tagów (włącznie z transakcją) */
body .esticrm-tags-global-badge .esticrm-single-tag,
body .esticrm-tags-global-badge .esticrm-single-tag--inline,
body .esticrm-tags-global-badge .esticrm-single-tag--underlined {
    background: var(--esticrm-bg) !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    border: 1px solid var(--esticrm-border) !important;
    text-decoration: none !important;
}
body .esticrm-tags-global-inline .esticrm-single-tag,
body .esticrm-tags-global-inline .esticrm-single-tag--badge,
body .esticrm-tags-global-inline .esticrm-single-tag--transaction,
body .esticrm-tags-global-inline .esticrm-single-tag--underlined {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: var(--esticrm-muted) !important;
    text-decoration: none !important;
}
body .esticrm-tags-global-underlined .esticrm-single-tag,
body .esticrm-tags-global-underlined .esticrm-single-tag--badge,
body .esticrm-tags-global-underlined .esticrm-single-tag--transaction,
body .esticrm-tags-global-underlined .esticrm-single-tag--inline {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    text-decoration: underline !important;
    text-decoration-color: var(--esticrm-tag-underline-color, var(--esticrm-accent)) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 4px !important;
}
