/* Slevy Plzeň — one stylesheet for the whole site. Later sections refine earlier ones. */

/* ===== Base layout and components (former styles.css + design.css) ===== */
:root { --card: #fff; }
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(37, 99, 235, .18); outline-offset: 2px; }
.wrap { margin: auto; padding: 0 22px; }
.top { backdrop-filter: blur(14px); }
.nav { display: flex; align-items: center; }
.brand { margin-right: auto; cursor: pointer; color: inherit; }
.brand span { color: var(--accent); }
.navlinks { display: flex; align-items: center; }
.navlinks button, .ghost { border: 0; background: transparent; padding: 10px 13px; border-radius: 10px; color: #4f5663; cursor: pointer; }
.menu-btn { display: none; width: 42px; height: 42px; cursor: pointer; }
.city-btn { cursor: pointer; }
.lang-wrap { display: flex; align-items: center; gap: 5px; border-radius: 13px; transition: .18s; }
.lang-wrap:hover, .lang-wrap:focus-within { border-color: #d2d7e0; }
.searchbox { display: flex; align-items: center; }
.searchbox input { flex: 1; outline: 0; padding: 13px 14px; }
.searchbtn { border: 0; color: #fff; cursor: pointer; font-weight: 700; white-space: nowrap; }
.toolbar { display: flex; gap: 10px; justify-content: space-between; flex-wrap: wrap; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); cursor: pointer; }
.store { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.store-logo { display: grid; place-items: center; color: #fff; font-weight: 900; font-size: 12px; flex-shrink: 0; }
.sep { height: 1px; background: var(--line); margin: 14px 0; }
.muted { color: var(--muted); }
.card { cursor: pointer; }
.cardtop { display: flex; align-items: center; }
.discount { margin-left: auto; font-weight: 800; }
.prodimg { display: grid; place-items: center; overflow: hidden; }
.prodimg img { object-fit: cover; }
.price-row { display: flex; align-items: baseline; gap: 7px; }
.old { text-decoration: line-through; }
.sub { display: flex; justify-content: space-between; align-items: center; }
.fav { cursor: pointer; }
.section-title { margin: 0; }
.nores { padding: 45px; text-align: center; grid-column: 1 / -1; }
.store-cards { display: grid; }
.store-card { cursor: pointer; transition: .18s; }
.store-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(20, 28, 50, .09); }
.store-card .count { margin: 12px 0 4px; }
.modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; padding: 18px; z-index: 50; }
.modal.open { display: flex; }
.dialog { width: min(850px, 100%); max-height: 90vh; overflow: auto; }
.dialogtop { display: flex; justify-content: space-between; align-items: center; }
.close { padding: 9px 12px; cursor: pointer; }
.detail { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 16px; }
.detailimg { display: grid; place-items: center; font-size: 100px; overflow: hidden; }
.detailimg img { width: 100%; height: 100%; object-fit: cover; }
.detail h2 { margin: 10px 0; }
.compare { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 15px; }
.compare-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; }
.compare-row.best { font-weight: 800; }
.source-link { font-weight: 700; }
.toast { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%) translateY(20px); color: #fff; padding: 12px 15px; opacity: 0; pointer-events: none; transition: .2s; z-index: 80; }
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.dropdown { position: relative; min-width: 190px; }
.dropdown-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); background: rgba(255, 255, 255, .96); color: #232833; padding: 10px 12px; cursor: pointer; }
.dropdown-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dropdown-chevron { font-size: 16px; color: #7a8290; line-height: 1; transition: transform .16s; }
.dropdown.open .dropdown-chevron { transform: rotate(180deg); }
.dropdown-menu { position: absolute; top: calc(100% + 8px); left: 0; right: 0; padding: 6px; opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .14s; z-index: 70; }
.dropdown.open .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-menu button { width: 100%; display: flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #303643; text-align: left; padding: 10px 11px; cursor: pointer; }
.dropdown-menu button:hover { background: #f3f5f8; }
.dropdown-menu button[aria-selected="true"] { background: #eef3ff; color: #1d4ed8; font-weight: 800; }
.sort-dropdown { display: none; min-width: 210px; }
.dropdown-menu-right { left: auto; right: 0; min-width: 100%; }
.page-deals .stores-page, .page-stores .deals-page, .page-favorites .deals-page { display: none; }
.page-stores .stores-page, .page-favorites .deals-page { display: block; }
.page-stores .sort-chips, .page-stores .sort-dropdown { display: none; }
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; }
  .cards, .store-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .wrap { padding: 0 14px; }
  .nav { height: 64px; }
  .menu-btn { display: grid; place-items: center; }
  .navlinks { display: none; position: absolute; top: 72px; left: 14px; right: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 8px; flex-direction: column; align-items: stretch; box-shadow: var(--shadow); }
  .nav.open .navlinks { display: flex; }
  .hero { padding-top: 34px; }
  .hero h1 { letter-spacing: -1.7px; }
  .cards, .store-cards { grid-template-columns: 1fr; }
  .prodimg { height: 220px; }
  .detail { grid-template-columns: 1fr; }
  .detailimg { min-height: 220px; }
  .toolbar { align-items: stretch; }
  .sort-chips { display: none; }
  .sort-dropdown { display: block; width: 100%; min-width: 0; }
  .city-btn { display: none; }
}
.catalog-status { align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.catalog-status strong { display:block; font-size:13px; font-weight:700; }
.catalog-status span { display:block; color:var(--muted); margin-top:5px; line-height:1.6; }
.catalog-status p { margin:8px 0 0; line-height:1.6; }
.source-status + .source-status { margin-top:12px; }
.source-status.is-warning { color:#845523; }
.catalog-status-body { min-width:0; }
.catalog-status button { flex-shrink:0; padding:10px 14px; background:transparent; border:1px solid var(--line); border-radius:6px; color:var(--accent); font:inherit; font-weight:700; cursor:pointer; }
.catalog-status button:disabled { opacity:.5; cursor:wait; }
.catalog-status.is-warning { color:#845523; }
@media (max-width:600px) {
  .catalog-status { align-items:flex-start; gap:10px; }
  .catalog-status button { padding:10px; }
}
button, a, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #91ae82; outline-offset: 4px; }
.brand::before { content: '%'; place-items: center; background: var(--accent); }
.navlinks button.active, .navlinks button:hover { box-shadow: none; }
.city-btn { border-radius: 6px; }
.lang-wrap { background: transparent; border: 0; box-shadow: none; padding: 0; }
.lang-wrap:hover, .lang-wrap:focus-within { box-shadow: none; }
.lang-wrap .dropdown { min-width: 118px; }
.lang-wrap .dropdown-trigger { background: transparent; border: 0; box-shadow: none; font-size: 13px; padding-inline: 6px; }
.hero { border-bottom: 1px solid var(--line); }
.searchbox { margin-top: 28px; border-color: #cbd2c2; }
.searchbox::before { content: none; }
.search-icon { flex-shrink: 0; color: var(--muted); }
.searchbox:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #e4eadd; }
.searchbox input { background: transparent; color: var(--text); }
.searchbox input:focus, .searchbox input:focus-visible { outline: none; box-shadow: none; }
.searchbox input { border: 0; border-radius: 0; appearance: none; }
.searchbox { transition: border-color .2s, box-shadow .2s; }
.lang-wrap #langDropdown .dropdown-trigger { gap: 9px; }
.lang-wrap #langDropdown .dropdown-trigger:hover, .lang-wrap #langDropdown.open .dropdown-trigger { background: #e9eddf; border-color: #b9c8ae; }
#langDropdown .dropdown-chevron { margin-left: auto; flex-shrink: 0; }
#langDropdown .dropdown-menu { left: auto; right: 0; min-width: 210px; padding: 7px; top: calc(100% + 10px); border-radius: 10px; box-shadow: 0 12px 32px #23392f1a; }
#langDropdown .dropdown-menu button { padding: 11px 10px; gap: 11px; min-height: 42px; border-radius: 6px; font-weight: 500; }
#langDropdown .dropdown-menu button::before { content: attr(data-code); font-size: 9px; font-weight: 800; letter-spacing: .5px; color: #788172; width: 25px; flex-shrink: 0; }
#langDropdown .dropdown-menu button[aria-selected='true'] { background: #e9efdf; font-weight: 700; }
#langDropdown .dropdown-menu button[aria-selected='true']::after { content: '✓'; margin-left: auto; font-size: 14px; color: var(--accent); }
.searchbtn { background: var(--accent); border-radius: 5px; font-size: 13px; padding: 14px 23px; }
.searchbtn:hover { background: #1c4b35; }
.sort-chips { gap: 5px; }
.chip { border-radius: 5px; background: transparent; font-size: 12px; padding: 9px 12px; border-color: var(--line); color: var(--muted); }
.chip:hover { background: #e9ecdf; }
.chip.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.store { font-size: 13px; padding: 10px 0; border-radius: 5px; }
.store:hover { background: #ebeee2; }
.store input { accent-color: var(--accent); width: 15px; height: 15px; }
.store-logo { width: 27px; height: 27px; }
.card { transition: transform .22s, box-shadow .22s, border-color .22s; }
.cardtop b { font-size: 11px; }
.discount { background: #e8efce; color: #36542d; border-radius: 4px; font-size: 12px; padding: 6px 8px; }
.prodimg { height: 164px; border-radius: 5px; background: #f4f3ed; font-size: 60px; margin: 15px 0 18px; }
.prodimg, .detailimg { position: relative; min-width: 0; }
.prodimg img, .detailimg img { position: absolute; inset: 0; margin: auto; display: block; width: auto; height: auto; max-width: calc(100% - 32px); max-height: calc(100% - 32px); object-fit: contain; padding: 0; }
.prodimg img { width: calc(100% - 24px); height: calc(100% - 24px); max-width: calc(100% - 24px); max-height: calc(100% - 24px); }
.cat { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); }
.name { font-size: 14px; font-weight: 700; margin: 8px 0 14px; min-height: 39px; line-height: 1.4; }
.price { font-size: 25px; font-weight: 800; color: var(--text); letter-spacing: -1px; }
.old { color: #8e9388; font-size: 11px; }
.sub { border-top: 1px solid #eeeee7; padding-top: 11px; margin-top: 15px; color: var(--muted); font-size: 10px; }
.fav { border-color: var(--line); font-size: 19px; }
.fav:hover { background: #e8efce; transform: scale(1.08); }
.fav[aria-pressed='true'] { background: #e8efce; border-color: #d4dfb8; }
.store-card .count { font-weight: 600; }
.footer { padding: 25px 0 40px; }
.nores { border-color: #cdd6c1; }
.dialog { animation: card-enter .25s both; }
.detailimg { height: clamp(240px, 34vw, 360px); min-height: 0; align-self: start; }
.bigprice { font-weight: 800; }
.toast { background: var(--text); border-radius: 7px; max-width: calc(100% - 32px); text-align: center; }
.dropdown-trigger { border-radius: 6px; box-shadow: none; font-size: 13px; }
.dropdown-menu { border-color: var(--line); }
.dropdown-menu button { font-size: 13px; }
.dropdown-menu button:hover, .dropdown-menu button[aria-selected='true'] { background: #e8efdd; color: var(--accent); }
@keyframes card-enter{from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); }}
@media (max-width: 1100px) {
  .hero-grid { gap: 32px; }
  .nav { gap: 10px; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .hero h1 { font-size: 42px; }
  #stores { display: flex; flex-wrap: wrap; gap: 8px 18px; }
}
@media (max-width: 760px) {
  .wrap { padding-inline: 20px; }
  .nav { height: 72px; gap: 10px; }
  .brand { font-size: 21px; }
  .brand::before { width: 29px; height: 29px; font-size: 17px; margin-right: 7px; }
  .menu-btn { display: grid; place-items: center; border-radius: 5px; width: 36px; height: 36px; }
  .navlinks { display: none; position: absolute; top: 73px; left: 20px; right: 20px; padding: 8px; background: #fffef9; border: 1px solid var(--line); border-radius: 7px; flex-direction: column; align-items: stretch; box-shadow: var(--shadow); }
  .nav.open .navlinks { display: flex; }
  .city-btn { display: none; }
  .hero { padding: 35px 0; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero h1 { font-size: clamp(35px, 7vw, 48px); letter-spacing: -1px; }
  .hero p { font-size: 14px; }
  .toolbar { margin-top: 28px; }
  .dialog { padding: 20px; }
  .detail { grid-template-columns: 1fr; }
  .detailimg { height: clamp(180px, 32svh, 260px); min-height: 0; }
}
@media (max-width: 640px) {
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .card { padding: 11px; }
  .prodimg { height: 130px; font-size: 49px; margin: 12px 0; }
  .cardtop { gap: 5px; flex-wrap: wrap; }
  .cardtop .store-logo { width: 21px; height: 21px; font-size: 10px; }
  .discount { padding: 4px; font-size: 10px; }
  .name { font-size: 12px; min-height: 51px; }
  .price-row { flex-wrap: wrap; gap: 3px 7px; }
  .price { font-size: 20px; }
  .cat { font-size: 9px; letter-spacing: .3px; }
  .lang-wrap .dropdown { min-width: 95px; }
  .lang-wrap .dropdown-trigger { font-size: 11px; }
}
@media (max-width: 360px) {
  .wrap { padding-inline: 12px; }
  .brand { font-size: 18px; }
  .brand::before { display: none; }
  .cardtop b { font-size: 10px; }
}
.compare-toggle { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 20px; padding: 13px 15px; font-weight: 700; cursor: pointer; text-align: left; }
.compare-toggle:hover, .compare-toggle[aria-expanded='true'] { background: #dce8cb; }
.compare-count { margin-left: auto; min-width: 24px; padding: 3px; text-align: center; font-size: 12px; }
.compare-note { font-size: 12px; color: var(--muted); line-height: 1.6; }
.compare-row { font-size: 13px; border-bottom: 0; padding-bottom: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cart-page { display: none; }
.undo-notice { position: fixed; z-index: 90; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 20px; padding: 12px 18px; max-width: calc(100% - 28px); background: var(--text); color: #fff; border-radius: 8px; box-shadow: 0 8px 24px #23392f25; font-size: 13px; }
.undo-notice button { border: 0; background: transparent; color: #e5edb9; font: inherit; font-weight: 700; cursor: pointer; padding: 10px 0; }
.manual-item-form { margin-bottom: 22px; }
.manual-item-form label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.manual-item-form > div { display: flex; gap: 9px; }
.manual-item-form input { min-width: 0; padding: 12px; background: #fff; color: var(--text); font-size: 14px; }
#manualName { flex: 1; }
#manualQuantity { width: 70px; }
.cart-store-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }
.bought-section { padding: 15px; }
.bought-section summary { cursor: pointer; font-size: 13px; font-weight: 700; padding: 7px 0; }
.bought-section h4 { font-size: 12px; margin: 20px 0 10px; }
.bought-section .cart-item { margin-bottom: 10px; }
.bought-toggle { min-width: 34px; min-height: 34px; }
@media (max-width: 640px) {
  .manual-item-form > div { flex-wrap: wrap; }
  #manualName { flex-basis: calc(100% - 80px); }
  .manual-item-form .searchbtn { width: 100%; }
  .manual-item-form input { font-size: 16px; }
  .cart-store-filters .chip, .quantity-controls button, .cart-remove, .bought-toggle { min-height: 40px; }
  .bought-section { padding: 10px; }
}
.results-count:empty { display: none; }
.cart-share-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 22px; color: var(--muted); font-size: 12px; }
.copy-list { padding: 11px 15px; font-size: 12px; font-weight: 700; cursor: pointer; }
.copy-list:hover { background: #dde8cc; }
.cart-store-group { display: grid; margin-bottom: 13px; }
.cart-group-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); margin-bottom: 3px; }
.cart-group-heading h3 { margin: 0 0 5px; }
.cart-group-heading span { font-size: 11px; }
.cart-group-heading > strong { font-size: 18px; }
.bought-toggle { display: grid; place-items: center; flex-shrink: 0; width: 27px; height: 27px; cursor: pointer; }
.bought-toggle[aria-pressed='true'] { background: var(--accent); border-color: var(--accent); }
.cart-bought .cart-item-info h3 { text-decoration: line-through; color: var(--muted); }
.cart-bought .cart-item-image { opacity: .5; }
.bought-label { font-size: 10px; color: var(--accent); font-weight: 700; }
.deadline-badge { display: inline-block; padding: 5px 8px; margin: 0 0 9px; font-size: 10px; font-weight: 700; }
.cart-item-info > strong { display: block; }
.share-list-panel { padding: 18px; margin-bottom: 20px; }
.share-list-panel label { display: block; margin-bottom: 12px; font-size: 12px; }
.share-list-panel textarea { width: 100%; padding: 12px; border: 1px solid #bacaaa; border-radius: 5px; font: inherit; font-size: 12px; line-height: 1.7; resize: vertical; }
@media (max-width: 640px) {
  .cart-share-toolbar { flex-wrap: wrap; }
  .cart-item { position: relative; }
  .cart-item .bought-toggle { width: 25px; height: 25px; }
  .cart-item .cart-item-image { width: 45px; }
  .cart-item .cart-item-info { min-width: 140px; }
}
.stores-page { display: none; }
.page-stores .stores-page { display: block; }
.page-stores .quick-filters, .page-cart .quick-filters { display: none; }
.quick-filters { display: flex; flex-wrap: wrap; align-items: center; }
.quick-chip { border-style: dashed; }
.quick-chip.active { border-style: solid; }
.quick-clear { border: 0; background: transparent; font-size: 11px; padding: 9px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.location-strip { padding-top: 23px; }
.location-strip .city-btn { display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; background: #e8eddf; border: 1px solid #d9e0cd; border-radius: 6px; color: var(--accent); font-size: 12px; font-weight: 600; }
.location-strip .city-btn:hover { background: #dce7ce; border-color: #b8c9a7; }
.location-arrow { margin-left: 8px; }
.hero { padding-top: 30px; }
.cart-nav { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 42px; cursor: pointer; }
.cart-nav:hover, .cart-nav.active { box-shadow: 0 3px 10px #254c3b15; }
.cart-nav svg { flex-shrink: 0; }
.cart-badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding-inline: 5px; font-size: 11px; font-variant-numeric: tabular-nums; }
.fav { display: inline-grid; place-items: center; }
.fav svg { pointer-events: none; }
.detail-fav { margin-left: auto; width: 40px; height: 40px; }
.offer-cart-controls { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-height: 40px; margin-top: 12px; padding: 4px 6px 4px 10px; border: 1px solid #b7cda4; border-radius: 5px; background: #e3edd7; color: var(--accent); }
.in-cart-label { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; }
.in-cart-label svg { flex-shrink: 0; }
.offer-cart-controls .quantity-controls { background: #fff; border-color: #c8d6bc; }
.offer-cart-controls .quantity-controls button { width: 29px; height: 29px; }
.offer-cart-controls .quantity-controls span { min-width: 23px; font-weight: 700; }
.detail-cart-controls { padding: 9px 12px; }
.detail-cart-controls .in-cart-label { font-size: 13px; }
.compare-offer { display: block; width: 100%; padding: 9px 12px; margin-top: 8px; text-align: left; background: #fff; color: var(--text); cursor: pointer; }
.compare-offer:hover { border-color: #a4b996; background: #f5f8ef; }
.compare-offer.current { border-color: #b8cba9; }
.compare-offer .compare-row { padding-top: 0; }
.comparison-name { display: block; font-size: 14px; font-weight: 650; line-height: 1.4; }
.comparison-original, .comparison-meta { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
.comparison-unit { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; font-size: 13px; color: var(--accent); font-weight: 650; }
.comparison-lower { border-radius: 4px; background: #e5edb9; padding: 3px 6px; font-size: 10px; }
.comparison-heading { margin: 22px 0 8px; font-size: 14px; }
.detail > .compare { grid-column: 1 / -1; width: 100%; }
.comparison-results { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 10px; }
.catalog-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:22px 0; scroll-margin-top:90px; }
.catalog-pagination-top { margin:0 0 18px; }
.pagination-range { color:var(--muted); font-size:13px; }
.pagination-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.pagination-buttons button { min-width:38px; min-height:40px; padding:8px 11px; background:#fffef9; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:13px; color:var(--text); cursor:pointer; }
.pagination-buttons button[aria-current=page] { background:var(--accent); border-color:var(--accent); color:#fff; }
.pagination-buttons button:disabled { opacity:.4; cursor:default; }
.pagination-buttons button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pagination-current, .pagination-gap { padding:0 7px; font-size:13px; color:var(--muted); }
@media(max-width:480px) {
  .catalog-pagination { justify-content:center; }
  .pagination-range { width:100%; text-align:center; }
  .pagination-buttons button { padding:8px; min-width:34px; }
  .pagination-buttons { justify-content:center; gap:4px; }
}
.comparison-other { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 14px; }
.comparison-other summary { cursor: pointer; color: var(--accent); font-size: 13px; font-weight: 650; }
.comparison-empty { padding: 12px 0; }
.cart-replacements { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 12px; padding: 9px 11px; font: inherit; font-size: 12px; cursor: pointer; }
.cart-replacements span { padding: 1px 6px; }
.replacement-picker { margin-top: 20px; }
.replacement-picker h2 { margin-bottom: 18px; font-size: 24px; }
.replacement-picker h3 { font-size: 15px; line-height: 1.5; }
.replacement-original { padding: 16px; background: #f5f4ec; border-radius: 8px; margin-bottom: 22px; }
.replacement-original > span, .replacement-original small { font-size: 12px; color: var(--muted); }
.replacement-original p { font-size: 14px; }
.replacement-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 12px; }
.replacement-option { display: block; text-align: left; padding: 16px; background: #fff; color: var(--text); cursor: pointer; font: inherit; }
.replacement-option.selected { padding: 15px; }
.replacement-option:focus-visible, .cart-replacements:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.replacement-kind { display: block; margin-bottom: 12px; color: var(--muted); font-size: 11px; }
.replacement-form { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.replacement-form label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.replacement-form input { width: 100px; max-width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font: inherit; color: var(--text); }
.replacement-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.replacement-totals > div { padding: 14px; background: #f5f4ec; border-radius: 7px; }
.replacement-totals span, .replacement-totals small { display: block; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.replacement-totals b { display: block; margin: 8px 0; font-size: 20px; }
.replacement-difference { color: var(--accent); font-size: 15px; font-weight: 600; }
.replacement-warning { padding: 12px; background: #fff5df; border: 1px solid #ead5ac; border-radius: 7px; line-height: 1.6; font-size: 13px; }
.replacement-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.replacement-option-total { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; margin: 14px 0 8px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; }
.replacement-option-total strong { color: var(--accent); }
.replacement-option-caution { display: block; font-size: 12px; color: #805119; margin-bottom: 8px; }
.replacement-form h3 { margin-bottom: 16px; }
.replacement-attributes { margin-top: 14px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.replacement-attribute { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.replacement-attribute:last-child { border-bottom: 0; }
.replacement-attribute > span { font-size: 11px; color: var(--muted); }
.replacement-attribute > div { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); gap: 12px; margin-top: 5px; font-size: 13px; align-items: center; }
.replacement-arrow { text-align: center; color: var(--accent); font-size: 22px; }
.comparison-store { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 13px; font-weight: 600; }
.comparison-store .store-logo { display: inline-grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; border-radius: 5px; color: white; font-size: 11px; font-weight: 700; }
.replacement-original > .comparison-store { display: flex; margin: 8px 0; color: var(--text); }
.replacement-option .compare-row { align-items: center; gap: 10px; }
.replacement-option .replacement-kind { margin: 6px 0 8px; }
.replacement-store-transition { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; padding: 12px 14px; background: #edf1e5; border-radius: 8px; }
.replacement-store-note { display: inline-block; padding: 4px 7px; border-radius: 4px; background: #f5eedf; color: #735320; font-size: 11px; line-height: 1.4; }
.replacement-store-transition .replacement-store-note { margin-left: auto; }
.replacement-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.replacement-chips > span { padding: 4px 7px; border-radius: 4px; background: #edf1e5; color: #395c46; font-size: 11px; line-height: 1.4; }
.replacement-details { margin-top: 14px; }
.replacement-details summary { cursor: pointer; color: var(--accent); font-size: 13px; padding: 8px 0; }
@media(max-width:480px) {
  .replacement-store-transition { gap: 8px; padding: 10px; }
  .replacement-store-transition .replacement-store-note { margin-left: 0; }
  .comparison-store { font-size: 12px; gap: 6px; }
}
.shopping-plan { margin-bottom: 24px; padding: 22px; }
.shopping-plan header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.shopping-plan h3 { margin: 0 0 8px; }
.shopping-plan header span { font-size: 13px; color: var(--muted); }
.shopping-plan header strong { display: block; margin-top: 6px; }
.shopping-plan-stores { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 10px; }
.shopping-plan-stores button { padding: 14px; text-align: left; color: var(--text); font: inherit; cursor: pointer; }
.shopping-plan-stores button > span { display: block; color: var(--muted); font-size: 12px; margin: 8px 0; }
.shopping-route { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 16px; }
.shopping-route summary { cursor: pointer; }
.route-controls label { display: block; font-size: 13px; }
.route-controls select { display: block; box-sizing: border-box; padding: 12px; margin: 8px 0; font: inherit; color: var(--text); background: #fff; }
.route-controls { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
.route-controls select { width: auto; margin-bottom: 0; }
.route-link { display: inline-block; padding: 13px 16px; text-decoration: none; }
.route-link[aria-disabled=true] { opacity: .5; cursor: default; }
.shopping-plan button:focus-visible, .shopping-plan a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.replacement-attribute > div span { overflow-wrap: anywhere; }
.replacement-attribute.different { background: #f1f4e9; }
.replacement-difference.increased { color: #805119; }
.modal.open ~ .undo-notice { visibility: hidden; }
.compare-offer .compare-row { gap: 8px; flex-wrap: wrap; }
.compare-toggle { flex-wrap: wrap; }
.compare-arrow { color: var(--accent); font-weight: 400; margin-left: 5px; }
.page-cart .cart-page { display: block; }
.page-cart .deals-page, .page-cart .stores-page, .page-cart .hero, .page-cart .sort-chips, .page-cart .sort-dropdown { display: none; }
.add-to-cart { width: 100%; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; padding: 10px 8px; border: 1px solid #d6dec9; border-radius: 5px; background: #f0f4e7; color: var(--accent); font-size: 12px; font-weight: 700; cursor: pointer; }
.add-to-cart:hover { background: #e1ebd2; border-color: #a7ba94; }
.add-to-cart > span { font-size: 18px; line-height: 1; }
.detail-cart-add { background: var(--accent); color: #fff; padding: 13px; }
.detail-cart-add:hover { background: #1c4b35; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 26px; align-items: start; }
.cart-items { display: grid; gap: 12px; }
.cart-item { display: flex; gap: 20px; align-items: center; padding: 18px; }
.cart-item-image { width: 90px; flex-shrink: 0; }
.cart-item-image .prodimg { height: 90px; margin: 0; font-size: 37px; }
.cart-item-image .prodimg img { width: calc(100% - 12px); height: calc(100% - 12px); max-width: calc(100% - 12px); max-height: calc(100% - 12px); }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-info h3 { margin: 7px 0; font-size: 15px; overflow-wrap: anywhere; }
.cart-validity { color: var(--muted); font-size: 11px; margin: 6px 0 10px; }
.cart-item-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.quantity-controls { display: flex; align-items: center; overflow: hidden; }
.quantity-controls button { width: 34px; height: 34px; border: 0; cursor: pointer; }
.quantity-controls button:disabled { opacity: .35; cursor: default; }
.quantity-controls span { min-width: 30px; text-align: center; font-size: 13px; font-variant-numeric: tabular-nums; }
.cart-remove { border: 0; background: none; font-size: 11px; cursor: pointer; padding: 4px; }
.cart-remove:hover { text-decoration: underline; }
.cart-summary { top: 110px; padding: 24px; font-size: 13px; }
.cart-summary > strong { display: block; margin: 14px 0 24px; font-size: 32px; letter-spacing: -1px; }
.cart-summary > p:first-of-type { border-top: 1px solid #cbd6bf; padding-top: 18px; line-height: 1.6; }
.cart-summary b { margin-top: 8px; }
.cart-status { color: #986044; font-size: 11px; line-height: 1.6; }
.cart-inactive { background: #faf9f4; border-style: dashed; }
[hidden] { display: none !important; }
@media (max-width: 1050px) {
  .navlinks { display: none; position: absolute; top: 100%; left: 20px; right: 20px; padding: 8px; background: #fffef9; border: 1px solid var(--line); border-radius: 7px; flex-direction: column; align-items: stretch; box-shadow: var(--shadow); }
  .nav.open .navlinks { display: flex; }
  .menu-btn { display: grid; place-items: center; border-radius: 5px; }
}
@media (max-width: 760px) {
  .cart-layout { grid-template-columns: 1fr; }
  .hero { padding-top: 24px; }
  .location-strip { padding-top: 18px; }
  .cart-nav { padding: 9px; gap: 5px; }
  .cart-nav #navCartLabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cart-summary { position: static; }
  .cart-item { gap: 12px; padding: 12px; flex-wrap: wrap; }
  .cart-item .cart-item-image { width: 76px; }
  .cart-item-image .prodimg { height: 80px; font-size: 30px; }
  .cart-replacements { flex-wrap: nowrap; gap: 4px; padding: 8px; font-size: 11px; }
  .cart-item-actions { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; padding-top: 12px; border-top: 1px solid var(--line); }
  .cart-item-info h3 { font-size: 13px; }
  .add-to-cart { font-size: 11px; }
}
@media (max-width: 640px) {
  .offer-cart-controls { flex-wrap: wrap; justify-content: center; padding: 6px; gap: 6px 10px; }
  .detail-cart-controls { justify-content: space-between; }
}
@media (max-width: 760px) {
  .nav { height: 64px; gap: 7px; padding-inline: 14px; }
  .brand { display: inline-flex; align-items: center; flex-shrink: 0; font-size: 18px; letter-spacing: -.8px; white-space: nowrap; }
  .brand::before { display: inline-grid; width: 24px; height: 24px; margin-right: 6px; font-size: 14px; }
  .menu-btn { flex-shrink: 0; width: 36px; height: 38px; min-height: 38px; padding: 0; font-size: 18px; }
  .lang-wrap { flex-shrink: 0; }
  .lang-wrap #langDropdown { width: 66px; min-width: 0; }
  .lang-wrap #langDropdown .dropdown-trigger { height: 38px; padding: 7px 9px; gap: 5px; justify-content: center; }
  #langDropdown .dropdown-value { font-size: 0; }
  #langDropdown .dropdown-value::after { content: attr(data-short); font-size: 11px; font-weight: 700; letter-spacing: .4px; }
  #langDropdown .dropdown-chevron { width: 11px; height: 11px; margin-left: 1px; }
  #langDropdown .dropdown-menu { min-width: 200px; }
  .cart-nav { min-height: 38px; height: 38px; padding: 7px 8px; gap: 5px; }
  .cart-nav > svg { width: 18px; height: 18px; }
  .cart-badge { min-width: 18px; height: 18px; font-size: 10px; padding-inline: 4px; }
  .navlinks { top: 100%; }
}
@media (max-width: 640px) {
  .card { display: flex; flex-direction: column; min-width: 0; }
  .card .sub { margin-top: auto; padding-top: 12px; min-height: 48px; gap: 5px; }
  .card .sub > span { flex: 1; min-width: 0; line-height: 1.5; }
  .card .fav { flex-shrink: 0; width: 30px; height: 30px; }
  .card .fav svg { width: 17px; height: 17px; }
  .card > .add-to-cart, .card > .offer-cart-controls { box-sizing: border-box; height: 72px; min-height: 72px; margin-top: 10px; padding: 6px 5px; border-radius: 6px; }
  .card > .add-to-cart { align-items: center; justify-content: center; gap: 5px; font-size: 11px; line-height: 1.3; }
  .card > .offer-cart-controls { display: grid; grid-template-rows: 16px 36px; justify-items: center; justify-content: stretch; align-content: center; gap: 4px; }
  .card .in-cart-label { justify-content: center; width: 100%; font-size: 10px; line-height: 16px; white-space: nowrap; gap: 4px; }
  .card .in-cart-label svg { width: 14px; height: 14px; }
  .card .offer-cart-controls .quantity-controls { height: 36px; flex-shrink: 0; }
  .card .offer-cart-controls .quantity-controls button { display: grid; place-items: center; width: 32px; height: 34px; min-height: 34px; padding: 0; font-size: 18px; line-height: 1; }
  .card .offer-cart-controls .quantity-controls span { display: grid; place-items: center; min-width: 26px; height: 34px; font-size: 12px; line-height: 1; }
  .detail-cart-controls { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 10px; }
  .detail-cart-controls .in-cart-label { min-width: 0; font-size: 12px; }
  .detail-cart-controls .quantity-controls { flex-shrink: 0; }
}
@media (max-width: 360px) {
  .nav { gap: 5px; padding-inline: 10px; }
  .brand { font-size: 16px; }
  .brand::before { width: 21px; height: 21px; font-size: 12px; margin-right: 4px; }
  .lang-wrap #langDropdown { width: 57px; }
  .cart-nav { padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.offer-description { white-space: pre-line; color: #637168; line-height: 1.6; margin: 12px 0 18px; font-size: 14px; }
.translation-original { font-size: 12px; color: #7a847d; line-height: 1.5; margin: -4px 0 12px; }
.install-card { display:flex; align-items:flex-start; gap:18px; margin:36px 0 20px; padding:24px; }
.install-card[hidden] { display:none; }
.install-card img { border-radius:12px; flex-shrink:0; }
.install-card h3 { margin:0 0 8px; font-size:19px; }
.install-card p { font-size:14px; line-height:1.65; margin:8px 0; color:#52645a; }
.install-card summary { cursor:pointer; font-size:14px; color:#255d47; }
.install-card .searchbtn { margin-top:12px; }
.install-card #installStatus:empty { display:none; }
@media(max-width:560px) {
  .install-card { padding:18px; gap:12px; }
  .install-card img { width:38px; height:38px; }
  .install-card h3 { font-size:17px; }
}
.nearby-dialog { box-sizing:border-box; width:min(680px,calc(100vw - 32px)); max-height:88dvh; padding:28px; background:#faf9f3; color:#213a30; overflow:auto; overscroll-behavior:contain; }
.nearby-dialog::backdrop { background:#1b352866; backdrop-filter:blur(3px); }
.nearby-dialog * { box-sizing:border-box; }
.nearby-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.nearby-heading h2 { margin:4px 0 0; font-size:27px; line-height:1.2; }
.nearby-heading .close { font-size:12px; white-space:nowrap; min-width:0; padding:8px 10px; flex-shrink:0; }
.nearby-start details { margin-top:16px; }
.nearby-start summary, .nearby-about summary { font-size:13px; font-weight:600; cursor:pointer; color:#365846; }
.nearby-about { margin:12px 0 18px; }
.nearby-dialog .chip { color:#28523c; background:#e7eedf; border-color:#cbd8c2; }
.nearby-kicker { font-size:11px; letter-spacing:.15em; color:#64796b; }
.nearby-dialog p { font-size:14px; line-height:1.5; }
.nearby-start { padding:18px; background:#edf1e6; border-radius:12px; margin:18px 0; }
.nearby-start .searchbtn { min-height:46px; width:100%; white-space:normal; }
.nearby-status:empty { display:none; }
.nearby-status { font-weight:600; color:#365846; overflow-wrap:anywhere; }
.nearby-start label { display:block; font-size:13px; font-weight:600; margin:18px 0 8px; }
.nearby-start input, .nearby-start select { min-width:0; width:100%; font:inherit; font-size:16px; padding:12px; border:1px solid #cbd5c5; border-radius:7px; background:#fff; color:inherit; }
.nearby-list { display:grid; gap:12px; }
.nearby-branch { padding:18px; background:#fff; border:1px solid #dde2d6; border-radius:10px; }
.nearby-branch-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nearby-brand { padding:4px 10px; border-radius:5px; font-size:13px; font-weight:700; background:#e8efde; }
.nearby-brand.lidl { background:#e5eef8; color:#10518c; }
.nearby-brand.penny { background:#f9e7e6; color:#af282b; }
.nearby-brand.kaufland { background:#fae7e7; color:#b52f31; }
.nearby-branch h3 { font-size:16px; line-height:1.45; margin:12px 0 9px; }
.nearby-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.nearby-actions a { font-size:12px; color:#426d55; }
.nearby-actions .chip { min-height:40px; }
.nearby-dialog button:focus-visible, .nearby-dialog a:focus-visible, .nearby-dialog input:focus-visible, .nearby-dialog select:focus-visible { outline:2px solid #2d7051; outline-offset:3px; }
.route-start { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:16px 0; }
.route-start span { font-size:13px; overflow-wrap:anywhere; }
@media(max-width:600px) {
  .nearby-dialog { padding:20px 16px; width:calc(100vw - 20px); max-height:92dvh; }
  .nearby-heading h2 { font-size:23px; }
  .nearby-start { padding:14px; }
  .nearby-actions { gap:10px; }
  .nearby-actions button { width:100%; }
  .nearby-branch { padding:15px; }
}
.nearby-map-canvas { height:320px; width:100%; border:1px solid #ced8c9; border-radius:10px; background:#e7ecdf; isolation:isolate; }
.branch-map-pin { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; border:2px solid #fff; box-shadow:0 2px 7px #243a3355; font:700 14px 'Manrope',sans-serif; color:#fff; }
.branch-map-pin.lidl { background:#1755a0; }
.branch-map-pin.penny { background:#c63137; }
.branch-map-pin.kaufland { background:#b22329; }
.user-map-pin { display:grid; place-items:center; width:30px; height:30px; border:2px solid #fff; border-radius:50%; background:#286247; color:#fff; font-size:22px; box-shadow:0 0 0 4px #28624733; }
.nearby-map-canvas .leaflet-popup-content { line-height:1.5; min-width:150px; }
.nearby-map-canvas .leaflet-popup-content p { font-size:12px; margin:8px 0; }
.nearby-map-canvas .leaflet-popup-content button { min-height:40px; white-space:normal; max-width:220px; }
.nearby-map-canvas .leaflet-control-attribution { font-size:10px!important; max-width:100%; white-space:normal; }
@media(max-width:600px) {
  .nearby-map-canvas { height:280px; }
}
.searchbox { max-width: 760px; }
.catalog-status { display: block; }
.catalog-status-details summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; cursor: pointer; font-size: 12px; font-weight: 600; color: var(--muted); list-style: none; }
.catalog-status-details summary::-webkit-details-marker { display: none; }
.catalog-status-more { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.catalog-status.is-warning summary { color: #845523; }
.catalog-status-details[open] .catalog-status-body { margin-top: 10px; }
.catalog-status-body > span { display: block; margin-top: 6px; color: var(--muted); line-height: 1.6; }
.catalog-status-body #retryCatalog, .catalog-status > #retryCatalog { margin-top: 10px; }
.quick-filters { padding-top: 4px; }
.chip-count { margin-left: 4px; font-size: 11px; opacity: .75; font-variant-numeric: tabular-nums; }
.chip-divider { width: 1px; align-self: stretch; margin: 4px 4px; background: var(--line); }
.page-stores .hero, .page-favorites .hero, .page-cart .hero, .page-stores .catalog-status, .page-favorites .catalog-status, .page-cart .catalog-status, .page-stores .install-card, .page-favorites .install-card, .page-cart .install-card { display: none; }
.footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; }
.footer .quick-clear { padding: 4px 0; }
@media (max-width: 980px) {
  #stores, #cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; max-width: 100%; }
  #stores::-webkit-scrollbar, #cats::-webkit-scrollbar { display: none; }
  #cats .chip, #stores .store { flex-shrink: 0; }
}
@media (max-width: 760px) {
  .hero { padding: 16px 0 14px; }
  .hero h1 { font-size: 27px; line-height: 1.15; }
  .hero p { font-size: 13px; }
  .quick-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .quick-filters::-webkit-scrollbar { display: none; }
  .quick-filters > * { flex-shrink: 0; }
}
.offer-price-tag { margin-left: auto; padding: 5px 7px; border: 1px solid #cbd8bd; border-radius: 4px; color: var(--accent); font-size: 10px; font-weight: 700; white-space: nowrap; }
.mobile-search-slot { display: none; }
@media (max-width: 760px) {
  .mobile-search-slot { display: block; padding-top: 4px; }
  .page-stores .mobile-search-slot, .page-cart .mobile-search-slot { display: none; }
  .offer-price-tag { padding: 3px 5px; font-size: 9px; }
}
.nearby-map-small { margin: 18px 0 4px; }
.nearby-map-small .nearby-map-canvas, .route-map .nearby-map-canvas { height: 220px; }
.nearby-other { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #4b6254; flex: 1 1 220px; }
.nearby-other select { font: inherit; font-size: 14px; font-weight: 500; padding: 9px; border: 1px solid #cbd5c5; border-radius: 7px; background: #fff; color: inherit; }
.nearby-actions { align-items: flex-end; }
.route-plan { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 10px; }
.route-plan li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.route-plan li .branch-map-pin { flex: 0 0 auto; width: 28px; height: 28px; font-size: 13px; }
.route-plan li div { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.route-plan li span:not(.branch-map-pin) { font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.route-plan small { color: var(--muted); white-space: nowrap; }
.route-map { margin-bottom: 4px; }
.route-controls { align-items: center; }
@media (max-width: 600px) {
  .nearby-map-small .nearby-map-canvas, .route-map .nearby-map-canvas { height: 200px; }
  .route-controls .route-link { width: 100%; text-align: center; }
}

/* ===== Catalogue layout of the redesign (former design-lab/theme.css) ===== */
.page-stores .hero { display:none; }
.page-deals .sort-dropdown, .page-favorites .sort-dropdown { display:block!important; }
.store-tiles .store-logo { width:34px; height:34px; border-radius:8px; color:#fff; }
.store-tiles .store-logo.l { background:#0050aa; color:#ffe500; }
.store-tiles .store-logo.k { background:#d1101a; }
.store-tiles .store-logo.p { background:#c8102e; }
:root { --shadow:none; }
html { scroll-padding-top:120px; }
body { font-size:15px; }
button { transition:background .15s,border-color .15s; }
h1, h2, h3, .price { font-family:var(--heading-font); }
.wrap { max-width:1280px; padding-inline:32px; }
.top { border-color:var(--line); position:sticky; top:0; z-index:40; }
.nav { height:auto; min-height:82px; gap:16px; padding-block:14px; flex-wrap:wrap; }
.brand { white-space:nowrap; display:flex; gap:0; }
.brand::before { width:36px; height:36px; border-radius:10px; transform:none; color:#f2d64b; font-size:20px; margin-right:10px; }
.brand span::before { content:'\00a0'; }
.searchbox { width:100%; margin:0; box-shadow:none; }
.searchbox input { min-width:0; }
.search-icon { margin-left:10px; width:19px; }
.navlinks { margin-left:0; gap:0; }
.navlinks button { padding:10px 11px; }
.navlinks button.active { background:#eaf1ec; color:#1e5c43; }
.lang-wrap #langDropdown { min-width:72px; width:90px; }
.lang-wrap #langDropdown .dropdown-trigger { min-width:0; padding:10px; height:44px; }
#langValue { font-size:12px; }
#langValue::after { display:none; }
.cart-nav { padding:0 14px; height:44px; gap:8px; font-size:13px; }
.cart-badge { border-radius:12px; }
.location-strip { max-width:none; margin:0; padding:9px max(32px,calc((100% - 1216px)/2)); color:#fff; display:flex; justify-content:flex-end; }
.city-btn { padding:0; min-height:24px; background:transparent!important; border:0; color:white; font-size:12px; gap:8px; }
.location-arrow { opacity:1; }
.hero { padding:40px 0 0; border:0; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr); gap:40px; align-items:end; }
.hero h1 { margin:0; }
.hero p { line-height:1.55; max-width:560px; margin:16px 0 0; }
.store-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.store-tiles button { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:16px; text-align:left; color:var(--text); min-width:0; }
.store-tiles button:hover { border-color:var(--accent); }
.catalog-status { padding:12px 0; border:0; font-size:12px; }
.toolbar { align-items:center; margin:0 0 14px; padding:0; }
.section-title { scroll-margin-top:110px; }
.results-count { font-size:12px; margin:6px 0 0; }
.sort-chips { display:none; }
.sort-dropdown .dropdown-trigger { background:#fff; font-size:13px; height:42px; min-width:200px; }
.filters { display:flex; flex-direction:column; margin-bottom:12px; gap:14px; }
.filter-categories>h3, .filter-stores>h3 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#cats { display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
#cats .chip { flex-shrink:0; border-bottom:3px solid transparent; font-size:13px; }
#cats .chip.active { border-bottom-color:var(--text); }
.filter-stores { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
#stores { display:flex; gap:8px; flex-wrap:wrap; }
.filter-stores .store { margin:0; display:flex; align-items:center; gap:7px; background:#fff; font-size:13px; }
.filter-stores .store-logo { width:20px; height:20px; font-size:11px; border-radius:6px; }
.filter-stores input { width:14px; height:14px; }
.filter-stores #reset { width:auto!important; margin-left:auto; font-size:11px; padding:7px; background:none; border:0; }
.quick-filters { padding:0; margin:0 0 16px; gap:8px; }
.quick-filters button { font-size:12px; padding:8px 13px; min-height:38px; }
.cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.catalog-pagination-top { border:0; padding:0 0 12px; font-size:12px; }
.catalog-pagination button { border-radius:10px; background:#fff; min-height:40px; }
.catalog-pagination button[aria-current=page] { background:#18241f; color:#fff; }
.card { position:relative; display:flex; flex-direction:column; animation:none; min-width:0; }
.cardtop { font-size:12px; gap:7px; min-height:24px; }
.cardtop b { font-weight:600; }
.cardtop .store-logo { width:22px; height:22px; font-size:11px; border-radius:6px; }
.card .prodimg { height:156px; margin:12px 0 12px; }
.card .prodimg img { object-fit:contain; mix-blend-mode:multiply; max-height:130px; }
.card .cat { font-size:10px; letter-spacing:.05em; margin-bottom:4px; }
.card .name { line-height:1.4; min-height:40px; margin:0 0 10px; }
.card .price-row { margin:0 0 7px; flex-wrap:wrap; }
.card .price { font-weight:800; letter-spacing:-.8px; line-height:1.1; font-variant-numeric:tabular-nums; }
.unit-price { margin-bottom:8px; }
.card .sub { padding-top:8px; margin-top:auto; border:0; min-height:34px; }
.fav { width:36px; height:36px; }
.card>.add-to-cart { border:1px solid #1e5c43; border-radius:10px; background:#fff; color:#1e5c43; min-height:44px; height:44px; font-size:13px; margin-top:8px; }
.card>.offer-cart-controls { border-radius:10px; background:#eaf1ec; min-height:44px; margin-top:8px; }
.page-cart .filters, .page-stores .filters, .page-cart .quick-filters, .page-stores .quick-filters, .page-cart .sort-dropdown, .page-stores .sort-dropdown { display:none; }
.page-cart .toolbar, .page-stores .toolbar { margin-top:32px; }
.page-favorites .store-tiles { display:none; }
.page-favorites .hero { padding-bottom:20px; }
.store-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.store-card { position:relative; border-top:5px solid #1e5c43; padding:24px; display:flex; flex-direction:column; align-items:flex-start; min-height:210px; }
.store-card .store-logo { width:48px; height:48px; border-radius:12px; }
.store-card h3 { font-weight:800; margin:16px 0 8px; }
.store-card .muted { font-size:13px; }
.cart-item { border-color:var(--line); box-shadow:none; }
.cart-item h3 { font-size:15px; }
.cart-summary>strong { color:var(--text); }
.cart-summary p { border-color:var(--line); }
.shopping-plan { border-color:var(--line); }
.manual-item-form { padding:18px; }
.copy-list, .route-link { border-radius:10px; }
.dialog { padding:26px; max-width:960px; }
.dialogtop { border-color:var(--line); padding-bottom:14px; }
.footer { margin-top:40px; font-size:12px; }
@media(max-width:1100px) and (min-width:761px) {
  .nav { gap:12px; }
  .navlinks { margin-left:auto; }
  .cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero h1 { font-size:44px; }
}
@media(max-width:760px) {
  .wrap { padding-inline:16px; }
  .top .nav { height:66px; min-height:66px; flex-wrap:nowrap; padding-block:10px; gap:8px; }
  .brand { font-size:19px; letter-spacing:-.7px; margin-right:auto; }
  .brand::before { width:30px; height:30px; border-radius:9px; font-size:17px; margin-right:7px; }
  .navlinks { display:none; }
  .nav.open .navlinks { display:flex; position:absolute; top:66px; left:0; right:0; background:white; padding:12px 16px; border-bottom:1px solid var(--line); z-index:5; }
  .menu-btn { display:block; width:36px; min-width:36px; height:40px; border-radius:9px; font-size:19px; }
  .lang-wrap #langDropdown { width:58px; min-width:58px; }
  .lang-wrap #langDropdown .dropdown-trigger { padding:9px 6px; height:40px; }
  #langValue { font-size:0; }
  #langValue::after { display:inline; font-size:11px; }
  .cart-nav { height:40px; min-width:52px; padding:0 8px; gap:5px; }
  .cart-nav>svg { width:18px; }
  #navCartLabel { display:none; }
  .cart-badge { font-size:11px; min-width:20px; height:20px; }
  .location-strip { padding:8px 16px; justify-content:flex-start; }
  .city-btn { font-size:11px; }
  .hero { padding:22px 0 0; }
  .hero-grid { display:block; }
  .hero h1 { font-size:34px; line-height:1.07; letter-spacing:-.8px; }
  .hero p { font-size:13px; line-height:1.55; margin-top:12px; }
  .store-tiles { display:none; }
  .toolbar { gap:8px; margin-bottom:12px; }
  .section-title { font-size:26px; }
  .sort-dropdown .dropdown-trigger { min-width:0; max-width:165px; font-size:11px; padding:9px; }
  .filters { gap:10px; }
  .filter-categories { min-width:0; }
  .filter-stores { gap:7px; }
  #stores { gap:6px; }
  .filter-stores .store { font-size:12px; padding:7px 10px; gap:5px; }
  .filter-stores #reset { margin-left:0; flex-basis:100%; text-align:left; }
  #cats .chip { font-size:12px; min-height:40px; padding:0 12px; }
  .quick-filters { gap:6px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; }
  .quick-filters button { flex-shrink:0; font-size:11px; min-height:36px; padding:7px 12px; }
  .searchbox { height:46px; }
  .searchbox .searchbtn { font-size:12px; padding-inline:12px; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .card { padding:10px; border-radius:14px; min-width:0; }
  .cardtop { font-size:10px; gap:5px; }
  .cardtop .store-logo { width:18px; height:18px; font-size:10px; border-radius:5px; }
  .card .discount { font-size:13px; padding:4px 7px; top:51px; left:16px; border-radius:6px; }
  .card .prodimg { height:120px; margin:10px 0; border-radius:10px; }
  .card .prodimg img { max-height:102px; width:calc(100% - 16px); height:calc(100% - 16px); max-width:calc(100% - 16px); }
  .card .cat { font-size:8px; min-height:10px; }
  .card .name { font-size:12px; min-height:50px; margin-bottom:8px; overflow-wrap:anywhere; }
  .card .price { font-size:24px; letter-spacing:-.7px; }
  .card .old { font-size:9px; }
  .card .price-row { gap:4px; }
  .unit-price { font-size:10px; line-height:1.4; min-height:14px; }
  .card .sub { font-size:9px; min-height:32px; padding:0; }
  .card .fav { width:30px; height:30px; min-width:30px; }
  .card>.add-to-cart { font-size:11px; height:44px; min-height:44px; padding:6px; }
  .card>.offer-cart-controls { min-height:66px; height:66px; padding:5px; gap:4px; grid-template-rows:14px 32px; }
  .card .offer-cart-controls .quantity-controls { height:32px; }
  .card .offer-cart-controls .quantity-controls button { width:28px; height:30px; }
  .card .offer-cart-controls .quantity-controls span { min-width:24px; }
  .in-cart-label { font-size:10px; }
  .store-cards { grid-template-columns:1fr; }
  .store-card { min-height:160px; padding:20px; }
  .cart-item { padding:14px; }
  .cart-item-image .prodimg { width:76px; height:88px; }
  .cart-item h3 { font-size:13px; }
  .cart-summary { padding:22px; }
  .shopping-plan { padding:18px; }
  .dialog { padding:18px; border-radius:18px; }
  .dialogtop b { font-size:18px; }
  .detailimg { height:210px; }
  .page-cart .toolbar, .page-stores .toolbar { margin-top:24px; }
  .page-cart .results-count, .page-stores .results-count { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; transition:none!important; }
}

/* ===== Leták look: black frames, hard shadows, yellow stars (former design-lab/theme-b.css) ===== */
:root { --bg:#fbf7ee; --text:#111; --muted:#3a372f; --line:#111; --accent:#111; --b-yellow:#ffe14d; --b-orange:#ff6b2c; --b-urgent:#b3400f; --b-paper:#f3eee2; --b-display:Anton,Oswald,Impact,sans-serif; --b-text:'Instrument Sans',Inter,system-ui,sans-serif; --heading-font:var(--b-display); --b-star:polygon(100% 50%,88.6% 60.4%,93.3% 75%,78.3% 78.3%,75% 93.3%,60.4% 88.6%,50% 100%,39.6% 88.6%,25% 93.3%,21.7% 78.3%,6.7% 75%,11.4% 60.4%,0% 50%,11.4% 39.6%,6.7% 25%,21.7% 21.7%,25% 6.7%,39.6% 11.4%,50% 0%,60.4% 11.4%,75% 6.7%,78.3% 21.7%,93.3% 25%,88.6% 39.6%); }
:root[lang=ru], :root[lang=uk] { --b-display:Oswald,Impact,sans-serif; --b-text:Inter,system-ui,sans-serif; }
body { background:var(--bg); font-family:var(--b-text); color:var(--text); }
button, input, select { font-family:inherit; }
button:focus-visible, input:focus-visible, a:focus-visible, select:focus-visible { outline:3px solid var(--b-orange); outline-offset:3px; }
h1, h2, h3 { font-weight:400; }
.ticker { background:#111; color:var(--b-yellow); font-family:var(--b-display); font-size:15px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; overflow:hidden; padding:8px 24px; }
.top { background:var(--bg); border-bottom:3px solid #111; }
.brand { font-family:var(--b-display); font-weight:400; font-size:30px; letter-spacing:.02em; text-transform:uppercase; background:var(--b-yellow); border:3px solid #111; padding:3px 10px 0; line-height:1.05; transform:rotate(-2deg); }
.brand::before { display:none; }
.brand span { font-weight:400; }
.searchbox { border:3px solid #111; border-radius:0; background:#fff; padding:0; height:52px; }
.searchbox input { height:46px; font-size:15px; }
.searchbox .searchbtn { height:100%; min-height:0; border-radius:0; border-left:3px solid #111; background:#111; color:var(--b-yellow); font-family:var(--b-display); font-weight:400; font-size:17px; letter-spacing:.05em; text-transform:uppercase; padding:0 20px; }
.navlinks button { border-radius:0; font-weight:600; font-size:14px; color:#111; }
.navlinks button.active, .navlinks button:hover { background:transparent; color:#111; text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:6px; text-decoration-color:var(--b-orange); }
.lang-wrap #langDropdown .dropdown-trigger { border:2px solid #111; border-radius:0; background:#fff; }
.dropdown-menu { border:3px solid #111; border-radius:0; box-shadow:5px 5px 0 #111; background:#fff; }
.dropdown-menu button { border-radius:0; }
.dropdown-menu button[aria-selected=true], .dropdown-menu button:hover { background:var(--b-yellow); color:#111; }
.cart-nav { background:var(--b-yellow); color:#111; border:3px solid #111; border-radius:0; box-shadow:4px 4px 0 #111; font-weight:700; }
.cart-nav:hover, .cart-nav.active { background:#111; color:var(--b-yellow); }
.cart-badge { background:#111; color:var(--b-yellow); }
.cart-nav.active .cart-badge { background:var(--b-yellow); color:#111; }
.menu-btn { border:2px solid #111; border-radius:0; background:#fff; }
.location-strip { background:#111; }
.location-strip .city-btn, .location-strip .city-btn span, .location-strip .city-btn svg { color:var(--b-yellow)!important; font-weight:700; }
.hero h1 { font-family:var(--b-display); font-weight:400; letter-spacing:0; text-transform:uppercase; }
.hero p { color:var(--muted); font-size:17px; }
.store-tiles button { border:3px solid #111; border-radius:0; background:#fff; box-shadow:5px 5px 0 #111; }
.store-tiles button:nth-child(odd) { transform:rotate(-1deg); }
.store-tiles button:nth-child(even) { transform:rotate(1deg); }
.store-tiles button:hover { background:var(--b-yellow); }
.store-tiles b { font-family:var(--b-display); font-weight:400; font-size:20px; text-transform:uppercase; letter-spacing:.03em; }
.store-tiles button>span:last-child { color:var(--muted); font-weight:600; font-size:12px; }
.store-logo { border-radius:0; }
.store-tiles .store-logo.k, .store-logo.k { background:#b00e16!important; }
.store-tiles .store-logo.p, .store-logo.p { background:#a80d26!important; }
.section-title { font-family:var(--b-display); font-weight:400; font-size:56px; letter-spacing:0; text-transform:uppercase; }
.toolbar { border-bottom:3px solid #111; padding-bottom:12px; margin-bottom:18px; }
.results-count { color:var(--muted); font-weight:600; }
.sort-dropdown .dropdown-trigger { border:2px solid #111; border-radius:0; font-weight:600; }
#cats { gap:8px; border-bottom:0; padding-bottom:4px; }
#cats .chip { min-height:44px; padding:0 16px; border:2px solid #111; border-radius:0; background:#fff; color:#111; font-weight:600; }
#cats .chip.active { background:#111; color:var(--b-yellow); font-weight:700; }
.filter-stores .store { border:2px solid #111; border-radius:0; font-weight:700; padding:8px 12px; }
.filter-stores .store:has(.store-logo.l) { border-color:#0050aa; color:#0050aa; }
.filter-stores .store:has(.store-logo.k) { border-color:#b00e16; color:#b00e16; }
.filter-stores .store:has(.store-logo.p) { border-color:#a80d26; color:#a80d26; }
.filter-stores .store:has(input:checked) { background:#111; border-color:#111; color:#fff; }
.filter-stores .store:has(.store-logo.l):has(input:checked) { background:#0050aa; border-color:#0050aa; color:#fff; }
.filter-stores .store:has(.store-logo.k):has(input:checked) { background:#b00e16; border-color:#b00e16; color:#fff; }
.filter-stores .store:has(.store-logo.p):has(input:checked) { background:#a80d26; border-color:#a80d26; color:#fff; }
.filter-stores .store:has(input:checked) .store-logo { box-shadow:0 0 0 2px #fff; }
.filter-stores .store input { accent-color:#111; }
.filter-stores #reset { color:#111; text-decoration:underline; text-underline-offset:3px; }
.quick-filters button { border:2px solid #111; border-radius:0; background:#fff; color:#111; font-weight:600; }
.quick-filters button.active { background:#111; color:var(--b-yellow); border-color:#111; }
.quick-clear { color:#111; }
.cards { gap:28px; }
.card { padding:0 0 14px; border:3px solid #111; border-radius:0; box-shadow:6px 6px 0 #111; overflow:visible; background:#fff; }
.card:hover { transform:none; border-color:#111; box-shadow:8px 8px 0 #111; }
.card>*:not(.cardtop):not(.discount) { margin-left:14px; margin-right:14px; }
.card .cardtop { margin:0; min-height:0; padding:7px 12px; background:#111; color:#fff; font-family:var(--b-display); font-size:17px; letter-spacing:.06em; text-transform:uppercase; }
.card .cardtop:has(.store-logo.l) { background:#0050aa; }
.card .cardtop:has(.store-logo.k) { background:#b00e16; }
.card .cardtop:has(.store-logo.p) { background:#a80d26; }
.card .cardtop b { font-weight:400; font-size:17px; }
.card .cardtop .store-logo { display:none; }
.card .discount { position:absolute; top:34px; right:-14px; left:auto; z-index:2; width:76px; height:76px; padding:0; display:grid; place-items:center; border-radius:0; background:var(--b-yellow); clip-path:var(--b-star); box-shadow:none; color:#111; font-family:var(--b-display); font-weight:400; font-size:21px; transform:rotate(12deg); }
.card .prodimg { border-radius:0; background:var(--b-paper); margin-top:12px; }
.card .cat { color:var(--muted); font-weight:700; }
.card .name { font-size:15px; font-weight:600; }
.card .price-row { align-items:flex-start; gap:8px; }
.card .price, .bigprice { display:inline-flex; align-items:flex-start; font-family:var(--b-display); font-weight:400; letter-spacing:0; line-height:.85; color:#111; }
.card .price { font-size:56px; }
.price-cents { font-size:.43em; margin-top:.06em; }
.price-currency { font-size:.3em; margin:.16em 0 0 .18em; }
.card .old { margin-left:auto; margin-top:6px; font-size:13px; color:var(--muted); }
.unit-price { border-top:2px dotted #111; padding-top:7px; font-size:13px; color:var(--muted); }
.card .sub { font-size:12px; color:var(--muted); }
.urgent { color:var(--b-urgent); font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.fav { border:2px solid #111; border-radius:0; background:#fff; color:#111; }
.fav[aria-pressed=true] { background:var(--b-yellow); }
.card>.add-to-cart, .card>.offer-cart-controls { width:auto; }
.card>.add-to-cart, .add-to-cart { border:2px solid #111; border-radius:0; background:#111; color:#fff; font-weight:700; }
.card>.add-to-cart:hover, .add-to-cart:hover { background:var(--b-yellow); color:#111; }
.card>.offer-cart-controls, .offer-cart-controls { border:2px solid #111; border-radius:0; background:var(--b-yellow); color:#111; }
.quantity-controls { border:2px solid #111; border-radius:0; background:#fff; }
.quantity-controls button { background:#fff; color:#111; font-family:var(--b-display); font-size:19px; }
.quantity-controls button:hover { background:var(--b-yellow); }
.catalog-pagination button, .pagination-buttons button { border:3px solid #111; border-radius:0; background:#fff; color:#111; font-weight:700; }
.catalog-pagination button[aria-current=page], .pagination-buttons button[aria-current=page] { background:#111; color:var(--b-yellow); border-color:#111; }
.nores { border:3px dashed #111; border-radius:0; background:#fff; color:#111; }
.store-cards { gap:28px; }
.store-card { border:3px solid #111; border-top-width:14px; border-radius:0; box-shadow:8px 8px 0 #111; background:#fff; }
.store-card:has(.l) { border-top-color:#0050aa; }
.store-card:has(.k) { border-top-color:#b00e16; }
.store-card:has(.p) { border-top-color:#a80d26; }
.store-card:hover { background:var(--b-yellow); }
.store-card h3 { font-family:var(--b-display); font-size:46px; line-height:1; text-transform:uppercase; }
.store-card .count { font-family:var(--b-display); font-size:40px; color:#111; }
.store-card .muted { color:var(--muted); font-weight:600; }
.shopping-plan { border:3px solid #111; border-radius:0; box-shadow:6px 6px 0 #111; background:#fff; }
.shopping-plan h3 { font-family:var(--b-display); font-size:30px; text-transform:uppercase; }
.shopping-plan header strong { font-family:var(--b-display); font-weight:400; font-size:34px; }
.shopping-plan-stores button { border:2px solid #111; border-radius:0; background:var(--bg); }
.shopping-plan-stores button[aria-pressed=true] { background:var(--b-yellow); box-shadow:none; border-color:#111; }
.shopping-plan-stores button strong { color:#111; }
.shopping-route summary { font-weight:700; }
.route-controls select { border:2px solid #111; border-radius:0; }
.route-link { border:3px solid #111; border-radius:0; background:var(--b-yellow); color:#111; box-shadow:4px 4px 0 #111; font-family:var(--b-display); font-weight:400; font-size:19px; letter-spacing:.05em; text-transform:uppercase; }
.shopping-plan .chip, .cart-store-filters .chip { border:2px solid #111; border-radius:0; background:#fff; color:#111; }
.cart-store-filters .chip.active { background:#111; color:var(--b-yellow); }
.manual-item-form { border:3px dashed #111; border-radius:0; background:transparent; }
.manual-item-form input { border:2px solid #111; border-radius:0; }
.manual-item-form .searchbtn, .nores .searchbtn { border-radius:0; background:#111; color:#fff; }
.copy-list { border:3px solid #111; border-radius:0; background:#fff; color:#111; }
.cart-group-heading { padding:8px 12px; background:#111; color:var(--b-yellow); border:0; margin:0; }
.cart-group-heading h3 { font-family:var(--b-display); font-size:24px; letter-spacing:.04em; text-transform:uppercase; color:var(--b-yellow); }
.cart-group-heading span { color:#fff; }
.cart-group-heading>strong { font-family:var(--b-display); font-weight:400; font-size:24px; }
.cart-store-group { gap:0; }
.cart-item { border:3px solid #111; border-top:0; border-radius:0; background:#fff; }
.cart-item h3 { font-family:var(--b-text); font-weight:700; }
.cart-item-image .prodimg { border-radius:0; background:var(--b-paper); }
.bought-toggle { border:3px solid #111; border-radius:0; background:#fff; color:#111; }
.bought-toggle[aria-pressed=true] { background:var(--b-yellow); border-color:#111; color:#111; }
.cart-bought { background:var(--b-paper); }
.deadline-badge { border:2px solid #111; border-radius:0; background:var(--b-orange); color:#111; text-transform:uppercase; }
.cart-replacements { border:2px solid #111; border-radius:0; background:var(--b-yellow); color:#111; }
.cart-replacements span { background:#111; color:var(--b-yellow); border-radius:0; }
.cart-remove { color:#111; text-decoration:underline; }
.cart-summary { position:sticky; border:0; border-radius:0; background:#fff; font-family:'JetBrains Mono',monospace; box-shadow:0 10px 28px #11111129; transform:rotate(.8deg); margin-bottom:12px; }
.cart-summary::after { content:''; position:absolute; left:0; right:0; bottom:-12px; height:12px; background:linear-gradient(-45deg,transparent 8px,#fff 0),linear-gradient(45deg,transparent 8px,#fff 0); background-size:16px 16px; background-repeat:repeat-x; }
.cart-summary>span { text-transform:uppercase; letter-spacing:.08em; }
.cart-summary>strong { font-family:var(--b-display); font-weight:400; font-size:46px; letter-spacing:0; }
.cart-summary>p:first-of-type { border-top:2px dashed #111; }
.cart-summary b { color:#111; background:var(--b-yellow); display:inline-block; padding:2px 6px; font-family:var(--b-display); font-weight:400; font-size:24px; }
.bought-section { border:3px solid #111; border-radius:0; background:var(--b-paper); }
.share-list-panel { border:3px solid #111; border-radius:0; background:#fff; }
.modal { background:#111111a6; backdrop-filter:none; }
.dialog { border:3px solid #111; border-radius:0; box-shadow:10px 10px 0 #111; background:var(--bg); }
.dialogtop { border-bottom:3px solid #111; }
.dialogtop b { font-family:var(--b-display); font-weight:400; font-size:26px; text-transform:uppercase; letter-spacing:.03em; }
.close { border:2px solid #111; border-radius:0; background:#fff; color:#111; font-weight:700; }
.detailimg { border:3px solid #111; border-radius:0; background:var(--b-paper); }
.detail h2 { font-family:var(--b-text); font-weight:700; font-size:26px; line-height:1.2; }
.bigprice { font-size:86px; }
.compare-toggle { border:3px solid #111; border-radius:0; background:var(--b-yellow); color:#111; box-shadow:4px 4px 0 #111; }
.compare-count { background:#111; color:var(--b-yellow); border-radius:0; }
.compare-offer { border:2px solid #111; border-radius:0; }
.compare-offer.current { background:var(--b-yellow); }
.source-link { color:#111; text-decoration:underline; text-underline-offset:3px; }
.replacement-option { border:2px solid #111; border-radius:0; }
.replacement-option.selected { background:var(--b-yellow); border:3px solid #111; }
.nearby-dialog { border:3px solid #111; border-radius:0; box-shadow:10px 10px 0 #111; }
.install-card { border:3px solid #111; border-radius:0; background:var(--b-yellow); }
.footer { border-top:3px solid #111; color:var(--muted); }
.toast, .undo-notice { border-radius:0; background:#111; color:var(--b-yellow); }
@media(max-width:1100px) and (min-width:761px) {
  .hero h1 { font-size:68px; }
}
@media(max-width:760px) {
  .ticker { font-size:12px; padding:6px 12px; }
  .brand { font-size:21px; padding:2px 7px 0; border-width:2px; }
  .cart-nav { box-shadow:3px 3px 0 #111; border-width:2px; }
  .hero h1 { font-size:44px; line-height:.95; }
  .section-title { font-size:36px; }
  .searchbox { height:48px; }
  .cards { gap:14px; }
  .card { border-width:2px; box-shadow:4px 4px 0 #111; padding-bottom:10px; }
  .card>*:not(.cardtop):not(.discount) { margin-left:8px; margin-right:8px; }
  .card .cardtop, .card .cardtop b { font-size:12px; padding:5px 8px; }
  .card .cardtop b { padding:0; }
  .card .discount { top:24px; right:-8px; width:52px; height:52px; font-size:14px; }
  .card .price { font-size:36px; }
  .card .old { font-size:10px; margin-top:3px; }
  .unit-price { font-size:10px; padding-top:5px; }
  .bigprice { font-size:60px; }
  .store-card h3 { font-size:34px; }
  .cart-summary { transform:none; }
}

/* ===== Site after the merge ===== */
.header-search:empty, .store-tiles:empty, .ticker:empty { display: none; }
.hero h1 { font-size: clamp(48px, 5.2vw, 76px); max-width: 920px; line-height: 1; padding-top: .12em; }
.section-title { line-height: 1.12; padding-top: .1em; }
@media (max-width: 760px) {
  .hero h1 { font-size: 38px; }
  .mobile-search-slot { position: sticky; top: 69px; z-index: 10; background: var(--bg); padding: 8px 0 12px; }
  .mobile-search-slot .searchbox { margin: 0; }
  .mobile-search-slot .searchbox input { min-width: 0; font-size: 16px; }
}
/* Stores window and route in the leták style. */
.route-plan li, .nearby-branch, .nearby-start { border: 2px solid #111; border-radius: 0; }
.nearby-start { background: var(--b-paper); }
.nearby-brand, .nearby-other select, .nearby-start select, .route-start .chip { border-radius: 0; }
.nearby-other select, .nearby-start select { border: 2px solid #111; }
.nearby-map-canvas { border: 2px solid #111; border-radius: 0; }
.branch-map-pin, .user-map-pin { border-radius: 0; border-color: #111; }