.promo-section { padding: 4rem 0; }
.promo-container { width: min(100% - 2rem, 80rem); margin-inline: auto; }
.promo-heading { margin-bottom: 2.5rem; text-align: center; }
.promo-heading h2 { color: var(--foreground); font-size: clamp(2rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.2; }
.promo-heading h2 span { color: var(--primary); }
.promo-heading p { max-width: 42rem; margin: .75rem auto 0; color: var(--muted-foreground); }
#ofertas-mes { background: var(--muted); }
.promo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.promo-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 1rem; background: var(--card); box-shadow: 0 2px 8px rgb(0 0 0 / .06); transition: box-shadow .2s, transform .2s; }
.promo-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgb(0 0 0 / .12); }
.promo-card-media { position: relative; aspect-ratio: 4 / 3; background: #fff; }
.promo-card-media img { width: 100%; height: 100%; object-fit: contain; }
.promo-card-badge { position: absolute; top: .8rem; left: .8rem; padding: .35rem .6rem; border-radius: .5rem; background: var(--primary); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.promo-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.promo-card-brand { margin-bottom: .35rem; color: var(--primary); font-size: .9rem; font-weight: 700; }
.promo-card h3 { margin-bottom: 1rem; color: var(--foreground); font-size: 1rem; font-weight: 700; line-height: 1.4; }
.promo-card-prices { margin-top: auto; margin-bottom: 1rem; }
.promo-card-regular { display: block; color: var(--muted-foreground); font-size: .86rem; }
.promo-card-offer { display: block; color: var(--primary); font-size: 1.45rem; font-weight: 800; line-height: 1.25; }
.promo-whatsapp { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .5rem; border-radius: .65rem; background: #16a34a; color: #fff; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; transition: background .2s; }
.promo-whatsapp:hover { background: #15803d; }
.promo-whatsapp:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.promo-card .promo-whatsapp { width: 100%; padding: .7rem .8rem; font-size: .88rem; }
.promo-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); overflow: hidden; border-radius: 1.5rem; box-shadow: 0 12px 36px rgb(0 0 0 / .1); }
.promo-feature-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.5rem, 4vw, 3.5rem); }
.promo-feature h2 { margin-bottom: 1.25rem; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.2; }
.promo-feature p { margin-bottom: .85rem; line-height: 1.65; }
.promo-feature .promo-whatsapp { margin-top: 1rem; padding: .8rem 1.2rem; }
.promo-feature-media { height: 32rem; overflow: hidden; }
.promo-feature-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
#precio-especial { background: var(--background); }
#precio-especial .promo-feature { background: var(--secondary); color: var(--secondary-foreground); }
#precio-especial .promo-feature h2 span { color: #ffad6b; }
#precio-especial .promo-feature p { color: rgb(255 255 255 / .9); }
#precio-especial .promo-feature-media img { object-position: center 30%; }
#neumaticos-beneficios { background: var(--muted); }
#neumaticos-beneficios .promo-feature { background: var(--card); color: var(--foreground); border: 1px solid var(--border); }
#neumaticos-beneficios .promo-feature h2 span { color: var(--primary); }
#neumaticos-beneficios .promo-feature-media img { object-position: center 25%; }
.promo-benefit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; width: 100%; margin: .5rem 0; padding: 0; list-style: none; }
.promo-benefit-list li { display: flex; align-items: flex-start; gap: .55rem; font-weight: 600; }
.promo-benefit-list li::before { content: '✓'; flex: none; color: var(--primary); font-weight: 800; }
@media (max-width: 1000px) { .promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .promo-section { padding: 3rem 0; }
    .promo-feature { grid-template-columns: 1fr; }
    .promo-feature-media { height: 18rem; }
}
@media (max-width: 560px) {
    .promo-grid { grid-template-columns: 1fr; }
    .promo-benefit-list { grid-template-columns: 1fr; }
}
