/* Adaptación CMS: clases de los bloques dinámicos integradas en el nuevo diseño. */
.cms-banner{max-width:1200px;margin:1rem auto;padding:0 1.5rem;text-align:center}
.cms-banner img{max-width:100%;height:auto}
.monthly-events{padding:1.5rem 0;margin:1.5rem 0}
.month-header{display:flex;align-items:center;gap:1rem;justify-content:space-between;border-bottom:1px solid #dfd6c6;padding-bottom:.8rem;margin-bottom:1rem}
.month-header h3{margin:0;text-align:center}
.month-header a{font-family:Lato,Arial,sans-serif;font-size:.9rem;text-decoration:none}
.event-card{padding:1.2rem 1.5rem;border:1px solid #d6c7a7;border-radius:.35rem;margin:1rem 0;background:#fff}
.event-card.cancelled{opacity:.65;border-style:dashed}
.event-card h4{margin:.2rem 0 .6rem}
.event-card .event-time{font-family:Lato,Arial,sans-serif;font-size:.9rem;color:#515a64}
.nl-form .privacy{flex-basis:100%;font-size:.82rem;margin:.35rem 0;color:inherit}
.nl-form .privacy--link{display:block}
.nl-form .privacy--consent{display:flex;align-items:flex-start;gap:.7rem;line-height:1.45;cursor:pointer}
.nl-form .privacy--consent input{flex:none;width:auto;margin:.18rem 0 0}
.nl-form .privacy--consent span{display:block}
.nl-form .privacy a{color:inherit;text-decoration:underline}
.preview-banner{background:#f4e6c5;color:#182941;text-align:center;padding:.7rem;font-weight:bold}
