/* City selection and partner stock only. Core card/cart/header mechanics remain in the theme. */
.mh-city-line {box-sizing:border-box;position:relative;min-width:0;padding:0 2.6vw;color:var(--mh-home-header-ink,#111)}
.mh-city-line--mobile {display:none}
.mh-city-trigger {display:inline-flex;align-items:center;gap:6px;min-height:32px;max-width:100%;padding:0;border:0;background:none;color:inherit;font:400 13px/1.3 Onest,Arial,sans-serif;box-shadow:none;text-transform:none;transition:color .15s}
.mh-city-trigger span {color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mh-city-trigger svg {flex:none}
.mh-city-trigger:active {color:#eb002d}
.mh-city-trigger:focus-visible,.mh-local-badge:focus-visible {outline:2px solid #eb002d;outline-offset:3px}
.mh-city-confirm,.mh-local-dialog {box-sizing:border-box;color:#111;background:#fff;font:400 15px/1.5 Onest,Arial,sans-serif;text-align:left}
.mh-city-confirm[hidden],.mh-local-card-slot[hidden],.mh-local-product[hidden] {display:none}
.mh-city-confirm {position:fixed;z-index:110;left:2.6vw;width:330px;max-width:calc(100vw - 32px);padding:24px;border:1px solid #e8e8e8;box-shadow:0 8px 30px #0000001a}
.mh-city-confirm p {margin:0 0 16px;font:inherit}
.mh-city-confirm__actions {display:flex;gap:12px;align-items:center}
.mh-city-confirm__actions button {padding:10px 12px;font:500 12px/1.3 Onest,Arial,sans-serif;border:0;color:#111;background:transparent}
.mh-city-confirm__actions .mh-local-primary {background:#111;color:#fff;min-width:65px}
.mh-local-dialog {width:480px;max-width:calc(100vw - 32px);max-height:min(680px,85dvh);padding:30px;border:0;overflow:auto;overscroll-behavior:contain;margin:auto;box-shadow:0 16px 60px #0003}
.mh-local-dialog::backdrop {background:#0006}
.mh-local-dialog h2,.mh-local-product h2 {font:600 23px/1.25 Onest,Arial,sans-serif;letter-spacing:0;text-transform:none;margin:0 30px 22px 0;color:#111}
.mh-local-close {position:absolute;right:8px;top:4px;width:40px;height:40px;padding:0;border:0;background:none;color:#111;font:300 28px/1 Arial,sans-serif}
.mh-local-dialog input[type=search] {display:block;box-sizing:border-box;width:100%;padding:12px 0;border:0;border-bottom:1px solid #ccc;background:#fff;color:#111;font:400 16px/1.4 Onest,Arial,sans-serif;border-radius:0}
.mh-local-dialog input:focus-visible {outline:2px solid #eb002d;outline-offset:3px}
.mh-local-hint {font:400 12px/1.5 Onest,Arial,sans-serif;color:#626262;margin:12px 0}
.mh-city-results {display:flex;flex-direction:column;min-height:44px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;margin-top:8px;scroll-padding:4px}
.mh-city-option {display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:62px;padding:10px 12px;border:0;background:none;color:#111;text-align:left;font:400 16px/1.4 Onest,Arial,sans-serif}
.mh-city-option__text {display:flex;flex-direction:column;gap:2px}
.mh-city-option strong {font-size:16px;font-weight:500;line-height:1.4}
.mh-city-option small {font-size:12px;line-height:1.4;color:#626262}
.mh-city-option[aria-selected=true] {background:#f5f5f5;color:#eb002d}
.mh-city-option[aria-current=true],.mh-city-option:active,.mh-local-close:active {color:#eb002d}
.mh-local-dialog[aria-busy=true] .mh-city-option {pointer-events:none;opacity:.6}
.mh-local-error:empty {display:none}
.mh-local-error {color:#b00020;font:400 13px/1.5 Onest,Arial,sans-serif;margin:12px 0 0}
.mh-local-card-slot {position:absolute;left:8px;bottom:10px;right:56px;z-index:4;pointer-events:none}
.mh-local-badge {display:block;max-width:100%;padding:5px 7px;border:0;background:#fff;color:#111;box-shadow:0 1px 6px #0000000f;font:600 10px/1.3 Onest,Arial,sans-serif;text-align:left;letter-spacing:.015em;pointer-events:auto;touch-action:manipulation;transition:color .15s}
.mh-local-badge:active {color:#eb002d}
.mh-local-product {margin:24px 0 0;border-top:1px solid #e5e5e5;padding:20px 0 0;clear:both;width:100%}
.mh-local-product h2 {font-size:19px;margin-bottom:12px}
.mh-local-store {padding:18px 0;border-top:1px solid #e5e5e5}
.mh-local-store h3 {font:600 17px/1.4 Onest,Arial,sans-serif;margin:0 0 6px;color:#111}
.mh-local-store p {font:400 14px/1.5 Onest,Arial,sans-serif;margin:4px 0;color:#111}
.mh-local-store .mh-local-hint {font-size:12px;color:#626262}
.mh-local-store .mh-local-store__qty {font-weight:600}
.mh-local-store__options {display:flex;flex-wrap:wrap;gap:6px 16px}
.mh-local-store__options span {font-size:12px}
.mh-local-store a {display:inline-block;margin:8px 16px 0 0;color:#111;font:400 13px/1.5 Onest,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.mh-city-search-label {display:block;font-size:13px;margin-bottom:4px;color:#626262}
.mh-city-search-wrap {position:relative}
#mh-city-search {padding-right:42px}
#mh-city-search::-webkit-search-cancel-button {display:none}
.mh-city-clear {position:absolute;right:0;top:0;width:44px;height:46px;border:0;background:none;color:#111;font:24px/1 Arial;cursor:pointer}
.mh-city-clear[hidden] {display:none}
.mh-city-retry {border:0;padding:12px;color:#eb002d;background:#f5f5f5;font:inherit;text-align:left}
#mh-city-dialog[open] {display:flex;flex-direction:column;overflow:hidden}
#mh-city-dialog .mh-city-results {min-height:0;flex:1 1 auto}
#mh-city-status {flex:none;margin:16px 0 4px;min-height:18px}
@media (hover:hover) and (pointer:fine) {
  .mh-city-option:hover {background:#f5f5f5}
  .mh-city-trigger:hover,.mh-city-option:hover,.mh-local-close:hover,.mh-local-badge:hover,.mh-local-store a:hover {color:#eb002d}
}
@media (max-width:992px) {
  .mh-city-line--desktop {display:none}
  .mh-city-line--mobile {display:flex;align-items:center;padding:0 16px;min-height:30px;background:#fff;color:#111;border-top:1px solid #f2f2f2}
  .mh-city-trigger {min-height:30px;font-size:12px}
  .mh-city-confirm {left:16px;padding:22px;width:330px}
  .mh-local-dialog {width:100%;max-width:100%;max-height:75dvh;margin:auto 0 0;padding:26px 20px max(24px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
  .mh-local-dialog h2 {font-size:22px}
  #mh-city-dialog {position:fixed;top:calc(var(--mh-visible-top,0px) + 12px);bottom:auto;margin:0;width:calc(100% - 24px);max-height:calc(var(--mh-visible-height,100dvh) - 24px);left:12px;border-radius:12px;padding:26px 18px 18px}
  #mh-city-dialog .mh-city-results {max-height:420px}
  .mh-city-option {min-height:60px}
  .mh-local-badge {font-size:9px;padding:4px 6px}
}
