/**
 * Shared “tile / chip” controls (search hero + Wagtail snippet admin).
 * Keep in sync visually with the public filter ribbons.
 */

.filter-ribbon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 768px) {
    .filter-ribbon {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        scrollbar-width: none;
    }
    .filter-ribbon::-webkit-scrollbar {
        display: none;
    }
}

.tile-filter {
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    border: 1px solid #e5e7eb;
    background: #fcfaff !important;
    color: #4b5563 !important;
    font-weight: 600;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 12px;
    font-size: 0.875rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    gap: 0.35rem;
}

.tile-active {
    background-color: #7a12d1 !important;
    color: #fff !important;
    border-color: #7a12d1 !important;
    box-shadow: 0 4px 12px rgba(122, 18, 209, 0.25);
}

.tile-discount-active {
    background-color: #ea580c !important;
    color: #fff !important;
    border-color: #c2410c !important;
    box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
}

.tile-auction-active {
    background-color: #387B22 !important;
    color: #fff !important;
    border-color: #2d6319 !important;
    box-shadow: 0 4px 12px rgba(56, 123, 34, 0.35);
}

.tile-filter:hover:not(.tile-active):not(.tile-discount-active):not(.tile-auction-active):not(.monolith-active):not(.tile-filter--locked) {
    border-color: #7a12d1 !important;
    box-shadow: 0 0 0 4px rgba(122, 18, 209, 0.05) !important;
    background: #fff !important;
}

.chip-choice-native {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.w-field .chip-choice-group {
    margin-top: 0.35rem;
}

.w-field .chip-choice-group .tile-filter.chip-sub-hidden {
    display: none !important;
}

/* Wagtail: dim irrelevant fields instead of jumping layout */
.w-field.property-chameleon-muted {
    opacity: 0.35;
    pointer-events: none;
}

.w-field.property-chameleon-muted input,
.w-field.property-chameleon-muted select,
.w-field.property-chameleon-muted textarea {
    pointer-events: none;
}

#advertiser-pill-container {
    flex-wrap: nowrap;
}

#advertiser-pill-container .tile-filter {
    flex: 1 1 0%;
    min-width: 0;
    padding-left: 0.9rem;
    padding-right: 0.9rem;
}

/*
 * Property ve Wagtailu: neupravujeme `.nice-padding` u formuláře ani u nadpisu — oba používají
 * stejný Wagtail gutter (5rem na ≥50em); snížení jen u jednoho rozbije zarovnání s ikonou u H2.
 * Celý obsah formuláře (popis, lokalita, dlaždice stavu…) max 1300px — stejný rastr jako dlaždice stavu.
 */
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) {
    max-width: min(81.25rem, 100%) !important;
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    box-sizing: border-box;
}

/* Jinak by každé pole pořád mělo vlastní Wagtail limit 840px i uvnitř širšího sloupce. */
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-panel__wrapper {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}
/* „Co nabízíte?“: každá dlaždice je vlastní .w-panel__wrapper — nesmí dědit width:100 % řádku. Přímý syn řádku. */
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-offer-type-row > .w-panel__wrapper {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
}
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-offer-type-row .w-panel__wrapper > .w-field__wrapper {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-offer-type-row .w-field {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-offer-type-row .w-field__input {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/*
 * Lokalita: jeden řádek „geo dlaždice + ulice“ — zde nesmí mít wrappery width:100 %,
 * jinak se geo blok roztáhne na celý řádek a pole ulice spadne pod město.
 */
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 10px;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row > .w-panel__wrapper.property-admin-geo-panel,
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row fieldset.property-admin-geo-fieldset,
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row #property-admin-geo-root.property-admin-geo,
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row .property-admin-geo-locked-display.w-field-row {
    display: contents;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row > .w-panel__wrapper {
    width: max-content !important;
    max-width: min(100%, 81.25rem) !important;
    flex: 0 0 auto;
    box-sizing: border-box;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row > .w-panel__wrapper.property-admin-text-field {
    flex: 0 0 auto !important;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-geo-address-field-row > .w-panel__wrapper .w-field__wrapper {
    width: auto !important;
    max-width: min(100%, 48rem) !important;
    box-sizing: border-box;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field__wrapper {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}
form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row.property-admin-offer-type-row .w-field__wrapper {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

form[data-edit-form] .w-form-width:has(.property-admin-status-tiles) .w-field-row {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}

/* „Co nabízíte?“: flex-wrap + min-width:0 na řádku = v úzkém admin sloupci se zalamuje, ne roztahuje parent doprava. */
.w-field-row.property-admin-offer-type-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    align-content: flex-start;
    width: 100%;
    max-width: min(81.25rem, 100%);
    min-width: 0;
    box-sizing: border-box;
    margin-top: 0.15rem;
    margin-bottom: 0.1rem;
}

/* DŮLEŽITÉ: globální pravidla v tomto souboru dávají `.w-panel__wrapper { width:100% }`.
   Tady nesmí dlaždice smrskávat před zalomením — flex: 0 0 auto + přirozená šířka z textu. */
.w-field-row.property-admin-offer-type-row > .w-panel__wrapper {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.w-panel__wrapper.property-admin-section-label {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    margin-top: 0;
}

.w-panel__wrapper.property-admin-section-label .w-field__label {
    display: inline-block;
    box-sizing: border-box;
    width: fit-content;
    max-width: min(100%, 81.25rem);
    margin: 0 0 0.45rem;
    padding: 5px 14px;
    border-radius: 9px;
    background-color: #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em;
    line-height: 1.2;
    text-transform: uppercase;
}

.w-panel__wrapper.property-admin-section-label .w-field__help .help {
    color: #6b7280;
    margin: 0 0 0.35rem;
}

.w-panel__wrapper.property-admin-section-label .w-field__help {
    display: block !important;
    margin-top: 0.15rem;
    margin-bottom: 0.35rem;
}

/*
 * Co nabízíte? + Vlastní energie: centrovaný text v kapsli (stejný trik jako typ nemovitosti).
 * Skrytý input nesmí zůstat ve flex řádku — jinak text „utíká“ doleva.
 */
form[data-edit-form] .w-field-row.property-admin-offer-type-row label.tile-filter,
form[data-edit-form] .w-field-row.property-admin-offer-type-row label.chip-toggle,
form[data-edit-form] .property-admin-self-sufficiency-panel label.tile-filter,
form[data-edit-form] .property-admin-self-sufficiency-panel label.chip-toggle {
    position: relative !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 2.75rem !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-align: center !important;
}

form[data-edit-form] .w-field-row.property-admin-offer-type-row label.tile-filter .chip-choice-native,
form[data-edit-form] .w-field-row.property-admin-offer-type-row label.chip-toggle .chip-choice-native,
form[data-edit-form] .property-admin-self-sufficiency-panel label.tile-filter .chip-choice-native,
form[data-edit-form] .property-admin-self-sufficiency-panel label.chip-toggle .chip-choice-native {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

form[data-edit-form] .w-field-row.property-admin-offer-type-row label.tile-filter .chip-choice-label,
form[data-edit-form] .w-field-row.property-admin-offer-type-row label.chip-toggle .chip-choice-label,
form[data-edit-form] .property-admin-self-sufficiency-panel label.tile-filter .chip-choice-label,
form[data-edit-form] .property-admin-self-sufficiency-panel label.chip-toggle .chip-choice-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 2.75rem !important;
    padding: 0 1.25rem !important;
    width: max-content !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.tile-filter),
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.chip-toggle),
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(.chip-choice-group) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.tile-filter,
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.chip-toggle,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input > label.tile-filter,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input > label.chip-toggle {
    margin-inline: 0 !important;
    align-self: center !important;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .chip-choice-group {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Zrušit duplicitní popisky nad každou dlaždicí (Prodej/Pronájem…) */
.w-field-row.property-admin-offer-type-row h3.w-field__label,
.w-field-row.property-admin-offer-type-row .w-field__label,
.w-field-row.property-admin-offer-type-row .w-field__help {
    display: none !important;
}

/* Jako veřejné .subfilter-tiles-flow: řada zleva, dlaždice jen na šířku textu (ne centrování v nataženém sloupci). */
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input:has(> label.chip-toggle),
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input:has(> label.tile-filter) {
    justify-content: flex-start !important;
}
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.chip-toggle,
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.tile-filter {
    margin-inline: 0 !important;
}

/* Stáhnout zbytečně velkou mezeru mezi geo řádkem a „Co nabízíte?“ */
section.w-panel.property-admin-lokalita-w-panel .w-field-row.property-admin-geo-address-field-row {
    margin-bottom: 0.9rem !important;
}

section.w-panel.property-admin-lokalita-w-panel .w-panel__wrapper.property-admin-section-label {
    margin-top: 0 !important;
}

.w-panel__wrapper.property-admin-status-tiles {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}

.w-panel__wrapper.property-admin-status-tiles .w-field__wrapper {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}

/*
 * Stav inzerátu: jeden řádek, každá dlaždice jen na šířku textu (ne roztahovat přes 1300px).
 * Pas max 1300px; užší okno — horizontální posuv.
 */
.w-panel__wrapper.property-admin-status-tiles .w-field__input,
.w-field__wrapper.property-admin-status-tiles .w-field__input {
    max-width: 81.25rem;
    width: min(100%, 81.25rem);
    box-sizing: border-box;
}

.w-panel__wrapper.property-admin-status-tiles .chip-choice-group,
.w-field__wrapper.property-admin-status-tiles .chip-choice-group {
    width: max-content;
    max-width: min(81.25rem, 100%);
    margin-inline: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    box-sizing: border-box;
}

.w-panel__wrapper.property-admin-status-tiles .filter-ribbon,
.w-field__wrapper.property-admin-status-tiles .filter-ribbon {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    /* celý řádek může mít až ~1300px; dlaždice se rozloží rovnoměrně */
    width: min(100%, 81.25rem);
    max-width: min(81.25rem, 100%);
    min-width: 0;
    box-sizing: border-box;
}

.w-panel__wrapper.property-admin-status-tiles .tile-filter,
.w-field__wrapper.property-admin-status-tiles .tile-filter {
    display: inline-flex;
    flex: 1 1 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: none;
    margin: 0;
    min-height: 0;
    padding: 0 !important; /* padding dáme na label → skutečné centrování textu */
    min-width: 12.5rem;
    font-size: 0.875rem;
    line-height: 1.35;
    white-space: nowrap;
    overflow: visible;
    box-sizing: border-box;
    text-align: center;
}

.w-panel__wrapper.property-admin-status-tiles .tile-filter .chip-choice-label,
.w-field__wrapper.property-admin-status-tiles .tile-filter .chip-choice-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0 1.25rem;
    width: 100%;
    max-width: none;
    white-space: nowrap;
    text-align: center;
}

/* SEO řádek: dvě stejně široké poloviny (jako šířka titulku nahoře) */
.w-field-row:has(> .w-panel__wrapper.property-admin-seo-pill) {
    width: 100%;
}

.w-field-row:has(> .w-panel__wrapper.property-admin-seo-pill) > .w-panel__wrapper.property-admin-seo-pill {
    flex: 1 1 0 !important;
    width: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Zamčené dlaždice: stejná čitelnost textu jako u STOPPED/ostatních, odlišení okrajem/pozadím */
.tile-filter.tile-filter--locked {
    cursor: not-allowed;
    border-style: dashed;
    border-color: #d1d5db !important;
    background: #f3f4f6 !important;
    color: #4b5563 !important;
    box-shadow: none !important;
}

.tile-filter.tile-filter--locked .chip-choice-label {
    color: #4b5563 !important;
    font-weight: 600;
}

/* Read-only indikátor (např. „Zlevněno“): zamčený vzhled, ale aktivní = fialová jako zapnutý přepínač. */
.tile-filter.tile-filter--locked.tile-active {
    cursor: default;
    border-style: solid !important;
    border-color: #7a12d1 !important;
    background: #7a12d1 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(122, 18, 209, 0.25) !important;
}

.tile-filter.tile-filter--locked.tile-active .chip-choice-label {
    color: #fff !important;
}

/* Cenové parametry: vstupní ceny + příznaky — stejný rastr (3 sloupce), mezera nad blokem s info lištou */
form[data-edit-form] .property-admin-cenove-parametry .property-admin-price-flags-block {
    margin-top: 1rem;
}

form[data-edit-form] .w-field-row.property-admin-price-input-row,
form[data-edit-form] .w-field-row.property-admin-price-flags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    width: 100%;
    max-width: min(81.25rem, 100%);
    box-sizing: border-box;
}

form[data-edit-form] .w-field-row.property-admin-price-input-row > .w-panel__wrapper,
form[data-edit-form] .w-field-row.property-admin-price-flags-row > .w-panel__wrapper {
    flex: 1 1 0;
    min-width: 0;
    width: 0;
    max-width: 100%;
    box-sizing: border-box;
    align-self: flex-end;
}

/* Vstupní ceny: jedna rovina — stejný Wagtail input + zarovnané štítky */
form[data-edit-form] .property-admin-cenove-parametry .w-field-row.property-admin-price-input-row > .w-panel__wrapper.property-admin-text-field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

form[data-edit-form] .property-admin-cenove-parametry .w-field-row.property-admin-price-input-row .w-field__input input.w-input,
form[data-edit-form] .property-admin-cenove-parametry .w-field-row.property-admin-price-input-row .w-field__input select {
    width: 100% !important;
}

/* Cenové příznaky: tři stejné sloupce, popisek jen uvnitř dlaždice */

.w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean h3.w-field__label,
.w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean .w-field__label,
.w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly h3.w-field__label,
.w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .w-field__label {
    display: none !important;
}

/* Popisek je v textu dlaždice; modelové help_text schovat (zůstane info lišta nad řádkem). */
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean .w-field__help {
    display: none !important;
}

/* Cenové příznaky + Rezervováno: dlaždice jako „Co nabízíte?“ (centrovaný text) */
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.tile-filter,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.chip-toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 2.75rem !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.tile-filter .chip-choice-native,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.chip-toggle .chip-choice-native {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.tile-filter .chip-choice-label,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean label.chip-toggle .chip-choice-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.75rem !important;
    padding: 0 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean .w-field__input:has(> label.chip-toggle) {
    display: flex !important;
    justify-content: stretch !important;
    align-items: center !important;
    width: 100% !important;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-boolean .w-field__input > label.chip-toggle {
    margin-inline: 0 !important;
    flex: 1 1 auto !important;
}

.w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .tile-filter {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 !important;
}

.w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .tile-filter .chip-choice-label {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.75rem 1rem;
    width: 100%;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .w-field,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-is-discounted-field {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: 100%;
    margin: 0;
}

/* Info text nad dlaždicí — dlaždice zůstane ve stejné řadě jako Provize / Rezervováno */
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .w-field__help,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-is-discounted-field__help {
    order: 0;
    flex: 0 0 auto;
    margin: 0 0 0.35rem !important;
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1.35;
    text-align: center;
    color: #6b7280;
    width: 100%;
    max-width: 100%;
}

form[data-edit-form] .w-field-row.property-admin-price-flags-row .property-admin-price-flag-readonly .w-field__input {
    order: 1;
    flex: 0 0 auto;
    margin-top: auto !important;
    justify-content: stretch !important;
}


/* Modrá info lišta (Wagtail ``help_block``) — centrovaný text */
form[data-edit-form] .property-admin-cenove-parametry .property-admin-price-flags-block > .help-block {
    justify-content: center;
    text-align: center;
}

/* Property snippet: pilulky vedle sebe — stejná mezera jako mezi dlaždicemi stavu (WAITING / ACTIVE …) */
.w-field-row:has(> .w-panel__wrapper.property-admin-locked-pill) {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
}

/* Popisek s nápovědou (Pobočka, Poptávky…) — kurzor jako u dlaždic Zlevněno */
.w-panel__wrapper.property-admin-locked-pill .relative.inline-flex:has([data-pill-tip]) .w-field__label {
    cursor: help;
}

/* Bez roztahování sloupců — dřív `flex: 1` dělalo mezi fialovými hodnotami obrovskou díru */
.w-field-row:has(> .w-panel__wrapper.property-admin-locked-pill) > .w-panel__wrapper.property-admin-locked-pill {
    flex: 0 0 auto;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
}

/*
 * Sloupec = max(šířka popisku, šířka hodnoty) — fialová dlaždice není užší než štítek nad ní,
 * mezery mezi sousedními sloupci v řádku jsou pak stejné (jen `gap`).
 */
.w-panel__wrapper.property-admin-locked-pill {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    max-width: 100%;
    vertical-align: top;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
}

/* Jako štítky „Stát / Kraj / …“ na hero filtrech (`.badge-header` v _search_map_hero.html). */
.w-panel__wrapper.property-admin-locked-pill h3.w-field__label,
.w-panel__wrapper.property-admin-locked-pill .w-field__label {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.45rem;
    padding: 5px 14px;
    border-radius: 9px;
    background-color: #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em;
    line-height: 1.2;
    text-transform: uppercase;
}

/* „Stav inzerátu“: stejné písmo/pozadí jako ID, ale šedý štítek jen na šířku textu (ne přes celý řádek). */
.w-panel__wrapper.property-admin-status-tiles label.w-field__label,
.w-panel__wrapper.property-admin-status-tiles .w-field__label {
    display: inline-block;
    box-sizing: border-box;
    width: fit-content;
    max-width: min(100%, 81.25rem);
    margin: 0 0 0.45rem;
    padding: 5px 14px;
    border-radius: 9px;
    background-color: #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em;
    line-height: 1.2;
    text-transform: uppercase;
}

.w-panel__wrapper.property-admin-locked-pill .w-field__wrapper {
    width: 100%;
    min-width: 0;
}

.w-panel__wrapper.property-admin-locked-pill .w-field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    margin: 0;
    background: transparent !important;
}

.w-panel__wrapper.property-admin-locked-pill .w-field__errors,
.w-panel__wrapper.property-admin-locked-pill .w-field__help {
    background: transparent !important;
}

/* Stejná výška / padding jako `.tile-filter`; šířka = celý sloupec (≥ popisek) */
.w-panel__wrapper.property-admin-locked-pill .w-field__input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
    min-height: 2.75rem;
    padding: 0.75rem 1.25rem;
    background-color: #7a12d1 !important;
    border: 1px solid #7a12d1 !important;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(122, 18, 209, 0.25);
}

/*
 * Wagtail `.w-field__textoutput` má vlastní „input“ vzhled (bílé pozadí, šedý okraj) —
 * resetujeme ho, aby vypadal jako jedna fialová dlaždice jako `.tile-active`.
 */
.w-panel__wrapper.property-admin-locked-pill .w-field__textoutput {
    appearance: none !important;
    width: 100% !important;
    max-width: 100%;
    text-align: center;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.875rem !important;
    line-height: 1.35 !important;
}

.w-panel__wrapper.property-admin-locked-pill .w-field__textoutput:hover,
.w-panel__wrapper.property-admin-locked-pill .w-field__textoutput:focus,
.w-panel__wrapper.property-admin-locked-pill .w-field__textoutput:focus-visible {
    border: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
}

/*
 * SEO titulek / slug — fialová zamčená dlaždice (hodnota jen zobrazení, readonly/disabled).
 * Titulek, ulice, plochy m²: property_admin_text_fields.css.
 */
.w-panel__wrapper.property-admin-seo-pill h3.w-field__label,
.w-panel__wrapper.property-admin-seo-pill .w-field__label {
    display: inline-block;
    width: fit-content;
    max-width: min(100%, 81.25rem);
}

.w-panel__wrapper.property-admin-seo-pill .w-field__errors:not(:has(.error-message)),
.w-panel__wrapper.property-admin-seo-pill .w-field__help:not(:has(.help)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
}

.w-panel__wrapper.property-admin-seo-pill .w-field__input input.w-input,
.w-panel__wrapper.property-admin-seo-pill .w-field__input input.property-admin-address-tile-input {
    background-color: transparent !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-weight: 600;
    font-size: 0.875rem !important;
    line-height: 1.35 !important;
    text-align: center !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible;
    white-space: normal;
    word-break: break-word;
    box-sizing: border-box !important;
    width: 100% !important;
    appearance: none;
    cursor: not-allowed;
    pointer-events: none;
}

.w-panel__wrapper.property-admin-seo-pill .w-field__input input.w-input:disabled,
.w-panel__wrapper.property-admin-seo-pill .w-field__input input.property-admin-address-tile-input:disabled {
    opacity: 1 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}

form[data-edit-form] .w-panel__wrapper.property-admin-seo-pill .w-field__input {
    justify-content: center !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.w-panel__wrapper.property-admin-locked-pill .w-field__help .help {
    color: #6b7280;
}

/* --- Admin: chip/tile text must be truly centered (comment button must not push layout) --- */
form[data-edit-form] .w-field__input:has(> label.tile-filter),
form[data-edit-form] .w-field__input:has(> label.chip-toggle) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Admin: Vlastní energie a zdroje — stejný “tile” layout + jemný slide-down */
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field-row {
    flex-wrap: wrap;
    gap: 0.5rem;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .w-field {
    margin-bottom: 0.5rem;
}

/* Self-sufficiency: sjednotit mezery v řádcích (dlaždice ↔ input ↔ dlaždice ↔ input) */
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end;
    column-gap: 0.85rem !important;
    row-gap: 0.5rem !important;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .w-field-row > .w-panel__wrapper,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field-row > .w-field__wrapper,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field-row > .w-field {
    margin: 0 !important;
}

/* Tile wrappers: nenechat je roztahovat (jinak vzniká „velká mezera“ před inputem) */
form[data-edit-form]
  .property-admin-self-sufficiency-panel
  .w-field-row
  > .w-panel__wrapper:has(label.chip-toggle),
form[data-edit-form]
  .property-admin-self-sufficiency-panel
  .w-field-row
  > .w-panel__wrapper:has(.chip-choice-group) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Input wrappers: rozumná šířka + flexibilita (aby řádek vypadal konzistentně) */
form[data-edit-form]
  .property-admin-self-sufficiency-panel
  .w-field-row
  > .w-panel__wrapper:has(input:not(.chip-choice-native)),
form[data-edit-form]
  .property-admin-self-sufficiency-panel
  .w-field-row
  > .w-panel__wrapper:has(select),
form[data-edit-form]
  .property-admin-self-sufficiency-panel
  .w-field-row
  > .w-panel__wrapper:has(textarea) {
    flex: 0 0 16rem !important;
    width: 16rem !important;
    min-width: 16rem !important;
    max-width: 16rem !important;
}

/* Vlastní energie a zdroje: dlaždice řadit ZLEVA (ne centrovat jako jiné chip group sekce) */
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(.chip-choice-group) {
    justify-content: flex-start !important;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(.chip-choice-group) > .chip-choice-group {
    margin-inline: 0 !important;
    justify-content: flex-start !important;
}

/* Kritické: Wagtail comment button nesmí posouvat layout dlaždic v tomto panelu */
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input {
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__comment-button {
    position: absolute !important;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Disabled look (inputs stay visible, just inactive) */
form[data-edit-form] .property-admin-self-sufficiency-panel .ss-input-disabled {
    opacity: 0.55;
}

form[data-edit-form] .property-admin-self-sufficiency-panel input:disabled,
form[data-edit-form] .property-admin-self-sufficiency-panel select:disabled {
    opacity: 1; /* opacity řeší wrapper, ne samotný input */
    background-color: #f9fafb !important;
    border-color: #e5e7eb !important;
    cursor: not-allowed;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .ss-tile-disabled {
    opacity: 0.45;
    cursor: not-allowed !important;
}

/* Zajistit, že wrapper pro dlaždice je skutečně centrovaný (bez vlivu comment buttonu) */
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.chip-toggle),
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.tile-filter),
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(.chip-choice-group) {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
}

form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.chip-toggle) > label.chip-toggle,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(> label.tile-filter) > label.tile-filter {
    margin-inline: 0 !important;
}

/* Wagtail někdy cpe odsazení kvůli ikonám / errors: zabít v tomhle panelu */
form[data-edit-form] .property-admin-self-sufficiency-panel label.tile-filter,
form[data-edit-form] .property-admin-self-sufficiency-panel label.chip-toggle {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* (Centrování dlaždic výše — sdílený blok s „Co nabízíte?“.) */

/* Property admin: schovat duplicitu příslušenství/sítí v panelu „Technické informace (B2B)“ */
form[data-edit-form]
  section.w-panel.property-admin-technical-b2b-panel
  .w-field:has(input[name^="ea_"]) {
    display: none !important;
}

/* Fallback (bez :has / jiný wrapper než section.w-panel) */
form[data-edit-form]
  .property-admin-technical-b2b-panel
  input[name^="ea_"] {
    /* samotný input schováme vždy; JS pak schová celý .w-field */
    display: none !important;
}

/* Robust fallback: schovat samotné tile/chip UI v B2B panelu (i když input/DOM není „hezký“). */
form[data-edit-form] .property-admin-technical-b2b-panel label.tile-filter,
form[data-edit-form] .property-admin-technical-b2b-panel label.chip-toggle,
form[data-edit-form] .property-admin-technical-b2b-panel .chip-choice-group,
form[data-edit-form] .property-admin-technical-b2b-panel .tile-filter,
form[data-edit-form] .property-admin-technical-b2b-panel .chip-toggle {
    display: none !important;
}

/* A kdyby to bylo celé zabaleno jako chip widget field, schovej wrapper. */
form[data-edit-form] .property-admin-technical-b2b-panel .w-field--chip_toggle_widget,
form[data-edit-form] .property-admin-technical-b2b-panel .w-field--chip_choice_widget,
form[data-edit-form] .property-admin-technical-b2b-panel .w-field--boolean_field.w-field--chip_toggle_widget {
    display: none !important;
}

form[data-edit-form] .w-field__input:has(> label.tile-filter) > label.tile-filter,
form[data-edit-form] .w-field__input:has(> label.chip-toggle) > label.chip-toggle {
    margin-inline: auto;
}

/* Nabídka + vlastní energie: bez margin-inline:auto (jinak text v roztáhlé kapsli vlevo). */
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.tile-filter,
form[data-edit-form] .w-field-row.property-admin-offer-type-row .w-field__input > label.chip-toggle,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .w-field__input > label.tile-filter,
form[data-edit-form] .w-field-row.property-admin-price-flags-row .w-field__input > label.chip-toggle,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input > label.tile-filter,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input > label.chip-toggle,
form[data-edit-form] .property-admin-self-sufficiency-panel .w-field__input:has(.chip-choice-group) > .chip-choice-group {
    margin-inline: 0 !important;
}

form[data-edit-form] .w-field__input:has(> label.tile-filter) > button.w-field__comment-button,
form[data-edit-form] .w-field__input:has(> label.chip-toggle) > button.w-field__comment-button {
    position: absolute !important;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Fallback: if :has() isn't available, still center within known chip widgets */
form[data-edit-form] .w-field--chip_toggle_widget .w-field__input,
form[data-edit-form] .w-field--chip_choice_widget .w-field__input,
form[data-edit-form] .w-field--boolean_field.w-field--chip_toggle_widget .w-field__input {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Radio chip groups (status, etc.): label tiles are inside .chip-choice-group, not directly under .w-field__input */
form[data-edit-form] .w-field__input:has(.chip-choice-group) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

form[data-edit-form] .w-field__input:has(.chip-choice-group) > .chip-choice-group {
    margin-inline: auto;
}

form[data-edit-form] .w-field__input:has(.chip-choice-group) > button.w-field__comment-button {
    position: absolute !important;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Admin — panel Aukce (partnerský portál) */
form[data-edit-form] .property-admin-auction-panel .property-admin-auction-info__body {
    max-width: 42rem;
}

form[data-edit-form] .property-admin-auction-info__status {
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.75rem;
    font-size: 0.9rem;
    line-height: 1.45;
}

form[data-edit-form] .property-admin-auction-info__status--active {
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    color: #065f46;
}

form[data-edit-form] .property-admin-auction-info__status--configured {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
}

form[data-edit-form] .property-admin-auction-info__status--off {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #4b5563;
}

form[data-edit-form] .property-admin-auction-info__detail {
    display: block;
    margin-top: 0.2rem;
    font-weight: 500;
}

form[data-edit-form] .property-admin-auction-info__checks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.5rem 1.25rem;
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
}

form[data-edit-form] .property-admin-auction-info__checks dt {
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.68rem;
}

form[data-edit-form] .property-admin-auction-info__checks dd {
    margin: 0.15rem 0 0;
}

form[data-edit-form] .property-admin-auction-info__ok {
    color: #047857;
    font-weight: 700;
}

form[data-edit-form] .property-admin-auction-info__warn {
    color: #b45309;
    font-weight: 600;
}

form[data-edit-form] .property-admin-auction-info__link {
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
}

form[data-edit-form] .property-admin-auction-info__b2b {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
}

form[data-edit-form] .property-admin-auction-info__pre {
    margin: 0.5rem 0 0;
    padding: 0.65rem 0.75rem;
    max-height: 10rem;
    overflow: auto;
    background: #f3f4f6;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
}

form[data-edit-form] .property-admin-auction-info__howto {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 0.5rem;
    color: #1e40af;
    font-weight: 500;
}

form[data-edit-form] .property-admin-auction-info__hint {
    margin-top: 0.5rem;
}
