.sg-catalog { color:#112f47; background:#f5f8f4; }
.sg-catalog-hero { background:linear-gradient(90deg,rgba(4,36,39,.94),rgba(5,43,36,.68)),url('../images/green-plantains-hero.jpg') center/cover; padding:clamp(35px,5vw,75px) 0; color:white; }
.sg-catalog-hero h1 { color:white; font-size:clamp(2rem,5vw,3.6rem); margin:0 0 .3em; }
.sg-catalog-hero p { margin:0; max-width:42em; line-height:1.5; }
.sg-catalog-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(265px,1fr); gap:clamp(18px,3vw,40px); align-items:start; padding-block:36px 68px; }
.sg-catalog-products>label { display:block; font-size:.85rem; font-weight:bold; }
.sg-catalog select,.sg-product input { color:#153747; background:white; border:1px solid #869d94; border-radius:6px; min-height:44px; padding:6px 10px; font:inherit; }
.sg-catalog select { max-width:100%; margin:5px 10px 0 0; }
.sg-review { color:#075e34; text-decoration:underline; display:inline-block; padding-block:12px; }
.sg-catalog-products section,#sg-order { background:white; border:1px solid #d4e0d8; border-radius:12px; }
.sg-catalog-products section { margin-top:22px; padding:0; overflow:hidden; }
.sg-catalog h2 { font-size:1.35rem; margin:0; }
.sg-catalog-products h2 { padding:12px 18px; color:white; background:#0c4250; }
.sg-product { display:grid; grid-template-columns:minmax(0,1fr) 84px 78px; align-items:center; gap:10px; padding:12px 18px; }
.sg-product+.sg-product { border-top:1px solid #e2e9e3; }
.sg-product small,.sg-product label { display:block; font-size:.8rem; color:#475e5d; }
.sg-product input { width:100%; margin-top:2px; }
.sg-product input[aria-invalid=true] { border:2px solid #b23126; }
.sg-line-total { text-align:right; font-variant-numeric:tabular-nums; }
#sg-order { position:sticky; top:130px; padding:20px; scroll-margin-top:140px; }
#sg-order ul { padding:0; list-style:none; max-height:35vh; overflow:auto; }
#sg-order li { padding:8px 0; border-bottom:1px solid #e2e9e3; font-size:.9rem; }
#sg-order li strong { display:block; }
.sg-grand { border-top:1px solid #c9dacc; padding-top:14px; display:flex; justify-content:space-between; font-size:1.25rem; }
#sg-send { display:block; padding:13px; background:#09643a; color:white; text-align:center; border-radius:8px; font-weight:bold; }
#sg-send[aria-disabled=true] { background:#e3ebe5; color:#4f6256; }
.sg-catalog [hidden] { display:none!important; }
@media(max-width:760px) {
  .sg-catalog-layout { grid-template-columns:minmax(0,1fr); }
  #sg-order { position:static; }
  .sg-product { grid-template-columns:minmax(0,1fr) 66px 63px; padding:10px; gap:6px; }
}

.sg-product-detail { display:flex; align-items:center; gap:12px; }
.sg-product-detail > div { min-width:0; overflow-wrap:anywhere; }
.sg-product-detail strong { display:block; font-size:1.375rem; line-height:1.2; }
.sg-product-detail small { margin-top:4px; font-size:1.125rem; line-height:1.35; }
.sg-product-photo { flex:none; width:clamp(128px, 12vw, 160px); height:auto; aspect-ratio:4/3; object-fit:contain; }
@media(max-width:600px) {
  .sg-catalog .sg-product { grid-template-columns:minmax(0,1fr) 82px; }
  .sg-product-detail { grid-column:1/-1; }
  .sg-catalog .sg-product input { width:72px; display:block; }
}
