.sp-city,.sp-panel,.sp-dialog,.sp-prompt{font-family:inherit;line-height:1.4;box-sizing:border-box}
.sp-city{order:-1;flex:none;display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:inherit;padding:5px 10px 5px 0;cursor:pointer;font:inherit;font-weight:600;white-space:nowrap}
.sp-city svg{width:16px;height:16px}.sp-city:after,.sp-link:after{content:'›';display:inline-block;font-size:1.1em}
.sp-prompt,.sp-dialog,.sp-panel{color:#302824}
.sp-prompt{position:fixed;z-index:2150;top:52px;left:18px;width:min(350px,calc(100vw - 24px));border:1px solid #dfcfc3;background:#fffcf9;border-radius:12px;padding:19px;box-shadow:0 9px 35px #48342628;text-align:left}
.sp-prompt [data-sp-message]{font-size:16px;font-weight:600;padding-right:18px;margin:0 0 13px}.sp-actions{display:flex;gap:8px;flex-wrap:wrap}
.sp-btn,.sp-quiet,.sp-link,.sp-close,.sp-choice{font:inherit;cursor:pointer;text-align:inherit}
.sp-btn,.sp-quiet{padding:9px 14px;border:1px solid #865e49;border-radius:6px;line-height:1.3;font-weight:600}.sp-btn{background:#865e49;color:white}.sp-quiet{background:white;color:#744e3a;border-color:#d8c7bc}
.sp-close{position:absolute;right:9px;top:6px;border:0;background:none;color:#6a594f;font-size:24px;line-height:1.3}
.sp-panel{padding:18px 0 4px;border-top:1px solid #dbcbbf;margin-top:18px;min-width:0;text-align:left}.sp-panel[hidden],.sp-prompt[hidden],.sp-dialog[hidden],.sp-panel[hidden]+* [hidden]{display:none!important}
.sp-panel--basket{padding:18px;margin:0 0 12px;background:#f5ede7;border:0;border-radius:9px}
.sp-panel .sp-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.sp-head strong{font-size:18px;color:#302824}
.sp-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#774e39;padding:4px 0;font-weight:600;line-height:1.4}
.sp-detail{display:flex;gap:10px;align-items:flex-start;margin-top:10px}.sp-detail svg{flex:none;margin-top:2px;width:21px;height:21px;color:#865e49}
.sp-detail b,.sp-detail span{display:block}.sp-detail b{font-size:15px}.sp-detail span{font-size:13px;color:#5c524c;margin-top:3px}.sp-detail .sp-link{margin-top:4px}
.sp-shade{position:fixed;inset:0;background:#30261f63;z-index:4100;display:grid;place-items:center;padding:14px;box-sizing:border-box}
.sp-dialog{background:white;width:min(715px,100%);max-height:86vh;max-height:86dvh;overflow:auto;position:relative;padding:25px;border-radius:14px;box-shadow:0 12px 65px #24190f30}
.sp-dialog h2{font:600 22px/1.3 inherit;font-family:inherit;font-size:22px;line-height:1.3;margin:0 35px 4px 0;color:#302824}.sp-caption{font-size:14px;color:#6f6058;margin:3px 0 15px}
.sp-choices{display:grid;gap:6px}.sp-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #ddcfc4;border-radius:7px;padding:12px;background:white;color:#302824;font-size:15px;width:100%}
.sp-choice[aria-pressed=true]{background:#f5ede7;border-color:#a47d65}.sp-choice:before{content:'';width:13px;height:13px;margin:4px 1px 0 0;flex:none;border:1px solid #ad9789;border-radius:50%}.sp-choice[aria-pressed=true]:before{background:#855d47;box-shadow:inset 0 0 0 3px #f5ede7}
.sp-choice b,.sp-choice small{display:block}.sp-choice small{color:#62574f;font-size:12px;margin-top:3px}.sp-shop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.sp-map{width:100%;min-height:175px;height:100%;max-height:290px;border:0;border-radius:7px;background:#f4f0e9}.sp-controls{margin-top:15px;display:flex;justify-content:flex-end}
.sp-city:focus-visible,.sp-dialog button:focus-visible,.sp-prompt button:focus-visible,.sp-panel button:focus-visible{outline:2px solid #935c3b;outline-offset:2px}
@media(max-width:767px){.sp-city{padding:3px;gap:3px;font-size:11px;min-height:30px;max-width:125px}.sp-city svg{width:13px}.sp-prompt{top:50px;left:8px}.sp-shade{padding:0;align-items:end}.sp-dialog{border-radius:15px 15px 0 0;padding:18px 16px max(18px,env(safe-area-inset-bottom));max-height:88vh;max-height:88dvh}.sp-dialog:before{content:'';display:block;width:34px;height:3px;border-radius:2px;margin:0 auto 12px;background:#d7c7ba}.sp-shop-grid{grid-template-columns:1fr}.sp-map{height:125px;min-height:125px}.sp-controls{position:sticky;bottom:0;background:white;padding:5px 0}.sp-controls .sp-btn{width:100%;text-align:center}.sp-panel--basket{margin:8px 0;padding:14px}.sp-head strong{font-size:16px}}

[data-sp-panel="offer"]:not([hidden]) ~ [data-action="show-shop-list-ajax"]{display:none!important}

/* City and main navigation share the left side of the top bar. */
.top-header__links {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}
.top-header__links > .sp-city {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    gap: 5px;
    padding-inline: 0;
}
.top-header__links > .sp-city svg {
    width: 14px;
    height: 14px;
}
.top-header__links > .sp-city:focus-visible {
    outline-color: #fff;
    outline-offset: 0;
}
@media (max-width: 992px) {
    .top-header__content { flex-wrap: wrap; }
    .top-header__content > .header-search-btn { flex: 1 1 24px; }
    .top-header__links {
        flex: 0 0 100%;
        gap: 12px;
        min-height: 34px;
    }
    .top-header__links > .sp-city { font-size: 11px; gap: 3px; }
    .top-header__links > .sp-city svg { width: 12px; height: 12px; }
    .top-header__links > .top-header-menu {
        display: block;
        min-width: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .top-header__links > .top-header-menu::-webkit-scrollbar { display: none; }
    .top-header__links > .top-header-menu ul {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        width: max-content;
    }
    .top-header__links > .top-header-menu li { margin: 0; }
    .top-header__links > .top-header-menu a {
        display: inline-flex;
        align-items: center;
        min-height: 34px;
        color: #fff;
        font-size: 12px;
        white-space: nowrap;
    }
}

.sp-city-label { display:block; margin:16px 0 6px; font-size:14px; font-weight:600; }
.sp-city-input { width:100%; box-sizing:border-box; border:1px solid #bca08c; border-radius:7px; padding:11px 12px; font:inherit; font-size:16px; color:#302824; background:#fff; }
.sp-city-input:focus { outline:2px solid #936d56; outline-offset:1px; }
.sp-city-input + .sp-caption { margin:10px 0; }
.sp-city-results { display:grid; gap:6px; max-height:min(42vh,340px); overflow-y:auto; }
.sp-city-results:empty { display:none; }
.sp-place small { margin-top:1px; }
.top-header__links > .sp-city { max-width:clamp(105px,16vw,230px); }
.top-header__links > .sp-city span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.top-header__links > .sp-city svg { flex:none; }

.sp-city-picker { width:min(650px,100%); }
.sp-city-picker h2 { font-weight:600; }
.sp-city-picker .sp-city-input { margin-top:15px; }
.sp-city-picker .sp-caption:empty,
.sp-city-picker [hidden] { display:none !important; }
.sp-city-picker .sp-city-home { margin-top:20px; }
.sp-city-picker .sp-city-section + .sp-city-section { margin-top:18px; }
.sp-city-picker .sp-city-section h3 { margin:0 0 8px; font:inherit; font-size:14px; font-weight:600; color:#5b4b40; }
.sp-city-quick,.sp-city-letters { display:flex; flex-wrap:wrap; gap:7px; }
.sp-city-chip,.sp-city-letter,.sp-directory-place,.sp-city-more { font:inherit; color:#443329; cursor:pointer; }
.sp-city-chip,.sp-city-letter { border:1px solid #dfd1c7; border-radius:7px; background:#fff; }
.sp-city-chip { padding:8px 13px; font-size:14px; }
.sp-city-chip--local { background:#faf5f0; }
.sp-city-chip[aria-pressed=true],.sp-city-letter[aria-pressed=true] { background:#825840; border-color:#825840; color:#fff; }
.sp-city-directory { margin-top:19px; padding-top:12px; border-top:1px solid #ece4dd; }
.sp-city-directory summary { cursor:pointer; color:#704a35; padding:4px 0; font-weight:600; }
.sp-city-directory summary:focus-visible { outline:2px solid #936d56; outline-offset:2px; }
.sp-city-letters { gap:4px; margin:12px 0; }
.sp-city-letter { min-width:30px; padding:4px 6px; line-height:1.35; }
.sp-city-directory-list,.sp-city-picker .sp-city-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; max-height:min(31vh,230px); overflow:auto; overscroll-behavior:contain; }
.sp-city-picker .sp-city-results:not(:empty) { margin-top:12px; }
.sp-directory-place { text-align:left; background:#fff; border:1px solid transparent; border-radius:5px; padding:6px 8px; }
.sp-directory-place[aria-pressed=true],.sp-directory-place:hover,.sp-city-chip:hover:not([aria-pressed=true]) { background:#f6eee8; border-color:#dac6b7; }
.sp-directory-place .sp-place-name,.sp-directory-place small { display:block; }
.sp-directory-place small { margin-top:2px; color:#73665e; font-size:12px; }
.sp-city-more { display:block; padding:8px 0; color:#704a35; border:0; background:none; text-decoration:underline; }
@media(max-width:600px){
  .sp-city-picker .sp-city-home { margin-top:15px; }
  .sp-city-picker .sp-city-section + .sp-city-section { margin-top:13px; }
  .sp-city-quick { gap:5px; }
  .sp-city-chip { padding:8px 10px; }
  .sp-city-directory-list,.sp-city-picker .sp-city-results { grid-template-columns:1fr; max-height:31dvh; }
  .sp-city-letter { min-height:32px; }
}

[data-sp-checkout]{margin:12px 0 5px}[data-sp-checkout] label{display:block;font-weight:600;margin-bottom:5px}[data-sp-checkout] select{width:100%;max-width:100%;padding:8px;color:#382d26;background:#fff;border:1px solid #cdbaac;border-radius:5px}[data-sp-checkout] p{font-size:14px;line-height:1.45;margin:8px 0 4px}[data-sp-checkout] small{display:block;color:#67584f;line-height:1.4}
