/* Pop-up'lar (3.1.4): the window inc/popup.php prints and popup.js opens; loaded only on days a pop-up is live. */
.elco-popup{box-sizing:border-box;width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;background:transparent;color:var(--ia-ink,#15171A);overflow:visible}
.elco-popup::backdrop{background:rgba(27,31,29,.62)}
.elco-popup-panel{position:relative;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:var(--ia-surface,#fff);border-radius:16px;box-shadow:0 30px 80px rgba(15,18,17,.35)}
html.ia body .elco-popup-panel:focus{outline:none;box-shadow:0 30px 80px rgba(15,18,17,.35)}
.elco-popup[open] .elco-popup-panel{animation:elco-popup-in .3s cubic-bezier(.2,.8,.2,1)}
@keyframes elco-popup-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.elco-popup[open] .elco-popup-panel{animation:none}}
.elco-popup-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#15171A;font:400 26px/1 Inter,'Segoe UI',Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(15,18,17,.2)}
.elco-popup-close:hover{background:#fff}
.elco-popup-band{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:44px 24px 36px;background:#E30A17;color:#fff;text-align:center}
.elco-popup-anma .elco-popup-band{background:#202327}
.elco-popup-day{font:700 76px/.9 var(--ia-display,'Inter Tight',Inter,'Segoe UI',Arial,sans-serif);letter-spacing:-.03em}
.elco-popup-month{font:600 13px/1.2 var(--ia-label,Inter,'Segoe UI',Arial,sans-serif);letter-spacing:.28em;text-transform:uppercase}
.elco-popup-image-link,.elco-popup-image{display:block}
.elco-popup-image{width:100%;height:auto;max-height:min(62vh,640px);object-fit:contain;background:var(--ia-paper,#F5F4EF)}
/* With an image the window takes the image's shape: a portrait poster leaves no empty bars beside it. An image-only window
   may use the screen's height; a title and text below follow the image's width. */
.elco-popup.elco-popup-has-image{width:fit-content;min-width:min(300px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
.elco-popup-has-image .elco-popup-image{width:auto;max-width:min(560px,calc(100vw - 32px));margin:0 auto}
.elco-popup-image-only .elco-popup-image{max-height:calc(100dvh - 48px)}
.elco-popup-has-image .elco-popup-body{box-sizing:border-box;width:0;min-width:100%}
.elco-popup-body{padding:28px 32px 32px;text-align:center}
.elco-popup-close+.elco-popup-body{padding-top:60px}
html.ia body .elco-popup-title{margin:0;color:inherit;font:600 clamp(22px,4.6vw,28px)/1.2 var(--ia-display,'Inter Tight',Inter,'Segoe UI',Arial,sans-serif);letter-spacing:-.02em}
.elco-popup-text{margin:12px 0 0;color:var(--ia-muted,#4E545A);font-size:16px;line-height:1.6}
.elco-popup-title+.elco-popup-text{margin-top:12px}.elco-popup-body>.elco-popup-text:first-child{margin-top:0}
.elco-popup .elco-popup-button{margin-top:22px;min-width:180px}
.elco-popup-body>.elco-popup-button:first-child{margin-top:0}
html.elco-popup-open{overflow:hidden}
@media(max-width:600px){.elco-popup-body{padding:24px 22px 26px}.elco-popup-band{padding:36px 20px 30px}.elco-popup-day{font-size:62px}}
