/* Novedades como una pequeña galería: la foto y el anuncio tienen el mismo peso. */
.site-modal { padding: clamp(.75rem, 3vw, 2rem); }
.site-modal__backdrop { background: rgba(21, 18, 21, .78); backdrop-filter: blur(8px); }
.site-modal__content { display: grid; width: min(960px, 100%); height: min(600px, calc(100svh - 4rem)); max-height: calc(100svh - 4rem); grid-template-columns: minmax(330px, .94fr) minmax(410px, 1.06fr); overflow: hidden; border-radius: 18px; background: #fff; padding: 0; text-align: left; box-shadow: 0 32px 100px rgba(0, 0, 0, .42); animation: newsModalIn .32s cubic-bezier(.2, .8, .2, 1) both; }
.site-modal__media { display: grid; min-height: 0; place-items: center; overflow: hidden; padding: clamp(1rem, 2.5vw, 2rem); background: #f7f3f0; }
.site-modal__media[hidden] { display: none !important; }
.site-modal__media[hidden] + .site-modal__body { grid-column: 1 / -1; }
.site-modal__content:has(.site-modal__media[hidden]) { width: min(620px, 100%); height: auto; min-height: min(440px, calc(100svh - 4rem)); }
.site-modal__content img { width: 100%; height: 100%; max-height: none; margin: 0; border-radius: 10px; object-fit: cover; box-shadow: 0 12px 34px rgba(40, 26, 29, .1); transform: scale(var(--modal-image-scale, 1)); transform-origin: center; animation: newsImageIn .45s .08s both; }
.site-modal__body { display: flex; overflow: auto; flex-direction: column; align-items: flex-start; justify-content: center; gap: .85rem; padding: clamp(2rem, 4vw, 3.5rem); }
.site-modal__body > * { margin: 0; }
.site-modal__body .eyebrow { margin-bottom: .1rem; color: #bd4e85; font-size: .61rem; }
.site-modal__body h2 { max-width: 12ch; font-size: clamp(2.25rem, 3.25vw, 3.35rem); line-height: .96; letter-spacing: -.055em; overflow-wrap: anywhere; }
.site-modal__body > p:not(.eyebrow) { max-width: 40ch; color: var(--muted); font-size: .95rem; line-height: 1.55; }
.site-modal__body > a { width: max-content; max-width: 100%; min-height: 3.15rem; margin-top: .85rem; border-color: #25d366; border-radius: 10px; background: #25d366; padding: .85rem 1.25rem; color: #092b16; transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.site-modal__body > a:hover { border-color: #128c4a; background: #128c4a; box-shadow: 0 8px 18px rgba(37, 211, 102, .24); color: #fff; transform: translateY(-2px); }
.site-modal__close { top: 1rem; right: 1rem; z-index: 2; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid rgba(21, 18, 21, .1); border-radius: 50%; background: rgba(255, 255, 255, .94); box-shadow: none; color: var(--ink); font-size: 1.45rem; transition: background .2s ease, color .2s ease, transform .2s ease; }
.site-modal__close:hover { background: var(--ink); color: #fff; transform: rotate(90deg); }
.site-modal__close:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }
@keyframes newsModalIn { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes newsImageIn { from { opacity: 0; transform: scale(.975); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) { .site-modal { padding: 0; } .site-modal__content { width: 100%; height: 100svh; max-height: 100svh; grid-template-columns: 1fr; border-radius: 0; overflow: auto; } .site-modal__media { height: min(36svh, 300px); padding: .85rem; } .site-modal__body { min-height: calc(64svh - 68px); justify-content: flex-start; padding: 1.75rem 1.25rem 2rem; } .site-modal__body h2 { font-size: clamp(2.35rem, 11vw, 3.3rem); } .site-modal__body > a { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .site-modal__content, .site-modal__content img { animation: none; } .site-modal__close, .site-modal__body > a { transition: none; } }
