/* Arabul public theme — inspired classifieds look (Bootstrap 5) */
:root,
[data-ab-theme="light"] {
    --ab-primary: #0046b1;
    --ab-primary-rgb: 0, 70, 177;
    --ab-accent: #18b13e;
    --ab-accent-rgb: 24, 177, 62;
    --ab-brand: var(--ab-primary);
    --ab-brand-dark: #003a94;
    --ab-ink: #212828;
    --ab-muted: #5f6b7c;
    --ab-placeholder: #6b7280;
    --ab-border: #e8e9eb;
    --ab-surface: #f8f5ee;
    --ab-card: #ffffff;
    --ab-header: #ffffff;
    --ab-header-bg: var(--ab-header);
    --ab-header-text: var(--ab-ink);
    --ab-header-hover: var(--ab-primary);
    --ab-header-border: var(--ab-border);
    --ab-header-top-bg: #f0f5fc;
    --ab-header-top-text: #5f6b7c;
    --ab-footer-bg: var(--ab-header);
    --ab-footer-text: var(--ab-muted);
    --ab-footer-hover: var(--ab-primary);
    --ab-footer-border: var(--ab-border);
    --ab-input-bg: #ffffff;
    --ab-radius: 0.5rem;
    --ab-radius-lg: 0.75rem;
    --ab-shadow: 0 0.5rem 1.5rem rgba(0, 70, 177, 0.08);
    --ab-hero: #0046b1;
    --ab-hero-ink: #ffffff;
    --ab-search-bg: #ffffff;
    --ab-font: 'Inter', sans-serif;
    --ab-font-size: 16px;
    --ab-font-weight: 400;
    --body-font: var(--ab-font);
    --title-font: var(--ab-font);
    --bs-body-font-family: var(--ab-font);
}

[data-ab-theme="dark"] {
    --ab-primary: #4d8dff;
    --ab-primary-rgb: 77, 141, 255;
    --ab-accent: #3dd66a;
    --ab-accent-rgb: 61, 214, 106;
    --ab-brand: var(--ab-primary);
    --ab-brand-dark: #7aaeff;
    --ab-ink: #e8eef8;
    --ab-muted: #b6c0d1;
    --ab-placeholder: #a8b3c7;
    --ab-border: #2a3548;
    --ab-surface: #0e1524;
    --ab-card: #151d2e;
    --ab-header: #111827;
    --ab-header-bg: var(--ab-header);
    --ab-header-text: var(--ab-ink);
    --ab-header-hover: var(--ab-primary);
    --ab-header-border: var(--ab-border);
    --ab-header-top-bg: #0f172a;
    --ab-header-top-text: #b6c0d1;
    --ab-footer-bg: #0f172a;
    --ab-footer-text: var(--ab-muted);
    --ab-footer-hover: #ffffff;
    --ab-footer-border: var(--ab-border);
    --ab-input-bg: #1a2336;
    --ab-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.35);
    --ab-hero: #0b2a6b;
    --ab-hero-ink: #ffffff;
    --ab-search-bg: #1a2336;
    color-scheme: dark;
}

body.ab-body {
    background: var(--ab-surface);
    color: var(--ab-ink);
    font-family: var(--ab-font);
    font-size: var(--ab-font-size);
    min-height: 100vh;
    transition: background-color .2s ease, color .2s ease;
    -webkit-font-smoothing: antialiased;
}

/* Header — style */
.ab-header {
    background: var(--ab-header-bg, var(--ab-header));
    border-bottom: 1px solid var(--ab-header-border, var(--ab-border));
    color: var(--ab-header-text, var(--ab-ink));
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.ab-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--ab-header-text, var(--ab-ink));
    font-weight: 800;
    font-size: 1.35rem;
    text-decoration: none;
    letter-spacing: -0.02em;
}

.ab-brand:hover { color: var(--ab-header-hover, var(--ab-primary)); }

.ab-brand__mark {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ab-primary) 45%, var(--ab-accent) 45%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.ab-brand__logo {
    max-height: var(--ab-logo-height, 40px);
    width: auto;
    display: block;
}

.ab-brand[data-logo-type="text"] .ab-brand__text {
    display: inline-block;
    color: inherit;
    font-weight: 800;
    line-height: 1.2;
}

.ab-brand[data-logo-type="image"] .ab-brand__text {
    display: none;
}

/* Site layout modes — body.wide / body.boxed (+ ab-site-* aliases), istinad-style #ab-site-container */
:root,
[data-ab-theme="light"] {
    --ab-boxed-frame: #e8ecf1;
    --ab-boxed-max: 1480px;
    --ab-boxed-gutter: clamp(1.25rem, 2.4vw, 2.5rem);
}

[data-ab-theme="dark"] {
    --ab-boxed-frame: #0b1220;
}

#ab-site-container {
    width: 100%;
    min-height: 100vh;
    opacity: 1;
    transition: box-shadow 0.2s ease, max-width 0.2s ease, background-color 0.2s ease;
}

body.ab-site-wide #ab-site-container,
body.wide #ab-site-container {
    max-width: none;
    margin: 0;
    box-shadow: none;
    background: transparent;
}

body.ab-body.ab-site-boxed,
body.ab-body.boxed {
    background: var(--ab-boxed-frame) !important;
}

body.ab-site-boxed #ab-site-container,
body.boxed #ab-site-container {
    width: 100%;
    max-width: var(--ab-boxed-max);
    margin-left: auto;
    margin-right: auto;
    background-color: var(--ab-surface, #f8f5ee);
    box-shadow: 0 0 48px rgba(15, 23, 42, 0.07);
    position: relative;
    z-index: 2;
    overflow-x: clip;
}

/* Fill the boxed shell — avoid Bootstrap container max-widths stacking/squeezing content */
body.ab-site-boxed #ab-site-container .container,
body.boxed #ab-site-container .container {
    max-width: 100%;
    width: 100%;
    padding-left: var(--ab-boxed-gutter);
    padding-right: var(--ab-boxed-gutter);
}

/* Keep listing grids readable inside the boxed column */
body.ab-site-boxed .ab-listings-row,
body.boxed .ab-listings-row {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

@media (min-width: 1200px) and (max-width: 1479.98px) {
    body.ab-site-boxed .ab-listings-row > .col-xl-3,
    body.boxed .ab-listings-row > .col-xl-3 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
}

[data-ab-theme="dark"] body.ab-site-boxed #ab-site-container,
[data-ab-theme="dark"] body.boxed #ab-site-container {
    box-shadow: 0 0 48px rgba(0, 0, 0, 0.35);
}

@media (max-width: 767.98px) {
    body.ab-site-boxed #ab-site-container,
    body.boxed #ab-site-container {
        max-width: 100%;
        box-shadow: none;
    }

    body.ab-site-boxed #ab-site-container .container,
    body.boxed #ab-site-container .container {
        --ab-boxed-gutter: 1rem;
    }
}

.ab-scroll-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1040;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: var(--ab-primary);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.ab-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ab-scroll-top:hover {
    background: var(--ab-brand-dark, var(--ab-primary));
    color: #fff;
}

.ab-header__top {
    background: var(--ab-header-top-bg, rgba(var(--ab-primary-rgb), 0.06));
    border-bottom: 1px solid var(--ab-header-border, var(--ab-border));
    color: var(--ab-header-top-text, var(--ab-header-text, var(--ab-muted)));
}

.ab-header__top a {
    color: inherit;
    text-decoration: none;
}

.ab-header__top a:hover {
    color: var(--ab-header-hover, var(--ab-primary));
}

.ab-header__top-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

.ab-header__top-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.ab-header__top-contact-item i {
    opacity: 0.85;
}

.ab-header--style-1 { box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06); }

.ab-header--style-2 {
    position: sticky;
    top: 0;
}

.ab-header--style-3 .ab-brand {
    font-size: 1.55rem;
}

.ab-header--style-3 .ab-header__top {
    background: var(--ab-header-top-bg, var(--ab-primary));
    color: var(--ab-header-top-text, var(--ab-header-text, #fff));
    border-bottom: 0;
}

.ab-header--style-3 .ab-header__top .btn,
.ab-header--style-3 .ab-header__top .ab-nav-link {
    color: var(--ab-header-top-text, var(--ab-header-text, #fff));
}

.ab-header--style-4 {
    border-bottom: 3px solid var(--ab-header-hover, var(--ab-primary));
}

.ab-nav-link {
    color: var(--ab-header-text, var(--ab-ink));
    font-weight: 600;
    text-decoration: none;
    padding: 0.4rem 0.75rem;
    border-radius: var(--ab-radius);
    font-size: 0.95rem;
}

.ab-nav-link:hover,
.ab-nav-link.active {
    color: var(--ab-header-hover, var(--ab-primary));
}

/* Header live search */
.ab-header-search {
    position: relative;
    min-width: 0;
    max-width: 42rem;
}

.ab-header-search--mobile {
    max-width: none;
}

.ab-header-search__form {
    position: relative;
}

.ab-header-search__icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ab-muted);
    pointer-events: none;
    z-index: 1;
}

.ab-header-search__input {
    padding-left: 2.35rem;
    padding-right: 2.35rem;
    border-radius: 999px;
    background: var(--ab-search-bg);
    border-color: var(--ab-border);
}

.ab-header-search__input:focus {
    border-color: var(--ab-primary);
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12);
}

.ab-header-search__spinner {
    position: absolute;
    right: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ab-muted);
    font-size: 0.85rem;
    z-index: 1;
}

.ab-live-search-spinner--hero,
.ab-live-search-spinner--sidebar {
    right: 0.75rem;
}

.ab-live-search-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.4rem);
    z-index: 1040;
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    box-shadow: var(--ab-shadow);
    max-height: min(70vh, 28rem);
    overflow: auto;
    padding: 0.4rem;
}

.ab-live-search-dropdown__section + .ab-live-search-dropdown__section {
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--ab-border);
}

.ab-live-search-dropdown__heading {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ab-muted);
    padding: 0.35rem 0.55rem 0.2rem;
}

.ab-live-search-dropdown__item {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.45rem 0.55rem;
    border-radius: 0.65rem;
    text-decoration: none;
    color: inherit;
}

.ab-live-search-dropdown__item:hover,
.ab-live-search-dropdown__item:focus {
    background: rgba(37, 99, 235, 0.08);
    color: inherit;
}

.ab-live-search-dropdown__thumb {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.55rem;
    object-fit: cover;
    flex-shrink: 0;
    background: #e6eaeb;
}

.ab-live-search-dropdown__thumb--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
}

.ab-live-search-dropdown__meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.ab-live-search-dropdown__title {
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ab-live-search-dropdown__sub {
    font-size: 0.78rem;
    color: var(--ab-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ab-live-search-dropdown__badge {
    display: inline-block;
    margin-left: 0.25rem;
    padding: 0.05rem 0.35rem;
    border-radius: 999px;
    background: var(--ab-accent);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    vertical-align: middle;
}

.ab-live-search-dropdown__empty {
    padding: 0.85rem 0.65rem;
    color: var(--ab-muted);
    font-size: 0.9rem;
    text-align: center;
}

.ab-live-search-dropdown__see-all {
    display: block;
    margin-top: 0.25rem;
    padding: 0.65rem 0.7rem;
    border-top: 1px solid var(--ab-border);
    text-align: center;
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--ab-primary);
    text-decoration: none;
}

.ab-live-search-dropdown__see-all:hover {
    background: rgba(37, 99, 235, 0.06);
    color: var(--ab-primary);
}

.ab-toolbar .btn,
.ab-toolbar .dropdown-toggle {
    color: var(--ab-header-text, var(--ab-ink));
    border-color: var(--ab-header-border, var(--ab-border));
    background: transparent;
}

.ab-toolbar .btn:hover,
.ab-toolbar .dropdown-toggle:hover {
    border-color: var(--ab-header-hover, var(--ab-primary));
    color: var(--ab-header-hover, var(--ab-primary));
    background: color-mix(in srgb, var(--ab-header-hover, var(--ab-primary)) 10%, transparent);
}

.ab-toolbar .dropdown-menu {
    background: var(--ab-card);
    border-color: var(--ab-border);
    --bs-dropdown-link-color: var(--ab-ink);
    --bs-dropdown-link-hover-bg: rgba(var(--ab-primary-rgb), 0.08);
    --bs-dropdown-link-hover-color: var(--ab-primary);
    --bs-dropdown-link-active-bg: var(--ab-primary);
}

.btn-ab-primary {
    --bs-btn-bg: var(--ab-primary);
    --bs-btn-border-color: var(--ab-primary);
    --bs-btn-hover-bg: var(--ab-brand-dark);
    --bs-btn-hover-border-color: var(--ab-brand-dark);
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    font-weight: 700;
    border-radius: var(--ab-radius);
}

.btn-ab-accent {
    --bs-btn-bg: var(--ab-accent);
    --bs-btn-border-color: var(--ab-accent);
    --bs-btn-hover-bg: #149834;
    --bs-btn-hover-border-color: #149834;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    font-weight: 700;
    border-radius: var(--ab-radius);
}

/* Hero */
.ab-hero {
    position: relative;
    background: none;
    color: var(--ab-ink);
    padding: 3.25rem 0 5.5rem;
    overflow: hidden;
}

.ab-hero::after {
    display: none;
}

.ab-hero--map {
    --ab-hero-map-height: 460px;
    padding: 0;
    background: #d7dee8;
    color: var(--ab-ink);
    min-height: var(--ab-hero-map-height);
}

.ab-hero--map::after {
    display: none;
}

.ab-hero__map {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ab-hero__map-canvas {
    width: 100%;
    height: 100%;
    min-height: var(--ab-hero-map-height);
}

.ab-hero__overlay {
    position: relative;
    z-index: 2;
    min-height: var(--ab-hero-map-height);
    display: flex;
    align-items: flex-end;
    padding: 1.25rem 0 1.75rem;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 55%, rgba(8, 18, 36, 0.28) 100%);
}

.ab-hero--map .ab-hero__overlay .container,
.ab-hero--map .ab-search-card {
    pointer-events: auto;
}

.ab-hero--map .ab-search-card {
    margin-top: 0;
    box-shadow: 0 1rem 2.75rem rgba(0, 0, 0, 0.22);
}

.ab-hero--map .ab-hero__map,
.ab-hero--map .ab-hero__map-canvas,
.ab-hero--map .leaflet-container {
    z-index: 0;
    pointer-events: auto;
}

.ab-hero--map .leaflet-control-container {
    pointer-events: auto;
}

.ab-map-pin {
    background: transparent;
    border: 0;
}

.ab-map-pin__dot {
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--ab-primary, #0046b1);
    border: 3px solid #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.35);
}

.ab-map-tip-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.ab-map-tip-wrap::before {
    display: none !important;
}

.ab-map-tip {
    display: flex;
    gap: 0.7rem;
    width: 250px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.85rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    color: #212828;
}

.ab-map-tip__media {
    width: 78px;
    min-height: 78px;
    flex-shrink: 0;
    background: #eef1f5;
    overflow: hidden;
}

.ab-map-tip__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-map-tip__media--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa3af;
}

.ab-map-tip__body {
    padding: 0.65rem 0.7rem 0.65rem 0;
    min-width: 0;
}

.ab-map-tip__badge {
    display: inline-block;
    background: var(--ab-accent, #18b13e);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 999px;
    padding: 0.12rem 0.45rem;
    margin-bottom: 0.25rem;
}

.ab-map-tip__price {
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--ab-primary, #0046b1);
    line-height: 1.2;
}

.ab-map-tip__title {
    font-size: 0.82rem;
    font-weight: 600;
    margin-top: 0.2rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ab-map-tip__meta {
    margin-top: 0.3rem;
    font-size: 0.72rem;
    color: #6b7280;
}

[data-ab-theme="dark"] .ab-map-tip {
    background: var(--ab-card, #151d2e);
    color: var(--ab-ink);
    border-color: var(--ab-border);
}

[data-ab-theme="dark"] .ab-map-tip__meta {
    color: var(--ab-muted);
}

.ab-hero__eyebrow {
    display: inline-block;
    background: var(--ab-accent);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}

.ab-hero h1 {
    font-weight: 800;
    letter-spacing: -0.03em;
    font-size: clamp(1.85rem, 4.2vw, 2.75rem);
    color: #fff;
    margin-bottom: 0.75rem;
}

.ab-hero__lead {
    color: rgba(255, 255, 255, 0.88);
    max-width: 34rem;
    margin-bottom: 1.5rem;
}

.ab-hero__art {
    min-height: 220px;
    border-radius: 1rem;
    background:
        radial-gradient(circle at 30% 40%, rgba(24, 177, 62, 0.35), transparent 45%),
        radial-gradient(circle at 70% 60%, rgba(255, 255, 255, 0.12), transparent 40%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.08), transparent);
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.85);
    font-size: 4rem;
}

.ab-search-card {
    position: relative;
    z-index: 2;
    background: var(--ab-search-bg);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
    padding: 0.85rem;
    margin-top: 0.5rem;
}

.ab-search-card .form-control,
.ab-search-card .form-select {
    border: 0;
    box-shadow: none !important;
    background: transparent;
    color: var(--ab-ink);
    min-height: 2.75rem;
}

.ab-search-card .form-control:focus,
.ab-search-card .form-select:focus {
    box-shadow: none !important;
    background: transparent;
    color: var(--ab-ink);
}

.ab-search-card .form-control::placeholder,
.ab-search-card .form-control::-webkit-input-placeholder {
    color: var(--ab-placeholder);
    opacity: 1;
}

.ab-search-card .form-select {
    color: var(--ab-ink);
}

.ab-search-card .form-select option {
    color: var(--ab-ink);
    background: var(--ab-input-bg);
}

.ab-search-card .input-group-text {
    color: var(--ab-muted) !important;
    background: transparent;
}

.ab-search-card .ab-search-sep {
    width: 1px;
    background: var(--ab-border);
    align-self: stretch;
    margin: 0.35rem 0;
}

/* Sections */
.ab-section {
    padding: 2.5rem 0;
}

.ab-section-head {
    text-align: center;
    margin-bottom: 2rem;
}

.ab-section-badge {
    display: inline-block;
    color: var(--ab-accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
}

.ab-section-title {
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 0.35rem;
}

.ab-section-sub {
    color: var(--ab-muted);
    max-width: 36rem;
    margin: 0 auto;
}

/* Section rail: title ····· button */
.ab-section-rail {
    display: grid;
    grid-template-columns: auto minmax(2rem, 1fr) auto;
    align-items: center;
    column-gap: 0.85rem;
    margin-bottom: 1.35rem;
    min-width: 0;
}

.ab-section-rail__title {
    margin: 0;
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ab-ink);
    line-height: 1.2;
    white-space: nowrap;
}

.ab-section-rail__line {
    min-width: 0;
    height: 0;
    border-top: 2px dotted rgba(15, 23, 42, 0.22);
    align-self: center;
}

.ab-section-rail__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0.4rem 0.95rem;
    border-radius: 0.45rem;
    background: var(--ab-primary);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    transition: background .15s ease, transform .15s ease;
}

.ab-section-rail__btn:hover {
    background: var(--ab-brand-dark, #003a94);
    color: #fff;
    transform: translateY(-1px);
}

[data-ab-theme="dark"] .ab-section-rail__line {
    border-top-color: rgba(255, 255, 255, 0.22);
}

@media (max-width: 575.98px) {
    .ab-section-rail {
        column-gap: 0.55rem;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "title btn"
            "line line";
        row-gap: 0.55rem;
    }

    .ab-section-rail__title {
        grid-area: title;
        white-space: normal;
        min-width: 0;
    }

    .ab-section-rail__line {
        grid-area: line;
    }

    .ab-section-rail__btn {
        grid-area: btn;
        padding: 0.38rem 0.75rem;
        font-size: 0.68rem;
    }
}

/* Category cards (legacy chips kept for catalog sidebar etc.) */
.ab-category-chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    padding: 1.25rem 1.1rem;
    text-decoration: none;
    color: inherit;
    height: 100%;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ab-category-chip:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--ab-primary-rgb), 0.35);
    box-shadow: var(--ab-shadow);
    color: inherit;
}

.ab-category-chip__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    background: rgba(var(--ab-primary-rgb), 0.08);
    color: var(--ab-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.ab-category-chip__icon i { color: var(--ab-primary); }
.ab-category-chip__icon .fa-leaf,
.ab-category-chip:nth-child(even) .ab-category-chip__icon { color: var(--ab-accent); }

/* Tap.az-style Catalog (Kataloq) — full-bleed mega menu */
.ab-katalog {
    position: static;
    flex-shrink: 0;
}

.ab-katalog__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    border-radius: 14px;
    padding: 0.7rem 1.1rem 0.7rem 0.9rem;
    background: var(--ab-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color .15s ease;
}

.ab-katalog__btn:hover,
.ab-katalog__btn[aria-expanded="true"] {
    background: var(--ab-brand-dark, #003a94);
    color: #fff;
}

.ab-katalog__btn:focus-visible {
    outline: 2px solid rgba(var(--ab-primary-rgb), 0.45);
    outline-offset: 2px;
}

.ab-katalog__btn [data-katalog-icon-close][hidden],
.ab-katalog__btn [data-katalog-icon-grid][hidden] {
    display: none !important;
}

.ab-katalog__panel {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--ab-katalog-top, 4.5rem);
    z-index: 1040;
    background: #fff;
    border-top: 1px solid #e7e9ec;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    height: min(650px, calc(100vh - var(--ab-katalog-top, 4.5rem)));
    padding: 1.55rem 0;
}

[data-ab-theme="dark"] .ab-katalog__panel {
    background: var(--ab-card, #151d2e);
    border-top-color: var(--ab-border);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.ab-katalog__shell {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
    height: 100%;
}

.ab-katalog__columns {
    display: flex;
    align-items: stretch;
    height: 100%;
    overflow: hidden;
}

.ab-katalog__col {
    width: 315px;
    max-width: 100%;
    flex: 0 0 315px;
    height: 100%;
    overflow-y: auto;
    border-right: 1px solid #eef0f3;
    padding-right: 0.25rem;
}

.ab-katalog__col:last-child {
    border-right: 0;
}

[data-ab-theme="dark"] .ab-katalog__col {
    border-right-color: var(--ab-border);
}

.ab-katalog__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 50px;
    padding: 0 0.35rem 0 0.95rem;
    color: #212c3a;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25;
}

[data-ab-theme="dark"] .ab-katalog__item {
    color: var(--ab-ink);
}

.ab-katalog__item:hover,
.ab-katalog__item.is-active {
    background: rgba(var(--ab-primary-rgb), 0.06);
    color: inherit;
}

.ab-katalog__icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--ab-cat-color, var(--ab-primary)) 12%, #f2f4f7);
    color: var(--ab-cat-color, var(--ab-primary));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    font-size: 1.05rem;
}

.ab-katalog__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ab-katalog__name {
    flex: 1 1 auto;
    min-width: 0;
}

.ab-katalog__chevron {
    color: #b0b7c3;
    font-size: 0.7rem;
    margin-right: 0.35rem;
}

.ab-katalog__empty {
    padding: 1.5rem 1rem;
}

.ab-katalog__store {
    display: none;
}

@media (max-width: 991.98px) {
    .ab-katalog__panel {
        height: min(78vh, calc(100vh - var(--ab-katalog-top, 4.5rem)));
        padding: 0.75rem 0 1rem;
    }

    .ab-katalog__shell {
        width: calc(100% - 1rem);
    }

    .ab-katalog__columns {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .ab-katalog__col {
        flex: 0 0 min(315px, 85vw);
        width: min(315px, 85vw);
        scroll-snap-align: start;
    }
}

/* Homepage Catalog grid — arabul.az style strip */
.ab-katalog-grid-section {
    --ab-cat-tile: #e85a1b;
    --ab-cat-band: #1f5f5f;
    --ab-cat-band-deep: #184b4b;
    margin: 0;
}

.ab-katalog-grid-band {
    position: relative;
    padding: 1.15rem 0 1.35rem;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.05), transparent 28%),
        radial-gradient(circle at 88% 70%, rgba(0, 0, 0, 0.14), transparent 32%),
        linear-gradient(180deg, var(--ab-cat-band) 0%, var(--ab-cat-band-deep) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.ab-katalog-grid-band::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.07;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.55) 1px, transparent 0);
    background-size: 22px 22px;
}

.ab-katalog-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem 0.35rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.35rem;
    background: rgba(0, 0, 0, 0.14);
}

@media (min-width: 576px) {
    .ab-katalog-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.9rem 0.4rem;
    }
}

@media (min-width: 768px) {
    .ab-katalog-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .ab-katalog-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        gap: 0.95rem 0.45rem;
        padding: 0.75rem 0.85rem;
    }
}

@media (min-width: 1200px) {
    .ab-katalog-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 0.85rem 0.35rem;
    }
}

.ab-katalog-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.42rem;
    text-align: center;
    text-decoration: none;
    color: #fff;
    padding: 0.15rem 0.1rem 0.2rem;
    border-radius: 0.25rem;
    transition: transform .15s ease, color .15s ease, opacity .15s ease;
}

.ab-katalog-tile:hover {
    color: #fff;
    transform: translateY(-2px);
    opacity: 0.95;
}

.ab-katalog-tile__media {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 2px;
    background: var(--ab-cat-tile);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    overflow: hidden;
    box-shadow: none;
}

@media (min-width: 992px) {
    .ab-katalog-tile__media {
        width: 2.9rem;
        height: 2.9rem;
        font-size: 1.08rem;
    }
}

.ab-katalog-tile__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-katalog-tile__media.has-image {
    background: #fff;
    color: inherit;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.ab-katalog-tile__label {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    max-width: 6.6rem;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (min-width: 1200px) {
    .ab-katalog-tile__label {
        font-size: 0.74rem;
        max-width: 5.8rem;
    }
}

[data-ab-theme="dark"] .ab-katalog-grid-band {
    --ab-cat-band: #163f3f;
    --ab-cat-band-deep: #102e2e;
}

[data-ab-theme="dark"] .ab-katalog__panel {
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.35);
}

/* Listing cards */
.ab-listing-card {
    display: flex;
    flex-direction: column;
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    overflow: hidden;
    height: 100%;
    text-decoration: none;
    color: inherit;
    transition: transform .15s ease, box-shadow .15s ease;
}

.ab-listing-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--ab-shadow);
    color: inherit;
}

.ab-listing-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #e6eaeb;
    overflow: hidden;
}

.ab-listing-card__media-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.ab-favorite-btn {
    appearance: none;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.ab-favorite-btn--card {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    z-index: 2;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #e11d48;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.ab-favorite-btn--card:hover {
    transform: scale(1.06);
    background: #fff;
}

.ab-favorite-btn--card.is-active,
.ab-favorite-btn--card[data-favorited="1"] {
    color: #e11d48;
}

.ab-favorite-btn--row {
    border: 1px solid var(--ab-border);
    background: var(--ab-card);
    color: var(--ab-text);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
}

.ab-favorite-btn--row.is-active,
.ab-favorite-btn--row[data-favorited="1"] {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #e11d48;
}

[data-ab-theme="dark"] .ab-listing-card__media { background: #1c2436; }

.ab-listing-card__media img,
.ab-listing-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-listing-card__media.has-hover-image .ab-listing-card__img--primary {
    transition: opacity .25s ease, transform .35s ease;
}

.ab-listing-card__media.has-hover-image .ab-listing-card__img--hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .25s ease, transform .35s ease;
}

.ab-listing-card:hover .ab-listing-card__media.has-hover-image .ab-listing-card__img--primary {
    opacity: 0;
    transform: scale(1.04);
}

.ab-listing-card:hover .ab-listing-card__media.has-hover-image .ab-listing-card__img--hover {
    opacity: 1;
    transform: scale(1.04);
}

.ab-listing-card__count {
    position: absolute;
    right: 0.55rem;
    bottom: 0.55rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    pointer-events: none;
}

.ab-listing-card__body {
    padding: 0.9rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

.ab-listing-card__body:hover {
    color: inherit;
}

.ab-listing-card__main {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.ab-listing-card__city,
.ab-detail-meta__link {
    color: inherit;
    text-decoration: none;
}

.ab-listing-card__city:hover,
.ab-detail-meta__link:hover {
    color: var(--ab-primary);
    text-decoration: underline;
}

.ab-listing-card__price {
    color: var(--ab-primary);
    font-weight: 800;
    font-size: 1.05rem;
}

.ab-listing-card__title {
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5em;
}

.ab-listing-card__meta {
    color: var(--ab-muted);
    font-size: 0.8rem;
    margin-top: auto;
}

.ab-badge-premium {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    background: var(--ab-accent);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    pointer-events: none;
}

/* Promo purchase modal */
.ab-promo-modal {
    border-radius: 1rem;
    overflow: hidden;
    background: var(--ab-card);
    color: var(--ab-text);
}

.ab-promo-modal__options {
    display: grid;
    gap: 0.65rem;
}

.ab-promo-modal__option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--ab-border);
    border-radius: 0.85rem;
    padding: 0.85rem 1rem;
    cursor: pointer;
    margin: 0;
}

.ab-promo-modal__option:has(input:checked) {
    border-color: rgba(var(--ab-primary-rgb), 0.55);
    box-shadow: 0 0 0 0.15rem rgba(var(--ab-primary-rgb), 0.12);
}

.ab-promo-modal__option-body {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.ab-owner-promo {
    width: 100%;
    border: 1px solid var(--ab-border);
    background: var(--ab-card);
    border-radius: 0.85rem;
    padding: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    text-align: left;
}

.ab-owner-promo__price {
    white-space: nowrap;
    background: var(--ab-primary);
    color: #fff;
    border-radius: 0.55rem;
    padding: 0.45rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 700;
}

/* Confirm delete modal (frontend) */
.ab-confirm-delete {
    border-radius: 1rem;
    overflow: hidden;
    background: var(--ab-card);
    color: var(--ab-text);
}

.ab-confirm-delete__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
    flex-shrink: 0;
}

[data-ab-theme="dark"] .ab-confirm-delete__icon {
    background: rgba(220, 38, 38, 0.2);
}

.ab-detail-card,
.ab-side-card {
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    box-shadow: var(--ab-shadow);
}

/* Listing detail  classified.html inspired) */
.ab-detail-banner {
    background: linear-gradient(135deg, #003a94 0%, var(--ab-hero) 55%, #0056c7 100%);
    color: #fff;
    padding: 1.25rem 0;
    margin-bottom: 1.5rem;
}

.ab-detail-banner--bar {
    padding: 0.85rem 0;
}

.ab-detail-banner__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    flex-wrap: wrap;
}

.ab-detail-banner__nav {
    min-width: 0;
    flex: 1 1 auto;
}

.ab-detail-banner__title {
    margin: 0;
    display: inline;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    color: inherit;
}

.ab-detail-banner__count {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.ab-breadcrumb .breadcrumb {
    --bs-breadcrumb-divider-color: rgba(255, 255, 255, 0.55);
    background: transparent;
    padding: 0;
    flex-wrap: wrap;
    align-items: center;
}

.ab-breadcrumb .breadcrumb-item,
.ab-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.9rem;
}

.ab-breadcrumb .breadcrumb-item.active {
    color: #fff;
    font-weight: 600;
}

.ab-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 575.98px) {
    .ab-detail-banner__row {
        align-items: flex-start;
    }

    .ab-detail-banner__count {
        margin-left: 0;
    }
}

.ab-detail-gallery__main {
    position: relative;
    background: #e6eaeb;
    min-height: 280px;
    overflow: hidden;
}

[data-ab-theme="dark"] .ab-detail-gallery__main { background: #1c2436; }

.ab-detail-gallery__stage {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.ab-detail-gallery__main img,
.ab-detail-gallery__stage img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.ab-detail-gallery__stage:hover img {
    transform: scale(1.04);
}

.ab-detail-gallery__empty {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
}

.ab-detail-gallery__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ab-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    z-index: 2;
}

.ab-detail-gallery__nav--prev { left: 0.75rem; }
.ab-detail-gallery__nav--next { right: 0.75rem; }

.ab-detail-gallery__counter {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    z-index: 2;
}

.ab-detail-gallery__thumbs {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem;
    overflow-x: auto;
    border-top: 1px solid var(--ab-border);
    background: var(--ab-card);
}

.ab-detail-gallery__thumb {
    border: 2px solid transparent;
    border-radius: 0.4rem;
    padding: 0;
    background: transparent;
    width: 72px;
    height: 56px;
    overflow: hidden;
    flex: 0 0 auto;
    cursor: pointer;
}

.ab-detail-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-detail-gallery__thumb.is-active,
.ab-detail-gallery__thumb:hover {
    border-color: var(--ab-primary);
}

.ab-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(8, 12, 20, 0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.ab-lightbox[hidden] { display: none !important; }

body.ab-lightbox-open { overflow: hidden; }

.ab-lightbox__img {
    max-width: min(1100px, 92vw);
    max-height: 86vh;
    object-fit: contain;
    border-radius: 0.5rem;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

.ab-lightbox__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
}

.ab-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.ab-lightbox__nav--prev { left: 1rem; }
.ab-lightbox__nav--next { right: 1rem; }

.ab-detail-meta {
    color: var(--ab-muted);
    font-size: 0.9rem;
}

.ab-detail-meta li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.ab-detail-meta i { color: var(--ab-primary); }

.ab-detail-tabs {
    border-bottom: 1px solid var(--ab-border);
    gap: 0.25rem;
}

.ab-detail-tabs .nav-link {
    color: var(--ab-muted);
    font-weight: 700;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: 0.65rem 0.85rem;
}

.ab-detail-tabs .nav-link:hover { color: var(--ab-primary); }

.ab-detail-tabs .nav-link.active {
    color: var(--ab-primary);
    background: transparent;
    border-bottom-color: var(--ab-primary);
}

.ab-detail-tab-content .listing-description,
.ab-detail-body .listing-description {
    color: var(--ab-ink);
    line-height: 1.7;
}

.ab-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ab-detail-actions__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.15rem;
    padding: 0.35rem 0.8rem;
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius);
    background: var(--ab-card);
    color: var(--ab-ink);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.ab-detail-actions__btn:hover {
    border-color: rgba(var(--ab-primary-rgb), 0.45);
    color: var(--ab-primary);
    background: rgba(var(--ab-primary-rgb), 0.06);
}

.ab-detail-actions[data-favorited="1"] [data-ab-favorite] {
    border-color: rgba(220, 53, 69, 0.35);
    color: #dc3545;
}

.ab-specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 1.25rem;
}

.ab-specs__row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: var(--ab-radius);
    background: rgba(var(--ab-primary-rgb), 0.04);
    border: 1px solid var(--ab-border);
}

.ab-specs__label {
    color: var(--ab-muted);
    font-size: 0.86rem;
}

.ab-specs__value {
    font-weight: 700;
    font-size: 0.9rem;
    text-align: right;
}

.ab-seller-link {
    color: inherit;
    text-decoration: none;
}

.ab-seller-link:hover {
    color: var(--ab-primary);
}

.ab-detail-sidebar {
    position: sticky;
    top: 1rem;
    align-self: start;
    z-index: 1;
}

.ab-detail-sidebar .ab-side-card,
.ab-detail-sidebar .ab-help-card {
    position: relative;
    z-index: 0;
}

/* Report/share modals must sit above boxed shell + sticky sidebar */
body > .modal,
body > .modal-backdrop {
    z-index: 2000;
}

body > .modal-backdrop {
    z-index: 1990;
}

.ab-seller-ads {
    display: grid;
    gap: 0.65rem;
}

.ab-seller-ads__item {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 0.65rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
    padding: 0.35rem;
    border-radius: var(--ab-radius);
    border: 1px solid transparent;
}

.ab-seller-ads__item:hover {
    border-color: var(--ab-border);
    background: rgba(var(--ab-primary-rgb), 0.04);
    color: var(--ab-primary);
}

.ab-seller-ads__thumb {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.45rem;
    overflow: hidden;
    background: #e8ecf1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
}

.ab-seller-ads__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ab-seller-ads__title {
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ab-seller-ads__price {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--ab-primary);
}

.ab-detail-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--ab-radius);
    overflow: hidden;
    background: #0b1220;
}

.ab-detail-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.ab-feature-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.ab-feature-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(var(--ab-accent-rgb), 0.12);
    color: var(--ab-ink);
    font-size: 0.82rem;
    font-weight: 600;
}

.ab-feature-chip i {
    color: var(--ab-accent);
    font-size: 0.75rem;
}

@media (max-width: 767.98px) {
    .ab-specs {
        grid-template-columns: 1fr;
    }

    .ab-detail-sidebar {
        position: static;
    }
}

@media print {
    .ab-header,
    .ab-footer,
    .ab-detail-actions,
    .ab-side-card,
    .ab-help-card,
    .ab-scroll-top,
    .ab-section-rail__btn {
        display: none !important;
    }

    .ab-detail-gallery__nav,
    .ab-detail-gallery__thumbs {
        display: none !important;
    }
}

.ab-detail-info li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.45rem 0;
    color: var(--ab-ink);
}

.ab-detail-info i {
    color: var(--ab-accent);
    width: 1.1rem;
    margin-top: 0.2rem;
}

.ab-detail-info a {
    color: var(--ab-ink);
    text-decoration: none;
}

.ab-detail-info a:hover { color: var(--ab-primary); }

.ab-posted-by {
    display: flex;
    gap: 0.85rem;
    align-items: center;
}

.ab-posted-by__avatar {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: rgba(var(--ab-primary-rgb), 0.12);
    color: var(--ab-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.ab-help-card {
    background: linear-gradient(135deg, var(--ab-primary), #0056c7);
    color: #fff;
    border-radius: var(--ab-radius-lg);
    box-shadow: var(--ab-shadow);
}

.ab-gallery img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    border-radius: var(--ab-radius);
}

.ab-price {
    color: var(--ab-primary);
    font-weight: 800;
    font-size: 1.75rem;
}

.ab-footer {
    border-top: 1px solid var(--ab-footer-border, var(--ab-border));
    background: var(--ab-footer-bg, var(--ab-header));
    color: var(--ab-footer-text, var(--ab-muted));
    margin-top: auto;
}

.ab-footer a { color: var(--ab-footer-text, var(--ab-muted)); }
.ab-footer a:hover { color: var(--ab-footer-hover, var(--ab-primary)); }

.ab-footer--style-1 {
    background: var(--ab-footer-bg, #0f172a);
    color: var(--ab-footer-text, rgba(255, 255, 255, 0.78));
    border-top: 0;
}

.ab-footer--style-1 .text-muted,
.ab-footer--style-1 a { color: var(--ab-footer-text, rgba(255, 255, 255, 0.7)) !important; }
.ab-footer--style-1 a:hover { color: var(--ab-footer-hover, #fff) !important; }
.ab-footer--style-1 .fw-bold,
.ab-footer--style-1 .border-top {
    color: var(--ab-footer-hover, #fff);
    border-color: var(--ab-footer-border, rgba(255, 255, 255, 0.12)) !important;
}

.ab-footer--style-2 {
    background: var(--ab-footer-bg, #fff);
    color: var(--ab-footer-text, var(--ab-ink));
    border-top: 1px solid var(--ab-footer-border, var(--ab-border));
}

.ab-footer--style-2 a { color: var(--ab-footer-text, var(--ab-ink)); }
.ab-footer--style-2 a:hover { color: var(--ab-footer-hover, var(--ab-primary)); }

.ab-footer--style-3 {
    background: var(--ab-footer-bg, #111827);
    color: var(--ab-footer-text, rgba(255, 255, 255, 0.75));
    border-top: 0;
}

.ab-footer--style-3 a { color: var(--ab-footer-text, rgba(255, 255, 255, 0.7)) !important; }
.ab-footer--style-3 a:hover { color: var(--ab-footer-hover, #fff) !important; }

.ab-footer--style-4 {
    background: var(--ab-footer-bg, #0b2d6b);
    color: var(--ab-footer-text, rgba(255, 255, 255, 0.9));
    border-top: 0;
}

.ab-footer--style-4 .text-muted,
.ab-footer--style-4 a { color: var(--ab-footer-text, rgba(255, 255, 255, 0.8)) !important; }
.ab-footer--style-4 a:hover { color: var(--ab-footer-hover, #fff) !important; }
.ab-footer--style-4 .form-control { background: rgba(255, 255, 255, 0.95); }

.ab-auth-wrap {
    min-height: calc(100vh - 160px);
    display: flex;
    align-items: center;
}

/* Global form readability — both themes */
.ab-body .form-control,
.ab-body .form-select,
.ab-body .form-control-plaintext {
    background-color: var(--ab-input-bg);
    border-color: var(--ab-border);
    color: var(--ab-ink);
}

.ab-body .form-control:focus,
.ab-body .form-select:focus {
    background-color: var(--ab-input-bg);
    border-color: rgba(var(--ab-primary-rgb), 0.55);
    color: var(--ab-ink);
    box-shadow: 0 0 0 0.2rem rgba(var(--ab-primary-rgb), 0.15);
}

.ab-body .form-control::placeholder,
.ab-body .form-control::-webkit-input-placeholder,
.ab-body textarea.form-control::placeholder {
    color: var(--ab-placeholder);
    opacity: 1;
}

.ab-body .form-select option {
    background: var(--ab-input-bg);
    color: var(--ab-ink);
}

[data-ab-theme="dark"] .ab-body .form-select,
[data-ab-theme="dark"].ab-body .form-select,
html[data-ab-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a8b3c7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.ab-body .form-label,
.ab-body .form-check-label,
.ab-body .form-text {
    color: var(--ab-ink);
}

.ab-body .form-text,
.ab-body .form-text.text-muted {
    color: var(--ab-muted) !important;
}

.ab-body .input-group-text {
    background-color: var(--ab-input-bg);
    border-color: var(--ab-border);
    color: var(--ab-muted);
}

.ab-body .text-muted,
.ab-body .small.text-muted,
.ab-body .form-text.text-muted {
    color: var(--ab-muted) !important;
}

.ab-body .dropdown-header,
.ab-body .dropdown-item-text {
    color: var(--ab-muted);
}

.ab-body .alert-light {
    background: var(--ab-card);
    border-color: var(--ab-border);
    color: var(--ab-ink);
}

.ab-body .btn-outline-primary {
    --bs-btn-color: var(--ab-primary);
    --bs-btn-border-color: var(--ab-primary);
    --bs-btn-hover-bg: var(--ab-primary);
    --bs-btn-hover-border-color: var(--ab-primary);
    --bs-btn-hover-color: #fff;
}

.ab-body .btn-outline-secondary {
    --bs-btn-color: var(--ab-ink);
    --bs-btn-border-color: var(--ab-border);
    --bs-btn-hover-bg: rgba(var(--ab-primary-rgb), 0.08);
    --bs-btn-hover-border-color: var(--ab-primary);
    --bs-btn-hover-color: var(--ab-primary);
}

/* Autofill must not wash out text in either theme */
.ab-body .form-control:-webkit-autofill,
.ab-body .form-control:-webkit-autofill:hover,
.ab-body .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--ab-ink);
    caret-color: var(--ab-ink);
    transition: background-color 9999s ease-in-out 0s;
    box-shadow: 0 0 0 1000px var(--ab-input-bg) inset;
}

/* Keep search bar fields borderless but still theme-aware */
.ab-search-card .form-control,
.ab-search-card .form-select {
    background: transparent !important;
}

/* Catalog — classifieds-list inspired */
.ab-catalog-results,
[data-listing-view-panel] {
    position: relative;
    min-height: 12rem;
    transition: opacity .18s ease;
}

.ab-catalog-results.is-loading,
[data-listing-view-panel].is-loading {
    opacity: 0.55;
    pointer-events: none;
}

.ab-catalog-results.is-loading::after,
[data-listing-view-panel].is-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(var(--ab-primary-rgb), 0.06), transparent);
    animation: ab-catalog-shimmer 1.1s linear infinite;
}

@keyframes ab-catalog-shimmer {
    from { transform: translateX(-40%); }
    to { transform: translateX(40%); }
}

.ab-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.ab-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid var(--ab-border);
    background: var(--ab-card);
    color: var(--ab-ink);
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.ab-filter-chip:hover {
    border-color: rgba(var(--ab-primary-rgb), 0.35);
    color: var(--ab-primary);
}

.ab-filter-chip--clear {
    border-style: dashed;
    color: var(--ab-muted);
}

.ab-filter-chip i {
    font-size: 0.7rem;
    opacity: 0.75;
}

.ab-catalog-results.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity .15s ease;
}

.ab-catalog-toolbar {
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    padding: 0.75rem 1rem;
    box-shadow: var(--ab-shadow);
}

.ab-filter-cats {
    position: relative; /* contain .visually-hidden radios — otherwise they expand page height */
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 18rem;
    overflow: auto;
}

.ab-filter-cat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.5rem;
    border: 1px solid transparent;
    cursor: pointer;
    color: var(--ab-ink);
    font-size: 0.9rem;
    transition: background .15s ease, border-color .15s ease;
}

.ab-filter-cat:hover {
    background: rgba(var(--ab-primary-rgb), 0.06);
}

.ab-filter-cat.is-active {
    background: rgba(var(--ab-primary-rgb), 0.1);
    border-color: rgba(var(--ab-primary-rgb), 0.28);
    color: var(--ab-primary);
    font-weight: 600;
}

.ab-filter-cat__count {
    min-width: 1.6rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ab-muted);
    background: rgba(var(--ab-primary-rgb), 0.08);
    border-radius: 999px;
    padding: 0.1rem 0.4rem;
}

.ab-filter-cat.is-active .ab-filter-cat__count {
    color: var(--ab-primary);
}

.ab-filter-posted {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ab-filter-posted__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--ab-ink);
}

.ab-filter-posted__item input {
    accent-color: var(--ab-primary);
}

.ab-listing-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1rem;
    background: var(--ab-card);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg);
    overflow: hidden;
    box-shadow: var(--ab-shadow);
    transition: transform .15s ease, box-shadow .15s ease;
}

.ab-listing-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.ab-listing-row__media {
    position: relative;
    display: block;
    min-height: 140px;
    background: #e6eaeb;
}

[data-ab-theme="dark"] .ab-listing-row__media { background: #1c2436; }

.ab-listing-row__media img,
.ab-listing-row__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-listing-row__media.has-hover-image .ab-listing-row__img--hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .25s ease;
}

.ab-listing-row:hover .ab-listing-row__media.has-hover-image .ab-listing-row__img--primary {
    opacity: 0;
}

.ab-listing-row:hover .ab-listing-row__media.has-hover-image .ab-listing-row__img--hover {
    opacity: 1;
}

.ab-listing-row__placeholder {
    width: 100%;
    height: 100%;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
    font-size: 1.5rem;
}

.ab-listing-row__body {
    padding: 1rem 1rem 1rem 0;
}

.ab-listing-row__title {
    color: var(--ab-ink);
}

.ab-listing-row__title:hover {
    color: var(--ab-primary);
}

.ab-listing-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

@media (max-width: 767.98px) {
    .ab-listings-row {
        --bs-gutter-x: 0.65rem;
        --bs-gutter-y: 0.65rem;
    }

    .ab-listing-card__title { font-size: 0.85rem; }
    .ab-listing-card__price { font-size: 0.95rem; }
    .ab-hero { padding: 2rem 0 4.25rem; }
    .ab-hero--map { padding: 0; }
    .ab-hero--map .ab-hero__overlay { padding: 1.75rem 0 2.25rem; align-items: flex-end; }
    .ab-search-card .ab-search-sep { display: none; }
    .ab-map-tip { width: 220px; }

    .ab-listing-row {
        grid-template-columns: 1fr;
    }

    .ab-listing-row__media {
        aspect-ratio: 16 / 10;
    }

    .ab-listing-row__body {
        padding: 0 1rem 1rem;
    }
}

/* Seller / user profile (inspired by arabulhtml/userprofile.html) */
.ab-seller-profile__card {
    padding: 0;
}

.ab-seller-profile__avatar {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    background: rgba(var(--ab-primary-rgb), 0.12);
    color: var(--ab-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.85rem;
    flex-shrink: 0;
    overflow: hidden;
    border: 3px solid rgba(var(--ab-primary-rgb), 0.18);
}

.ab-seller-profile__avatar.has-image {
    background: var(--ab-surface, #fff);
}

.ab-seller-profile__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-seller-profile__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    background: rgba(var(--ab-accent-rgb), 0.14);
    color: var(--ab-ink);
    font-size: 0.75rem;
    font-weight: 700;
}

.ab-seller-profile__stats {
    display: flex;
    border-top: 1px solid var(--ab-border);
}

.ab-seller-profile__stat {
    flex: 1 1 0;
    text-align: center;
    padding: 0.85rem 0.5rem;
}

.ab-seller-profile__stat + .ab-seller-profile__stat {
    border-left: 1px solid var(--ab-border);
}

.ab-seller-profile__stat-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--ab-ink);
    line-height: 1.2;
}

.ab-seller-profile__stat-label {
    font-size: 0.75rem;
    color: var(--ab-muted);
    margin-top: 0.15rem;
}

.ab-seller-profile__info li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--ab-border);
    font-size: 0.9rem;
}

.ab-seller-profile__info li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.ab-seller-profile__info li:first-child {
    padding-top: 0;
}

.ab-seller-profile__info span {
    color: var(--ab-muted);
}

.ab-seller-profile__info strong {
    font-weight: 600;
    color: var(--ab-ink);
    text-align: right;
}

.ab-seller-profile__contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.ab-seller-profile__contact-item:hover {
    color: var(--ab-primary);
}

.ab-seller-profile__contact-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.85rem;
}

.ab-seller-profile__contact-icon--phone {
    background: rgba(var(--ab-accent-rgb), 0.16);
    color: var(--ab-accent);
}

.ab-seller-profile__contact-icon--mail {
    background: rgba(var(--ab-primary-rgb), 0.12);
    color: var(--ab-primary);
}

.ab-seller-profile__progress {
    height: 0.35rem;
    border-radius: 999px;
    background: rgba(var(--ab-primary-rgb), 0.1);
    overflow: hidden;
}

.ab-seller-profile__progress .progress-bar {
    background: var(--ab-primary);
}

.ab-seller-profile__listing {
    position: relative;
}

.ab-seller-profile__listing-status {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    z-index: 2;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    color: #fff;
    background: #64748b;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.ab-seller-profile__listing-status.is-active { background: #198754; }
.ab-seller-profile__listing-status.is-pending { background: #d97706; }
.ab-seller-profile__listing-status.is-draft { background: #6c757d; }
.ab-seller-profile__listing-status.is-rejected { background: #dc3545; }
.ab-seller-profile__listing-status.is-expired { background: #212529; }
.ab-seller-profile__listing-status.is-sold { background: #0dcaf0; color: #042f3a; }
.ab-seller-profile__listing-status.is-archived { background: #adb5bd; color: #212529; }

.ab-seller-profile__main {
    padding: 0;
}

.ab-seller-profile__tabs {
    border-bottom: 1px dashed var(--ab-border);
    padding: 0.65rem;
    background: rgba(var(--ab-primary-rgb), 0.03);
}

.ab-seller-profile__nav {
    gap: 0.4rem;
}

.ab-seller-profile__nav .nav-link {
    border-radius: 0.55rem;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--ab-muted);
    padding: 0.55rem 0.9rem;
}

.ab-seller-profile__nav .nav-link:hover {
    color: var(--ab-primary);
    background: rgba(var(--ab-primary-rgb), 0.06);
}

.ab-seller-profile__nav .nav-link.active {
    color: #fff;
    background: var(--ab-primary);
}

.ab-seller-profile__tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    margin-left: 0.35rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.22);
}

.ab-seller-profile__nav .nav-link:not(.active) .ab-seller-profile__tab-count {
    background: rgba(var(--ab-primary-rgb), 0.1);
    color: var(--ab-primary);
}

[data-ab-theme="dark"] .ab-seller-profile__tabs {
    background: rgba(255, 255, 255, 0.03);
}

[data-ab-theme="dark"] .ab-seller-profile__stat + .ab-seller-profile__stat {
    border-left-color: var(--ab-border);
}

@media (max-width: 575.98px) {
    .ab-seller-profile__avatar {
        width: 4.5rem;
        height: 4.5rem;
        font-size: 1.5rem;
    }

    .ab-seller-profile__stat-value {
        font-size: 1.05rem;
    }
}

/* Private cabinet — tap.az inspired */
.ab-cabinet__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1.25rem;
}

.ab-cabinet__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
}

.ab-cabinet__title {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 1.9rem);
    font-weight: 800;
    color: var(--ab-ink);
}

.ab-cabinet__verify {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border-radius: 0.4rem;
    background: #fff3cd;
    color: #856404;
    font-size: 0.82rem;
    font-weight: 600;
}

.ab-cabinet__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    font-size: 0.9rem;
}

.ab-cabinet__public-link {
    color: var(--ab-primary);
    font-weight: 600;
    text-decoration: none;
}

.ab-cabinet__public-link:hover {
    text-decoration: underline;
}

.ab-cabinet__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 1rem;
    background: var(--ab-surface, #fff);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg, 0.85rem);
    padding: 0 0.35rem;
}

.ab-cabinet__nav-item {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 5.5rem;
    padding: 0.85rem 1rem 0.95rem;
    color: var(--ab-muted);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.ab-cabinet__nav-item:hover {
    color: var(--ab-primary);
    background: rgba(var(--ab-primary-rgb), 0.04);
}

.ab-cabinet__nav-item.is-active {
    color: var(--ab-primary);
    border-bottom-color: var(--ab-primary);
    font-weight: 700;
}

.ab-cabinet__nav-icon {
    font-size: 1.35rem;
    line-height: 1;
}

.ab-cabinet__nav-label {
    font-size: 0.86rem;
    font-weight: 600;
}

.ab-cabinet__nav-count {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    min-width: 1.25rem;
    padding: 0.05rem 0.35rem;
    border-radius: 999px;
    background: rgba(var(--ab-primary-rgb), 0.12);
    color: var(--ab-primary);
    font-size: 0.68rem;
    font-weight: 800;
    text-align: center;
}

.ab-cabinet__panel {
    background: var(--ab-surface, #fff);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius-lg, 0.85rem);
    padding: 1rem 1.15rem 1.25rem;
    box-shadow: var(--ab-shadow, 0 8px 24px rgba(15, 23, 42, 0.04));
}

.ab-cabinet__subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.1rem;
    margin-bottom: 1.15rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--ab-border);
}

.ab-cabinet__subnav-item {
    color: var(--ab-muted);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid transparent;
}

.ab-cabinet__subnav-item:hover {
    color: var(--ab-primary);
}

.ab-cabinet__subnav-item.is-active {
    color: var(--ab-primary);
    border-bottom-color: var(--ab-primary);
}

.ab-cabinet__subnav-item span {
    color: inherit;
    opacity: 0.75;
    font-weight: 700;
}

.ab-cabinet__empty {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--ab-muted);
}

.ab-cabinet-card {
    background: var(--ab-surface, #fff);
    border: 1px solid var(--ab-border);
    border-radius: var(--ab-radius, 0.65rem);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ab-cabinet-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    background: #e8ecf1;
    overflow: hidden;
}

.ab-cabinet-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ab-cabinet-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
    font-size: 1.5rem;
}

.ab-cabinet-card__status {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    color: #fff;
    background: #64748b;
}

.ab-cabinet-card__status.is-active { background: #198754; }
.ab-cabinet-card__status.is-pending { background: #d97706; }
.ab-cabinet-card__status.is-draft { background: #6c757d; }
.ab-cabinet-card__status.is-expired { background: #212529; }
.ab-cabinet-card__status.is-archived,
.ab-cabinet-card__status.is-rejected,
.ab-cabinet-card__status.is-sold { background: #adb5bd; color: #212529; }

.ab-cabinet-card__body {
    padding: 0.75rem 0.85rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 auto;
}

.ab-cabinet-card__price {
    font-weight: 800;
    color: var(--ab-ink);
}

.ab-cabinet-card__title {
    color: var(--ab-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ab-cabinet-card__title:hover {
    color: var(--ab-primary);
}

.ab-cabinet-card__date {
    font-size: 0.78rem;
    color: var(--ab-muted);
}

.ab-cabinet-card__actions {
    margin-top: auto;
    padding-top: 0.55rem;
    display: flex;
    gap: 0.85rem;
}

.ab-cabinet-card__actions a {
    color: var(--ab-primary);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
}

.ab-cabinet-card__actions a:hover {
    text-decoration: underline;
}

.ab-cabinet__form-section {
    margin-bottom: 1.5rem;
}

.ab-cabinet__form-title {
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 0.85rem;
    color: var(--ab-ink);
}

.ab-cabinet__radio-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
    border: 1px solid var(--ab-border);
    border-radius: 0.5rem;
    padding: 0.7rem 0.85rem;
}

.ab-cabinet__form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ab-border);
}

[data-ab-theme="dark"] .ab-cabinet__verify {
    background: rgba(255, 193, 7, 0.16);
    color: #ffc107;
}

[data-ab-theme="dark"] .ab-cabinet-card__media,
[data-ab-theme="dark"] .ab-cabinet-card__placeholder {
    background: #1c2436;
}

.ab-cabinet-card__actions form {
    margin: 0;
    display: inline;
}

.ab-cabinet-card__delete {
    border: 0;
    background: none;
    padding: 0;
    color: var(--ab-primary);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.ab-cabinet-card__delete:hover {
    text-decoration: underline;
}

.ab-message-list {
    display: grid;
    gap: 0.65rem;
}

.ab-message-list__item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--ab-border);
    border-radius: 0.5rem;
    background: #fff;
    text-decoration: none;
    color: inherit;
}

.ab-message-list__item:hover {
    border-color: var(--ab-primary);
}

.ab-message-list__item.is-unread {
    border-color: rgba(31, 111, 235, 0.45);
    background: rgba(31, 111, 235, 0.04);
}

.ab-message-list__thumb {
    width: 64px;
    height: 64px;
    border-radius: 0.4rem;
    overflow: hidden;
    background: #eef2f7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ab-muted);
    flex-shrink: 0;
}

.ab-message-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ab-message-list__body {
    min-width: 0;
    display: grid;
    gap: 0.15rem;
    flex: 1;
}

.ab-message-list__title {
    font-weight: 800;
    color: var(--ab-ink);
}

.ab-message-list__meta,
.ab-message-list__preview {
    font-size: 0.84rem;
    color: var(--ab-muted);
}

.ab-message-list__preview {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ab-message-list__badge {
    min-width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: #1f6feb;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.4rem;
}

.ab-chat__thread {
    display: grid;
    gap: 0.75rem;
    max-height: 420px;
    overflow: auto;
}

.ab-chat__bubble {
    max-width: 85%;
    padding: 0.75rem 0.9rem;
    border-radius: 0.75rem;
}

.ab-chat__bubble.is-mine {
    margin-left: auto;
    background: rgba(31, 111, 235, 0.12);
}

.ab-chat__bubble.is-theirs {
    margin-right: auto;
    background: #f3f5f8;
}

.ab-chat__author {
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
    color: var(--ab-ink);
}

.ab-chat__text {
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--ab-ink);
}

.ab-chat__time {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    color: var(--ab-muted);
}

[data-ab-theme="dark"] .ab-message-list__item,
[data-ab-theme="dark"] .ab-chat__bubble.is-theirs {
    background: #151b28;
}

.ab-owner-meta {
    display: grid;
    gap: 0.45rem;
}

.ab-owner-meta li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.86rem;
    color: var(--ab-muted);
}

.ab-owner-meta strong {
    color: var(--ab-ink);
    font-weight: 700;
    text-align: right;
}

.ab-owner-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.ab-owner-actions form {
    margin: 0;
}

.ab-owner-actions__edit,
.ab-owner-actions__delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.55rem;
    border-radius: 0.35rem;
    border: 1px solid;
    background: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.ab-owner-actions__edit {
    color: #1f6feb;
    border-color: #1f6feb;
}

.ab-owner-actions__edit:hover {
    background: rgba(31, 111, 235, 0.06);
    color: #1f6feb;
}

.ab-owner-actions__delete {
    color: #d94841;
    border-color: #d94841;
}

.ab-owner-actions__delete:hover {
    background: rgba(217, 72, 65, 0.06);
}

.ab-owner-promos {
    display: grid;
    gap: 0.65rem;
}

.ab-owner-promo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    padding: 0.75rem;
    border: 1px solid var(--ab-border);
    border-radius: 0.45rem;
    background: #fff;
}

.ab-owner-promo__body {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    min-width: 0;
}

.ab-owner-promo__icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f6feb;
    flex-shrink: 0;
}

.ab-owner-promo__title {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--ab-ink);
    line-height: 1.2;
}

.ab-owner-promo__desc {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: var(--ab-muted);
    line-height: 1.35;
}

.ab-owner-promo__badge {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #e67700;
    text-transform: uppercase;
}

.ab-owner-promo__price {
    flex-shrink: 0;
    border: 0;
    border-radius: 0.3rem;
    background: #1f6feb;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    padding: 0.55rem 0.7rem;
    white-space: nowrap;
    cursor: pointer;
}

.ab-owner-promo__price:hover {
    background: #185bc4;
}

[data-ab-theme="dark"] .ab-owner-actions__edit,
[data-ab-theme="dark"] .ab-owner-actions__delete,
[data-ab-theme="dark"] .ab-owner-promo {
    background: #151b28;
}

.ab-create-aside {
    position: sticky;
    top: 1rem;
}

.ab-create-aside__tips {
    padding-left: 1.1rem;
}

.ab-create-aside__tips li + li {
    margin-top: 0.35rem;
}

.ab-create-cats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    min-height: 280px;
}

.ab-create-cats__col {
    border: 1px solid var(--ab-border);
    border-radius: 0.65rem;
    overflow: auto;
    background: #fff;
    max-height: 360px;
}

.ab-create-cats__item {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--ab-border);
    background: transparent;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 0.9rem;
    text-align: left;
    color: var(--ab-ink);
    font-weight: 600;
}

.ab-create-cats__item:hover,
.ab-create-cats__item.is-active {
    background: rgba(0, 70, 177, 0.06);
    color: var(--ab-primary);
}

.ab-create-cats__item > span {
    flex: 1;
    min-width: 0;
}

.ab-create-cats__chevron {
    color: var(--ab-muted);
    font-size: 0.75rem;
}

.ab-create-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.ab-create-specs {
    display: grid;
    gap: 0.55rem;
}

.ab-create-specs__row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.55rem;
}

.ab-create-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.ab-create-dropzone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 180px;
    border: 2px dashed var(--ab-border);
    border-radius: 0.85rem;
    background: rgba(0, 70, 177, 0.03);
    cursor: pointer;
    padding: 1.25rem;
    text-align: center;
}

.ab-create-dropzone.is-dragover,
.ab-create-dropzone:hover {
    border-color: var(--ab-primary);
    background: rgba(0, 70, 177, 0.06);
}

.ab-create-dropzone__icon {
    font-size: 1.75rem;
    color: var(--ab-primary);
}

.ab-create-dropzone__title {
    font-weight: 800;
    color: var(--ab-ink);
}

.ab-create-dropzone__meta {
    font-size: 0.84rem;
    color: var(--ab-muted);
}

.ab-create-previews {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: 0.65rem;
}

.ab-create-previews__item {
    position: relative;
    border-radius: 0.55rem;
    overflow: hidden;
    border: 1px solid var(--ab-border);
    aspect-ratio: 1;
    background: #eef2f7;
}

.ab-create-previews__item.is-removed {
    display: none;
}

.ab-create-previews__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ab-create-previews__badge {
    position: absolute;
    left: 0.35rem;
    top: 0.35rem;
    z-index: 2;
    background: var(--ab-primary);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    border-radius: 999px;
    padding: 0.15rem 0.45rem;
}

.ab-create-previews__remove {
    position: absolute;
    right: 0.3rem;
    top: 0.3rem;
    z-index: 2;
    width: 1.55rem;
    height: 1.55rem;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.78);
    color: #fff;
    font-size: 0.72rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.ab-create-previews__remove:hover {
    background: #d94841;
}

.ab-location-assist {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.85rem;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(14, 165, 233, 0.04));
    padding: 0.85rem 1rem;
}

.ab-location-assist__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.ab-location-assist__status {
    color: #64748b;
    flex: 1 1 14rem;
    line-height: 1.4;
}

.ab-location-assist__status.is-ok {
    color: #0f766e;
}

.ab-location-assist__status.is-warn {
    color: #b45309;
}

.ab-location-assist__status.is-busy {
    color: #2563eb;
}

.ab-location-assist [data-ab-location-gps].is-busy {
    opacity: 0.75;
}

[data-ab-theme="dark"] .ab-location-assist {
    border-color: rgba(255, 255, 255, 0.08);
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.18), rgba(14, 165, 233, 0.1));
}

[data-ab-theme="dark"] .ab-location-assist__status {
    color: #94a3b8;
}

[data-ab-theme="dark"] .ab-create-cats__col,
[data-ab-theme="dark"] .ab-create-dropzone,
[data-ab-theme="dark"] .ab-create-aside {
    background: #151b28;
}

@media (max-width: 991.98px) {
    .ab-create-cats {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ab-create-cats__col {
        max-height: 220px;
    }
}

@media (max-width: 575.98px) {
    .ab-cabinet__nav-item {
        min-width: 4.5rem;
        padding: 0.7rem 0.55rem 0.8rem;
    }

    .ab-cabinet__nav-label {
        font-size: 0.78rem;
    }

    .ab-cabinet__panel {
        padding: 0.85rem;
    }

    .ab-owner-actions {
        grid-template-columns: 1fr;
    }

    .ab-create-aside {
        position: static;
    }

    .ab-create-specs__row {
        grid-template-columns: 1fr;
    }
}


