.mg-home-module {
  --mg-home-background:#f9eee3;
  --mg-home-card:#fffdf9;
  --mg-home-ink:#32211c;
  --mg-home-accent:#8b1e24;
  --mg-home-radius:16px;
  --mg-home-border:#eadbcf;
  padding:clamp(16px, 3vw, 32px);
  border:1px solid var(--mg-home-border);
  border-radius:24px;
  background:var(--mg-home-background);
  color:var(--mg-home-ink);
}
.mg-home-module h2 {
  margin:0 0 16px;color:inherit;font-weight:800;font-size:clamp(1.3rem, 2.65vw, 1.85rem);line-height:1.2;
}
.mg-home-module-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.mg-home-module a.mg-home-module-card {
  display:flex;flex-direction:column;min-width:0;overflow:hidden;
  border:1px solid var(--mg-home-border);border-radius:var(--mg-home-radius);
  color:inherit;background:var(--mg-home-card);text-decoration:none;
}
.mg-home-module a.mg-home-module-card:hover {border-color:var(--mg-home-accent);}
.mg-home-module a:focus-visible {outline:2px solid var(--mg-home-accent);outline-offset:2px;}
.mg-home-module-media {display:block;aspect-ratio:16/10;overflow:hidden;}
.mg-home-module-media img {display:block;width:100%;height:100%;object-fit:cover;}
.mg-home-module-copy {display:grid;gap:4px;padding:14px 16px;overflow-wrap:anywhere;}
.mg-home-module-name {font-weight:750;line-height:1.3;}
.mg-home-module-detail {font-size:.9rem;line-height:1.4;}
.mg-home-module-price {color:var(--mg-home-accent);font-weight:700;}
.mg-home-pickup {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
.mg-home-pickup-copy p {margin:0;}
.mg-home-pickup-copy p:empty {display:none;}
.mg-home-pickup-actions {display:flex;flex-wrap:wrap;gap:8px;}
.mg-home-module a.mg-home-module-button {
  display:inline-flex;align-items:center;min-height:44px;padding:6px 13px;
  border:1px solid var(--mg-home-border);border-radius:999px;
  background:var(--mg-home-card);color:var(--mg-home-accent);text-decoration:none;font-weight:700;
}
.mg-home-module a.mg-home-module-button:hover {border-color:var(--mg-home-accent);}
@media (max-width:620px) {
  .mg-home-module-grid {grid-template-columns:minmax(0,1fr);}
  .mg-home-module a.mg-home-module-card:has(.mg-home-module-media) {
    display:grid;grid-template-columns:minmax(72px,28%) minmax(0,1fr);align-items:center;
  }
  .mg-home-module-media {height:100%;aspect-ratio:auto;}
}
