.module-preview{min-width:0;border:1px solid #b9c4ae;border-radius:10px;background:#fff;overflow:hidden;margin-top:-3px;margin-bottom:8px;animation:module-reveal .18s ease-out}
.module-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px 10px}
.module-preview-heading strong{font-size:12px;font-weight:650;color:#3c4536}
.module-preview-finish{display:block;font-size:10px;color:#777b70;margin-top:4px}
.module-preview-close{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid #e6e8e1;border-radius:50%;background:#fff;font-size:23px;line-height:1;color:#535c4b;cursor:pointer}
.module-preview-image{position:relative;background:#fafaf8;touch-action:pan-y}
.module-preview-image>img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain}
.module-preview-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #dfe4d7;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;padding:0;background:#ffffffec;color:#414b3b;font-size:25px;cursor:pointer}
.module-preview-arrow.previous{left:9px}.module-preview-arrow.next{right:9px}
.module-preview-count{position:absolute;right:12px;bottom:9px;font-size:10px;color:#52594b;background:#ffffffdb;border-radius:12px;padding:3px 8px;font-variant-numeric:tabular-nums}
.module-preview-thumbs{display:flex;gap:5px;overflow-x:auto;padding:10px 12px 6px;scrollbar-width:thin;scrollbar-color:#c4ccb9 transparent}
.module-preview-thumbs button{flex:1 0 38px;max-width:64px;min-width:0;display:block;padding:2px;border:1px solid #e4e7e0;border-radius:5px;background:#fafaf8;cursor:pointer}
.module-preview-thumbs button[aria-pressed=true]{border-color:#6a7c58;box-shadow:0 0 0 1px #6a7c58}
.module-preview-thumbs img{width:100%;height:34px;display:block;object-fit:contain}
.module-preview-caption{padding:10px 14px 12px;color:#434b3b}
.module-preview-caption h3{font-size:13px;line-height:1.6;margin:0 0 5px;font-weight:650}
.module-preview-caption p{font-size:12px;line-height:1.85;margin:0;color:#69705f}
.module-preview-caption small{display:block;font-size:10px;line-height:1.7;color:#7c8176;margin-top:7px}
.module-preview-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #eef0e9;font-size:10px;color:#888b80}
.module-preview-footer a{color:#516144;text-underline-offset:3px;font-size:11px}
.module-preview-reopen{display:flex;justify-content:space-between;width:100%;padding:12px 14px;border:0;background:#f5f7f1;color:#56634a;font-size:12px;cursor:pointer}
.module-preview button:focus-visible,.module-popup button:focus-visible,.module-preview a:focus-visible,.module-popup a:focus-visible{outline:2px solid #647b4f;outline-offset:2px}
.module-popup{position:fixed;z-index:35;left:24px;bottom:26px;width:360px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;border:1px solid #d4dacb;border-radius:16px;background:#fff;box-shadow:0 18px 65px #26331b30;animation:module-reveal .2s ease-out}
.module-popup[hidden]{display:none}
.module-popup .module-preview-heading{padding:16px 16px 12px}
.module-popup h2{font-size:17px;line-height:1.45;margin:5px 0 0;font-weight:600;color:#35422e}
.module-preview-eyebrow{font-size:9px;letter-spacing:.16em;color:#819173}
.module-popup .module-preview-image>img{aspect-ratio:1.85}
.module-pick-hint{display:block;font-size:9px;font-weight:400;color:inherit;margin:3px 0 0}
@keyframes module-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.module-popup{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:59dvh;border-radius:15px}.module-popup .module-preview-image>img{aspect-ratio:2.5}.module-popup .module-preview-heading{padding:12px 14px 8px}.module-popup h2{font-size:15px}.module-preview-close,.module-preview-arrow{width:36px;height:36px}.module-popup .module-preview-caption{padding-top:7px}.module-popup .module-preview-thumbs{padding-top:7px}.module-preview-image>img{aspect-ratio:1.85}}
@media(prefers-reduced-motion:reduce){.module-popup,.module-preview{animation:none}}
