/* === RentArest: My Objects page layout ===
   Убирает чужой flex-хвост Astra и переносит нужную высоту на саму секцию.
   Фон .rentarest-my-objects-page.ra-bg-deep остаётся до нижней части первого экрана. */
body.ra-my-objects-page #page.site {
  min-height: 0;
}

body.ra-my-objects-page #page > #content.site-content {
  flex: 0 0 auto;
  min-height: 0;
}

body.ra-my-objects-page #content.site-content > .ast-container {
  min-height: 0;
}

.rentarest-my-objects-page {
  box-sizing: border-box;
  min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
}

/* === RentArest: My Objects page heading ===
   Локальные значения для страницы объектов.
   Остальная геометрия .title-decor задаётся глобальным WPCode-сниппетом. */
.rentarest-my-objects-page .ra-page-heading {
  margin-bottom: 30px;
}

.rentarest-my-objects-page .title-decor {
  width: 140px;
}

.owner-message-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(280px, 52vh, 560px);
  padding: 20px;
}

.owner-message-box {
  width: auto;
  min-width: 200px;
  max-width: 90%;
  padding: 15px 20px;
  border: 1px solid rgba(255, 205, 87, 0.25);
  border-radius: 40px;
  background: rgba(28, 31, 38, 0.6);
  color: #dedbb2;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  backdrop-filter: blur(4px);
}

.owner-message-box a,
.owner-message-box a:link,
.owner-message-box a:visited {
  color: #e8bd58;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 0 solid #e8bd58;
  transition: border-bottom 0.2s ease;
}

.owner-message-box a:hover,
.owner-message-box a:focus {
  border-bottom-width: 1px;
}

/* ===== rentarest-my-objects extracted block ===== */
/* === ОСНОВНЫЕ СТИЛИ (без изменений) === */
.my-objects-table-container {
            overflow-x: auto;
        }
        .my-objects-table {
            width: 100%;
            border-collapse: collapse;
            background: #DEDBB2;
            border: 2px solid #7d7768;
            border-radius: 12px;
            overflow: hidden;
        }
        .my-objects-table th,
        .my-objects-table td {
            padding: 14px 16px;
            text-align: left;
            border: 1px solid #7d7768;
            color: #1C1F26;
            vertical-align: middle;
        }
        .my-objects-table th {
            background: #c9c587;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.8rem;
            color: #1C1F26;
        }
        .my-objects-table th:first-child,
        .my-objects-table td:first-child { border-left: none; }
        .my-objects-table th:last-child,
        .my-objects-table td:last-child { border-right: none; }
        .my-objects-table tr:first-child th { border-top: none; }
        .my-objects-table tr:last-child td { border-bottom: none; }
        .my-objects-table tr:hover td { background: rgba(255, 205, 87, 0.2); }
        .object-title { font-weight: 500; }
        .status-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 12.5px;
            font-weight: 600;
            white-space: nowrap;
            border: 1px solid #7E7969;
        }
        .status-published { background: #46d93b; color:  #1C1F26; }
        .status-moderation { background: #83b8de; color: #1C1F26; }
		.status-trash { background: #ff6145; color: #1C1F26; }
        .object-actions { white-space: nowrap; }
		
		#edit-object-btn {
    margin-right: 10px !important;
}
		
#save-object-btn {
    margin-right: 10px !important;
}
		

        /* === СТИЛИ КНОПОК В ТАБЛИЦЕ (как в эталонном коде) === */
		
.action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 2px;
    padding: 5px 12px;
    border: 1px solid #7E7969;       /* рамка #1C1F26 */
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 600;
    color: #1C1F26;                  /* цвет текста #1C1F26 */
    background: #DEDBB2;             /* временный фон, будет переопределён */
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    transform: translateY(0);
    will-change: transform;
    text-decoration: none !important; /* убираем подчёркивание */
    line-height: 1.4;
    white-space: nowrap;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);
}
.action-btn i {
    font-size: 14px;
}

        /* Фоны для конкретных кнопок */
.settings-btn {
    background: #FFCD57 !important;   /* золотой для "Редактировать" */
}
.delete-btn {
    background: #ff5a3d !important;   /* оранжевый для "Удалить" */
}
.restore-btn {
    background: #8f8b85 !important;   /* серый фон, как вы просили */
}
		
        .action-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        0 9px 18px rgba(0, 0, 0, 0.20),
        0 0 14px rgba(220, 180, 82, 0.08);
}
		
.settings-btn:hover {
    background: #FFCD57 !important;
    border-color: #1C1F26;
}
.delete-btn:hover {
    background: #ff5a3d !important;
    border-color: #1C1F26;
}
		
.restore-btn:hover {
    background: #8f8b85 !important;
    border-color: #1C1F26;
}

.action-btn:active {
    transform: translateY(0);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.16);
}

		
		/* Убираем изменение цвета текста при ховере */
.settings-btn:hover,
.delete-btn:hover,
.settings-btn:hover i,
.delete-btn:hover i {
    color: #1C1F26 !important;
}


        /* === Кнопки в модальном окне объекта — стиль как в owner-modal === */
.object-modal .modal-footer {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.object-modal .modal-footer .button {
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 30px !important;
    min-height: 30px !important;
    min-width: max-content !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    line-height: 1 !important;
    border-radius: 40px !important;
    border: 1px solid rgba(220, 180, 82, 0.34) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018)),
        rgba(255, 255, 255, 0.026) !important;
    color: rgba(220, 180, 82, 0.74) !important;
    -webkit-text-fill-color: rgba(220, 180, 82, 0.74) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    gap: 8px !important;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.19),
        inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}
.object-modal .modal-footer #edit-object-btn,
.object-modal .modal-footer #edit-object-btn:hover,
.object-modal .modal-footer #edit-object-btn:focus-visible,
.object-modal .modal-footer #edit-object-btn:active,
.object-modal .modal-footer #save-object-btn,
.object-modal .modal-footer #save-object-btn:hover,
.object-modal .modal-footer #save-object-btn:focus-visible,
.object-modal .modal-footer #save-object-btn:active {
    color: #ffe79c !important;
    -webkit-text-fill-color: #ffe79c !important;
}
.object-modal .modal-footer #edit-object-btn *,
.object-modal .modal-footer #save-object-btn * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

.object-modal .modal-footer #save-object-btn,
.edit-modal-actions #edit-select-location-btn {
    gap: 8px !important;
}

.object-modal .modal-footer #save-object-btn .ra-button-spinner,
.edit-modal-actions #edit-select-location-btn .ra-button-spinner {
    flex: 0 0 auto;
    line-height: 1;
}
.object-modal .modal-footer .button:hover,
.object-modal .modal-footer .button:focus-visible {
    border-color: rgba(255, 224, 141, 0.50) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.024)),
        rgba(255, 255, 255, 0.034) !important;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.19),
        0 0 18px rgba(220, 180, 82, 0.065),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}
.object-modal .modal-footer .button:active {
    transform: translateY(0);
}

        /* === АНИМАЦИЯ КРЕСТИКА === */
        .object-modal .modal-close {
            font-size: 28px;
            cursor: pointer;
            line-height: 1;
            color: #DEDBB2;
            transition: color 0.2s ease, transform 0.3s ease;
            display: inline-block;
        }
        .object-modal .modal-close:hover {
            color: #e1b759;
            transform: rotate(360deg);
        }

        /* Остальные стили (модальное окно, поля ввода, галерея и т.д.) без изменений */
		/* Ряд из 3 полей (цена, комнатность, площадь) */
.modal-field-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.modal-field-row .modal-field {
    flex: 1;
    min-width: 110px;
    margin-bottom: 0;
}
		
.modal-field-row .modal-field .rooms-custom-select {
    margin-top: 0;
}
		
/* На маленьких экранах – вертикальное расположение */
@media (max-width: 600px) {
    .modal-field-row {
        flex-direction: column;
        gap: 0;
    }
    .modal-field-row .modal-field {
        margin-bottom: 15px;
    }
}
		
		
        .owner-empty, .owner-error {
            background: #1C1F26;
            color: #DEDBB2;
            padding: 20px;
            text-align: center;
            border-radius: 12px;
            font-size: 16px;
        }
        .owner-empty a { color: #FFCD57; text-decoration: none; font-weight: 600; }
        .owner-empty a:hover { text-decoration: underline; }
        @media (max-width: 768px) {
            .my-objects-table th, .my-objects-table td { padding: 8px 10px; font-size: 13px; }
            .action-btn { padding: 4px 8px; font-size: 12px; }
        }
        
        .object-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .object-modal .modal-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle at center, rgba(255, 205, 87, 0.4), rgba(0, 0, 0, 0.9));
            backdrop-filter: blur(2px);
        }
        .object-modal .modal-container {
            position: relative;
            max-width: 740px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            padding: 24px;
            color: rgba(218, 213, 170, .78);
            z-index: 10001;
            border: 1px solid rgba(220, 180, 82, .28);
            border-radius: 16px;
            background: linear-gradient(180deg, rgba(255, 255, 255, .034), rgba(255, 255, 255, .006)), rgb(17, 24, 36);
            box-shadow: 0 0 6px rgba(220, 180, 82, .075), 0 0 12px rgba(220, 180, 82, .055), 0 0 22px rgba(220, 180, 82, .032), inset 0 1px 0 rgba(255, 255, 255, .048), 0 0 0 1px rgba(220, 180, 82, .018), 0 10px 30px rgba(0, 0, 0, .5);
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .object-modal .modal-container::-webkit-scrollbar { display: none; }
        .object-modal .modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 1px solid rgba(255,205,87,0.2);
            padding-bottom: 10px;
            margin-bottom: 20px;
        }
        .object-modal .modal-title-row {
            display: flex;
            align-items: center;
            min-width: 0;
            flex: 1 1 auto;
            padding-right: 16px;
        }
        .object-modal .modal-header h3 {
            display: inline-flex;
            align-items: center;
            gap: 15px;
            flex-wrap: wrap;
            color: #e1b759;
            margin: 0;
            font-size: 18px;
            line-height: 1.3;
        }
        .object-modal #modal-object-title-text {
            min-width: 0;
            color: #c9c587;
            -webkit-text-fill-color: #c9c587;
        }
        .object-modal .modal-status {
            display: inline-flex;
            align-items: center;
            flex: 0 0 auto;
        }
        .object-modal .modal-status .status-badge {
            white-space: nowrap;
        }
        .object-modal .modal-field { margin-bottom: 15px; }
        .object-modal .modal-field strong { color: #e1b759; }
        .object-modal #edit-mode .modal-field > strong {
            display: block;
            margin-bottom: 8px;
            color: #e1b759;
            font-size: 15px;
            line-height: 1.35;
            font-weight: 500;
        }
        .object-modal .modal-gallery {
            display: flex;
            flex-wrap: wrap;
            gap: 0;
            margin-top: 10px;
        }
        .object-modal .modal-gallery img {
            width: 60px;
            height: 60px;
            object-fit: cover;
            border-radius: 8px;
            margin: 5px;
            cursor: pointer;
            border: 1px solid rgba(220, 180, 82, 0.32) !important;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.024), rgba(255, 255, 255, 0.006)), rgba(12, 18, 28, 0.62);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
            transform: translateZ(0) scale(1);
            transform-origin: center;
            backface-visibility: hidden;
            will-change: transform;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.18s ease-out;
        }
        .object-modal .modal-gallery img:hover,
        .object-modal .modal-gallery img:focus-visible {
            transform: translateZ(0) scale(1.04);
            border-color: rgba(255, 224, 141, 0.46) !important;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.032), rgba(255, 255, 255, 0.008)), rgba(14, 21, 32, 0.70);
            box-shadow: 0 0 10px rgba(220, 180, 82, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.045);
        }
        .object-modal .edit-input:not(#edit-description) {
            display: block;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
            padding: 14px 18px;
            border: 1px solid rgba(220, 180, 82, 0.20);
            border-radius: 8px;
            background:
                linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.029),
                    rgba(255, 255, 255, 0.007)
                ),
                rgba(22, 31, 48, 0.98);
            color: #e7e1be;
            -webkit-text-fill-color: #e7e1be;
            caret-color: #e1b759;
            font-family: inherit;
            font-size: 16px;
            line-height: 1.2;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.038),
                inset 0 -1px 0 rgba(0, 0, 0, 0.12),
                0 0 0 1px rgba(0, 0, 0, 0.09);
            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease,
                background 0.2s ease,
                color 0.2s ease;
        }

        .object-modal input.edit-input:-webkit-autofill,
        .object-modal input.edit-input:-webkit-autofill:hover,
        .object-modal input.edit-input:-webkit-autofill:focus,
        .object-modal textarea.edit-input:not(#edit-description):-webkit-autofill,
        .object-modal textarea.edit-input:not(#edit-description):-webkit-autofill:hover,
        .object-modal textarea.edit-input:not(#edit-description):-webkit-autofill:focus {
            -webkit-box-shadow: 0 0 0 1000px rgb(17, 24, 36) inset;
            -webkit-text-fill-color: #e7e1be;
            caret-color: #e1b759;
            border-color: rgba(220, 180, 82, 0.20);
            transition: background-color 9999s ease-in-out 0s;
        }

        .object-modal .edit-input:not(#edit-description):hover,
        .object-modal textarea.edit-input:not(#edit-description):hover,
        .object-modal input.edit-input:hover {
            border-color: rgba(225, 183, 89, 0.36);
            background:
                linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.034),
                    rgba(255, 255, 255, 0.009)
                ),
                rgba(25, 36, 53, 0.99);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.042),
                inset 0 -1px 0 rgba(0, 0, 0, 0.12),
                0 0 0 1px rgba(225, 183, 89, 0.018);
        }

        .object-modal .edit-input:not(#edit-description):focus,
        .object-modal textarea.edit-input:not(#edit-description):focus,
        .object-modal input.edit-input:focus {
            outline: none;
            border-color: rgba(255, 224, 141, 0.68);
            background:
                linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.039),
                    rgba(255, 255, 255, 0.011)
                ),
                rgba(27, 40, 59, 1);
            color: #f2eac4;
            -webkit-text-fill-color: #f2eac4;
            box-shadow:
                0 0 0 3px rgba(225, 183, 89, 0.14),
                0 0 10px rgba(225, 183, 89, 0.035),
                inset 0 1px 0 rgba(255, 255, 255, 0.050);
        }
		
        #edit-description {
            display: block;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            min-height: 96px;
            max-height: 250px;
            box-sizing: border-box;
            padding: 14px 18px;
            border: 1px solid rgba(220, 180, 82, 0.20);
            border-radius: 8px;
            background: #DEDBB2;
            color: #42485a;
            -webkit-text-fill-color: #42485a;
            caret-color: #42485a;
            font-family: inherit;
            font-size: 16px;
            line-height: 1.45;
            resize: vertical;
            overflow: auto;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.55),
                inset 0 -1px 0 rgba(0, 0, 0, 0.08),
                0 0 0 1px rgba(0, 0, 0, 0.06);
            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease,
                background 0.2s ease,
                color 0.2s ease;
        }

        #edit-description:hover {
            border-color: rgba(225, 183, 89, 0.36);
            background: #DEDBB2;
            color: #42485a;
            -webkit-text-fill-color: #42485a;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.60),
                inset 0 -1px 0 rgba(0, 0, 0, 0.08),
                0 0 0 1px rgba(225, 183, 89, 0.08);
        }

        #edit-description:focus {
            outline: none;
            border-color: rgba(255, 224, 141, 0.68);
            background: #DEDBB2;
            color: #42485a;
            -webkit-text-fill-color: #42485a;
            box-shadow:
                0 0 0 3px rgba(225, 183, 89, 0.14),
                0 0 10px rgba(225, 183, 89, 0.035),
                inset 0 1px 0 rgba(255, 255, 255, 0.60);
        }

        #edit-description::placeholder {
            color: rgba(66, 72, 90, 0.62);
            -webkit-text-fill-color: rgba(66, 72, 90, 0.62);
            opacity: 1;
        }

        #edit-description:-webkit-autofill,
        #edit-description:-webkit-autofill:hover,
        #edit-description:-webkit-autofill:focus {
            -webkit-box-shadow: 0 0 0 1000px #DEDBB2 inset;
            -webkit-text-fill-color: #42485a;
            caret-color: #42485a;
            border-color: rgba(220, 180, 82, 0.20);
            transition: background-color 9999s ease-in-out 0s;
        }

/* Базовые стили кнопок навигации фото */
.modal-nav-btn {
    width: 56px;
    height: 56px;
    background: rgba(28, 31, 38, 0.4);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 205, 87, .5);
    border-radius: 40px;
    color: #FFCD57;
    font-size: 28px;
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.2, 0.9, 0.4, 1.1), background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, backdrop-filter 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Стили при наведении (свечение) */
.modal-nav-btn:hover {
    background: rgb(203 184 138 / 12%);
    border-color: rgb(255 200 76 / 58%);
    backdrop-filter: blur(10px);
    transform: scale(1.08);
    color: #FFD966;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(225, 183, 89, 0.22);
}

/* При фокусе — базовый вид, без изменений */
.modal-nav-btn:focus,
.modal-nav-btn:focus-visible {
    outline: none;
    background: rgba(28, 31, 38, 0.4);
    border-color: rgba(255, 205, 87, .5);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Если фокус и наведение — даём свечение */
.modal-nav-btn:focus:hover {
    background: rgb(203 184 138 / 12%);
    border-color: rgb(255 200 76 / 58%);
    backdrop-filter: blur(10px);
    transform: scale(1.08);
    color: #FFD966;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(225, 183, 89, 0.22);
}
/* Активное состояние (клик) — убираем любые изменения, чтобы не мешать классу keyboard-hover */
.modal-nav-btn:active {
    transform: scale(1) !important;
    background: rgba(28, 31, 38, 0.4);
    border-color: rgba(255, 205, 87, .5);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Класс для имитации наведения (при клике/клавиатуре) — полное свечение */
.modal-nav-btn.keyboard-hover {
    background: rgb(203 184 138 / 12%);
    border-color: rgb(255 200 76 / 58%);
    backdrop-filter: blur(10px);
    transform: scale(1.08);
    color: #FFD966;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(225, 183, 89, 0.22);
}

.modal-nav-btn.keyboard-hover i {
    transform: scale(1.05);
}

/* Золотой акцент только на стрелках, фон кнопки остаётся тёмным */
.modal-nav-btn i {
    background: linear-gradient(180deg, #f0ca69 0%, #eabd56 34%, #e5ad47 58%, #d79635 80%, #c98a2d 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    transition: transform 0.2s ease, filter 0.2s ease;
    font-style: normal;
}

.modal-nav-btn:hover i {
    transform: scale(1.05);
    filter: brightness(1.05);
}
		
/* Кнопка открытия карты */
.map-button {
    background: rgba(255, 205, 87, 0.05);
    border: 1px dashed #e8bd58;
    border-radius: 8px;
    padding: 6px 12px;
    color: #e8bd58;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
}
.map-button:hover {
    background: #e8bd58;
    color: #1C1F26;
    border-color: #1C1F26;
    border-style: solid;
}
.coord-hint {
    font-size: 12px;
    color: rgba(218, 213, 170, 0.78);
    margin-top: 6px;
    margin-bottom: 15px;
}
		
/* Выравнивание поля адреса и кнопки "Выбрать на карте" */
#edit-address.edit-input {
    min-height: 40px;
    box-sizing: border-box;
}

.object-modal .edit-map-button-wrapper {
    overflow: visible;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: #232630;
    border: 1px solid rgba(255, 205, 87, 0.18);
    border-radius: 12px;
    padding: 4px;
    position: relative;
    z-index: 1;
    transform: translateY(0);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.object-modal .edit-map-button-wrapper:active,
.object-modal .edit-map-button-wrapper:focus-within {
    transform: translateY(-1px);
    border-color: rgba(255, 205, 87, 0.24);
}

#edit-open-map-btn.map-button.address-map-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 9px !important;
    background: #333333 !important;
    color: #e8bd58 !important;
    -webkit-text-fill-color: #e8bd58 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.02) !important;
    transform: none !important;
    filter: none !important;
    transition: color 0.18s ease, -webkit-text-fill-color 0.18s ease, box-shadow 0.18s ease !important;
}
#edit-open-map-btn.map-button.address-map-btn:hover,
#edit-open-map-btn.map-button.address-map-btn:focus-visible,
#edit-open-map-btn.map-button.address-map-btn:active {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.033) 0%, rgba(255, 244, 204, 0.018) 42%, rgba(74, 43, 7, 0.045) 100%),
        linear-gradient(180deg, #f0ca69 0%, #eabd56 34%, #e5ad47 58%, #d79635 80%, #c98a2d 100%) !important;
    color: #1C1F26 !important;
    -webkit-text-fill-color: #1C1F26 !important;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transform: none !important;
    outline: none !important;
}
#edit-open-map-btn.map-button.address-map-btn .wp-media-buttons-icon {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}
#edit-open-map-btn.map-button.address-map-btn .wp-media-buttons-icon path {
    fill: currentColor !important;
}
#edit-open-map-btn.map-button.address-map-btn span {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
#edit-open-map-btn.map-button.address-map-btn::before,
#edit-open-map-btn.map-button.address-map-btn::after {
    display: none !important;
}
/* ===== СТИЛИ МОДАЛЬНОГО ОКНА КАРТЫ ДЛЯ РЕДАКТИРОВАНИЯ ===== */
.edit-map-modal {
    display: none;
    position: fixed;
    z-index: 1000000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: radial-gradient(circle at center, rgba(255, 205, 87, 0.4), rgba(0, 0, 0, 0.9)) !important;
    backdrop-filter: blur(5px);
    align-items: center;
    justify-content: center;
}
.edit-map-modal-content {
    --ra-map-card-section-light: rgba(255, 255, 255, 0.018);
    --ra-map-card-section-dark: rgba(7, 11, 18, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.034), rgba(255, 255, 255, 0.006)),
        rgba(17, 24, 36, 0.88);
    border-radius: 20px;
    width: 90%;
    max-width: 1000px;
    border: 1px solid rgba(220, 180, 82, 0.28);
    overflow: hidden;
    box-shadow:
        0 0 6px rgba(220, 180, 82, 0.075),
        0 0 12px rgba(220, 180, 82, 0.055),
        0 0 22px rgba(220, 180, 82, 0.032),
        inset 0 1px 0 rgba(255, 255, 255, 0.048),
        0 12px 24px rgba(0, 0, 0, 0.20);
}
.edit-map-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
    background: var(--ra-map-card-section-light);
    border-bottom: 1px solid rgba(255, 205, 87, 0.2);
}
.edit-map-modal-header h3 { margin: 0; color: #e1b759; font-size: 22px; }
.edit-map-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 32px;
    cursor: pointer;
    color: #DEDBB2;
    transition: color 0.2s ease;
    transform-origin: center center;
    line-height: 1;
}
.edit-map-modal-close:hover { color: #e1b759; }
.edit-map-modal-body {
    padding: 20px;
    background: var(--ra-map-card-section-dark);
}
#edit-modal-address-input,
.edit-modal-address-search input {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 14px 18px;
    border: 1px solid rgba(220, 180, 82, 0.20);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.029), rgba(255, 255, 255, 0.007)),
        rgba(22, 31, 48, 0.98);
    color: #e7e1be;
    -webkit-text-fill-color: #e7e1be;
    caret-color: #e1b759;
    font-family: inherit;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.038),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.09);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}
#edit-modal-address-input:hover,
.edit-modal-address-search input:hover {
    border-color: rgba(225, 183, 89, 0.36);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.034), rgba(255, 255, 255, 0.009)),
        rgba(25, 36, 53, 0.99);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.042),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(225, 183, 89, 0.018);
}
#edit-modal-address-input:focus,
.edit-modal-address-search input:focus {
    outline: none;
    border-color: rgba(255, 224, 141, 0.52);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.039), rgba(255, 255, 255, 0.011)),
        rgba(27, 40, 59, 1);
    color: #f2eac4;
    -webkit-text-fill-color: #f2eac4;
    box-shadow:
        0 0 0 3px rgba(225, 183, 89, .14),
        0 0 10px rgba(225, 183, 89, .035),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}
#edit-modal-address-input::placeholder,
.edit-modal-address-search input::placeholder {
    color: rgba(218, 213, 170, 0.51);
    -webkit-text-fill-color: rgba(218, 213, 170, 0.51);
    opacity: 1;
}
#edit-modal-address-input:-webkit-autofill,
#edit-modal-address-input:-webkit-autofill:hover,
#edit-modal-address-input:-webkit-autofill:focus,
#edit-modal-address-input:-webkit-autofill:active,
.edit-modal-address-search input:-webkit-autofill,
.edit-modal-address-search input:-webkit-autofill:hover,
.edit-modal-address-search input:-webkit-autofill:focus,
.edit-modal-address-search input:-webkit-autofill:active {
    -webkit-text-fill-color: #e7e1be;
    caret-color: #e1b759;
    border-color: rgba(220, 180, 82, 0.28);
    -webkit-box-shadow:
        0 0 0 1000px rgba(22, 31, 48, 0.98) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.038),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.09);
    box-shadow:
        0 0 0 1000px rgba(22, 31, 48, 0.98) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.038),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.09);
    transition: background-color 9999s ease-in-out 0s;
}
#edit-modal-map {
    position: relative;
    border-radius: 12px;
    background: #101722;
}

#edit-modal-map::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 420;
    pointer-events: none;
    border-radius: 12px;
    background: rgba(8, 12, 18, 0.14);
}
.edit-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 15px;
}

.edit-modal-actions .map-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 30px !important;
    min-height: 30px !important;
    min-width: max-content !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    border-radius: 40px !important;
    border: 1px solid rgba(220, 180, 82, 0.34) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018)),
        rgba(255, 255, 255, 0.026) !important;
    color: rgba(220, 180, 82, 0.74) !important;
    -webkit-text-fill-color: rgba(220, 180, 82, 0.74) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    gap: 8px !important;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.19),
        inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.edit-modal-actions #edit-select-location-btn,
.edit-modal-actions #edit-select-location-btn:hover,
.edit-modal-actions #edit-select-location-btn:focus-visible,
.edit-modal-actions #edit-select-location-btn:active {
    color: #ffe79c !important;
    -webkit-text-fill-color: #ffe79c !important;
}

.edit-modal-actions .map-button:hover,
.edit-modal-actions .map-button:focus-visible {
    border-color: rgba(255, 224, 141, 0.50) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.024)),
        rgba(255, 255, 255, 0.034) !important;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.19),
        0 0 18px rgba(220, 180, 82, 0.065),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transform: translateY(-1px);
    text-decoration: none !important;
    outline: none !important;
}

.edit-modal-actions .map-button:active {
    transform: translateY(0);
}

/* Стилизация кнопок зума Leaflet — единообразно с global_map */
.leaflet-control-zoom.leaflet-bar {
    overflow: hidden !important;
    border: 1px solid rgba(220, 180, 82, 0.28) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(180deg, rgba(235, 216, 170, 0.040), rgba(255, 255, 255, 0.008)),
        rgba(18, 20, 24, 0.82) !important;
    backdrop-filter: blur(5px) saturate(1.02) !important;
    -webkit-backdrop-filter: blur(5px) saturate(1.02) !important;
    box-shadow:
        0 12px 26px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(220, 180, 82, 0.10),
        inset 0 1px 0 rgba(255, 244, 202, 0.040),
        inset 0 -1px 0 rgba(220, 180, 82, 0.050) !important;
}

.leaflet-control-zoom a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background:
        linear-gradient(145deg, rgba(235, 216, 170, 0.050), rgba(255, 255, 255, 0.010) 44%),
        rgba(18, 20, 24, 0.18) !important;
    color: rgba(255, 231, 156, 0.92) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-align: center;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease !important;
}

.leaflet-control-zoom a:first-child {
    border-bottom: 1px solid rgba(220, 180, 82, 0.18) !important;
    border-radius: 11px 11px 0 0 !important;
}

.leaflet-control-zoom a:last-child {
    border-top: none !important;
    border-radius: 0 0 11px 11px !important;
    background-clip: padding-box !important;
}

.leaflet-control-zoom a:hover,
.leaflet-control-zoom a:focus-visible {
    background:
        linear-gradient(145deg, rgba(235, 216, 170, 0.075), rgba(255, 255, 255, 0.014) 44%),
        rgba(28, 31, 38, 0.34) !important;
    color: var(--ra-gold-soft, #e1b759) !important;
    outline: none !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 244, 202, 0.044),
        inset 0 -1px 0 rgba(220, 180, 82, 0.052) !important;
}

.leaflet-control-zoom a:active {
    transform: none !important;
}

.leaflet-bar a,
.leaflet-bar a:hover,
.leaflet-bar a:focus-visible {
    text-decoration: none !important;
}

/* === КАСТОМНЫЙ СЕЛЕКТ ДЛЯ КОМНАТ === */
.rooms-custom-select {
    position: relative;
    z-index: 30;
    width: 100%;
    min-width: 0;
    isolation: isolate;
    user-select: none;
}
.rooms-custom-select .custom-select-trigger {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    padding: 0 42px 0 18px;
    overflow: hidden;
    border: 1px solid rgba(220, 180, 82, 0.20);
    border-radius: 8px;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.029),
            rgba(255, 255, 255, 0.007)
        ),
        rgba(22, 31, 48, 0.98);
    color: #e7e1be;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 400;
    cursor: pointer;
    outline: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.038),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.09);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        color 0.22s ease,
        border-radius 0.22s ease;
}
.rooms-custom-select .selected-option-text {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: inherit;
    font-size: inherit;
    line-height: 1.2;
    font-weight: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rooms-custom-select .custom-select-trigger::after {
    content: '';
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #dcb452;
    pointer-events: none;
    transition: transform 0.22s ease, border-top-color 0.22s ease;
}
.rooms-custom-select .custom-select-trigger:hover {
    border-color: rgba(225, 183, 89, 0.36);
    color: #ffe79c;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.034),
            rgba(255, 255, 255, 0.009)
        ),
        rgba(25, 36, 53, 0.99);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.042),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(225, 183, 89, 0.018);
}
.rooms-custom-select .custom-select-trigger:hover::after,
.rooms-custom-select .custom-select-trigger.open::after {
    border-top-color: #ffe79c;
}
.rooms-custom-select .custom-select-trigger.open {
    border-color: rgba(255, 224, 141, 0.72);
    border-bottom-color: rgba(255, 224, 141, 0.72);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.039),
            rgba(255, 255, 255, 0.011)
        ),
        rgba(27, 40, 59, 1);
    color: #ffe79c;
    box-shadow: none;
}
.rooms-custom-select .custom-select-trigger.open::after {
    transform: translateY(-50%) rotate(180deg);
}
.rooms-custom-select .custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    max-height: 0;
    overflow: hidden;
    overflow-x: hidden;
    border: 0;
    border-radius: 0 0 8px 8px;
    background: transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
    transition:
        max-height 0.24s ease-out,
        opacity 0.08s ease-out,
        visibility 0s linear 0.24s;
}

.rooms-custom-select .custom-options::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.rooms-custom-select .custom-options.open {
    top: calc(100% - 1px);
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid rgba(255, 224, 141, 0.72);
    border-top: 0;
    background: #1b273b;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        max-height 0.24s ease-out,
        opacity 0.16s ease-out 0.04s,
        visibility 0s;
}
.rooms-custom-select .custom-option {
    position: relative;
    padding: 11px 38px 11px 14px;
    border-bottom: 1px solid rgba(220, 180, 82, 0.16);
    background: rgba(255, 255, 255, 0.024);
    color: rgba(218, 213, 170, 0.9);
    -webkit-text-fill-color: rgba(218, 213, 170, 0.9);
    font-size: 13px;
    line-height: 1.25;
    font-weight: 500;
    cursor: pointer;
    transition:
        background 0.22s ease,
        padding-left 0.22s ease,
        border-color 0.22s ease;
}
.rooms-custom-select .custom-option:last-child {
    border-bottom: 0;
}
.rooms-custom-select .custom-option:hover,
.rooms-custom-select .custom-option.selected {
    padding-left: 18px;
    border-bottom-color: rgba(16, 23, 34, 0.42);
    background:
        linear-gradient(
            118deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 244, 204, 0.065) 24%,
            transparent 48%
        ),
        linear-gradient(
            90deg,
            #e4971f 0%,
            #f5b63d 52%,
            #ffd966 100%
        );
    color: #101722;
    -webkit-text-fill-color: #101722;
}

.rooms-custom-select .custom-option.selected::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 13px;
    height: 13px;
    background: #101722;
    transform: translateY(-50%);
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.5 4.2L19 7' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.5 4.2L19 7' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / contain no-repeat;
}
		
/* Поля ввода в режиме редактирования */
.object-modal input[type="number"],
.object-modal input[type="text"],
.object-modal textarea,
.object-modal select {
    border-style: solid;
    border-width: 1px;
    border-radius: 8px;
}


.object-modal #edit-price::-webkit-outer-spin-button,
.object-modal #edit-price::-webkit-inner-spin-button,
.object-modal #edit-area::-webkit-outer-spin-button,
.object-modal #edit-area::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.object-modal #edit-price,
.object-modal #edit-area {
    -moz-appearance: textfield;
}
		
/* Полноэкранное модальное окно для фото — гибкая вертикальная структура */
.image-modal-full {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.92);
    z-index: 10001;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* изображение по центру, кнопки внизу */
    align-items: center;
    padding: 20px 0;
}

/* Контейнер для центрирования изображения */
.image-modal-full .image-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    margin: 20px 0;
}

/* Изображение — адаптивное, не перекрывает кнопки */
.image-modal-full #modal-img {
    max-width: 90%;
    max-height: calc(100% - 100px); /* оставляет место для кнопок */
    object-fit: contain;
    border-radius: 12px;
    border: 2px solid rgba(255, 224, 141, 0.34);
}

/* Контейнер кнопок — статичный, без absolute */
.image-modal-full .nav-buttons-container-bottom {
    position: static;
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 30px;
    z-index: 10003;
    pointer-events: auto;
}

/* Крестик остаётся фиксированным сверху */
#modal-close {
    position: absolute;
    top: 24px;
    right: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 44px;
    line-height: 1;
    cursor: pointer;
    color: #DEDBB2;
    transition: color 0.2s ease;
    transform: none;
    z-index: 10002;
}

#modal-close:hover {
    color: #e1b759 !important;
    transform: none !important;
}

/* Для мобильных — уменьшаем отступы */
@media (max-width: 768px) {
    .image-modal-full .nav-buttons-container-bottom {
        gap: 25px;
        margin-bottom: 30px;
    }
    .image-modal-full #modal-img {
        max-height: calc(100% - 80px);
    }
}
.filter-imported-wrapper .owner-empty {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* v1.0.28: edit object photo file-list and strict gallery image border */
.image-modal-full #modal-img,
#modal-img {
    border: 2px solid rgba(255, 224, 141, 0.34) !important;
}

.object-modal .edit-photos-field .ra-object-file-input {
    display: block;
    width: 100%;
    margin-top: 8px;
}

.object-modal .edit-photos-field .ra-object-file-input input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 12px;
    border: 1px dashed rgba(220, 180, 82, 0.36);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.029), rgba(255, 255, 255, 0.007)), rgba(22, 31, 48, 0.98);
    color: #e7e1be;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.object-modal .edit-photos-field .ra-object-file-input input[type="file"]:hover,
.object-modal .edit-photos-field .ra-object-file-input input[type="file"]:focus {
    border-color: rgba(255, 224, 141, 0.58);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.034), rgba(255, 255, 255, 0.009)), rgba(25, 36, 53, 0.99);
    box-shadow: 0 0 0 1px rgba(225, 183, 89, 0.022);
    outline: none;
}

.object-modal .edit-photos-field .ra-object-file-input input[type="file"]::file-selector-button,
.object-modal .edit-photos-field .ra-object-file-input input[type="file"]::-webkit-file-upload-button {
    margin-right: 10px;
    padding: 6px 12px;
    border: 1px solid #1C1F26;
    border-radius: 6px;
    background: #DEDBB2;
    color: #1C1F26;
    font-family: inherit;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.object-modal .object-photo-file-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 0;
}

.object-modal .object-photo-file-list:not(:empty) {
    margin-top: 15px;
}

.object-modal .object-photo-file-list .preview-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100px;
    padding: 7px 5px;
    border: 1px solid rgba(220, 180, 82, 0.32);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.024), rgba(255, 255, 255, 0.006)), rgba(12, 18, 28, 0.62);
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.18s ease-out;
}

.object-modal .object-photo-file-list .preview-item:hover,
.object-modal .object-photo-file-list .preview-item:focus-within {
    border-color: rgba(255, 224, 141, 0.46);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.032), rgba(255, 255, 255, 0.008)), rgba(14, 21, 32, 0.70);
    box-shadow: 0 0 10px rgba(220, 180, 82, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.045);
    transform: translateZ(0) scale(1.04);
}

.object-modal .object-photo-file-list .preview-item img,
.object-modal .object-photo-file-list .preview-item i {
    width: 80px;
    height: 80px;
    border: 1px solid rgba(220, 180, 82, 0.24);
    border-radius: 8px;
    object-fit: cover;
    background: rgba(8, 13, 21, 0.42);
}

.object-modal .object-photo-file-list .preview-name {
    max-width: 90px;
    overflow: hidden;
    color: #DEDBB2;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.object-modal .object-photo-file-list .remove-preview,
.object-modal .object-photo-file-list .delete-file {
    position: absolute;
    top: -8px;
    right: -8px;
    z-index: 2;
    width: 22px;
    height: 22px;
    margin-left: 0;
    border-radius: 50%;
    background: #DEDBB2;
    color: #1C1F26;
    font-size: 15px;
    line-height: 22px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.object-modal .object-photo-file-list .remove-preview:hover,
.object-modal .object-photo-file-list .delete-file:hover {
    background: #ff5823;
    color: #1c1f26;
    transform: none;
}

.object-modal .edit-photos-field .form-note {
    display: block;
    margin-top: 5px;
    margin-bottom: 0;
}

/* v1.0.29: clickable object photo previews */
.object-modal .object-photo-file-list .preview-item img {
    cursor: pointer;
}

/* Address suggestions overlay */
.edit-address-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
}

.edit-address-input-wrap,
.edit-modal-address-search {
    position: relative;
    min-width: 0;
}

.edit-address-input-wrap > #edit-address {
    width: 100%;
}

#edit-suggestions-container,
#edit-modal-suggestions-container {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 10020;
    max-height: 220px;
    overflow-y: auto;
    background: #232630;
    border: 1px solid rgba(220, 180, 82, .28);
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.36);
}

#edit-suggestions-container div,
#edit-modal-suggestions-container div {
    padding: 4px 17px;
    cursor: pointer;
    border-bottom: 1px solid #333;
    color: rgba(218, 213, 170, .78);
    background: #152335d6;
}

#edit-suggestions-container div:last-child,
#edit-modal-suggestions-container div:last-child {
    border-bottom: 0;
}

#edit-suggestions-container div:hover,
#edit-modal-suggestions-container div:hover {
    background: rgba(255, 205, 87, 0.1);
    color: rgb(255, 205, 87);
}

@media (max-width: 620px) {
    .edit-address-row {
        grid-template-columns: 1fr;
    }

    .edit-map-button-wrapper,
    .edit-map-button-wrapper .map-button {
        width: 100%;
    }
}
