/* Catalog and campaign chrome only; posting and property dialogs retain their styles. */
:is(.catalog-page, .campaign-page) { --ui-ink: #202522; --ui-muted: #606962; --ui-line: #e0e5e1; letter-spacing: 0; }
:is(.catalog-page, .campaign-page) .navbar { background: white; color: var(--ui-ink); border-bottom: 1px solid var(--ui-line); }
:is(.catalog-page, .campaign-page) .nav-container { max-width: 1200px; min-height: 68px; padding: 0 24px; gap: 26px; flex-direction: row; flex-wrap: nowrap; }
:is(.catalog-page, .campaign-page) .brand { color: var(--ui-ink); font-size: 22px; gap: 8px; flex-shrink: 0; }
:is(.catalog-page, .campaign-page) .logo-img { width: 31px; height: 31px; object-fit: contain; }
.catalog-page .nav-links { align-self: stretch; align-items: stretch; gap: 24px; margin-right: auto; }
.catalog-page .nav-item { display: flex; align-items: center; padding: 3px 0 0; font-size: 14px; color: #5a625d; white-space: nowrap; border-bottom-width: 3px; }
.catalog-page .nav-item.active, .catalog-page .nav-item:hover { color: var(--ui-ink); border-bottom-color: var(--gold-500); }
:is(.catalog-page, .campaign-page) .footer { background: white; border-top: 1px solid var(--ui-line); padding: 22px 24px; color: var(--ui-muted); }
:is(.catalog-page, .campaign-page) .footer-container { max-width: 1152px; margin: auto; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
:is(.catalog-page, .campaign-page) .footer-links { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; }
:is(.catalog-page, .campaign-page) .footer-links a { color: var(--ui-muted); font-size: 12px; }
:is(.catalog-page, .campaign-page) .footer-info { font-size: 11px; margin: 0; }
.catalog-page .footer-socials { margin: 0 !important; gap: 12px !important; }
.catalog-page .social-btn { width: 32px; height: 32px; border: 0; border-radius: 4px; background: transparent; color: var(--ui-muted); }
.catalog-page { background: #f5f7f5; }
.catalog-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.post-menu { position: relative; margin-left: auto; }
.post-menu summary { list-style: none; display: flex; align-items: center; gap: 7px; min-height: 40px; border-radius: 6px; padding: 8px 13px; white-space: nowrap; }
.post-menu summary::-webkit-details-marker { display: none; }
.post-menu svg, .ui-command svg, .icon-command svg, .catalog-whatsapp svg { width: 16px; height: 16px; flex-shrink: 0; }
.post-menu-options { position: absolute; z-index: 2; top: calc(100% + 8px); right: 0; width: 232px; padding: 6px; background: white; border: 1px solid var(--ui-line); border-radius: 8px; box-shadow: 0 8px 26px #17291e1c; }
.post-menu-options button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 43px; padding: 10px; background: white; color: var(--ui-ink); border: 0; border-radius: 4px; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.post-menu-options button:hover { background: #f5f7f5; }
.catalog-page .hero-section { background: transparent; border: 0; padding: 26px 24px 0; }
.catalog-page .hero-content { max-width: 1152px; }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.catalog-heading h1 { font-size: 25px; line-height: 1.25; color: var(--ui-ink); }
.catalog-heading p { font-size: 13px; color: var(--ui-muted); margin-top: 5px; }
.catalog-whatsapp { display: flex; align-items: center; gap: 6px; color: #147149; font-size: 13px; font-weight: 600; text-decoration: none; }
.catalog-whatsapp[hidden] { display: none; }
#filter-home .filter-bar { display: grid; grid-template-columns: repeat(var(--filter-columns, 6), minmax(0, 1fr)); gap: 10px; padding: 13px 0 17px; border: 0; border-bottom: 1px solid #d9e0da; border-radius: 0; background: transparent; box-shadow: none; }
#filter-home .filter-bar:has(#btn-clear-filters) { grid-template-columns: repeat(var(--filter-columns, 6), minmax(0, 1fr)) 39px; }
.catalog-filter { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.catalog-filter > span { font-size: 12px; color: #4f5952; font-weight: 600; }
.catalog-filter select, .catalog-filter input, #mobile-location { width: 100%; min-width: 0; min-height: 39px; border: 1px solid #cfd7d0; border-radius: 5px; padding: 8px; background: white; color: var(--ui-ink); font: inherit; font-size: 13px; }
.catalog-page .btn-clear-filters { align-self: end; margin: 0; width: 39px; height: 39px; border: 1px solid var(--ui-line); border-radius: 5px; padding: 8px; display: grid; place-items: center; }
.catalog-page .btn-clear-filters svg { width: 16px; height: 16px; }
.mobile-filter-bar { display: none; }
.catalog-page .main-content { max-width: 1200px; padding: 0 24px; margin: 18px auto 30px; }
.catalog-page .content-header { gap: 12px; margin-bottom: 14px; min-height: 34px; }
.catalog-page .results-count { font-size: 13px; color: var(--ui-muted); }
.catalog-tools { display: flex; align-items: center; gap: 10px; min-width: 0; }
.reference-search { display: flex; align-items: center; height: 34px; background: white; border: 1px solid var(--ui-line); border-radius: 5px; overflow: hidden; }
.reference-search input { width: 132px; min-width: 0; font: inherit; font-size: 12px; padding: 5px 8px; border: 0; background: white; }
.icon-command { display: inline-grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; padding: 0; color: var(--ui-ink); border: 1px solid var(--ui-line); border-radius: 5px; background: white; cursor: pointer; }
.reference-search .icon-command { border: 0; border-radius: 0; }
#catalog-sort { max-width: 146px; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 13px; padding: 8px 0; color: #515b54; }
.ui-command { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-height: 40px; padding: 8px 13px; border: 1px solid #d1d8d2; border-radius: 6px; background: white; color: var(--ui-ink); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.catalog-page #main-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.catalog-page #main-grid .card { width: 100%; min-width: 0; padding: 0; background: white; color: var(--ui-ink); border: 1px solid #dde3de; border-radius: 7px; text-align: left; font: inherit; box-shadow: none; }
.catalog-page #main-grid .card:hover { transform: none; border-color: #b7c3ba; box-shadow: 0 3px 12px #12271a0e; }
.catalog-page #main-grid .card-img-wrapper { height: 136px; flex-shrink: 0; background: #e9eeea; overflow: hidden; }
.catalog-page #main-grid .card-img { display: block; height: 100%; width: 100%; object-fit: cover; border-radius: 0; }
.catalog-page #main-grid .card-img-placeholder { height: 100%; border-radius: 0; display: flex; flex-direction: column; justify-content: center; gap: 7px; background: #e9eeea; color: #68786c; font-size: 12px; }
.catalog-page #main-grid .card-img-placeholder svg { width: 29px; height: 29px; }
.catalog-page #main-grid .card-img-placeholder[hidden] { display: none; }
.card-label { position: absolute; top: 9px; left: 9px; padding: 3px 7px; border-radius: 3px; background: white; color: #354238; font-size: 10px; font-weight: 700; }
.card-label.for-sale { background: #e9f7ef; color: #126338; }
.card-label.listed-by { left: auto; right: 9px; background: #f1f5fc; color: #395775; }
.catalog-page #main-grid .card-body { display: flex; flex-direction: column; flex: 1; padding: 11px 12px 9px; min-width: 0; }
.catalog-page #main-grid .card-price { font-size: 18px; line-height: 1.3; font-weight: 700; margin-bottom: 5px; overflow-wrap: anywhere; }
.card-price small { font-size: 11px; color: var(--ui-muted); font-weight: 400; margin-left: 3px; white-space: nowrap; }
.catalog-page #main-grid .card-title { font-size: 14px; line-height: 1.35; font-weight: 600; margin: 0 0 4px; overflow-wrap: anywhere; }
.catalog-page #main-grid .card-location { display: flex; align-items: flex-start; gap: 4px; font-size: 12px; line-height: 1.45; color: var(--ui-muted); margin: 0; min-width: 0; }
.card-location span { overflow-wrap: anywhere; }
.catalog-page #main-grid .card-location svg { width: 13px; height: 14px; margin-top: 1px; flex-shrink: 0; }
.catalog-page #main-grid .card-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 12px; color: #58635b; margin: 9px 0; }
.catalog-page #main-grid .card-meta span { display: inline-flex; align-items: center; gap: 5px; overflow-wrap: anywhere; }
.catalog-page #main-grid .card-meta svg { width: 14px; height: 14px; flex-shrink: 0; }
.card-foot { display: flex; justify-content: space-between; gap: 8px; align-items: center; border-top: 1px solid #edf0ed; padding-top: 8px; margin-top: auto; font-size: 11px; color: #69766d; }
.card-foot svg { width: 14px; height: 14px; }
.catalog-page #main-grid .wanted-card { position: relative; }
.catalog-page #main-grid .wanted-card-body { display: grid; grid-template-rows: 40px 36px minmax(72px, auto) minmax(30px, 1fr) 24px 39px; gap: 4px; height: 318px; min-height: 318px; padding: 14px 12px 12px; }
.catalog-page #main-grid .wanted-header { display: block; padding: 0 48px 0 0; margin: 0; }
.catalog-page #main-grid .wanted-title { min-height: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.catalog-page #main-grid .wanted-badges { position: absolute; top: 12px; right: 12px; }
.catalog-page #main-grid .wanted-badges span { display: inline-block; padding: 3px 6px; font-size: 9px; color: #705a00; background: #fff6cb; border-radius: 3px; font-weight: 700; }
.catalog-page #main-grid .wanted-location { min-height: 0; margin: 0; }
.catalog-page #main-grid .wanted-location span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.catalog-page #main-grid .wanted-budget-box { border-top: 1px solid #edf0ed; border-bottom: 1px solid #edf0ed; background: transparent; border-radius: 0; padding: 8px 0; margin: 0; min-height: 0; }
.catalog-page #main-grid .wanted-budget-label { color: var(--ui-muted); font-size: 10px; letter-spacing: 0; margin: 0; }
.catalog-page #main-grid .wanted-budget-amount { color: var(--ui-ink); font-size: 15px; line-height: 1.4; font-weight: 700; margin-top: 5px; overflow-wrap: anywhere; }
.catalog-page #main-grid .wanted-needs { display: grid; grid-template-columns: 13px minmax(0, 1fr); gap: 6px; font-size: 11px; margin: 0; color: var(--ui-muted); }
.catalog-page #main-grid .wanted-needs svg { width: 13px; height: 13px; flex-shrink: 0; }
.catalog-page #main-grid .wanted-posted { margin: 0; padding: 5px 0 0; letter-spacing: 0; text-transform: none; font-size: 10px; color: #69766d; display: flex; justify-content: space-between; gap: 8px; }
.catalog-page #main-grid .wanted-btn { min-height: 39px; border-radius: 5px; font-size: 11px; padding: 7px 5px; margin: 0; white-space: normal; }
.catalog-page #main-grid .wanted-needs span:first-of-type { display: none; }
.catalog-status { grid-column: 1 / -1; text-align: center; padding: 48px 12px; font-size: 14px; color: var(--ui-muted); }
.catalog-page #seo-content { font-size: 13px; }
.catalog-page #seo-content h2 { font-size: 18px !important; line-height: 1.4; }
.catalog-page #seo-content h3 { font-size: 15px !important; }
.catalog-page #seo-text-fade { background: linear-gradient(to bottom, #f5f7f500, #f5f7f5) !important; }
.catalog-page #btn-seo-expand { border-radius: 5px !important; font-size: 12px !important; }
.catalog-page .pagination-container { margin-top: 24px; flex-wrap: wrap; }
#catalog-filter-dialog { width: min(430px, calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: 20px; background: white; border: 1px solid var(--ui-line); border-radius: 8px; color: var(--ui-ink); overflow-y: auto; }
#catalog-filter-dialog::backdrop { background: #15231970; }
.filter-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.filter-dialog-heading h2 { font-size: 20px; }
#catalog-filter-dialog .filter-bar, #catalog-filter-dialog .filter-bar:has(#btn-clear-filters) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px 10px; border: 0; padding: 0 0 16px; background: transparent; box-shadow: none; }
#catalog-filter-dialog #btn-clear-filters { grid-column: 1 / -1; width: 100%; height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--ui-line); border-radius: 6px; background: #f7f9f7; color: var(--ui-ink); font-size: 13px; font-weight: 600; cursor: pointer; margin-top: 4px; }
#catalog-filter-dialog #btn-clear-filters::after { content: "Clear Filters"; }
#btn-show-results { width: 100%; min-height: 42px; }
.catalog-page :is(.nav-item, summary, .ui-command, .icon-command, .catalog-filter select, .catalog-filter input, #main-grid .card, #catalog-sort):focus-visible { outline: 2px solid #947700; outline-offset: 3px; }
@media (max-width: 1129px) {
    .catalog-page #main-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    #filter-home .filter-bar, #filter-home .filter-bar:has(#btn-clear-filters) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
    :is(.catalog-page, .campaign-page) .nav-container { gap: 16px; }
    .catalog-page .nav-links { gap: 16px; }
    .catalog-page #main-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    :is(.catalog-page, .campaign-page) .nav-container { padding: 0 16px; min-height: 62px; }
    .catalog-page .nav-container { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; }
    :is(.catalog-page, .campaign-page) .brand { font-size: 21px; }
    .catalog-page .nav-links { grid-row: 2; grid-column: 1 / -1; display: flex; flex-direction: row; justify-content: space-between; margin: 0; width: 100%; gap: 12px; }
    .catalog-page .nav-item { font-size: 12px; min-height: 42px; padding: 3px 0 0; }
    .post-menu { grid-row: 1; grid-column: 2; margin: 11px 0; }
    .post-menu summary { min-height: 36px; font-size: 12px; padding: 7px 10px; }
    .post-menu summary > svg:first-child { display: none; }
    .catalog-page .hero-section { padding: 20px 16px 0; }
    .catalog-heading { align-items: flex-start; gap: 10px; flex-direction: column; margin-bottom: 16px; }
    .catalog-heading h1 { font-size: 23px; }
    .catalog-heading p, .catalog-whatsapp { font-size: 12px; }
    #filter-home { display: none; }
    .mobile-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--ui-line); }
    #filter-count { font-size: 11px; }
    .catalog-page .main-content { padding: 0 16px; margin-top: 12px; }
    .catalog-page #main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .catalog-page #main-grid .card-img-wrapper { height: 111px; }
    .catalog-page #main-grid .card-body { padding: 10px 10px 8px; }
    .catalog-page #main-grid .card-price { font-size: 16px; }
    .catalog-page #main-grid .card-title { font-size: 13px; }
    .catalog-page #main-grid .card-location, .catalog-page #main-grid .card-meta { font-size: 11px; }
    .card-label { top: 7px; left: 7px; font-size: 9px; padding: 2px 5px; }
    .card-label.listed-by { right: 7px; }
    .catalog-page #main-grid .wanted-card-body { grid-template-rows: 40px 48px minmax(86px, auto) minmax(32px, 1fr) 24px 40px; height: 346px; min-height: 346px; padding: 12px 10px 10px; }
    .catalog-page #main-grid .wanted-location span { -webkit-line-clamp: 3; }
    .catalog-page #main-grid .wanted-budget-amount { font-size: 14px; }
    .catalog-page #main-grid .wanted-btn { font-size: 11px; line-height: 1.25; padding: 5px 4px; }
    .catalog-page .results-count { font-size: 11px; }
    .catalog-page[data-catalog="houses"] .results-count { flex: initial; font-size: 11px; text-align: left; }
    .catalog-tools { gap: 7px; }
    #catalog-sort { max-width: 130px; font-size: 11px; }
    .reference-search input { display: none; }
    .reference-search.expanded { position: absolute; right: 0; left: 0; z-index: 2; }
    .reference-search.expanded input { display: block; flex: 1; width: auto; }
    .catalog-page .content-header { position: relative; }
    :is(.catalog-page, .campaign-page) .footer-container { justify-content: center; text-align: center; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .catalog-page .navbar, .catalog-page #main-grid .card { transition: none; } }

/* ==========================================================================
   Google Auth & User Account Hub Styles
   ========================================================================== */

.nav-right-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.auth-header-actions {
    display: flex;
    align-items: center;
}

.btn-google-signin {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #d1d8d2;
    border-radius: 6px;
    background: #ffffff;
    color: #202522;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.btn-google-signin:hover {
    background: #f7f9f7;
    border-color: #b8c4ba;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.btn-google-signin .google-icon {
    flex-shrink: 0;
}

.user-menu-dropdown {
    position: relative;
}
.user-profile-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 4px 10px 4px 4px;
    border: 1px solid #d1d8d2;
    border-radius: 20px;
    background: #ffffff;
    color: #202522;
    cursor: pointer;
    transition: all 0.2s ease;
}
.user-profile-btn:hover {
    background: #f7f9f7;
    border-color: #b8c4ba;
}
.user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}
.user-name-label {
    font-size: 13px;
    font-weight: 600;
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dropdown-arrow {
    width: 14px;
    height: 14px;
    color: #606962;
}
.user-dropdown-card {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 290px;
    background: #ffffff;
    border: 1px solid #e0e5e1;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    padding: 16px;
    display: none;
    z-index: 100;
    animation: fadeIn 0.15s ease-out;
}
.user-dropdown-card.show {
    display: block;
}
.user-info-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f3f0;
}
.dropdown-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
}
.dropdown-user-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.dropdown-name {
    font-size: 14px;
    font-weight: 700;
    color: #202522;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dropdown-email, .dropdown-phone {
    font-size: 11px;
    color: #606962;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.user-balances-section {
    padding: 12px 0;
    border-bottom: 1px solid #f0f3f0;
}
.balance-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: #8c968e;
    margin-bottom: 8px;
}
.balance-chips-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
.balance-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f7f9f7;
    border: 1px solid #e2e8e3;
    padding: 6px 8px;
    border-radius: 6px;
    font-size: 12px;
}
.balance-chip svg {
    width: 14px;
    height: 14px;
    color: #147149;
    flex-shrink: 0;
}
.balance-chip .chip-label {
    color: #606962;
    font-size: 11px;
}
.balance-chip strong {
    margin-left: auto;
    color: #202522;
}
.user-actions-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 10px;
}
.user-action-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    background: transparent;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #202522;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}
.user-action-item:hover {
    background: #f5f7f5;
}
.user-action-item svg {
    width: 16px;
    height: 16px;
    color: #606962;
}
.user-signout-btn {
    color: #c5221f;
}
.user-signout-btn svg {
    color: #c5221f;
}

/* Toast Notifications */
.toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}
.toast-item {
    background: #202522;
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    pointer-events: auto;
    animation: slideUpFade 0.25s ease-out;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.toast-item.toast-success {
    background: #147149;
}
.toast-item.toast-error {
    background: #c5221f;
}
.toast-item.fade-out {
    opacity: 0;
    transform: translateY(10px);
}
@keyframes slideUpFade {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Auth & Contact Gate & Fullscreen Modal Overlays */
.auth-modal-overlay,
.my-listings-modal-overlay,
#contact-gate-modal,
.modal.modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.65) !important;
    align-items: center;
    justify-content: center;
    z-index: 2500 !important;
    padding: 1rem !important;
}

/* Auth Modal Box */
.auth-modal-box {
    max-width: 440px !important;
    padding: 28px 24px !important;
    border-radius: 12px !important;
}
.auth-modal-header {
    text-align: center;
    margin-bottom: 20px;
}
.auth-icon-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #eef7f2;
    color: #147149;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
.auth-icon-circle svg {
    width: 26px;
    height: 26px;
}
.auth-modal-header h3 {
    font-size: 19px;
    color: #202522;
    margin-bottom: 6px;
}
.auth-modal-header p {
    font-size: 13px;
    color: #606962;
    line-height: 1.45;
}
.input-with-prefix {
    display: flex;
    align-items: center;
    border: 1px solid #cfd7d0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
.input-with-prefix .phone-prefix {
    background: #f5f7f5;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #4f5952;
    border-right: 1px solid #cfd7d0;
}
.input-with-prefix input {
    border: none !important;
    border-radius: 0 !important;
    flex: 1;
    padding: 10px 12px;
    font-size: 15px;
    font-weight: 500;
    outline: none;
}
.field-hint {
    font-size: 11px;
    color: #8c968e;
    margin-top: 4px;
    display: block;
}
.otp-sent-notice {
    background: #f7f9f7;
    border: 1px solid #e0e5e1;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 13px;
    color: #4f5952;
    margin-bottom: 16px;
    text-align: center;
}
.auth-form-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}
.auth-form-actions button {
    flex: 1;
}

/* My Listings Modal */
.my-listings-modal-box {
    max-width: 650px !important;
    padding: 24px !important;
}
.modal-title-with-icon {
    display: flex;
    align-items: center;
    gap: 10px;
}
.modal-title-with-icon h2 {
    font-size: 18px;
    margin: 0;
}
.modal-title-with-icon svg {
    width: 22px;
    height: 22px;
    color: #147149;
}
.my-listings-tabs {
    display: flex;
    gap: 8px;
    border-bottom: 1px solid #e0e5e1;
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.my-listings-tab {
    background: transparent;
    border: none;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #606962;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
}
.my-listings-tab.active {
    background: #eef7f2;
    color: #147149;
}
.my-listings-list {
    max-height: 400px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.my-listing-card {
    border: 1px solid #e0e5e1;
    border-radius: 8px;
    padding: 12px 14px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.my-listing-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
.my-listing-title {
    font-size: 14px;
    font-weight: 700;
    color: #202522;
}
.my-listing-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}
.my-listing-badge.status-active {
    background: #e6f4ea;
    color: #137333;
}
.my-listing-badge.status-pending {
    background: #fef7e0;
    color: #b06000;
}
.my-listing-badge.status-review {
    background: #e8f0fe;
    color: #1a73e8;
}
.my-listing-badge.status-inactive {
    background: #f1f5f9;
    color: #64748b;
}
.my-listing-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.btn-listing-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.btn-listing-action:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.btn-listing-deactivate {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}
.btn-listing-deactivate:hover:not(:disabled) {
    background: #fee2e2;
}
.btn-listing-activate {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}
.btn-listing-activate:hover:not(:disabled) {
    background: #dcfce7;
}

@media (max-width: 540px) {
    .my-listing-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .my-listing-actions {
        width: 100%;
        justify-content: flex-end;
        padding-top: 8px;
        border-top: 1px dashed #e2e8f0;
    }
}
.my-listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #606962;
}
.my-listing-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.my-listing-meta svg {
    width: 13px;
    height: 13px;
}
.empty-state {
    text-align: center;
    padding: 36px 16px;
    color: #606962;
    font-size: 13px;
}

@media (max-width: 700px) {
    .nav-right-actions {
        grid-row: 1;
        grid-column: 2;
        margin: 11px 0;
        gap: 6px;
    }
    .user-name-label {
        display: none;
    }
    .btn-google-signin span {
        display: none;
    }
    .btn-google-signin {
        padding: 8px 10px;
        min-height: 36px;
    }
    .user-profile-btn {
        padding: 3px;
        min-height: 36px;
    }
    .user-avatar {
        width: 28px;
        height: 28px;
    }
    .user-dropdown-card {
        right: -10px;
        width: 270px;
    }
}

/* Subscription Packages & Active Passes */
.contact-gate-modal-box {
    max-width: 440px !important;
}
.packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.package-option-card {
    border: 2px solid var(--gray-200);
    border-radius: 10px;
    padding: 16px 8px 14px;
    text-align: center;
    cursor: pointer;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    user-select: none;
    position: relative;
}
.package-option-card:hover {
    border-color: var(--gold-500);
    box-shadow: 0 2px 8px rgba(245, 197, 24, 0.12);
}
.package-option-card.selected {
    border-color: var(--gold-500);
    background: var(--gold-100);
    box-shadow: 0 0 0 1px var(--gold-500);
}
.package-option-card .pkg-tier-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}
.package-option-card.selected .pkg-tier-label {
    color: var(--black-700);
}
.package-option-card .pkg-price {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--black-900);
    line-height: 1.3;
}
.package-badge-popular {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--black-900);
    color: var(--gold-500);
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.pass-status-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f7f9f7;
    border: 1px solid #e0e5e1;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 12px;
}
.pass-status-pill.active {
    background: #eef7f2;
    border-color: #a7f3d0;
    color: #147149;
}
.pass-status-pill .pass-name {
    font-weight: 600;
}
.pass-status-pill .pass-val {
    font-size: 11px;
}

