.aldo-promos{padding:var(--promo-padding,48px) 0;background:var(--promo-bg,#fff);color:var(--promo-text,#222);width:100%;min-width:0;box-sizing:border-box}
.promo-inner{max-width:1440px;padding:0 6%;margin:auto;min-width:0}.promo-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.promo-head h2{margin:0 0 24px;color:inherit}.promo-head:has(h2) .promo-nav{margin-bottom:24px}
.promo-track{gap:var(--promo-gap,24px);min-width:0}.promo-card{display:block;position:relative;min-width:0;text-decoration:none;color:inherit}
.promo-photo{aspect-ratio:var(--promo-ratio,3 / 4);overflow:hidden;border-radius:var(--promo-radius,0);background:var(--surface,#f5f4ef)}
.promo-photo .photo-reveal-frame{height:100%!important}.promo-photo img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:var(--promo-fit,cover)}
.promo-name{display:block;margin-top:14px;font:400 var(--promo-font,20px)/1.35 Arial,sans-serif;text-align:var(--promo-align,left);overflow-wrap:anywhere}
.promo-caption-overlay .promo-name{position:absolute;left:0;right:0;bottom:0;margin:0;padding:38px 18px 18px;color:var(--promo-text,#fff);background:linear-gradient(transparent,#0008);border-radius:0 0 var(--promo-radius,0) var(--promo-radius,0);pointer-events:none}
.promo-nav{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.promo-nav button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;margin:0;border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;cursor:pointer}.promo-nav button:disabled{opacity:.3;cursor:default}
.promo-desktop-carousel .promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:12px;scrollbar-width:thin}
.promo-desktop-carousel .promo-card{flex:0 0 calc((100% - (var(--promo-columns,2) - 1)*var(--promo-gap,24px))/var(--promo-columns,2));scroll-snap-align:start}
.promo-desktop-grid .promo-track{display:grid;grid-template-columns:repeat(var(--promo-columns,2),minmax(0,1fr))}.promo-desktop-grid .promo-nav{display:none}
.promo-card:focus-visible,.promo-track:focus-visible{outline:3px solid var(--accent,#036271);outline-offset:3px}
.promo-admin-preview{overflow:hidden;border:1px solid #ddd}.promo-current-photo{display:block;max-width:220px;max-height:240px;object-fit:contain;margin:16px 0}.promo-save-dock small{display:block}.promo-save-dock button{margin:0}
@media(max-width:640px){.aldo-promos{padding:var(--promo-mobile-padding,28px) 0}.promo-inner{padding:0 20px}.promo-track{gap:var(--promo-mobile-gap,16px)}.promo-name{font-size:var(--promo-mobile-font,18px);margin-top:10px}.promo-mobile-carousel .promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:12px}.promo-mobile-carousel .promo-card{flex:0 0 var(--promo-peek,82%);scroll-snap-align:start}.promo-mobile-carousel .promo-nav{display:flex}.promo-mobile-grid .promo-track{display:grid;grid-template-columns:repeat(var(--promo-mobile-columns,1),minmax(0,1fr));overflow:visible;padding-bottom:0}.promo-mobile-grid .promo-nav{display:none}.promo-caption-overlay .promo-name{margin:0}}
@media(prefers-reduced-motion:reduce){.promo-track{scroll-behavior:auto!important}}
