:root { --si-deep: #164c38; --si-warm: #f5a916; --si-cream: #fbf7ed; }
body { background: radial-gradient(circle at 85% 4%, #fff3d5 0, transparent 23rem), #f8f6f0; }
.app-shell { width: 100%; max-width: 1440px; margin: 0 auto; }
.hero { position: relative; overflow: hidden; border-radius: 28px; background: linear-gradient(135deg, #174f3a 0%, #216c4d 100%); box-shadow: 0 18px 48px rgba(20,71,52,.16); }
.hero-copy h1 { letter-spacing: -.045em; }
.hero-copy p { max-width: 520px; }
.si-hero-picture { align-self: stretch; min-height: 280px; display: grid; place-items: end center; overflow: hidden; border-radius: 22px; background: #fbf4e6; }
.si-hero-picture img { display: block; width: min(100%, 360px); height: 100%; max-height: 360px; object-fit: cover; object-position: center 48%; mix-blend-mode: multiply; }
.hero > .saving-card { display: none; }
.search-panel, .single-store-planner, .saving-card, .product-card, .store-grid article { box-shadow: 0 8px 28px rgba(29,68,53,.075); }
.search-row input, .planner-form textarea { font-size: 16px; }
.search-row button, .planner-form button, .hero-zone-button { min-height: 50px; border-radius: 14px; }
.bottom-nav button { min-height: 56px; }
.price-origin:not(.real) { color: #9a5a12 !important; }

@media (max-width: 620px) {
  .app-shell { padding-bottom: 150px; }
  .basket-view { padding-bottom: 28px; }
  .basket-list > div { align-items: start; padding: 16px 12px; }
  .basket-list > div > span:nth-child(2) { min-width: 0; }
  .basket-list > div > span:nth-child(2) > strong {
    font-size: 18px;
    line-height: 1.22;
    overflow-wrap: anywhere;
  }
  .basket-list > div > span:nth-child(4) { min-width: 82px; }
  .basket-summary { margin-bottom: 18px; }
}
.si-more-wrap { position: relative; }
.si-more-button { display: none; border: 1px solid #d8ded9; border-radius: 999px; background: #fff; color: #24483a; padding: 9px 13px; font: inherit; font-size: 12px; font-weight: 850; }
.si-more-menu { position: absolute; right: 0; top: calc(100% + 9px); z-index: 9300; width: 210px; display: grid; gap: 5px; padding: 9px; border: 1px solid #dfe6e1; border-radius: 16px; background: #fff; box-shadow: 0 14px 40px rgba(0,0,0,.18); }
.si-more-menu[hidden] { display: none; }
.si-more-menu button { min-height: 44px; border: 0; border-radius: 10px; padding: 9px 11px; background: #f3f6f4; color: #274b3d; text-align: left; font: inherit; font-size: 13px; font-weight: 800; }
@media (max-width: 760px) {
  .hero { display: grid; grid-template-columns: 1fr; padding-bottom: 0; }
  .si-hero-picture { min-height: 170px; margin: 0 -2px -2px; border-radius: 22px 22px 0 0; order: 2; }
  .si-hero-picture img { width: 210px; height: 210px; object-position: center 42%; }
  .saving-card { display: none; }
  .top-actions { gap: 7px; }
  .si-tools > .si-favorites, .si-tools > .si-lists, .si-tools > .si-savings, .si-tools > .si-install { display: none !important; }
  .si-more-button { display: inline-flex; align-items: center; }
  .simple-steps { overflow-x: auto; scroll-snap-type: x mandatory; }
  .simple-steps article { min-width: 210px; scroll-snap-align: start; }
}
@media (max-width: 460px) {
  .hero { border-radius: 22px; }
  .hero-copy h1 { font-size: 34px; }
  .hero-copy p { font-size: 15px; }
  .si-hero-picture { min-height: 145px; }
  .si-hero-picture img { width: 180px; height: 180px; }
  .search-panel, .single-store-planner { border-radius: 18px; }
}

/* 15.10: contrasto e stato di caricamento/cap sempre leggibili */
.hero { color:#fff; }
.hero .kicker { color:#ffd477; }
.hero h1 { color:#fff; }
.hero h1 em { color:#ffc957; }
.hero p { color:#dcece5; }
.location-pill { cursor:pointer; }
.si64-planner-paused { color:#173d2e !important; background:#f7faf8 !important; }
.si64-planner-paused .kicker { color:#0f7a4d !important; }
.si64-planner-paused h2 { color:#173d2e !important; }
.si64-planner-paused p,.si64-planner-paused small { color:#607168 !important; }
.si74-current{margin:10px 0 4px;padding:9px 11px;border-radius:10px;background:#eef7f2;color:#245443;font-size:12px;}
