/* Card typography and dimensions from the existing landing. Scoped to avoid panel styles. */
.onera-promotion {
 --white:#FAFAF8;--cream:#EFEDE7;--espresso:#472C1D;
 --espresso-light:#6B4230;--tan:#BB9E85;
 font-family:'Lato',sans-serif;
 color:var(--espresso);
}
.onera-promotion, .onera-promotion * {box-sizing:border-box;margin:0;padding:0;}
    .onera-promotion.promo-card {
      background: var(--white); padding: 2.5rem 2rem;
      display: flex; flex-direction: column; gap: 0.6rem;
      transition: background 0.2s;
    }
    .onera-promotion.promo-card:hover { background: #F8F6F2; }

    .onera-promotion .promo-icon {
      width: 40px; height: 40px; border-radius: 50%;
      background: var(--cream); display: flex; align-items: center; justify-content: center;
      margin-bottom: 0.5rem;
    }
    .onera-promotion .promo-icon svg { width: 20px; height: 20px; stroke: var(--espresso); fill: none; stroke-width: 1.5; }

    .onera-promotion .promo-price {
      font-family: 'Noto Serif Condensed', serif;
      font-size: 2.2rem; font-weight: 900; color: var(--espresso); line-height: 1;
    }
    .onera-promotion .promo-price small { font-size: 0.9rem; font-weight: 400; opacity: 0.6; }

    .onera-promotion .promo-name {
      font-weight: 700; font-size: 0.82rem; letter-spacing: 0.08em;
      text-transform: uppercase; color: var(--espresso); line-height: 1.3;
    }
    .onera-promotion .promo-desc { font-size: 0.85rem; color: var(--espresso-light); line-height: 1.6; }

    .onera-promotion .tag-free {
      display: inline-block; background: var(--tan); color: var(--white);
      font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase;
      font-weight: 700; padding: 0.25rem 0.7rem; border-radius: 2px;
    }

    .onera-promotion .tag-discount {
      display: inline-block; background: var(--espresso); color: var(--cream);
      font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase;
      font-weight: 700; padding: 0.25rem 0.7rem; border-radius: 2px;
    }


.onera-promotion {overflow-wrap:anywhere;}
.onera-promotion .promo-desc {white-space:pre-wrap;}
.onera-promotion .promo-includes {font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:.5rem;}
.onera-promotion .promo-list {list-style:none;display:flex;flex-direction:column;gap:.3rem;}
.onera-promotion .promo-benefit {padding-top:.4rem;}
.onera-promotion .promo-benefit .tag-free {font-size:.75rem;padding:.4rem .9rem;line-height:1.4;}

.onera-promotion .promo-footer{margin-top:auto;background:var(--cream);border-radius:2px;padding:.8rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:.6rem}
.onera-promotion .promo-footer-dark{background:var(--espresso);color:var(--cream);letter-spacing:.06em}
.onera-promotion .promo-footer>span:first-child{flex-shrink:0;display:flex}
.promo-strip[hidden]{display:none!important}

.promo-carousel{max-width:1100px;margin:0 auto}
.promo-carousel .promo-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;background:transparent;border:0;padding:2px 2px 16px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#BB9E85 #EFEDE7}
.promo-track>.promo-card{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start;border:1px solid #DBD9CF}
.promo-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}
.promo-controls[hidden]{display:none}
.promo-controls button{width:44px;height:44px;border:1px solid #BB9E85;border-radius:50%;background:#EFEDE7;color:#472C1D;font-size:22px;cursor:pointer}
.promo-controls button:disabled{opacity:.35;cursor:default}
.promo-controls button:focus-visible,.promo-track:focus-visible{outline:3px solid #6B4230;outline-offset:3px}
#promo-position{font-family:'Lato',sans-serif;font-size:.85rem;min-width:110px;text-align:center}
@media(max-width:900px){.promo-track>.promo-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:600px){.promo-track>.promo-card{flex-basis:100%}}
