/* Global discovery navigation, catalog controls, and readable list cards. */
.global-site-header {
    gap: 16px;
}


.global-site-header .public-nav {
    display: none;
}

.global-site-header .site-linx-trigger {
    order: 1;
    flex: none;
    margin: 0;
}

.global-site-header .nav-search-container,
.global-site-header .global-location-container {
    order: 2;
    flex: 1 1 420px;
    width: min(620px, 45vw);
    max-width: 620px;
    margin: 0 auto;
}

.global-site-header .public-actions {
    order: 3;
    flex: none;
}

.global-location-form,
.global-location-trigger {
    width: 100%;
}

.global-location-trigger {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid var(--line);
    background: #fff;
    padding: 0 13px 0 16px;
    color: var(--muted);
    text-align: left;
    box-shadow: 0 7px 22px rgba(47, 27, 64, .06);
    cursor: pointer;
}

.global-location-trigger > svg {
    width: 18px;
    color: var(--purple-2);
    flex: none;
}

.global-location-trigger > span {
    flex: 1;
    font-size: 13px;
}

.global-location-trigger .global-location-arrow {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    margin-left: auto;
    background: var(--purple);
    color: #fff;
}

.global-location-trigger .global-location-arrow svg {
    width: 16px;
}

.global-location-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    visibility: hidden;
    pointer-events: none;
}

.global-location-overlay.is-open {
    visibility: visible;
    pointer-events: auto;
}

.global-location-overlay__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(23, 13, 31, .56);
    opacity: 0;
    transition: opacity .2s ease;
}

.global-location-overlay.is-open .global-location-overlay__backdrop {
    opacity: 1;
}

.global-location-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(23, 13, 31, .56);
    opacity: 0;
    transition: opacity .2s ease;
    cursor: pointer;
}

.global-location-overlay.is-open .global-location-backdrop { opacity: 1; }

.global-location-panel {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(690px, calc(100% - 34px));
    max-height: calc(100% - 34px);
    overflow: auto;
    padding: 30px;
    background: var(--paper);
    box-shadow: 0 26px 90px rgba(23, 13, 31, .28);
    transform: translate(-50%, -46%) scale(.98);
    transition: transform .2s ease;
}

.global-location-overlay.is-open .global-location-panel { transform: translate(-50%, -50%) scale(1); }

.global-location-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.global-location-heading h2 { margin:2px 0 0; font-family:'Playfair Display',Georgia,serif; font-size:36px; letter-spacing:-.06em; }
.global-location-heading button { border:0; background:transparent; color:var(--purple); cursor:pointer; }
.global-location-panel>p { margin:13px 0; color:var(--muted); font-size:12px; line-height:1.6; }
.global-location-map { height:250px; margin:14px 0; border:1px solid var(--line); background:#e8e3da; }
.global-location-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.global-location-quick { display:grid; gap:10px; margin-top:21px; padding-top:18px; border-top:1px solid var(--line); }
.global-location-quick strong { font-size:12px; }
.global-location-quick>div { display:flex; flex-wrap:wrap; gap:8px; }
.global-location-quick button { border:1px solid var(--line); background:#fff; color:var(--muted); padding:8px 10px; font-size:11px; cursor:pointer; }
.global-location-quick button:hover { border-color:var(--purple); background:var(--purple); color:#fff; }

.global-location-overlay__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(620px, calc(100% - 34px));
    max-height: calc(100% - 34px);
    overflow: auto;
    padding: 30px;
    background: var(--paper);
    box-shadow: 0 26px 90px rgba(23, 13, 31, .28);
    transform: translate(-50%, -46%) scale(.98);
    transition: transform .2s ease;
}

.global-location-overlay.is-open .global-location-overlay__dialog {
    transform: translate(-50%, -50%) scale(1);
}

.global-location-preview-map {
    position: relative;
    height: 205px;
    margin: 14px 0;
    overflow: hidden;
    border: 1px solid var(--line);
    background: linear-gradient(135deg, #dce9e5, #f7eee4 58%, #dfd0ed);
}

.global-location-preview-map::before,
.global-location-preview-map::after {
    content: '';
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(63, 29, 98, .16);
    transform: rotate(-15deg);
}

.global-location-preview-map::after {
    transform: rotate(28deg) scale(.75);
}

.global-location-preview-map span {
    position: absolute;
    z-index: 1;
    padding: 6px 9px;
    background: var(--purple);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.global-location-preview-map span:nth-child(1) { top: 26%; left: 20%; }
.global-location-preview-map span:nth-child(2) { top: 48%; left: 53%; }
.global-location-preview-map span:nth-child(3) { top: 70%; left: 35%; }

.global-location-levels,
.global-location-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.global-location-levels {
    margin: 0 0 12px;
}

.global-location-levels button,
.global-location-options button {
    border: 1px solid var(--line);
    background: #fff;
    color: var(--muted);
    padding: 8px 10px;
    font-size: 11px;
    cursor: pointer;
}

.global-location-levels button.is-active,
.global-location-levels button:hover,
.global-location-options button:hover {
    border-color: var(--purple);
    background: var(--purple);
    color: #fff;
}

.houses-directory-tools,
.house-directory-results {
    max-width: 1440px;
    margin: 0 auto;
    padding-right: clamp(24px, 7vw, 110px);
    padding-left: clamp(24px, 7vw, 110px);
}

.houses-directory-tools {
    padding-bottom: 0;
}

.house-directory-search {
    display: flex;
    gap: 10px;
    max-width: 840px;
}

.house-directory-search .catalog-search-input {
    flex: 1;
}

.house-specialization-filters {
    margin-top: 34px;
    padding: 29px 0 28px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.house-filter-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 17px;
}

.house-filter-heading h2 {
    margin: 0;
    font-size: clamp(25px, 3vw, 38px);
    letter-spacing: -.05em;
}

.house-filter-heading .kicker { margin-bottom: 7px; }
.house-filter-heading > span { color: var(--muted); font-size: 11px; }

.house-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.house-filter-option {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 39px;
    padding: 7px 12px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--muted);
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
}

.house-filter-option input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--purple);
}

.house-filter-option.is-active {
    border-color: var(--purple);
    background: #f1eaf4;
    color: var(--purple);
}

.house-filter-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 18px;
}

.house-directory-results {
    padding-top: 42px;
    padding-bottom: 100px;
}

.items-search {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding-bottom: 30px !important;
}

.items-search .catalog-search {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    gap: 10px;
}

.items-search .catalog-search-input {
    min-width: 0;
}

.search-sort-control select {
    height: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    padding: 0 28px 0 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.items-search .items-view-actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
}

.price-range-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.price-range-options legend {
    padding: 0 0 9px !important;
    color: var(--ink) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.advanced-fields .price-range-options > label {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    min-height: 31px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ink) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.advanced-fields .price-range-options > label > input[type='checkbox'] {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    margin: 0 !important;
    accent-color: var(--purple) !important;
}

.advanced-fields .price-range-options > label > span {
    display: block !important;
}

.items-result-toolbar {
    position: relative;
    z-index: 1;
    margin-top: -13px !important;
    margin-bottom: 19px !important;
}

.items-body .product-grid.is-list {
    gap: 12px;
}

.items-body .product-grid.is-list .product-card {
    border: 1px solid var(--line);
    background: #fff;
}

.items-body .product-grid.is-list .product-image {
    display: flex !important;
    align-items: stretch;
    min-height: 132px;
    height: 132px;
    aspect-ratio: auto !important;
    overflow: hidden;
}

.items-body .product-grid.is-list .product-image::after {
    display: none;
}

.items-body .product-grid.is-list .product-image img {
    width: 132px !important;
    min-width: 132px;
    height: 132px !important;
    object-fit: cover;
}

.items-body .product-grid.is-list .product-overlay {
    position: static !important;
    display: flex !important;
    flex: 1;
    align-items: center !important;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px 18px 22px;
    color: var(--ink) !important;
}

.items-body .product-grid.is-list .product-overlay-copy {
    min-width: 0;
}

.items-body .product-grid.is-list .product-overlay-title {
    display: flex !important;
    flex-wrap: wrap;
    gap: 5px 8px;
}

.items-body .product-grid.is-list .product-overlay-title strong,
.items-body .product-grid.is-list .product-overlay-title small,
.items-body .product-grid.is-list .product-overlay-house,
.items-body .product-grid.is-list .product-overlay-price {
    color: var(--ink) !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

.items-body .product-grid.is-list .product-overlay-title small,
.items-body .product-grid.is-list .product-overlay-house {
    color: var(--muted) !important;
}

.items-body .product-grid.is-list .product-overlay-price {
    flex: none;
    color: var(--purple) !important;
    white-space: nowrap;
}

.items-body .product-grid:not(.is-list) .product-overlay-title strong,
.items-body .product-grid:not(.is-list) .product-overlay-title small,
.items-body .product-grid:not(.is-list) .product-overlay-house,
.items-body .product-grid:not(.is-list) .product-overlay-price {
    font-size: 18px !important;
    line-height: 1.3 !important;
}

.customer-avatar-button {
    width: 51px !important;
    height: 51px !important;
}

.customer-avatar-button span {
    font-size: 12px !important;
}

@media (max-width: 1040px) {
    .global-site-header .brand-lockup { display: none; }
    .global-site-header .nav-search-container,
    .global-site-header .global-location-container { width: min(590px, 52vw); }
    .items-search { align-items: stretch; flex-wrap: wrap; }
    .items-search .catalog-search { min-width: min(100%, 580px); }
}

@media (max-width: 700px) {
    .global-site-header { min-height: 74px; gap: 10px; flex-wrap: nowrap; }
    .global-site-header .site-linx-trigger span { display: none; }
    .global-site-header .nav-search-container,
    .global-site-header .global-location-container { flex: 1; width: auto; min-width: 0; }
    .global-site-header .nav-search { min-height: 42px; }
    .global-site-header .nav-search input,
    .global-location-trigger > span { font-size: 11px; }
    .global-site-header .currency-picker { display: none; }
    .global-site-header .public-actions .button { display: none; }
    .global-site-header .public-actions .icon-button { display: grid; }
    .house-directory-search,
    .items-search .catalog-search { display: grid; grid-template-columns: 1fr; }
    .items-search .items-view-actions { width: 100%; flex-wrap: wrap; }
    .house-filter-heading { align-items: start; flex-direction: column; }
    .house-filter-actions { justify-content: space-between; }
    .items-body .product-grid.is-list .product-image { min-height: 110px; height: 110px; }
    .items-body .product-grid.is-list .product-image img { width: 110px !important; min-width: 110px; height: 110px !important; }
    .items-body .product-grid.is-list .product-overlay { padding: 13px; gap: 10px; }
    .items-body .product-grid.is-list .product-overlay-title strong,
    .items-body .product-grid.is-list .product-overlay-title small,
    .items-body .product-grid.is-list .product-overlay-house,
    .items-body .product-grid.is-list .product-overlay-price { font-size: 18px !important; }
}

/* Keep the injected location picker visually aligned with marketplace. */
.global-location-trigger{min-height:43px;padding:0 9px 0 14px;box-shadow:0 7px 22px rgba(47,27,64,.06)}
.global-location-trigger > svg{width:16px}
.global-location-trigger .global-location-arrow{width:30px;height:30px}
.global-location-panel{width:min(600px,calc(100% - 34px));padding:32px}
.global-location-panel > p{margin:-12px 0 24px;font-size:12px;line-height:1.55}
.global-location-map{height:210px;margin:14px 0 18px}
.global-location-panel .global-location-actions{margin-top:12px}
.global-location-panel .global-location-quick{margin-top:18px}
.global-location-panel .global-location-quick button{font-size:10px}
.global-location-panel .location-clear{margin-top:16px}
@media(max-width:650px){.global-location-panel{padding:24px 20px}.global-location-map{height:170px}}

/* Shared public-nav order and compact location/currency treatment. */
.public-header{--public-nav-control-gap:12px;justify-content:flex-start;gap:var(--public-nav-control-gap)}
.public-header > .brand-lockup{flex:none}
.public-header > .nav-search-container,
.public-header > .global-location-container{order:1;flex:0 1 auto;width:auto;max-width:none;margin:0}
.public-header > .site-linx-trigger{order:2;flex:none;margin:0}
.public-header > .public-actions{order:3;flex:none;margin:0;gap:var(--public-nav-control-gap)}
.public-header:has(> .brand-lockup) > .nav-search-container,
.public-header:has(> .brand-lockup) > .global-location-container{margin-left:auto}
.nav-search,
.global-location-trigger{width:auto;min-height:38px;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;color:var(--ink);box-shadow:none;text-align:left}
.nav-search > svg,
.global-location-trigger > svg{width:15px;height:15px;color:var(--ink);flex:none}
.nav-search > span:not(.sr-only),
.global-location-trigger > span:not(.global-location-arrow){flex:none;max-width:220px;color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap}
.nav-search .nav-search-arrow,
.global-location-trigger .global-location-arrow{width:auto;height:auto;display:inline-grid;flex:none;margin-left:0;background:transparent;color:var(--ink);font-size:inherit}
.nav-search .nav-search-arrow svg,
.global-location-trigger .global-location-arrow svg{width:15px;height:15px}
.public-actions > .icon-button[href="#bag"]{width:30px;height:38px;border:0;border-radius:0;background:transparent;box-shadow:none}
.public-actions > .icon-button[href="#bag"] svg{width:20px;height:20px}
@media(max-width:700px){
    .public-header:has(> .brand-lockup) > .nav-search-container,
    .public-header:has(> .brand-lockup) > .global-location-container{margin-left:0}
    .public-header > .nav-search-container,
    .public-header > .global-location-container{flex:1 1 auto;min-width:0}
    .nav-search > span:not(.sr-only),
    .global-location-trigger > span:not(.global-location-arrow){max-width:180px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:650px){
    .public-header{height:70px;min-height:70px;flex-wrap:nowrap;overflow:hidden}
    .public-header > .brand-lockup{display:none}
    .public-header > .nav-search-container,
    .public-header > .global-location-container{flex:1 1 auto;min-width:0}
    .public-header .currency-picker{display:flex}
    .public-header .public-actions .icon-button{display:grid}
    .public-header .public-actions .button{display:none}
    .public-header > .public-actions{flex:none}
}
