.ays-recipe-shopping { margin-top: 1.25rem; overflow: hidden; border: 1px solid #d7ddcc; border-radius: .9rem; background: rgba(255,255,255,.72); box-shadow: 0 8px 22px rgba(52,65,38,.045); }
.ays-recipe-shopping summary { display: grid; min-height: 4.3rem; padding: .8rem 1rem; color: var(--ays-olive-900); background: linear-gradient(90deg, #f3f5ec, #fbfaf6); align-items: center; grid-template-columns: auto minmax(0,1fr) auto; gap: .75rem; cursor: pointer; list-style: none; }
.ays-recipe-shopping summary::-webkit-details-marker { display: none; }
.ays-recipe-shopping__summary-icon { display: grid; width: 2.35rem; height: 2.35rem; border-radius: 50%; color: var(--ays-olive-800); background: white; box-shadow: 0 3px 10px rgba(52,65,38,.08); place-items: center; }
.ays-recipe-shopping summary strong, .ays-recipe-shopping summary small { display: block; }
.ays-recipe-shopping summary strong { font-family: var(--ays-serif); font-size: 1rem; }
.ays-recipe-shopping summary small { margin-top: .12rem; color: var(--ays-muted); font-size: .65rem; font-weight: 500; }
.ays-recipe-shopping__chevron { width: .65rem; height: .65rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 180ms ease; }
.ays-recipe-shopping[open] .ays-recipe-shopping__chevron { transform: rotate(225deg); }
.ays-recipe-shopping__panel { padding: .85rem 1rem 1rem; border-top: 1px solid #dfe3d7; }
.ays-recipe-shopping__selection { display: flex; align-items: center; margin-bottom: .45rem; gap: .45rem; }
.ays-recipe-shopping__selection > span { margin-right: auto; color: var(--ays-muted); font-size: .67rem; }
.ays-recipe-shopping__selection button { padding: .3rem .55rem; border: 1px solid #ccd4c1; border-radius: 999px; color: var(--ays-olive-800); background: white; cursor: pointer; font-size: .62rem; font-weight: 800; }
.ays-recipe-shopping__panel > ul { margin: 0; padding: 0; list-style: none; }
.ays-recipe-shopping__panel > ul li + li { border-top: 1px solid rgba(52,65,38,.09); }
.ays-recipe-shopping__panel label { display: grid; align-items: start; padding: .62rem 0; grid-template-columns: auto minmax(0,1fr); gap: .55rem; cursor: pointer; }
.ays-recipe-shopping__panel input { margin-top: .18rem; accent-color: var(--ays-olive-700); }
.ays-recipe-shopping__panel label > span { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.ays-recipe-shopping__panel label strong { color: var(--ays-ink); font-size: .74rem; font-weight: 650; }
.ays-recipe-shopping__panel label small { color: var(--ays-muted); font-size: .65rem; text-align: right; }
.ays-recipe-shopping__actions { display: grid; margin-top: .85rem; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .45rem; }
.ays-recipe-shopping__actions button, .ays-recipe-shopping__actions a { display: flex; min-height: 2.8rem; padding: .45rem .35rem; border: 1px solid var(--ays-olive-700); border-radius: .65rem; color: var(--ays-olive-900); background: white; align-items: center; justify-content: center; flex-direction: column; gap: .12rem; cursor: pointer; font-family: var(--ays-sans); font-size: .62rem; font-weight: 800; text-decoration: none; }
.ays-recipe-shopping__actions a:last-child { border-color: var(--ays-olive-800); color: white; background: var(--ays-olive-800); }
.ays-recipe-shopping__actions .is-disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
.ays-recipe-shopping__status { min-height: 1rem; margin: .55rem 0 0; color: var(--ays-olive-700); font-size: .63rem; text-align: center; }

@media (max-width: 560px) {
  .ays-recipe-shopping { margin-top: .75rem; }
  .ays-recipe-shopping summary { min-height: 3.45rem; padding: .55rem .7rem; gap: .55rem; }
  .ays-recipe-shopping__summary-icon { width: 2rem; height: 2rem; }
  .ays-recipe-shopping summary strong { font-size: .9rem; }
  .ays-recipe-shopping summary small { font-size: .58rem; }
  .ays-recipe-shopping__panel { padding: .55rem .7rem .65rem; }
  .ays-recipe-shopping__selection { align-items: flex-start; flex-wrap: wrap; }
  .ays-recipe-shopping__selection > span { width: 100%; margin: 0 0 .15rem; }
  .ays-recipe-shopping__panel label { padding: .45rem 0; }
  .ays-recipe-shopping__panel label strong { font-size: .78rem; }
  .ays-recipe-shopping__actions { margin-top: .65rem; gap: .35rem; }
  .ays-recipe-shopping__actions button, .ays-recipe-shopping__actions a { min-height: 2.65rem; }
}

@media print {
  .ays-recipe-shopping { display: none !important; }
}
