.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-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:box-shadow .3s ease-out}.promotion-card,.promotion-card:hover{color:var(--text-primary);text-decoration:none}@media(min-width:992px){.promotion-card:hover{box-shadow:0 14px 36px -12px rgba(var(--text-primary-rgb),.24)}.promotion-card:hover .promotion-card-title{color:var(--color-primary)}}.promotion-card .promotion-card-media{background:var(--bg-secondary);display:block}.promotion-card .promotion-card-media .fallback-image,.promotion-card .promotion-card-media .main-image{-o-object-fit:contain;object-fit:contain}.promotion-card .promotion-card-body{display:flex;flex-direction:column;gap:.25rem;padding:1rem}.promotion-card .promotion-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:var(--font-size-h4);font-weight:600;line-height:1.2;margin-bottom:.25rem;overflow:hidden;transition:color .3s ease-out}.promotion-card .promotion-card-meta{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-small);gap:.5rem;line-height:1.5}.promotion-card .promotion-card-left{color:var(--text-primary);font-weight:500}.promotion-detail{margin-top:1rem}.promotion-hero{display:grid;gap:1rem;grid-template-areas:"head" "media" "body";grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.promotion-hero{-moz-column-gap:1.5rem;column-gap:1.5rem;grid-template-areas:"media head" "media body";grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr}}@media(min-width:992px){.promotion-hero{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.promotion-hero-head{display:flex;flex-direction:column;gap:.5rem;grid-area:head}.promotion-title{color:var(--text-primary);font-size:var(--font-size-h1);font-weight:700;line-height:1.2;margin:0}.promotion-period{align-items:center;color:var(--text-muted);-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-wrap:wrap;font-size:var(--font-size-small);line-height:1.5}.promotion-period .promotion-period-left{color:var(--text-primary);font-weight:500}.promotion-ended{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:var(--font-size-small);gap:.5rem;line-height:1.5;margin-top:.25rem;padding:.5rem 1rem}.promotion-ended>i{color:var(--text-muted);line-height:1.5}.promotion-ended .promotion-ended-link{align-items:center;color:var(--color-primary);display:inline-flex;font-weight:600;min-height:44px;text-decoration:underline;text-underline-offset:3px}.promotion-ended .promotion-ended-link:hover{text-decoration:none}.promotion-hero-media{align-self:start;background:var(--bg-secondary);border-radius:var(--radius-md);display:block;grid-area:media}.promotion-hero-media .fallback-image,.promotion-hero-media .main-image{-o-object-fit:contain;object-fit:contain}.promotion-description{grid-area:body;min-width:0}.promotion-section{margin-top:3rem}.promotion-section-title{color:var(--text-primary);font-size:var(--font-size-h2);font-weight:700;line-height:1.2;margin:0 0 1.5rem}.promotion-section-title:after{background:var(--color-primary);border-radius:var(--radius-sm);content:"";display:block;height:var(--section-underline-height);margin-top:calc(var(--section-underline-height)*3);width:var(--section-underline-width)}.promotions-more{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:2rem 0 1.5rem}.promotions-more .pagination-container{margin:0}.promotions-more-btn{align-items:center;background:transparent;border:none;border:2px solid var(--color-primary);border-radius:var(--radius-sm);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:var(--font-size-btn);font-weight:500;font-weight:600;justify-content:center;min-height:44px;min-width:220px;padding:.5rem 1rem;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;white-space:nowrap}.promotions-more-btn:hover{background:var(--color-primary);color:#fff}.promotions-loader{align-items:center;display:flex;justify-content:center;min-height:44px}
