.promotions-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}@media(min-width:576px){.promotions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:992px){.promotions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.promotion-detail-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.promotion-detail-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}@media(min-width:992px){.promotion-detail-layout{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.other-promotions .section-title:after,.promotion-products .section-title:after{background-color:var(--color-primary);border-radius:var(--radius-sm);bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.promotion-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:block;height:100%;overflow:hidden;text-decoration:none;transition:all .3s ease-out;transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out,transform .3s ease-out}.promotion-card:hover{box-shadow:0 15px 20px #0003;text-decoration:none;transform:translateY(var(--card-hover-lift))}.promotion-card:hover .promotion-image{transform:scale(1.05)}.promotion-card:hover .promotion-overlay{opacity:1}.promotion-card:hover .promotion-title{color:var(--color-primary)}.promotion-card .promotion-image-container{aspect-ratio:1/1;border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;position:relative}.promotion-card .promotion-image{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease-out;width:100%}.promotion-card .promotion-overlay{align-items:center;background:#00000080;display:flex;justify-content:center;inset:0;opacity:0;position:absolute;transition:opacity .3s ease-out}.promotion-card .view-promotion{background-color:#fff;border-radius:var(--radius-sm);color:var(--text-primary);display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.promotion-card .promotion-badge{background-color:var(--color-warning);border-radius:var(--radius-sm);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem 1rem;position:absolute;right:.5rem;top:.5rem;z-index:2}.promotion-card .promotion-title{transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out,transform .3s ease-out}.promotion-detail .promotion-image-container{aspect-ratio:1.3333333333;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;position:relative;width:100%}.promotion-detail .promotion-image{display:block;height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.promotion-detail .promotion-status{border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;line-height:1.2;min-width:50px;padding:.25rem 1rem;text-align:center}.promotion-detail .promotion-status.active{background-color:var(--color-success);color:#fff}.promotion-detail .promotion-status.ended{background-color:var(--color-danger);color:#fff}.load-more-btn{align-items:center;background-color:transparent;border:none;border:2px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;font-weight:700;height:48px;justify-content:center;min-width:200px;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease-out}.load-more-btn:hover{background-color:var(--color-primary);box-shadow:0 2px 4px #0000001a;color:#fff;transform:translateY(var(--button-hover-lift))}.load-more-btn:active{background-color:var(--color-primary-hover)}@media(min-width:768px){.load-more-btn{font-size:.875rem;height:44px;min-width:180px;padding:.25rem .5rem}}@media(max-width:767px){.load-more-btn{font-size:.875rem;height:40px;min-width:160px;padding:.25rem .5rem}.promotion-card .view-promotion{font-size:.675rem;padding:.25rem .5rem}.promotion-card .promotion-badge{font-size:.675rem;padding:.1875rem .375rem}}@media(max-width:480px){.promotion-card .view-promotion{font-size:.6375rem;padding:.1875rem .5rem}.promotion-card .promotion-badge{font-size:.6375rem;padding:.125rem .375rem}.load-more-btn{font-size:.875rem;height:36px;min-width:140px;padding:.5rem 1rem}}
