/* City draft template. Existing header/footer and global components are reused.
 * Unsupported Showcase hooks: sidx-grid, sidx-search-result-grid-item,
 * sidx-search-results, sidx-price, sidx-mls-details, sidx-listing-details,
 * sidx-require-auth, sidx-hotsheet, sidx-hotsheet-see-all-results, sidx-disclaimer,
 * sidx-ribbons, sidx-ribbon, sidx-new-listing, sidx-price-drop, sidx-listing-heading,
 * sidx-mls-info, sidx-gallery-controls, sidx-gallery-prev, sidx-gallery-next.
 * Check after provider updates. No provider text/data/control is reconstructed. */
.mm-city-page {color:#2b2b2b;background:#f6f8f9;font:400 17px/1.65 Lato,sans-serif;}
.mm-city-page * {box-sizing:border-box;}
.mm-city-page .mm-city-inner {width:min(1200px,calc(100% - 48px));margin-inline:auto;}
.mm-city-page h1,.mm-city-page h2,.mm-city-page h3 {font-family:Oswald,sans-serif;font-weight:500;text-wrap:balance;letter-spacing:normal;margin:0;}
.mm-city-page h1 {font-size:56px;line-height:1.16;text-transform:uppercase;color:#fff;}
.mm-city-page h2 {font-size:44px;line-height:1.1;text-transform:uppercase;color:#010101;}
.mm-city-page p {margin:0;}
.mm-city-page .mm-city-eye {font:700 14px/1.5 Lato,sans-serif;letter-spacing:1.12px;text-transform:uppercase;color:#a84310;margin:0 0 14px;}
.mm-city-page .mm-city-hero {background:#010101;color:#f6f8f9;min-height:520px;display:grid;align-items:center;padding:64px 0;}
.mm-city-page .mm-city-hero-grid {display:grid;grid-template-columns:minmax(0,760px) minmax(0,400px);gap:40px;align-items:center;}
.mm-city-page .mm-city-hero-copy {min-width:0;max-width:760px;}
.mm-city-page .mm-city-hero .mm-city-eye {font-size:16px;color:#fec830;white-space:nowrap;}
.mm-city-page .mm-city-lead {font-size:20px;line-height:1.5;max-width:640px;margin:24px 0 32px;}
.mm-city-page .mm-city-buttons {display:flex;flex-wrap:wrap;gap:20px;}
.mm-city-page .mm-city-button {display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:12px 24px;border:2px solid transparent;border-radius:6px;background:linear-gradient(163deg,#fec830,#ea7a33);color:#010101;font:700 16px/1.5 Lato,sans-serif;text-decoration:none;}
.mm-city-page .mm-city-outline {background:transparent;border-color:#fec830;color:#fec830;}
.mm-city-page .mm-city-dark {background:#010101;color:#fec830;}
.mm-city-page .mm-city-art {position:relative;min-height:392px;display:grid;place-items:center;isolation:isolate;}
.mm-city-page .mm-city-art img {display:block;object-fit:contain;max-width:none;}
.mm-city-page .mm-city-hex {width:calc(var(--city-hex-height) * .8660254);height:var(--city-hex-height);z-index:1;}
.mm-city-page .mm-city-outline-top {position:absolute;width:calc(var(--city-hex-height) * .68);height:calc(var(--city-hex-height) * .785);left:-12%;top:-4%;}
.mm-city-page .mm-city-outline-side {position:absolute;width:calc(var(--city-hex-height) * .34);height:calc(var(--city-hex-height) * .393);right:0;bottom:4%;}
.mm-city-page .mm-city-outline-white {position:absolute;width:calc(var(--city-hex-height) * .25);height:calc(var(--city-hex-height) * .289);left:0;bottom:0;}
.mm-city-page .mm-city-intro {padding:40px 0 60px;}
.mm-city-page .mm-city-intro-grid {display:grid;grid-template-columns:minmax(0,760px) minmax(0,380px);gap:40px;align-items:start;}
.mm-city-page .mm-city-copy,.mm-city-page .mm-city-placeholder {margin-top:48px;}
.mm-city-page .mm-city-placeholder {border-left:4px solid #fec830;padding:16px;background:#fff;}
.mm-city-page .mm-city-facts {background:#141414;border:1px solid #2e2e2e;color:#fff;border-radius:16px;padding:28px;min-width:0;}
.mm-city-page .mm-city-facts h3 {color:#fec830;font:700 12px/1.5 Lato,sans-serif;letter-spacing:.96px;text-transform:uppercase;margin-bottom:24px;}
.mm-city-page .mm-city-facts dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0;}
.mm-city-page .mm-city-fact-wide {grid-column:1/-1;}
.mm-city-page .mm-city-facts dt {color:#b8bdbf;font-size:13px;line-height:1.4;margin-bottom:4px;}
.mm-city-page .mm-city-facts dd {font-size:16px;line-height:1.45;font-weight:700;margin:0;overflow-wrap:anywhere;}
.mm-city-page .mm-city-sources {font-size:12px;line-height:1.6;color:#b8bdbf;margin-top:20px;}
.mm-city-page .mm-city-listings {background:#fff;padding:64px 0;}
.mm-city-page .mm-city-provider {margin-top:40px;}
/* Targets native result layout only, using the accepted Showcase cards. */
.mm-city-page .sidx-container .sidx-search-results .sidx-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
/* Targets each native result shell; no card content is reordered. */
.mm-city-page .sidx-container .sidx-search-result-grid-item {width:100%;min-width:0;max-width:none;}
/* Caps the existing 4-result provider output to the requested three cards. */
.mm-city-page .sidx-container .sidx-search-result-grid-item:nth-child(n+4) {display:none;}
/* Targets native buttons, including full-results link. */
.mm-city-page .sidx-container .sidx-button {border-radius:6px;background:#010101;color:#fec830;font:700 16px/1.5 Lato,sans-serif;padding:14px 24px;}
/* Targets protected native disclosure and attribution text without replacing it. */
.mm-city-page .sidx-container :is(.sidx-disclaimer,.sidx-listing-disclaimer,.sidx-mls-details) {font-size:13px;color:#2b2b2b;}
.mm-city-page .mm-city-nearby {padding:60px 0 0;}
.mm-city-page .mm-city-nearby h2,.mm-city-page .mm-city-faq h2 {font-size:40px;}
.mm-city-page .mm-city-pills {display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.mm-city-page .mm-city-pills a {padding:9px 24px;min-height:44px;border:1px solid #e3e6e8;border-radius:100px;background:#fff;color:#010101;text-decoration:none;font:700 15px/24px Lato,sans-serif;}
.mm-city-page .mm-city-services {padding:40px 0 0;}
.mm-city-page .mm-city-tiles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
.mm-city-page .mm-city-tile {position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:28px;background:#010101;color:#fff;min-height:200px;border-radius:16px;text-decoration:none;}
.mm-city-page .mm-city-tile img {position:absolute;z-index:-1;right:-50px;top:-40px;width:139px;height:160px;}
.mm-city-page .mm-city-tile .mm-city-eye {color:#fec830;font-size:12px;margin:0;}
.mm-city-page .mm-city-tile h3 {font-size:28px;line-height:1.25;color:#fff;}
.mm-city-page .mm-city-tile span {color:#fec830;font:700 15px/1.5 Lato,sans-serif;margin-top:auto;}
.mm-city-page .mm-city-faq {padding:80px 0;}
.mm-city-page .mm-city-faq h2 {margin-bottom:40px;}
.mm-city-page .mm-city-faq details {margin-top:16px;background:#010101;color:#fff;border-radius:12px;}
.mm-city-page .mm-city-faq summary {display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:16px 28px;cursor:pointer;color:#fec830;font:500 22px/1.4 Oswald,sans-serif;min-height:72px;}
.mm-city-page .mm-city-faq summary::-webkit-details-marker {display:none;}
.mm-city-page .mm-city-faq details p {padding:0 28px 28px;}
.mm-city-page .mm-city-faq-icon {flex:0 0 35px;display:grid;place-items:center;aspect-ratio:.8660254;background:url('https://mrmoto.com/wp-content/uploads/2026/10/city-template-faq-hex.png') center/contain no-repeat;color:#010101;font:700 18px/1 Lato,sans-serif;}
.mm-city-page .mm-city-faq details[open] .mm-city-faq-icon {font-size:0;}
.mm-city-page .mm-city-faq details[open] .mm-city-faq-icon::after {content:'−';font-size:18px;}
.mm-city-page .mm-city-cta {background:linear-gradient(167deg,#fec830,#ea7a33);padding:80px 0;}
.mm-city-page .mm-city-cta h2 {font-size:56px;max-width:1000px;}
.mm-city-page .mm-city-cta p {font-size:20px;line-height:1.5;margin:24px 0 32px;}
.mm-city-page .mm-city-lender {background:#010101;color:#b8bdbf;font-size:13px;line-height:20px;padding:0 max(24px,calc((100% - 1200px)/2)) 48px;}
.mm-city-page :is(a,summary,button):focus-visible {outline:3px solid #a84310;outline-offset:4px;}
.mm-city-page .mm-city-hero :focus-visible,.mm-city-page .mm-city-faq :focus-visible {outline-color:#fec830;}
@media(hover:hover) {.mm-city-page :is(.mm-city-button,.mm-city-tile) {transition:transform .2s ease;} .mm-city-page :is(.mm-city-button,.mm-city-tile):hover {transform:translateY(-4px);}}
@media(max-width:1100px) {
 .mm-city-page .mm-city-hero-grid {grid-template-columns:minmax(0,1fr) minmax(220px,30%);gap:32px;}
 .mm-city-page .mm-city-art {transform:scale(.85);transform-origin:center;}
 .mm-city-page .mm-city-intro-grid {grid-template-columns:minmax(0,1fr) minmax(300px,36%);gap:32px;}
}
@media(max-width:767px) {
 .mm-city-page .mm-city-inner {width:calc(100% - 32px);}
 .mm-city-page .mm-city-hero-grid,.mm-city-page .mm-city-intro-grid,.mm-city-page .mm-city-tiles {grid-template-columns:minmax(0,1fr);}
 .mm-city-page .mm-city-hero .mm-city-eye {white-space:normal;}
 .mm-city-page .mm-city-hero {padding:48px 0;}
 .mm-city-page .mm-city-hero-copy {max-width:100%;}
 .mm-city-page .mm-city-art {transform:none;min-height:calc(var(--city-hex-height) + 70px);margin:24px 12px 0;}
 .mm-city-page .mm-city-intro,.mm-city-page .mm-city-listings,.mm-city-page .mm-city-faq {padding-block:48px;}
 .mm-city-page .mm-city-copy,.mm-city-page .mm-city-placeholder {margin-top:28px;}
 .mm-city-page .mm-city-facts {padding:24px;}
 .mm-city-page .mm-city-facts dl {gap:20px 16px;}
 /* Keeps native Showcase cards stacked on phones. */
 .mm-city-page .sidx-container .sidx-search-results .sidx-grid {grid-template-columns:minmax(0,1fr);}
 .mm-city-page .mm-city-faq summary {padding:16px;gap:16px;}
 .mm-city-page .mm-city-faq details p {padding:0 16px 24px;}
 .mm-city-page .mm-city-cta {padding:48px 0;}
}
@media(prefers-reduced-motion:reduce){.mm-city-page *{transition:none;scroll-behavior:auto;}}

/* Remove inherited inner-page hero offsets from the city shell only. */
.mm-city-page.iv-page-3026,.mm-city-page .iv-page-3026 {padding-top:0;}
/* Targets native auth wrappers in the actual grid: cap complete cards, including their controls. */
.mm-city-page .sidx-container .sidx-search-results .sidx-grid > .sidx-require-auth:nth-child(n+4) {display:none;}
/* Preserve the full native search-view disclosure, including original timestamp and logo. */
.mm-city-page .mm-city-legal {margin-top:32px;}
.mm-city-page .mm-city-legal .sidx-disclaimer {display:block;font:400 13px/1.6 Lato,sans-serif;color:#2b2b2b;max-height:none;overflow:visible;-webkit-line-clamp:unset;}
/* Override the shared hero shell's inherited offsets/background without changing it globally. */
.mm-city-page.mm-city-page.iv-page-3026 {padding-top:66px;background:#f6f8f9;}
.mm-city-page .iv-page-3026.iv-page-3026.iv-page-3026 {padding-top:0;background:transparent;}
@media(max-width:1024px){.mm-city-page.mm-city-page.iv-page-3026 {padding-top:0;}}
/* Targets the actual native full-results form; its default 140px width overflows long city labels. */
.mm-city-page .sidx-container .sidx-hotsheet > form {width:100%;max-width:100%;padding:0;margin:32px 0 0;text-align:left;}
/* Targets the native button, preserving its provider action and editable saved-search label. */
.mm-city-page .sidx-container .sidx-hotsheet-see-all-results {max-width:100%;white-space:normal;background:#010101;color:#fec830;border:0;border-radius:6px;padding:14px 24px;font:700 16px/1.5 Lato,sans-serif;}
@media(max-width:767px){.mm-city-page .mm-city-outline-top {left:0;}}
/* Targets accepted native card shells; provider content and controls keep their order. */
.mm-city-page .sidx-container .sidx-search-results .sidx-search-result-grid-item {background:#fff;border:1px solid #e3e6e8;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgb(0 0 0 / 8%);}
/* Targets native price and address typography. */
.mm-city-page .sidx-container .sidx-search-results .sidx-price {font:500 28px/1.3 Oswald,sans-serif;color:#010101;}
.mm-city-page .sidx-container .sidx-search-results .sidx-listing-heading {font:700 17px/1.5 Lato,sans-serif;color:#2b2b2b;}
/* Targets native sale label and listing metadata, replacing low-contrast green text. */
.mm-city-page .sidx-container .sidx-search-results .sidx-mls-details .sidx-for-sale,
.mm-city-page .sidx-container .sidx-search-results .sidx-mls-info {color:#2b2b2b;}
/* Targets native new/price-drop ribbons; original provider wording remains visible. */
.mm-city-page .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons {width:auto;max-width:calc(100% - 24px);margin:12px;}
.mm-city-page .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-ribbon:is(.sidx-new-listing,.sidx-price-drop) {background:#010101;color:#fec830;border-radius:999px;padding:7px 12px;font:700 12px/1.45 Lato,sans-serif;text-shadow:none;}
/* Targets native photo arrows without changing their click/keyboard behavior. */
.mm-city-page .sidx-container .sidx-gallery-controls :is(.sidx-gallery-prev,.sidx-gallery-next) {background:#010101;color:#fec830;}
/* Targets native broker credits; remove provider truncation while keeping exact text. */
.mm-city-page .sidx-container .sidx-search-result-grid-item .sidx-disclaimer {font:400 13px/1.6 Lato,sans-serif;color:#2b2b2b;display:block;max-height:none;white-space:normal;overflow:visible;-webkit-line-clamp:unset;}
/* Shared R7 city surface spans the viewport; padding keeps its approved text aligned to 1200px.
 * Extra city/component specificity overrides the shared component's max-width and zero padding. */
.mm-city-page.mm-city-page .iv-disclosure-inner-3026.iv-disclosure-inner-3026 {background:#010101;width:100%;max-width:none;margin-inline:0;padding:40px max(24px,calc((100% - 1200px)/2)) 24px;}
.mm-city-page .iv-disclosure-inner-3026 .iv-disclosure-title-3026 {color:#fec830;font-size:14px;}
.mm-city-page .iv-disclosure-inner-3026 .iv-disclosure-body-3026 {color:#b8bdbf;font:400 13px/1.6 Lato,sans-serif;}
