/* Base del plugin SZ – estilos mínimos y estables */
.sz-hidden { display: none !important; }

/* Thumbnail grid */
.sz-thumb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
.sz-thumb-grid .sz-item { margin:0; position:relative; }
.sz-thumb-grid .sz-item__link { display:block; aspect-ratio:4/3; overflow:hidden; border:1px solid #ddd; background:#f6f6f6; border-radius:4px; }
.sz-thumb-grid .sz-item__link:hover { box-shadow:0 0 0 2px #222 inset; }
.sz-thumb-grid img.sz-thumb { width:100%; height:100%; object-fit:cover; display:block; }
.sz-thumb--placeholder { display:flex; align-items:center; justify-content:center; font:600 12px/1.2 system-ui; padding:8px; text-align:center; color:#555; }

/* Modal dentro de resultsContainer */
.resultsContainer .sz-container { position:relative; }
.sz-modalPortal { position:fixed; z-index:9999; pointer-events:none; }
.sz-modal { position:absolute; inset:0; background:rgba(17,17,17,.90); color:var(--wp--preset--color--blanco, #f5f5f5); display:flex; justify-content:center; align-items:center; padding:72px 56px 96px; overflow:auto; -webkit-overflow-scrolling:touch; width:100%; height:100%; box-sizing:border-box; pointer-events:auto; }
.sz-modalInner { display:flex; flex-direction:row; gap:56px; width:100%; max-width:900px; max-height:100%; position:relative; }
.sz-modalOpening { animation: szFadeIn .25s ease; }
.sz-modalClosing { animation: szFadeOut .2s ease forwards; }
@media (max-width:900px){ .sz-modal { padding:32px 20px 56px; } .sz-modalInner { flex-direction:column; gap:32px; } }
.sz-modalFigure { flex:0 0 260px; max-width:260px; }
@media (max-width:900px){ .sz-modalFigure{ flex:0 0 auto; max-width:100%; } }
.sz-modalFigure img, .sz-modalFigure .sz-thumb--placeholder { width:100%; height:auto; border-radius:12px; display:block; }
.sz-modalBody { flex:1 1 auto; max-width:500px; }
.sz-modalTitle { font-family:var(--wp--preset--font-family--ato-smose, 'ATOsmose', sans-serif)!important; font-weight:200!important; font-size:clamp(26px, 2.2vw, 34px)!important; line-height:1.22!important; margin:0 0 20px!important; color:var(--wp--preset--color--blanco,#fff)!important; letter-spacing:.15px; }
/* Estados adicionales de modal no utilizados (eliminados) */
.sz-meta { font-family:var(--wp--preset--font-family--work-sans,'WorkSans',sans-serif); font-size:var(--wp--preset--font-size--medium,18px); line-height:1.5; opacity:.92; margin:0 0 24px; display:flex; flex-direction:column; gap:4px; }
.sz-meta span { white-space:normal; word-wrap:break-word; overflow-wrap:break-word; }
.sz-modalActions { margin:24px 0 32px; display:flex; flex-wrap:wrap; gap:16px; }
.sz-modalActions .sz-btn + .sz-btn { margin-left:0; }
.sz-btn { cursor:pointer; display:inline-block; font-family:var(--wp--preset--font-family--work-sans,'WorkSans',sans-serif); font-weight:500; font-size:var(--wp--preset--font-size--small,15px); line-height:1.1; padding:0; border-radius:0; text-decoration:none; border:0; background:transparent; color:var(--wp--preset--color--amarillo,#ffd500); position:relative; }
.sz-btn + .sz-btn { margin-left:28px; }
.sz-btn:focus { outline:2px solid var(--wp--preset--color--amarillo,#ffd500); outline-offset:2px; }
.sz-btn:hover { text-decoration:underline; }
.sz-modalClose { position:absolute; top:8px; right:8px; background:rgba(0,0,0,0.5); border:0; color:var(--wp--preset--color--blanco,#fff); font-family:var(--wp--preset--font-family--work-sans,'WorkSans',sans-serif); font-weight:600; font-size:22px; line-height:1; cursor:pointer; z-index:10; padding:4px 8px; border-radius:4px; }
.sz-modalContent { font-family:var(--wp--preset--font-family--work-sans,'WorkSans',sans-serif)!important; font-size:var(--wp--preset--font-size--medium,18px); font-weight:300; line-height:1.68; max-width:450px; word-wrap:break-word; overflow-wrap:break-word; }
.sz-modalContent p { font-size:inherit; }
.sz-modalContent p { margin:0 0 16px; }
.sz-modalVideo { aspect-ratio:16/9; width:100%; max-width:450px; background:#000; margin:0 0 24px; }
@keyframes szFadeOut { to { opacity:0; visibility:hidden; } }
@keyframes szFadeIn { from { opacity:0; } to { opacity:1; } }
.sz-scrollLock { overflow:hidden !important; }

/* Extra small phones tweaks */
@media (max-width:480px){
  .sz-modal { padding:24px 14px 40px; }
  .sz-modalTitle { font-size:clamp(22px,6vw,28px)!important; }
}
