.promotion-featured[hidden],.promotion-seasonal[hidden]{display:none!important}
.promotion-featured,.promotion-seasonal{margin-block:28px}
.featured-product[hidden],.featured-info[hidden]{display:none!important}
.promotion-featured h2,.seasonal-heading h2{font-size:clamp(23px,2.4vw,30px);line-height:1.2;margin:0 0 16px;color:var(--ink)}
.featured-banner{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);overflow:hidden;background:var(--cream);border:1px solid var(--line);border-radius:18px}
.featured-media{display:block;position:relative;min-width:0;min-height:250px;background:var(--cream)}
.featured-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.featured-copy{padding:20px 28px;align-self:center;min-width:0}
.featured-copy .category{font-size:11px;line-height:1.3;margin:0}
.featured-copy h3{font-size:clamp(24px,2.4vw,29px);line-height:1.2;margin:4px 0 8px;overflow-wrap:anywhere}
.featured-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;line-height:1.45;color:#354b5e;margin:0}
.featured-copy .price{display:block;min-height:0;overflow:visible;font-size:22px;line-height:1.25;margin:10px 0 12px}
.promotion-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:9px 18px;border-radius:9px;color:white;background:#087b78;text-decoration:none;font-size:14px;line-height:1.4;font-weight:700}
.promotion-button:hover{background:#075f5c}.promotion-button:focus-visible,.featured-media:focus-visible{outline:3px solid #b87312;outline-offset:4px}
.seasonal-box{position:relative;isolation:isolate;overflow:hidden;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}
.theme-natal{border-color:#426252;background:#faf6ed}
.seasonal-heading{position:relative;z-index:1;min-height:58px;text-align:center;padding-inline:90px;margin-bottom:16px;overflow-wrap:anywhere}
.seasonal-heading h2{margin:0 0 5px}.theme-natal .seasonal-heading h2{color:#204c3b}
.seasonal-heading p{margin:0;font-size:14px;line-height:1.5;color:#734150}
.promotion-grid{position:relative;z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.promotion-grid .product-card{background:white;border-radius:13px}
.promotion-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.promotion-media img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.promotion-grid .card-body{padding:12px}
.promotion-grid .category{font-size:10px;margin:0 0 5px}
.promotion-grid .product-card h3{font-size:17px;line-height:1.25;min-height:2.5em}
.promotion-grid .price{font-size:15px;line-height:1.4;min-height:0;margin:7px 0 10px}
.promotion-grid .card-link{font-size:13px;line-height:1.4}
.promotion-label{position:absolute;top:9px;right:9px;max-width:calc(100% - 18px);overflow-wrap:anywhere;padding:4px 10px;background:#7b243b;border-radius:999px;font-size:11px;line-height:1.3;font-weight:700;color:white}
.theme-netral .promotion-label{background:var(--ink)}
.promotion-ornament{position:absolute;z-index:0;top:0;width:88px;height:88px;pointer-events:none;user-select:none}
.ornament-left{left:0}.ornament-right{right:0;transform:scaleX(-1)}
@media(max-width:1024px){.promotion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-copy{padding:18px 22px}.seasonal-heading{padding-inline:76px}.promotion-ornament{width:76px;height:76px}}
@media(min-width:641px) and (max-width:1024px){
 .promotion-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .promotion-grid > .product-card{grid-column:span 2}
 .promotion-grid > .product-card:nth-child(3n + 1):last-child{grid-column:3 / span 2}
 .promotion-grid > .product-card:nth-child(3n + 1):nth-last-child(2){grid-column:2 / span 2}
}
@media(max-width:640px){
 .promotion-featured,.promotion-seasonal{margin-block:22px}
 .promotion-featured h2{font-size:22px;margin-bottom:12px}
 .featured-banner{grid-template-columns:minmax(0,1fr);border-radius:14px}
 .featured-media{min-height:0;aspect-ratio:4/3}
 .featured-media img{object-fit:contain}
 .featured-copy{padding:16px 18px 18px}.featured-copy .category{font-size:10px}
 .featured-copy h3{font-size:23px;margin:5px 0 8px}
 .featured-description{font-size:14px;line-height:1.5;-webkit-line-clamp:3}
 .featured-copy .price{font-size:20px;margin:10px 0 12px}
 .promotion-button{font-size:13px;gap:10px;min-height:44px;padding:9px 15px}
 .seasonal-box{padding:16px 12px 12px;border-radius:16px}
 .seasonal-heading{min-height:50px;padding-inline:42px;margin-bottom:14px}.seasonal-heading h2{font-size:22px}.seasonal-heading p{font-size:12px}
 .promotion-ornament{width:44px;height:50px}
 .promotion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.promotion-grid .card-body{padding:10px}
 .promotion-grid > .product-card{grid-column:span 2}
 .promotion-grid > .product-card:nth-child(odd):last-child{grid-column:2 / span 2}
 .promotion-grid .product-card h3{font-size:15px}.promotion-grid .price{font-size:13px}.promotion-grid .card-link{font-size:12px}
 .promotion-label{top:6px;right:6px;font-size:10px;padding:3px 7px;max-width:calc(100% - 12px)}
}
@media(max-width:359px){.promotion-grid .card-body{padding:8px}.promotion-grid .product-card h3{font-size:14px}.promotion-grid .price{font-size:12px}.promotion-label{font-size:9px}}
