/* Offer artwork sets the tone; HTML carries readable limits and conditions. */
.offers .offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; max-width:1240px; }
.offers .offer-support { display:contents; }
.offers .offer-card { min-width:0; border-radius:12px; background:#fffaf0; }
.offers .offer-art-link { display:block; flex-shrink:0; aspect-ratio:3.8; overflow:hidden; background:#161612; border-bottom:1px solid #b39356; }
.offers .offer-art-link .official-offer-image { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border:0; }
.offers .offer-card .offer-overview { flex:1; padding:22px 20px 10px; }
.offers .offer-card .offer-overview .offer-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 14px; margin:0; min-height:40px; flex-direction:row; }
.offers .offer-card .offer-overview h3 { font:600 18px/1.5 var(--font); color:#30291d; }
.offers .offer-card .offer-overview .offer-value { display:flex; align-items:baseline; font:600 30px/1.2 Georgia,"Noto Serif TC",serif; color:#79551e; gap:3px; }
.offers .offer-card .offer-overview .offer-value small { font:500 11px var(--font); }
.offers .offer-card .offer-overview .offer-value>span { font-size:18px; }
.offers .offer-card .offer-overview .offer-tag { margin:12px 0 16px; min-height:44px; color:#5d6255; font-size:14px; line-height:1.7; }
.offers .offer-card .offer-overview dl { display:block; margin:0; border-top:1px solid #d9cfb9; }
.offers .offer-card .offer-overview dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:10px; min-height:46px; align-items:center; border-bottom:1px solid #e6ddcb; padding:8px 0; }
.offers .offer-card .offer-overview dt { color:#616658; font-size:13px; line-height:1.6; }
.offers .offer-card .offer-overview dd { margin:0; text-align:right; font-size:14px; font-weight:600; color:#2b2c24; line-height:1.6; font-variant-numeric:tabular-nums; }
.offers .offer-card .offer-body { flex:0; padding:0 20px; margin:0; border-radius:0; }
.offers .offer-card details { margin-top:0; }
.offers .offer-card summary { font-size:14px; min-height:58px; }
.offers .offer-card .offer-enlarge { top:7px; right:20px; }
.offers .offer-card .detail-body { border-top:1px solid #d9cfb9; padding:18px 0; }
@media(max-width:1100px) and (min-width:901px) {
 .offers .offer-grid { gap:16px; }
 .offers .offer-card .offer-overview { padding:18px 16px 8px; }
 .offers .offer-card .offer-overview .offer-heading { flex-direction:column; align-items:flex-start; }
 .offers .offer-card .offer-overview h3 { font-size:17px; }
 .offers .offer-card .offer-body { padding-inline:16px; }
 .offers .offer-card .offer-enlarge { right:16px; width:94px; font-size:11px; }
 .offers .offer-card summary { width:calc(100% - 104px); font-size:13px; }
}
@media(max-width:900px) {
 .offers .offer-grid { grid-template-columns:minmax(0,1fr); max-width:600px; margin-inline:auto; gap:20px; }
 .offers .offer-card .offer-body { padding:0 20px; }
 .offers .offer-card .offer-enlarge { top:7px; right:20px; }
 .offers .offer-card .offer-overview .offer-tag { min-height:0; }
}
@media(max-width:360px) {
 .offers .offer-card .offer-overview { padding:18px 16px 8px; }
 .offers .offer-card .offer-overview h3 { font-size:16px; }
 .offers .offer-card .offer-overview .offer-value { font-size:27px; }
 .offers .offer-card .offer-overview .offer-value small { font-size:10px; }
 .offers .offer-card .offer-overview .offer-heading { gap:8px; }
 .offers .offer-card .offer-overview dt { font-size:13px; }
 .offers .offer-card .offer-body { padding-inline:16px; }
 .offers .offer-card .offer-enlarge { right:16px; }
}
/* Keep the rebate's lower caption outside the decorative banner crop. */
.offers .offer-support>.offer-card:last-child .offer-art-link img { width:104%; max-width:none; }
