/* Shopping UI shared by the English and Spanish inventory pages. */
:root { --font-head:'Archivo',system-ui,sans-serif; --font-body:'Plus Jakarta Sans',system-ui,sans-serif; }
[hidden] { display:none !important; }
body { font-size:16px; }
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible { outline:3px solid #b92129; outline-offset:3px; }
.photo-arrow,.lb-close,.lb-arrow,.modal-close,.btn-share,.btn-call,#search-clear { min-width:44px; min-height:44px; }
.results-bar,.shopping-toolbar,.shopping-feedback,.inv-callout,.inventory-notice { max-width:1400px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; }
.results-bar { gap:12px; align-items:center; }
.results-note { max-width:420px; text-align:right; font-size:13px; }
.shopping-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; margin-bottom:16px; }
.shopping-button { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:44px; padding:9px 15px; border:1px solid #cbd0de; border-radius:8px; background:#fff; color:#171b4a; font:600 14px/1.4 var(--font-body); text-decoration:none; cursor:pointer; }
.shopping-button[aria-pressed=true] { background:#171b4a; border-color:#171b4a; color:white; }
.shopping-button:disabled { opacity:.5; cursor:default; }
.shopping-help,.shopping-feedback { font-size:13px; color:#4a5065; }
.shopping-feedback:empty { display:none; }
.inventory-notice { padding-top:16px; padding-bottom:16px; border-left:4px solid #b92129; background:#fff3e6; }
.inv-callout { font-size:15px; margin-top:0; margin-bottom:20px; }
.inv-callout a,.card-detail-link { color:#171b4a; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.inventory-grid { gap:18px; }
.home-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; }
.card-photo { aspect-ratio:4/3; height:auto; min-height:190px; }
.card-nickname { font:800 22px/1.2 var(--font-head); margin:0; }
.card-nickname a:hover { text-decoration:underline; }
.card-subtitle { font-size:14px; line-height:1.5; white-space:normal; }
.card-price-line { padding:10px 16px 8px; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; color:#171b4a; }
.card-price-line strong { font:800 23px/1.2 var(--font-head); }
.card-price-line span { font-size:13px; color:#4a5065; }
.card-detail-link { display:block; padding:0 16px 10px; font-size:14px; }
.card-footer { margin-top:auto; padding:10px 12px; gap:8px; }
.card-footer .btn-info { font-size:14px; min-height:44px; padding:10px; }
.card-specs .spec-key { font-size:12px; color:#4a5065; }
.shopping-card-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 12px 12px; }
.shopping-compare-label { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 6px; color:#171b4a; font:600 13px/1.4 var(--font-body); cursor:pointer; }
.shopping-compare-label input { width:20px; height:20px; accent-color:#171b4a; }
.photo-arrow { opacity:1; background:rgba(23,27,74,.78); }
.type-badge { max-width:calc(100% - 80px); font-size:12px; }
.loc-badge { max-width:calc(100% - 16px); font-size:12px; }
.modal-prompt,.modal-subtitle,.modal-eyebrow { white-space:normal; font-size:14px; line-height:1.5; }
.modal-header { padding:16px; }
.modal-title { white-space:normal; }
.modal { max-height:92dvh; }
.shopping-comparison { border:0; border-radius:14px; padding:24px; width:min(94vw,950px); max-height:90dvh; color:#171b4a; box-shadow:0 20px 80px #0005; }
.shopping-comparison::backdrop { background:#10142bd9; }
.comparison-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:18px; }
.comparison-head h2 { font:800 26px/1.2 var(--font-head); }
.comparison-table-wrap { overflow:auto; }
.comparison-table-wrap table { border-collapse:collapse; width:100%; min-width:480px; font-size:14px; }
.comparison-table-wrap caption { caption-side:bottom; text-align:left; padding-top:16px; line-height:1.5; color:#4a5065; }
.comparison-table-wrap td,.comparison-table-wrap th { padding:14px 12px; text-align:left; border-bottom:1px solid #dfe2eb; }
.comparison-table-wrap thead th { background:#f0f2f8; }
.static-inventory { max-width:1352px; margin:10px auto 40px; padding:22px; border:1px solid #dde1ea; border-radius:12px; background:#fff; font-size:15px; line-height:1.7; }
.static-inventory ul { padding-left:22px; }
.static-inventory h2 { font-size:24px; }
@media(min-width:1000px) { .inventory-grid {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:599px) {
 .inventory-grid { grid-template-columns:1fr; padding:0 14px 30px; }
 .card-photo { min-height:220px; }
 .results-bar,.shopping-toolbar,.shopping-feedback,.inv-callout,.inventory-notice {padding-left:14px;padding-right:14px;}
 .results-bar {align-items:flex-start;} .results-note{max-width:180px;font-size:12px;}
 .shopping-help{flex-basis:100%;} .shopping-comparison{padding:16px;}
 .static-inventory{margin:10px 14px 30px;padding:16px;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* Compact inventory filter (the base rules are inline on each for-sale page).
   Nothing may be hidden off the edge of a phone: chip rows wrap only when they
   do not fit, the dropdowns share the row in equal columns, and Reset sits in the
   top-right corner beside the first label instead of over the location chips.
   32px is the chip height middle ground. */
.filter-wrap {padding-top:6px;}
@media(max-width:599px){.filter-wrap{padding-left:8px;padding-right:8px;}.filter-wrap .tog{padding-left:5px;padding-right:5px;}.filter-wrap .filter-rows > .filter-row:last-child{gap:4px;}.filter-wrap .filter-rows > .filter-row:last-child .filter-select{font-size:.7rem;padding-left:4px;padding-right:12px;background-position:right 3px center;}}
.filter-wrap .filter-row.nowrap {flex-wrap:wrap;overflow:visible;row-gap:4px;}
.filter-wrap .toggle-group {flex-wrap:wrap;justify-content:center;row-gap:4px;}
.filter-wrap .filter-rows > .filter-row:first-child .filter-label {line-height:26px;}
.filter-wrap .filter-rows > .filter-row:last-child {flex-wrap:nowrap;align-items:flex-end;}
.filter-wrap .filter-rows > .filter-row:last-child .filter-group {flex:1 1 0;min-width:0;max-width:96px;}
.filter-wrap .filter-rows > .filter-row:last-child .filter-select {width:100%;padding-left:5px;padding-right:14px;background-position:right 4px center;text-overflow:ellipsis;}
.filter-wrap .tog,.filter-wrap .filter-select {min-height:32px;}
@media(max-width:349px){.filter-wrap .filter-rows > .filter-row:last-child{flex-wrap:wrap;row-gap:4px;}.filter-wrap .filter-rows > .filter-row:last-child .filter-group{flex:0 0 31%;max-width:none;}}
.filter-wrap #btn-reset {position:absolute;top:2px;right:0;z-index:1;margin:0!important;flex-direction:row!important;gap:4px!important;min-height:24px;padding:0 9px!important;}
.filter-wrap #btn-reset span {font-size:.66rem!important;}
.filter-wrap .filter-rows {position:relative;max-width:560px;margin:0 auto;}
@media(max-width:599px){.hero-band{padding:18px 14px;}.hero-band h1{font-size:1.4rem;}}
