/* Lewens Markisen v2.8.3 */
.lewens-modal { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; pointer-events:none; }
.lewens-modal[aria-hidden="false"]{ pointer-events:auto; }
.lewens-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); z-index:1; opacity:0; transition:opacity .2s; }
.lewens-modal[aria-hidden="false"] .lewens-modal__backdrop{ opacity:1; }
.lewens-modal__dialog{ position:relative; z-index:2; background:#fff; width:min(1100px,92vw); max-height:92vh; display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:24px; border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.25); transform:translateY(10px); opacity:0; transition:all .2s; }
.lewens-modal[aria-hidden="false"] .lewens-modal__dialog{ transform:translateY(0); opacity:1; }
@media (max-width:900px){ .lewens-modal__dialog{ grid-template-columns:1fr; width:min(840px,96vw);} }
.lewens-modal__media{ display:grid; place-items:center; }
.lewens-modal__media img{ max-width:100%; max-height:70vh; height:auto; width:auto; }
@supports(height:100dvh){ .lewens-modal__dialog{ max-height:90dvh; } .lewens-modal__media img{ max-height:45dvh; } }
.lewens-modal__title{ margin:0 0 8px; font-weight:700; font-size:1.4rem; text-align:center; }
.lewens-modal__text{ line-height:1.5; font-size:1rem; }
.lewens-modal__actions{ display:flex; justify-content:center; margin-top:16px; }
.lewens-btn{ display:inline-block; padding:.6rem 1rem; border-radius:8px; background:#222; color:#fff; text-decoration:none; }
.lewens-btn:hover{ filter:brightness(1.1); }
.lewens-modal__close{ position:absolute; top:8px; right:12px; background:transparent; border:0; font-size:28px; line-height:1; cursor:pointer; z-index:3; }
.lewens-modal__nav{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.9); border:0; font-size:26px; width:56px; height:56px; border-radius:50%; cursor:pointer; z-index:3; }
.lewens-modal__nav--prev{ left:8px; } .lewens-modal__nav--next{ right:8px; }
.lewens-modal--open{ overflow:hidden; touch-action:none; }

/* Shortcode Grid */
.lewens-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.lewens-card{ background:#fff; border:1px solid #eee; border-radius:8px; padding:8px; cursor:pointer; }
.lewens-card img{ width:100%; height:auto; display:block; }
.lewens-card figcaption{ text-align:center; margin-top:6px; font-weight:600; }
