:root {
    --app-font-family: 'Montserrat', 'Inter', -apple-system, sans-serif;
    --app-bg: #f4f7fb;
    --app-surface: rgba(255, 255, 255, 0.94);
    --app-surface-strong: #ffffff;
    --app-border: #dbe5f0;
    --app-border-strong: #c9d7e6;
    --app-text: #1d2736;
    --app-text-muted: #667489;
    --app-primary: #4576b5;
    --app-primary-hover: #39689f;
    --app-primary-soft: #e9f0fb;
    --app-success: #4da37a;
    --app-shadow: 0 16px 40px rgba(33, 52, 86, 0.10);
    --app-radius: 24px;
    --app-accent: var(--app-primary);
}

/* Тема 1: Cosmic Dust (Фиолетовый космос) */
.theme-1 {
    --app-bg: radial-gradient(circle at center, #2e1065 0%, #0f172a 100%);
    --app-primary: #d946ef;
    --app-primary-hover: #f0abfc;
    --app-text: #ffffff;
    --app-text-muted: #e879f9;
    --app-accent: #f472b6;
    --app-surface-strong: rgba(255, 255, 255, 0.1);
    --app-border: rgba(217, 70, 239, 0.4);
}
.theme-1 .listing-card { backdrop-filter: blur(20px); border-radius: 20px !important; }
.theme-1 .listing-card__price { color: #fdf2f8; text-shadow: 0 0 15px #d946ef; font-size: 1.5rem; }
.theme-1 .market-hero { background: linear-gradient(45deg, #701a75 0%, #4c1d95 100%); }

/* Тема 2: Inferno (Пламя) */
.theme-2 {
    --app-bg: linear-gradient(180deg, #450a0a 0%, #000000 100%);
    --app-primary: #ef4444;
    --app-primary-hover: #f87171;
    --app-text: #fee2e2;
    --app-accent: #f59e0b;
    --app-surface-strong: rgba(69, 10, 10, 0.6);
}
.theme-2 .listing-card { border-color: #7f1d1d; }
.theme-2 .listing-card__price { color: #f59e0b; font-weight: 900; font-size: 1.6rem; }
.theme-2 .market-hero { background: linear-gradient(to right, #7f1d1d, #450a0a); border-bottom: 3px solid #ef4444; }

/* Тема 3: Arctic Crystal (Лед) */
.theme-3 {
    --app-bg: linear-gradient(135deg, #f0f9ff 0%, #bae6fd 100%);
    --app-primary: #0369a1;
    --app-primary-hover: #0ea5e9;
    --app-text: #0c4a6e;
    --app-accent: #22d3ee;
    --app-surface-strong: #ffffff;
    --app-border: #7dd3fc;
}
.theme-3 .listing-card { border-radius: 0 !important; border: 2px solid #bae6fd; box-shadow: 10px 10px 0px rgba(3, 105, 161, 0.1); }
.theme-3 .listing-card__price { color: #0369a1; font-family: serif; }
.theme-3 .market-hero { background: #0c4a6e; }

/* Тема 4: Cyber Lime (Неон) */
.theme-4 {
    --app-bg: #111827;
    --app-primary: #4ade80;
    --app-primary-hover: #86efac;
    --app-text: #f9fafb;
    --app-accent: #a3e635;
    --app-surface-strong: #1f2937;
    --app-border: #374151;
}
.theme-4 .listing-card { border: 1px solid #4ade80; }
.theme-4 .listing-card:hover { box-shadow: 0 0 20px rgba(74, 222, 128, 0.4); }
.theme-4 .listing-card__price { color: #4ade80; font-family: monospace; }
.theme-4 .market-hero { background: #000000; border-bottom: 5px solid #4ade80; }

/* Тема 5: Golden Hour (Золото и Шоколад) */
.theme-5 {
    --app-bg: linear-gradient(135deg, #451a03 0%, #78350f 100%);
    --app-primary: #fbbf24;
    --app-primary-hover: #fcd34d;
    --app-text: #fffbeb;
    --app-accent: #f59e0b;
    --app-surface-strong: rgba(69, 26, 3, 0.8);
    --app-border: #92400e;
}
.theme-5 .listing-card { border-radius: 50px 5px 50px 5px !important; }
.theme-5 .listing-card__price { color: #fbbf24; font-size: 1.5rem; text-decoration: underline overline; }
.theme-5 .market-hero { background: #451a03; }

/* Тема 6: Emerald Aurora (Градиенты и Стекло) */
.theme-6 {
    --app-bg: linear-gradient(145deg, #f0fdf4 0%, #dcfce7 100%);
    --app-primary: #064e3b;
    --app-primary-hover: #065f46;
    --app-text: #064e3b;
    --app-accent: #10b981;
    --app-success: #059669;
    --app-surface-strong: rgba(255, 255, 255, 0.85);
    --app-border: rgba(16, 185, 129, 0.2);
    --app-shadow: 0 25px 50px -12px rgba(6, 78, 59, 0.15);
    background-attachment: fixed;
}

.theme-6 .market-hero {
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%);
    border-bottom: 4px solid #10b981;
}

.theme-6 .listing-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

.theme-6 .listing-card:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: #10b981;
    box-shadow: 0 15px 45px rgba(6, 78, 59, 0.2);
}

.theme-6 .listing-card__price {
    background: linear-gradient(90deg, #064e3b, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.4rem;
}

.theme-6 .btn-primary {
    background: linear-gradient(90deg, #059669, #10b981);
    border: none;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
}

.theme-1, .theme-2, .theme-3, .theme-4, .theme-5, .theme-6 {
    background: var(--app-bg);
    color: var(--app-text);
    min-height: 100vh;
}

html, body {
    font-family: var(--app-font-family);
    background: var(--app-bg);
    color: var(--app-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    line-height: 1.6;
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    position: relative;
    width: 100%;
}

body, button, input, select, textarea, .btn, .form-control, .form-select, .input-group-text, .table {
    font-family: var(--app-font-family);
    font-weight: 400;
}

body {
    overflow-x: hidden;
    overscroll-behavior-x: none;
    width: 100%;
}

a, .btn-link {
    color: var(--app-primary);
}

a:hover, .btn-link:hover {
    color: var(--app-primary-hover);
}

.card,
.table-responsive,
.upload-zone,
.address-suggestions {
    border-radius: var(--app-radius) !important;
}

.card {
    background: var(--app-surface);
    border: 1px solid rgba(219, 229, 240, 0.8) !important;
    box-shadow: var(--app-shadow) !important;
}

.btn {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0;
}

.btn-primary {
    color: #fff;
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--app-primary-hover) !important;
    border-color: var(--app-primary-hover) !important;
}

.btn-success {
    background-color: var(--app-success);
    border-color: var(--app-success);
}

.btn-light {
    background-color: #f5f7fb;
    border-color: #f5f7fb;
}

.copy-share-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 42px;
    white-space: nowrap;
}

.copy-share-button .bi {
    flex: 0 0 auto;
}

.copy-toast {
    align-items: center;
    background: rgba(28, 38, 54, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    bottom: 1.5rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    gap: 0.55rem;
    left: 50%;
    line-height: 1.2;
    max-width: calc(100vw - 2rem);
    padding: 0.85rem 1.05rem;
    position: fixed;
    transform: translateX(-50%);
    z-index: 1100;
}

.copy-toast .bi {
    color: #86efac;
    flex: 0 0 auto;
    font-size: 1.15rem;
}

.form-control,
.form-select {
    min-height: 52px;
    border-radius: 18px;
    border: 1px solid var(--app-border);
    background: rgba(248, 250, 253, 0.95);
    color: var(--app-text);
}

.form-control::placeholder,
.form-select::placeholder,
textarea::placeholder {
    color: #93a1b5;
}

.form-control:focus,
.form-select:focus,
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-check-input:focus {
    border-color: #aec4de;
    background: #fff;
    box-shadow: 0 0 0 0.22rem rgba(106, 145, 191, 0.18);
}

/* Современные переключатели (Toggles) */
.form-check.form-switch {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    margin-right: 1.5rem;
    gap: 0.75rem;
    min-height: 2rem;
}
.form-check-input {
    cursor: pointer;
    margin-top: 0;
}
.form-switch .form-check-input {
    width: 2.8rem;
    height: 1.5rem;
    margin-left: 0;
    background-color: #e2e8f0;
    border: 1px solid #cbd5e0;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");
    background-position: left center;
    background-repeat: no-repeat;
    transition: background-color 0.2s ease, border-color 0.2s ease, background-position 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    appearance: none;
}
.form-switch .form-check-input:checked {
    background-color: #4576b5;
    border-color: #4576b5;
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");
}
.form-check-label {
    cursor: pointer;
    user-select: none;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;
}

.alert {
    border-radius: 18px;
}

.content {
    padding-top: 1.1rem;
}

.table {
    table-layout: fixed;
}

.table td,
.table th,
.card,
.badge,
.preview-caption {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.text-truncate-soft {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

.cabinet-listings-table .table {
    table-layout: auto;
}

.cabinet-listings-table th,
.cabinet-listings-table td {
    vertical-align: middle;
}

.cabinet-listings-table th:first-child,
.cabinet-listings-table td:first-child {
    width: 42%;
}

.cabinet-listings-list {
    display: grid;
    gap: 0.9rem;
}

.cabinet-listing-item {
    border: 1px solid rgba(219, 229, 240, 0.9);
    border-radius: 14px;
    padding: 0.95rem;
    background: #fff;
}

.cabinet-listing-item__head,
.cabinet-listing-item__footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.cabinet-listing-item__title {
    color: #102033;
    font-weight: 700;
    line-height: 1.25;
}

.cabinet-listing-item__date,
.cabinet-listing-item__address {
    color: var(--app-muted);
    font-size: 0.88rem;
}

.cabinet-listing-item__address {
    margin-top: 0.55rem;
    line-height: 1.4;
}

.cabinet-listing-item__footer {
    align-items: center;
    border-top: 1px solid rgba(219, 229, 240, 0.9);
    margin-top: 0.9rem;
    padding-top: 0.85rem;
}

.cabinet-listing-item__price {
    color: #102033;
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.auth-shell {
    max-width: 620px;
    margin: 0 auto;
}

.auth-card {
    padding: 2rem 2rem 1.8rem;
}

.field-label {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.45rem;
    color: var(--app-text);
}

.password-field {
    position: relative;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 0.85rem;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.password-field .form-control {
    padding-right: 5rem;
}

.eyebrow {
    color: var(--app-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.section-title {
    color: var(--app-text);
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    font-weight: 800;
}

.icon-button {
    width: 52px;
    min-width: 52px;
    padding-left: 0;
    padding-right: 0;
}

.market-hero,
.admin-hero {
    background: linear-gradient(135deg, #28496f, #5f8dbd 58%, #d9e7ef);
    color: #fff;
}

.market-hero__content,
.admin-hero {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
}

.market-hero__content {
    min-height: 240px;
    padding: 5rem 0 2.2rem 0;
}

.market-hero h1,
.admin-hero h1 {
    font-size: clamp(2.1rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 0.95;
    margin: 0 0 1rem;
}

.market-hero .eyebrow,
.admin-hero .eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.market-hero__lead,
.admin-hero p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.05rem;
    max-width: 640px;
}

.filter-panel,
.detail-section,
.contact-card,
.moderation-card,
.empty-state {
    background: var(--app-surface-strong);
    border: 1px solid var(--app-border);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(33, 52, 86, 0.08);
}

.filter-panel {
    padding: 1.15rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.quick-toggles {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.4rem;
}

.seller-select {
    max-width: 210px;
}

.listing-grid {
    display: grid;
    gap: 1.15rem;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.ad-banner {
    background: #eef3f8;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(33, 52, 86, 0.08);
    overflow: hidden;
    max-width: 100%;
    min-width: 0;
}

.ad-banner__link {
    display: block;
    height: 100%;
    text-decoration: none;
}

.ad-banner__image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ad-banner--wide {
    margin-bottom: 1.15rem;
}

.ad-banner--wide .ad-banner__image {
    object-position: top;
    aspect-ratio: 9 / 2;
    max-height: 300px;
    min-height: 210px;
}

.ad-banner--listing-inline {
    grid-column: 1 / -1;
}

.listing-card {
    background: var(--app-surface-strong);
    border: 1px solid var(--app-border);
    border-radius: 16px;
    cursor: pointer;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.listings-page,
.listings-shell {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.listing-card:hover {
    box-shadow: 0 22px 48px rgba(15, 42, 63, 0.15);
    transform: translateY(-5px);
    border-color: var(--app-accent);
}

.listing-card__media {
    aspect-ratio: 16 / 10;
    background: #eef3f8;
    max-height: 190px;
    overflow: hidden;
    position: relative;
}

.listing-card__media img,
.detail-gallery__main,
.moderation-card__media img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.listing-card__placeholder {
    align-items: center;
    color: #9aa9bb;
    display: flex;
    font-size: 2rem;
    height: 100%;
    justify-content: center;
}

.listing-card__video-placeholder {
    align-items: center;
    background: linear-gradient(135deg, #182232 0%, #31465f 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    font-weight: 800;
    gap: 0.35rem;
    height: 100%;
    justify-content: center;
    letter-spacing: 0;
    width: 100%;
}

.listing-card__video-placeholder i {
    font-size: 2.4rem;
}

.listing-card__badge {
    background: rgba(29, 39, 54, 0.84);
    border-radius: 999px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    left: 0.8rem;
    padding: 0.35rem 0.7rem;
    position: absolute;
    top: 0.8rem;
}

.listing-card__body {
    padding: 1rem 1.1rem 1.05rem;
}

.listing-card__price,
.detail-price {
    color: var(--app-accent);
    font-size: 1.28rem;
    font-weight: 800;
}

.detail-mini-map {
    background: #eef3f8;
    border: 1px solid #d8e4f0;
    border-radius: 14px;
    cursor: pointer;
    height: 188px;
    margin-top: 1.5rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.detail-mini-map:focus-visible {
    box-shadow: 0 0 0 4px rgba(45, 113, 185, 0.18);
    outline: 2px solid var(--app-primary);
    outline-offset: 2px;
}

.detail-mini-map__canvas {
    height: 100%;
    pointer-events: none;
    width: 100%;
}

.detail-mini-map__overlay {
    align-items: center;
    background: linear-gradient(180deg, rgba(10, 19, 35, 0) 0%, rgba(10, 19, 35, 0.72) 100%);
    bottom: 0;
    color: #fff;
    display: flex;
    font-size: 0.88rem;
    font-weight: 800;
    gap: 0.65rem;
    justify-content: space-between;
    left: 0;
    padding: 1.15rem 1rem 0.85rem;
    position: absolute;
    right: 0;
}

.detail-mini-map__overlay span {
    align-items: center;
    display: flex;
    gap: 0.45rem;
}

.listing-card h3 {
    color: var(--app-text);
    display: -webkit-box;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
    margin: 0.35rem 0 0.55rem;
    min-height: 2.65rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.listing-card__address {
    align-items: flex-start;
    color: var(--app-text-muted);
    display: flex;
    font-size: 0.875rem;
    gap: 0.35rem;
    min-height: 2.7rem;
}

.listing-card__meta,
.listing-card__footer,
.detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.listing-card__meta span,
.detail-tags span {
    background: #f1f5f9;
    border-radius: 999px;
    color: #42526a;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.28rem 0.62rem;
}

.detail-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.7rem 0 0.8rem;
}

.detail-trust-badges span {
    align-items: center;
    background: #ecfdf5;
    border: 1px solid #c8f3df;
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-size: 0.875rem;
    font-weight: 800;
    gap: 0.35rem;
    padding: 0.34rem 0.72rem;
}

.listing-card__footer {
    align-items: center;
    border-top: 1px solid #edf2f7;
    color: var(--app-text-muted);
    font-size: 0.875rem;
    justify-content: space-between;
    margin-top: 0.9rem;
    padding-top: 0.75rem;
}

.listing-card__seller-link {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--app-primary);
    display: inline-flex;
    font-weight: 800;
    padding: 0;
}

.listing-card__seller-link:hover,
.listing-card__seller-link:focus-visible {
    color: #0f766e;
    outline: none;
    text-decoration: underline;
}

.load-more-button {
    min-width: 220px;
}

.load-sentinel {
    height: 1px;
}

.empty-state {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 3rem 1.25rem;
    text-align: center;
}

.empty-state i {
    color: var(--app-primary);
    font-size: 3rem;
}

.empty-state h3 {
    color: var(--app-text);
    font-weight: 800;
    margin: 0;
}

.detail-topline {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.app-breadcrumbs {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.875rem;
    font-weight: 700;
    gap: 0.45rem;
    margin: 0 0 0.75rem;
}

.app-breadcrumbs a {
    color: var(--app-primary);
    text-decoration: none;
}

.app-breadcrumbs i {
    color: #9aa9bb;
    font-size: 0.7rem;
}

.ad-banner--detail-top {
    margin-bottom: 1rem;
}

.ad-banner--side {
    margin-bottom: 1rem;
}

.ad-banner--side .ad-banner__image {
    aspect-ratio: 16 / 9;
    min-height: 180px;
}

.detail-layout {
    align-items: start;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) 360px;
}

.detail-hero {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    margin-bottom: 1rem;
}

.detail-gallery,
.detail-heading {
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    overflow: hidden;
}

.detail-gallery__main-container {
    position: relative;
    display: block;
}

.detail-gallery__main,
.detail-gallery__empty {
    aspect-ratio: 16 / 10;
    display: block;
}

.detail-gallery__video {
    background: #101827;
    border: 0;
    height: auto;
    width: 100%;
}

.detail-gallery__video-unavailable,
.app-lightbox__video-unavailable {
    align-items: center;
    background: #101827;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-weight: 800;
    gap: 0.4rem;
    justify-content: center;
}

.detail-gallery__video-unavailable {
    height: auto;
}

.detail-gallery__video-unavailable i,
.app-lightbox__video-unavailable i {
    font-size: 2.4rem;
}

.detail-gallery__nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 1rem;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.detail-gallery__main-container:hover .detail-gallery__nav {
    opacity: 1;
}

.detail-gallery__nav button {
    background: rgba(255, 255, 255, 0.85);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--app-text);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: background 0.2s, transform 0.1s;
    pointer-events: auto;
}

.detail-gallery__nav button:hover {
    background: #fff;
    transform: scale(1.05);
}

.detail-gallery__empty {
    align-items: center;
    background: #eef3f8;
    color: var(--app-text-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.detail-gallery__thumbs {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(5, 1fr);
    padding: 0.65rem;
}

.detail-gallery__thumbs button {
    aspect-ratio: 1;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    padding: 0;
}

.detail-gallery__thumbs button.active {
    border-color: var(--app-primary);
}

.detail-gallery__thumbs img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.detail-gallery__thumb-video {
    align-items: center;
    background: linear-gradient(135deg, #182232 0%, #31465f 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 1.25rem;
    gap: 0.1rem;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.detail-gallery__thumb-video small {
    font-size: 0.68rem;
    font-weight: 800;
}

.detail-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.4rem;
}

.detail-heading h1 {
    font-size: clamp(1.6rem, 3.2vw, 2.6rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0.9rem 0;
}

.detail-heading p {
    color: var(--app-text-muted);
    display: flex;
    gap: 0.45rem;
}

.detail-section {
    margin-bottom: 1rem;
    padding: 1.2rem;
}

.detail-section h2 {
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 1rem;
}

.listing-report-form {
    display: grid;
    gap: 0.7rem;
}

.detail-description {
    color: #3f4a5c;
    white-space: pre-wrap;
}

.detail-facts {
    display: grid;
    gap: 0;
    column-gap: 3rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-facts > div {
    border-bottom: 1px solid #edf2f7;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.75rem 0;
}

.detail-facts span {
    color: var(--app-text-muted);
}

.detail-facts strong {
    text-align: right;
}

.admin-banner-grid {
    display: grid;
    gap: 1.15rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-banner-card {
    background: var(--app-surface-strong);
    border: 1px solid var(--app-border);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(33, 52, 86, 0.08);
    min-width: 0;
    overflow: hidden;
    padding: 1rem;
}

.admin-banner-card__head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.admin-banner-card__head h3 {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.admin-banner-card__head p {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    margin: 0;
}

.admin-banner-state {
    border-radius: 999px;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.35rem 0.7rem;
}

.admin-banner-state.is-active {
    background: #e6f4ef;
    color: #12664f;
}

.admin-banner-state.is-inactive {
    background: #f1f5f9;
    color: #667085;
}

.admin-banner-status {
    align-items: center;
    background: #f7faff;
    border: 1px solid #e3edf9;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0.55rem;
}

.admin-banner-status > span {
    color: var(--app-text-muted);
    font-size: 0.84rem;
    font-weight: 700;
    padding-left: 0.3rem;
}

.admin-banner-status__buttons {
    background: #eaf1fb;
    border-radius: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
}

.admin-banner-status__buttons button {
    background: transparent;
    border: 0;
    color: #52627a;
    font-weight: 800;
    min-width: 112px;
    padding: 0.48rem 0.7rem;
}

.admin-banner-status__buttons button.active {
    background: var(--app-primary);
    color: #fff;
}

.admin-banner-preview {
    align-items: center;
    background: #eef3f8;
    border: 1px dashed #c8d6e8;
    border-radius: 14px;
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.admin-banner-preview--wide {
    aspect-ratio: 9 / 2;
    min-height: 128px;
}

.admin-banner-preview--side {
    aspect-ratio: 16 / 9;
}

.admin-banner-preview img {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
}

.admin-banner-preview > div {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-banner-preview i {
    font-size: 2rem;
}

.admin-banner-form {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-banner-field {
    min-width: 0;
}

.admin-banner-field--full {
    grid-column: 1 / -1;
}

.admin-banner-field .form-control {
    max-width: 100%;
    min-width: 0;
}

.admin-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}

/* Lightbox Styles */
.detail-gallery__main {
    cursor: zoom-in;
    transition: opacity 0.2s;
}

.detail-gallery__main:hover {
    opacity: 0.95;
}

.app-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(8px);
    cursor: zoom-out;
}

.app-lightbox__content {
    max-width: 95%;
    max-height: 95%;
    position: relative;
}

.app-lightbox img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
    object-fit: contain;
}

.app-lightbox__video {
    aspect-ratio: 16 / 9;
    background: #101827;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
    max-height: 82vh;
    max-width: 95vw;
    width: min(1100px, 95vw);
}

.app-lightbox__close {
    position: absolute;
    top: -40px;
    right: 0;
    color: #fff;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
}

.app-lightbox__prev,
.app-lightbox__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    z-index: 10;
}

.app-lightbox__prev:hover,
.app-lightbox__next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.app-lightbox__prev {
    left: -60px;
}

.app-lightbox__next {
    right: -60px;
}

@media (max-width: 768px) {
    .app-lightbox__prev { left: 10px; }
    .app-lightbox__next { right: 10px; }
}

.app-lightbox__counter {
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 0.9rem;
    background: rgba(0, 0, 0, 0.5);
    padding: 0.2rem 0.8rem;
    border-radius: 999px;
}

.listing-card__nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 0.5rem;
    opacity: 0;
    transition: opacity 0.2s;
}

.listing-card:hover .listing-card__nav {
    opacity: 1;
}

.listing-card__nav button {
    background: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--app-text);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background 0.2s;
}

.listing-card__nav button:hover {
    background: #fff;
}

.listing-card__dots {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 4px;
    z-index: 2;
}

.listing-card__dots .dot {
    width: 6px;
    height: 6px;
    border: 0;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.listing-card__dots .dot.active {
    background: #fff;
    transform: scale(1.2);
}

.contact-panel {
    position: sticky;
    top: 1rem;
}

.contact-card {
    display: grid;
    gap: 0.75rem;
}

.seller-card {
    align-items: center;
    display: flex;
    gap: 0.8rem;
}

.seller-card--link {
    border-radius: 12px;
    cursor: pointer;
    padding: 0.35rem;
    transition: background 0.2s;
}

.seller-card--link:hover,
.seller-card--link:focus-visible {
    background: #f3f7fb;
    outline: none;
}

.seller-card__arrow {
    color: var(--app-text-muted);
    margin-left: auto;
}

.seller-card__avatar {
    align-items: center;
    background: var(--app-primary);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-weight: 800;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.seller-card span {
    color: var(--app-text-muted);
    display: block;
    font-size: 0.85rem;
}

.contact-phone {
    background: #f3f7fb;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 800;
    padding: 0.8rem;
    text-align: center;
}

.seller-profile-page {
    min-height: 100vh;
}

.seller-profile-hero {
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding: 1.4rem;
}

.seller-profile-identity {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-width: 0;
}

.seller-profile-avatar {
    align-items: center;
    background: var(--app-primary);
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: 0 0 auto;
    font-size: 1.5rem;
    font-weight: 900;
    height: 74px;
    justify-content: center;
    width: 74px;
}

.seller-profile-kicker {
    color: var(--app-primary);
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.seller-profile-hero h1 {
    color: var(--app-text);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.1;
    margin: 0 0 0.5rem;
}

.seller-profile-meta {
    color: var(--app-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.92rem;
    gap: 0.85rem;
}

.seller-profile-meta span {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
}

.seller-profile-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.seller-profile-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.seller-profile-listings {
    display: grid;
    gap: 1rem;
}

.seller-profile-listing {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    cursor: pointer;
    display: grid;
    gap: 1rem;
    grid-template-columns: 220px minmax(0, 1fr);
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.seller-profile-listing:hover {
    border-color: #bfdbfe;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.seller-profile-listing__media {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: #e2e8f0;
    color: #64748b;
    display: flex;
    font-size: 2rem;
    justify-content: center;
    min-height: 160px;
    overflow: hidden;
    position: relative;
}

.seller-profile-listing__media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.seller-profile-listing__media > span {
    background: rgba(15, 23, 42, 0.82);
    border-radius: 999px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    left: 0.75rem;
    padding: 0.25rem 0.65rem;
    position: absolute;
    top: 0.75rem;
}

.seller-profile-listing__video {
    align-items: center;
    display: grid;
    font-size: 1rem;
    font-weight: 800;
    gap: 0.35rem;
    justify-items: center;
}

.seller-profile-listing__body {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    justify-content: center;
    min-width: 0;
    padding: 1rem 1.1rem 1rem 0;
}

.seller-profile-listing__price {
    color: var(--app-primary);
    font-size: 1.35rem;
    font-weight: 900;
}

.seller-profile-listing__body h3 {
    color: var(--app-text);
    font-size: 1.1rem;
    font-weight: 850;
    line-height: 1.3;
    margin: 0;
}

.seller-profile-listing__body p {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    gap: 0.35rem;
    margin: 0;
}

.seller-profile-listing__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.seller-profile-listing__tags span {
    align-items: center;
    background: #f1f5f9;
    border-radius: 999px;
    color: #475569;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.25rem;
    padding: 0.25rem 0.65rem;
}

@media (max-width: 768px) {
    .seller-profile-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .seller-profile-actions {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .seller-profile-heading {
        align-items: start;
        flex-direction: column;
        gap: 0.35rem;
    }

    .seller-profile-listing {
        grid-template-columns: 1fr;
    }

    .seller-profile-listing__body {
        padding: 0 1rem 1rem;
    }
}

.admin-hero {
    border-radius: 16px;
    margin-bottom: 1rem;
    padding: 1.6rem 1.75rem;
}

.admin-counter {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 14px;
    min-width: 132px;
    padding: 1rem;
    text-align: center;
}

.admin-counter strong {
    display: block;
    font-size: 2.2rem;
    line-height: 1;
}

.moderation-list {
    display: grid;
    gap: 1.15rem;
    max-width: 1080px;
}

.moderation-card {
    display: grid;
    gap: 0;
    grid-template-columns: 210px minmax(0, 1fr);
    overflow: hidden;
}

.moderation-card__media {
    aspect-ratio: 1 / 1;
    background: #edf3f8;
    height: 210px;
    min-height: auto;
}

.moderation-card__media > div {
    align-items: center;
    color: var(--app-text-muted);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
}

.moderation-card__body {
    padding: 1.15rem 1.3rem;
}

.moderation-card__head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.moderation-card__head h2 {
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0.55rem 0 0.35rem;
}

.moderation-card__head p {
    color: var(--app-text-muted);
    margin-bottom: 0;
}

.moderation-card__head > strong {
    color: var(--app-primary);
    font-size: 1.2rem;
    white-space: nowrap;
}

.moderation-facts {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0.85rem 0 0.95rem;
}

.moderation-facts div {
    background: #f5f8fb;
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
}

.moderation-facts span,
.moderation-contact span {
    color: var(--app-text-muted);
    display: block;
    font-size: 0.78rem;
}

.moderation-facts strong,
.moderation-contact strong {
    display: block;
    font-size: 0.9rem;
}

.moderation-details {
    border-top: 1px solid #edf2f7;
    padding-top: 0.9rem;
}

.moderation-details summary {
    color: var(--app-primary);
    cursor: pointer;
    font-weight: 800;
}

.moderation-details p {
    margin-top: 0.75rem;
    white-space: pre-wrap;
}

.moderation-description {
    background: #f8fbff;
    border: 1px solid #eef2f7;
    border-radius: 12px;
    margin-top: 0.8rem;
    padding: 0.8rem 0.9rem;
}

.moderation-description span,
.moderation-detail-section h3 {
    color: var(--app-text-muted);
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0.45rem;
    text-transform: uppercase;
}

.moderation-description p {
    margin: 0;
}

.moderation-detail-section {
    margin-top: 0.9rem;
}

.moderation-facts--compact {
    margin: 0;
}

.moderation-facts--compact strong {
    overflow-wrap: anywhere;
}

.moderation-actions,
.reject-box {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.9rem;
    padding-top: 0.9rem;
}

.admin-reports-page,
.admin-legal-page {
    max-width: 100%;
}

.admin-legal-table {
    display: grid;
    gap: 0.75rem;
}

.admin-legal-table__head,
.admin-legal-table__row {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(220px, 1.35fr) minmax(190px, 1fr) 160px minmax(240px, 1.2fr) 210px;
    align-items: center;
}

.admin-legal-table__head {
    color: var(--app-text-muted);
    font-size: 0.82rem;
    font-weight: 800;
    padding: 0 0.25rem;
}

.admin-legal-table__row {
    background: #fff;
    border: 1px solid rgba(219, 229, 240, 0.92);
    border-radius: 16px;
    padding: 1rem;
}

.admin-legal-table__title {
    color: var(--app-text);
    font-weight: 800;
    line-height: 1.25;
}

.admin-legal-table__message {
    grid-column: 1 / -1;
}

.admin-consent-info-button {
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%) !important;
    border: 1px solid #9fb2c9 !important;
    box-shadow: 0 0 0 3px rgba(69, 118, 181, 0.08);
    color: #17315c !important;
    display: inline-flex;
    justify-content: center;
    padding: 0 !important;
}

.admin-consent-info-button span {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1rem;
    font-style: italic;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-1px);
}

.admin-consent-info-button:hover,
.admin-consent-info-button:focus {
    background: #17315c !important;
    border-color: #17315c !important;
    color: #fff !important;
}

.reject-box {
    align-items: stretch;
    flex-direction: column;
}

@media (max-width: 991px) {
    .listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .detail-layout,
    .detail-hero {
        grid-template-columns: 1fr;
    }

    .admin-banner-grid {
        grid-template-columns: 1fr;
    }

    .contact-panel {
        position: static;
    }

    .moderation-card {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .moderation-card__media {
        height: 190px;
    }

    .admin-legal-table__head {
        display: none;
    }

    .admin-legal-table__row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body {
        font-size: 0.94rem;
    }

    .content {
        padding-top: 0.8rem;
    }

    .listings-page {
        width: 100%;
    }

    .listings-shell.container {
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .filter-panel {
        border-radius: 14px;
        padding: 0.85rem;
    }

    .filter-panel .row {
        --bs-gutter-x: 0.75rem;
        --bs-gutter-y: 0.85rem;
    }

    .field-label {
        font-size: 0.86rem;
        margin-bottom: 0.32rem;
    }

    .form-control,
    .form-select {
        border-radius: 15px;
        font-size: 0.9rem;
        min-height: 46px;
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    .input-group .form-control {
        min-width: 0;
    }

    .btn {
        font-size: 0.92rem;
    }

    .quick-toggles {
        align-items: stretch;
        gap: 0.7rem;
    }

    .quick-toggles .form-check {
        min-width: 0;
    }

    .quick-toggles .form-check-label {
        font-size: 0.86rem;
    }

    .icon-button {
        min-width: 46px;
        width: 46px;
    }

    .cabinet-page.container.py-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .cabinet-card-body {
        padding: 1.25rem !important;
    }

    .cabinet-actions,
    .cabinet-actions .btn {
        width: 100%;
    }

    .cabinet-listing-item .badge {
        flex: 0 0 auto;
        max-width: 48%;
        text-align: center;
        overflow-wrap: normal;
        word-break: normal;
        white-space: normal;
    }

    .cabinet-listing-item__footer .btn {
        flex: 0 0 auto;
    }

    .market-hero__content,
    .admin-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .market-hero__content {
        min-height: 240px;
        padding: 2rem 0;
    }

    .listing-grid,
    .detail-facts,
    .moderation-facts,
    .moderation-card {
        grid-template-columns: 1fr;
    }

    .ad-banner--wide .ad-banner__image {
        aspect-ratio: 16 / 5;
        max-height: 160px;
        min-height: 76px;
    }

    .admin-banner-card__head {
        flex-direction: column;
    }

    .admin-banner-status {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-banner-status__buttons button {
        min-width: 0;
    }

    .admin-banner-form {
        grid-template-columns: 1fr;
    }

    .moderation-card__media {
        min-height: auto;
    }

    .seller-select {
        max-width: none;
        width: 100%;
    }

    .detail-gallery__thumbs {
        grid-template-columns: repeat(4, 1fr);
    }

    .detail-facts > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

    .detail-facts strong {
        text-align: left;
    }

    .moderation-card__head {
        flex-direction: column;
    }
}

/* --- GLOBAL LAYOUT STYLES --- */
.page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at top left, rgba(225, 236, 255, 0.7), transparent 30%),
        linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
}

.sidebar {
    background: linear-gradient(180deg, #17315c 0%, #254b7a 100%) !important;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
}

@media (min-width: 641px) {
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 248px;
        min-height: 100vh;
        position: sticky;
        top: 0;
    }
}

/* --- NAVMENU GLOBAL STYLES --- */
.navbar-toggler {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    width: 3rem;
    height: 3rem;
    color: white;
    position: absolute;
    top: 0.75rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.5rem rgba(255, 255, 255, 0.08);
    z-index: 1000;
}

.navbar-toggler:checked {
    background-color: rgba(255, 255, 255, 0.18);
}

.nav-item {
    font-size: 0.97rem;
    padding-bottom: 0.35rem;
    width: 100%;
}

.nav-item:first-of-type {
    padding-top: 1rem !important;
}

.nav-item .nav-link {
    color: rgba(255, 255, 255, 0.88) !important;
    background: none;
    border: none;
    border-radius: 14px;
    min-height: 3rem;
    display: flex;
    align-items: center;
    line-height: 1.2;
    width: 100%;
    padding: 0.9rem 1rem;
    transition: all 0.18s ease;
    text-decoration: none !important;
}

.nav-item a.active {
    background-color: rgba(255, 255, 255, 0.16) !important;
    color: white !important;
}

.nav-item .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
    transform: translateX(2px);
}

.nav-scrollable {
    display: none;
    box-sizing: border-box;
    max-width: calc(100vw - 1rem);
    overflow-x: hidden;
    padding: 0 0.75rem 1rem;
}

.navbar-toggler:checked ~ .nav-scrollable {
    display: block;
}

body:has(#nav-toggle-checkbox:checked) {
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
}

.detail-page,
.detail-page .container,
.detail-layout,
.detail-hero {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.detail-layout > main,
.contact-panel,
.detail-gallery,
.detail-heading,
.detail-section {
    max-width: 100%;
    min-width: 0;
}

.detail-heading h1,
.detail-price,
.detail-description {
    overflow-wrap: anywhere;
}

.bi-nav-menu {
    display: inline-block;
    position: relative;
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Icons */
.bi-house-door-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E"); }
.bi-grid-3x3-gap-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 2a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm5.5 0a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H7.5a1 1 0 0 1-1-1V2ZM12 2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V2ZM1 7.5a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7.5Zm5.5 0a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H7.5a1 1 0 0 1-1-1V7.5ZM12 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V7.5ZM1 13a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1Zm5.5 0a1 1 0 0 1 1-1h2.5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H7.5a1 1 0 0 1-1-1v-1ZM12 13a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1Z'/%3E%3C/svg%3E"); }
.bi-plus-square-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E"); }
.bi-person-badge-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM0 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4.5A1.5 1.5 0 0 1 10.5 14h-9A1.5 1.5 0 0 1 0 12.5V8Zm13.5 1a.5.5 0 0 1 .5.5V10h.5a.5.5 0 0 1 0 1H14v.5a.5.5 0 0 1-1 0V11h-.5a.5.5 0 0 1 0-1H13v-.5a.5.5 0 0 1 .5-.5Z'/%3E%3C/svg%3E"); }
.bi-box-arrow-in-right-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h6A1.5 1.5 0 0 1 14 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-6a.5.5 0 0 1 0-1h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 1-.5-.5Z'/%3E%3Cpath fill-rule='evenodd' d='M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H9.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3Z'/%3E%3C/svg%3E"); }
.bi-person-plus-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.5-3a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5Z'/%3E%3C/svg%3E"); }
.bi-box-arrow-right-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10 3.5a.5.5 0 0 0-.5-.5h-6A1.5 1.5 0 0 0 2 4.5v7A1.5 1.5 0 0 0 3.5 13h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h6a.5.5 0 0 0 .5-.5Z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L14.293 7.5H6.5a.5.5 0 0 0 0 1h7.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3Z'/%3E%3C/svg%3E"); }
.bi-flag-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.4 12.4 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A20 20 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477A20 20 0 0 0 14.778.085'/%3E%3C/svg%3E"); }
/* New Icons */
.bi-shield-lock-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z'/%3E%3C/svg%3E"); }
.bi-stack-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.598.598 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.598.598 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.598.598 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535L7.733.063z'/%3E%3Cpath d='m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.598.598 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.659z'/%3E%3C/svg%3E"); }
.bi-people-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7Zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216ZM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E"); }
.bi-image-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3.001 0 1.5 1.5 0 0 0 3 0z'/%3E%3C/svg%3E"); }
.bi-file-earmark-text-fill-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0ZM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1ZM4.5 9a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Z'/%3E%3C/svg%3E"); }

@media (min-width: 641px) {
    .navbar-toggler {
        display: none !important;
    }

    .nav-scrollable {
        display: block !important;
        height: calc(100vh - 4.5rem);
        overflow-y: auto !important;
    }
}
