
    /* Údaje zakázky / inzerátu — RK: 2 sloupce; B2C: jeden řádek */
    .property-detail-contract-meta {
        display: grid !important;
        grid-template-columns: auto auto;
        justify-items: start;
        align-items: baseline;
        column-gap: 1.5rem;
        row-gap: 0.35rem;
        max-width: 100%;
    }
    .property-detail-contract-meta--single-row {
        display: flex !important;
        flex-flow: row wrap;
        align-items: baseline;
        column-gap: 1.5rem;
        row-gap: 0.35rem;
    }
    .property-detail-contract-meta__cell {
        display: block;
        white-space: nowrap;
        text-align: left;
    }

    @media (max-width: 639px) {
        .property-detail-contract-meta {
            grid-template-columns: 1fr !important;
            width: 100%;
        }

        .property-detail-contract-meta__cell {
            white-space: normal;
            overflow-wrap: anywhere;
        }

        .property-detail-contract-meta--single-row {
            flex-direction: column !important;
            align-items: flex-start !important;
        }

        .property-detail-contract-meta-row {
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 0.5rem;
        }

        .property-detail-contract-meta-row dt {
            flex: none !important;
            width: 100%;
            padding-left: 0 !important;
            text-align: left !important;
        }

        .property-detail-contract-meta-row dd {
            flex: none !important;
            width: 100%;
            padding-left: 0 !important;
            text-align: left !important;
        }
    }

    .property-price-history-change__detail {
        overflow-wrap: anywhere;
        word-break: break-word;
        line-height: 1.45;
    }

    @media (min-width: 640px) {
        .property-detail-contract-meta {
            column-gap: 2rem;
        }
        .property-detail-contract-meta--single-row {
            column-gap: 2rem;
        }

        .property-price-history-change__detail {
            display: inline;
            margin-top: 0;
        }

        .property-price-history-change > span:first-child {
            display: inline;
        }

        .property-price-history-change > span:first-child + .property-price-history-change__detail::before {
            content: " ";
        }
    }

    @media (min-width: 640px) {
        .property-detail-contract-meta-row {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            align-items: center;
            gap: 1rem;
        }

        .property-detail-contract-meta-row dd {
            grid-column: span 2 / span 2;
        }
    }

    /* ── GALLERY STYLES ── */
    .gallery-stage {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        background: #f1f5f9;
        border-radius: 1.5rem;
        overflow: hidden;
    }

    .gallery-main-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        background: #f1f5f9;
        transition: opacity 0.3s ease-in-out;
        pointer-events: none;
        user-select: none;
        -webkit-user-drag: none;
    }

    /* HTMX detail→detail: bez opacity transition během swapu (jinak „problikne“ fotka) */
    body.portal-detail-swapping .gallery-main-img {
        transition: none !important;
    }

    body.portal-detail-swapping #property-detail-layout-v2 {
        contain: layout style;
    }

    body.portal-detail-swapping .property-detail-map-wrap {
        min-height: 280px;
    }

    /* Portrét: celý snímek v rámu 16:9 (letterbox — rendice ``max-``, ne ořez ``fill-``) */
    .gallery-main-img--portrait {
        object-fit: contain;
        object-position: center center;
    }

    .gallery-nav-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(8px);
        color: white;
        padding: 1rem;
        border-radius: 50%;
        cursor: pointer;
        transition: all 0.3s;
        z-index: 30;
        border: 1px solid rgba(255, 255, 255, 0.3);
    }

    .gallery-nav-btn:hover {
        background: #7a12d1;
        transform: translateY(-50%) scale(1.1);
        border-color: #7a12d1;
    }

    .gallery-lightbox-hit {
        position: absolute;
        inset: 0;
        z-index: 25;
        cursor: zoom-in;
        border: 0;
        padding: 0;
        margin: 0;
        background: transparent;
    }

    /* Galerie: velká fotka + filmový pás náhledů přes celou šířku (malé dlaždice, bez roztahování) */
    .gallery-hero-block {
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    }

    .gallery-hero-block .gallery-stage {
        border-radius: 0;
        box-shadow: none;
    }

    /* Filmový pás: souvislé perforace + snímky + mezery + prázdné políčka */
    .gallery-filmstrip {
        --film-bg: #d0d4db;
        --film-frame-w: 6.75rem;
        --film-gap-w: 9px;
        --film-perf-h: 12px;
        width: 100%;
        box-sizing: border-box;
        background: linear-gradient(180deg, #e2e4e9 0%, #d4d7dd 50%, #c9cdd4 100%);
        border-top: 1px solid #c5c9d0;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
        padding: 0.5rem 0.75rem;
    }

    @media (min-width: 640px) {
        .gallery-filmstrip {
            --film-frame-w: 7.5rem;
            --film-gap-w: 10px;
        }
    }

    .gallery-filmstrip__row {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
        min-width: 0;
    }

    .filmstrip-container {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(122, 18, 209, 0.35) transparent;
        border-radius: 0.25rem;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .filmstrip-container::-webkit-scrollbar {
        height: 4px;
    }

    .filmstrip-container::-webkit-scrollbar-thumb {
        background: rgba(122, 18, 209, 0.35);
        border-radius: 999px;
    }

    .filmstrip-track {
        display: flex;
        flex-direction: column;
        min-width: max-content;
        width: 100%;
        background: var(--film-bg);
    }

    /* Souvislý pás perforací přes celou šířku (i mezi fotkami) */
    .filmstrip-track__perfs {
        flex: 0 0 var(--film-perf-h);
        width: 100%;
        background-color: #c4c8cf;
        background-image: repeating-linear-gradient(
            90deg,
            #ffffff 0 6px,
            #f0f2f5 6px 7px,
            #a8aeb8 7px 8px,
            #c4c8cf 8px 14px
        );
        filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.7));
    }

    .filmstrip-track__perfs--top {
        border-bottom: 1px solid #a3a9b3;
        box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.24);
    }

    .filmstrip-track__perfs--bottom {
        border-top: 1px solid #a3a9b3;
        box-shadow: inset 0 -3px 6px rgba(0, 0, 0, 0.22);
    }

    .filmstrip-track__row {
        display: flex;
        align-items: flex-start;
        flex-wrap: nowrap;
        width: 100%;
        min-width: max-content;
        background: var(--film-bg);
    }

    /* Mezera mezi snímky — vidět šedý pásek + perforace nahoře/dole */
    .filmstrip-gap {
        flex: 0 0 var(--film-gap-w);
        background: linear-gradient(180deg, #d8dbe1 0%, #c8ccd3 100%);
        box-shadow:
            inset 1px 0 0 rgba(255, 255, 255, 0.35),
            inset -1px 0 0 rgba(0, 0, 0, 0.08);
    }

    .film-frame {
        flex: 0 0 var(--film-frame-w);
        width: var(--film-frame-w);
        max-width: var(--film-frame-w);
        align-self: flex-start;
        display: flex;
        flex-direction: column;
        background: var(--film-bg);
        padding: 2px 0;
    }

    .film-frame__window {
        position: relative;
        width: 100%;
        aspect-ratio: 3 / 2;
        height: auto;
        overflow: hidden;
        flex: 0 0 auto;
        background: #fafbfc;
        box-shadow:
            inset 0 0 0 1px rgba(0, 0, 0, 0.12),
            inset 0 2px 8px rgba(0, 0, 0, 0.06);
    }

    .film-frame--empty .film-frame__window {
        background: linear-gradient(160deg, #ffffff 0%, #f4f5f7 55%, #eceef2 100%);
        cursor: default;
    }

    .filmstrip-tail {
        flex: 1 1 var(--film-frame-w);
        min-width: var(--film-gap-w);
        background: linear-gradient(160deg, #ffffff 0%, #f0f2f5 100%);
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
    }

    .thumb-item {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        cursor: pointer;
        border: none;
        border-radius: 0;
        background: #111;
        display: block;
        transition: box-shadow 0.25s, filter 0.25s;
        opacity: 0.9;
    }

    .thumb-item img,
    .film-frame__window img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
        display: block !important;
    }

    .thumb-item:hover {
        opacity: 1;
        filter: brightness(1.04);
    }

    .thumb-item.active {
        opacity: 1;
        box-shadow:
            inset 0 0 0 2px #7a12d1,
            inset 0 0 0 3px rgba(255, 255, 255, 0.4),
            0 0 10px rgba(122, 18, 209, 0.35);
        z-index: 2;
    }

    .film-frame:has(.thumb-item.active) .film-frame__window {
        box-shadow:
            inset 0 0 0 2px #7a12d1,
            inset 0 0 0 3px rgba(255, 255, 255, 0.45);
    }

    /* Statistiky + akce pod galerií — stejná výška dlaždic a tlačítek */
    .gallery-below-hero {
        --gallery-bar-item-h: 3.25rem;
        margin-top: 0.75rem;
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: space-between;
        gap: 0.5rem 0.75rem;
    }

    .gallery-stats-row {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        align-items: stretch;
    }

    .gallery-stats-row .property-profi-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.5rem;
        width: 100%;
        align-items: stretch;
    }

    .gallery-stats-row .property-profi-stat {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: var(--gallery-bar-item-h);
        height: var(--gallery-bar-item-h);
        box-sizing: border-box;
        background: #fff;
        border-radius: 0.75rem;
        padding: 0.35rem 0.75rem;
        border: 1px solid #e5e7eb;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
        min-width: 0;
    }

    .gallery-stats-row .property-profi-stat__label {
        display: block;
        font-size: 0.625rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        line-height: 1.2;
        color: #4b5563;
    }

    .gallery-stats-row .property-profi-stat__value {
        font-size: 1.0625rem;
        font-weight: 900;
        margin-top: 0.1rem;
        line-height: 1.15;
    }

    .gallery-stats-row .property-profi-stat__value svg {
        width: 1rem;
        height: 1rem;
    }

    .gallery-actions-row {
        flex: 0 0 auto;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 0.375rem 0.5rem;
        max-width: 55%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .gallery-action-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.375rem;
        min-height: var(--gallery-bar-item-h);
        height: var(--gallery-bar-item-h);
        box-sizing: border-box;
        font-weight: 700;
        font-size: 0.8125rem;
        padding: 0 0.75rem;
        border-radius: 0.75rem;
        transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
        white-space: nowrap;
    }

    .gallery-action-btn--secondary {
        background: #fff;
        border: 2px solid #7a12d1;
        color: #7a12d1;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    }

    .gallery-action-btn--secondary:hover {
        background: rgba(122, 18, 209, 0.05);
    }

    .gallery-action-btn--primary {
        background: #7a12d1;
        border: 2px solid #7a12d1;
        color: #fff;
        box-shadow: 0 4px 14px rgba(122, 18, 209, 0.28);
    }

    .gallery-action-btn--primary:hover {
        background: #680fb3;
        border-color: #680fb3;
    }

    @media (max-width: 639px) {
        .gallery-below-hero {
            flex-wrap: wrap;
            align-items: stretch;
        }

        .gallery-stats-row {
            flex: 1 1 100%;
            width: 100%;
            max-width: 100%;
        }

        .gallery-stats-row .property-profi-stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .gallery-actions-row {
            flex: 1 1 100%;
            width: 100%;
            max-width: 100%;
            flex-wrap: wrap;
            justify-content: flex-start;
            overflow-x: visible;
        }

        .gallery-action-btn {
            flex: 1 1 calc(50% - 0.25rem);
            min-width: 9.5rem;
            max-width: 100%;
        }

        .gallery-action-btn--primary {
            flex: 1 1 100%;
        }
    }

    /* Technické parametry — mobil: název vlevo, hodnota vpravo; desktop: 3 sloupce jako dřív */
    @media (max-width: 639px) {
        .property-detail-params > div {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem 1rem;
        }

        .property-detail-params > div.property-detail-param-row--top {
            align-items: flex-start;
        }

        .property-detail-params dt {
            flex: 1 1 45%;
            min-width: 0;
            margin: 0;
            line-height: 1.35;
        }

        .property-detail-params dd {
            flex: 0 1 auto;
            margin: 0 !important;
            padding-left: 0.5rem;
            text-align: right;
            font-size: 0.875rem;
            font-weight: 600;
            line-height: 1.35;
            align-self: center;
        }

        .property-detail-params > div.property-detail-param-row--top dd {
            align-self: flex-start;
        }
    }

    @media (min-width: 640px) {
        .property-detail-params > div {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            align-items: center;
            gap: 1rem;
        }

        .property-detail-params > div.property-detail-param-row--top {
            align-items: start;
        }

        .property-detail-params dt {
            margin: 0;
            line-height: 1.35;
        }

        .property-detail-params dd {
            grid-column: span 2 / span 2;
            margin: 0 !important;
            text-align: left;
            font-size: 0.875rem;
            font-weight: 600;
            line-height: 1.35;
        }
    }

    .js-lead-turnstile-slot--collapsed {
        height: 0;
        min-height: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
    }

    .js-lead-turnstile-slot:not(.js-lead-turnstile-slot--collapsed) {
        min-height: 65px;
    }

    .js-turnstile-mount {
        min-height: 65px;
        min-width: 300px;
    }

    .js-turnstile-mount iframe {
        display: block;
    }

    .js-turnstile-loading {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .js-lead-turnstile-slot {
        position: relative;
    }

    .js-turnstile-error {
        margin: 0;
    }

    .js-turnstile-error:not(.hidden) {
        margin-top: 0.35rem;
        margin-bottom: 0.15rem;
    }

    /* Makléř / B2C soukromý inzerent — jednotné rozměry (Tailwind img/svg jinak roztáhne) */
    .listing-broker-card__photo {
        width: 92px;
        height: 123px;
        min-width: 92px;
        max-width: 92px;
        flex-shrink: 0;
    }

    .listing-broker-card__private-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 92px;
        height: 123px;
        background: linear-gradient(160deg, #faf5ff 0%, #f3e8ff 55%, #ede9fe 100%);
    }

    .listing-broker-card__private-svg {
        display: block;
        width: 52px;
        height: 88px;
        max-width: 52px;
        max-height: 88px;
        flex-shrink: 0;
    }

    .listing-broker-card__img {
        display: block;
        width: 92px;
        height: 123px;
        max-width: 92px;
        object-fit: cover;
        object-position: center 32%;
    }

    .listing-broker-reveal__trigger {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0;
        border: 0;
        background: none;
        cursor: pointer;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.35;
        color: #7a12d1;
        text-align: left;
    }

    .listing-broker-reveal__trigger:hover {
        text-decoration: underline;
    }

    .listing-broker-reveal__icon {
        width: 1.125rem;
        height: 1.125rem;
        max-width: 1.125rem;
        max-height: 1.125rem;
        flex-shrink: 0;
        color: #7a12d1;
    }

    .listing-broker-reveal__value {
        display: none;
        font-size: 0.875rem;
        line-height: 1.35;
        color: #7a12d1;
    }

    .listing-broker-reveal.is-revealed .listing-broker-reveal__trigger {
        display: none;
    }

    .listing-broker-reveal.is-revealed .listing-broker-reveal__value {
        display: inline;
    }

    .secure-comms-tile img {
        width: 2.25rem;
        height: 2.25rem;
        max-width: 2.25rem;
        max-height: 2.25rem;
        flex-shrink: 0;
    }

    .property-detail-title {
        font-size: clamp(1.05rem, 2.2vw, 1.35rem);
        line-height: 1.35;
        word-break: break-word;
    }

    .property-detail-location-line {
        line-height: 1.45;
    }

    /* Akční řádek: typ | navigace | cena */
    .property-detail-action-bar {
        --action-bar-h: 3rem;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.5rem;
        align-items: stretch;
    }

    .property-detail-action-bar > * {
        display: flex;
        min-height: var(--action-bar-h);
    }

    .property-detail-nav-tile,
    .property-detail-price-tile {
        box-sizing: border-box;
        width: 100%;
        min-height: var(--action-bar-h);
        height: 100%;
        display: flex;
        align-items: center;
        border-radius: 1rem;
    }

    .property-detail-nav-tile {
        justify-content: center;
        gap: 0.375rem;
        padding: 0 0.5rem;
        background: #f9fafb;
        border: 1px solid #e5e7eb;
    }

    .property-detail-type-tile {
        box-sizing: border-box;
        width: 100%;
        min-height: var(--action-bar-h);
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 0 0.875rem;
        border-radius: 0.875rem;
        background: rgba(122, 18, 209, 0.06);
        border: 1px solid rgba(122, 18, 209, 0.12);
        min-width: 0;
    }

    .property-detail-type-badge {
        display: block;
        font-size: 0.6875rem;
        font-weight: 900;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #7a12d1;
        line-height: 1.25;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    @media (min-width: 640px) {
        .property-detail-type-badge {
            font-size: 0.75rem;
        }
    }

    #property-detail-layout-v2 > .property-detail-nav-footer {
        box-sizing: border-box;
        width: 100%;
        margin-top: 2rem;
        padding-top: 1.5rem;
        border-top: 1px solid #f3f4f6;
    }

    .property-detail-nav-btn--compact {
        border-radius: 0.625rem;
        font-weight: 700;
    }

    .property-detail-price-tile {
        justify-content: flex-start;
        padding: 0 0.875rem;
        font-size: clamp(1.125rem, 2.2vw, 1.5rem);
        font-weight: 900;
        line-height: 1;
        color: #7a12d1;
        background: rgba(122, 18, 209, 0.06);
        border: 1px solid rgba(122, 18, 209, 0.12);
        font-variant-numeric: tabular-nums;
    }

    @media (min-width: 1024px) {
        .property-detail-action-bar {
            --action-bar-h: 3.25rem;
            grid-template-columns: 1fr auto 1fr;
        }
        .property-detail-action-bar__type {
            display: flex;
            width: 100%;
            min-width: 0;
            justify-content: stretch;
            align-items: stretch;
        }
        .property-detail-action-bar__nav {
            justify-self: center;
            justify-content: center;
        }
        .property-detail-action-bar__price {
            justify-content: flex-end;
            align-items: stretch;
        }
        .property-detail-action-bar__type,
        .property-detail-action-bar__price {
            width: 100%;
        }
        .property-detail-type-tile,
        .property-detail-price-tile {
            width: 100%;
            max-width: none;
        }
        .property-detail-price-tile {
            justify-content: flex-end;
        }
    }

    /* Živá aukce — kompaktní dlaždice vlevo dole; CTA pod datem */
    .property-detail-gallery-badges .property-auction-gallery-overlay,
    #property-auction-box {
        box-sizing: border-box;
        position: relative;
        z-index: 1;
        width: auto;
        max-width: min(100%, 22rem);
        min-width: 12.5rem;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        row-gap: 0.5rem;
        align-items: stretch;
        padding: 0.5rem 0.875rem;
        border: 2px solid #387B22 !important;
        border-radius: 1rem;
        background: linear-gradient(90deg, #f0fdf4 0%, #ecfdf5 100%) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        backdrop-filter: blur(6px);
    }

    .dark .property-detail-gallery-badges .property-auction-gallery-overlay,
    .dark #property-auction-box {
        background: linear-gradient(90deg, rgba(5, 46, 22, 0.92) 0%, rgba(6, 78, 59, 0.88) 100%) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    }

    .property-detail-gallery-badges .property-auction-gallery-overlay .property-auction-tile__info {
        grid-column: 1;
        grid-row: 1;
    }

    .property-detail-gallery-badges .property-auction-gallery-overlay .property-auction-cta {
        grid-column: 1;
        grid-row: 2;
        justify-self: stretch;
        justify-content: center;
    }

    .property-auction-tile__info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.125rem;
        grid-column: 1;
        min-width: 0;
    }

    .property-auction-label {
        font-size: 0.6875rem;
        font-weight: 900;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #387B22 !important;
        line-height: 1.2;
    }

    .property-auction-datetime {
        display: block;
        white-space: nowrap;
        font-size: clamp(0.875rem, 1.5vw, 1.0625rem);
        font-weight: 700;
        color: #111827;
        line-height: 1.2;
    }

    .dark .property-auction-datetime {
        color: #f3f4f6;
    }

    #property-auction-countdown {
        display: block;
        white-space: nowrap;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #4b5563;
        line-height: 1.2;
    }

    .dark #property-auction-countdown {
        color: #d1d5db;
    }

    @media (max-width: 639px) {
        .property-detail-gallery-badges .property-auction-gallery-overlay,
        #property-auction-box {
            max-width: calc(100vw - 5rem);
            min-width: 0;
            padding: 0.5rem 0.75rem;
        }
    }

    .property-auction-cta {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        justify-self: end;
        flex-shrink: 0;
        margin: 0;
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.5rem 0.875rem;
        border-radius: 9999px;
        font-size: 0.625rem;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        white-space: nowrap;
        background-color: #387B22 !important;
        color: #ffffff !important;
        border: 1px solid #2d6319 !important;
        text-decoration: none !important;
    }

    @media (min-width: 640px) {
        .property-auction-cta {
            font-size: 0.6875rem;
            padding: 0.5625rem 1rem;
        }
    }

    .property-auction-cta:hover {
        background-color: #2d6319 !important;
        color: #ffffff !important;
    }

    .property-auction-cta svg {
        width: 0.875rem;
        height: 0.875rem;
        color: #ffffff !important;
    }

    /* Lightbox Modal — nad headerem (mimo <main>, viz block page_modals) */
    #gallery-modal {
        display: none;
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        background: #020617;
        z-index: 10050;
        isolation: isolate;
    }

    #gallery-modal[aria-hidden="false"],
    #gallery-modal.is-open {
        display: block;
    }

    .modal-content {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    @media (min-width: 1024px) {
        .modal-content {
            flex-direction: row;
        }
    }

    .modal-preview {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem;
        position: relative;
    }

    .modal-sidebar {
        width: 100%;
        background: #0f172a;
        padding: 1.5rem;
        overflow-y: auto;
    }

    @media (min-width: 1024px) {
        .modal-sidebar {
            width: 30%;
            border-left: 1px solid rgba(255, 255, 255, 0.1);
        }
    }

    .matrix-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }

    .matrix-item {
        position: relative;
        aspect-ratio: 1;
        border-radius: 0.5rem;
        overflow: hidden;
        cursor: pointer;
        opacity: 0.5;
        transition: opacity 0.3s;
    }

    .matrix-item img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .matrix-item:hover, .matrix-item.active {
        opacity: 1;
    }

    /* Utility */
    .close-modal {
        position: absolute;
        top: 1.5rem;
        right: 1.5rem;
        color: white;
        cursor: pointer;
        z-index: 100;
        background: rgba(255,255,255,0.1);
        padding: 0.5rem;
        border-radius: 50%;
        transition: background 0.3s;
    }
    .close-modal:hover { background: rgba(255,255,255,0.2); }

    /* HTMX: překlad popisu (DeepL) — spinner na tlačítku */
    .property-deepl-btn.htmx-request .property-deepl-label {
        visibility: hidden;
    }

    .property-deepl-btn.htmx-request .property-deepl-spinner {
        display: flex !important;
    }

    /* Modální video / 3D embed */
    #property-embed-modal:not(.is-open),
    #property-embed-modal[hidden] {
        display: none !important;
    }

    #property-embed-modal {
        position: fixed;
        inset: 0;
        z-index: 10001;
        background: rgba(2, 6, 23, 0.92);
        backdrop-filter: blur(6px);
        padding: 1rem;
        align-items: center;
        justify-content: center;
    }

    #property-embed-modal.is-open {
        display: flex;
    }

    #property-embed-modal .property-embed-modal-panel {
        position: relative;
        width: 100%;
        max-width: min(1100px, 100vw - 2rem);
        max-height: min(90vh, 900px);
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    #property-embed-iframe {
        flex: 1;
        min-height: min(70vh, 640px);
        width: 100%;
        border: 0;
        border-radius: 1rem;
        background: #0f172a;
    }

    @media (max-width: 639px) {
        #property-embed-iframe {
            min-height: 55vh;
        }
    }

    .property-media-btn {
        min-height: 3.25rem;
        justify-content: center;
    }

    #property-embed-modal .property-embed-close {
        position: relative;
        align-self: flex-end;
    }

    @media (min-width: 640px) {
        #property-embed-modal .property-embed-modal-panel .property-embed-close {
            position: absolute;
            top: -3.5rem;
            right: 0;
        }
    }

