.line-popup[hidden]{display:none !important}
.line-popup{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.line-popup[data-visible="true"]{opacity:1;pointer-events:auto}
.line-popup__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);cursor:pointer}
.line-popup__panel{position:relative;width:90vw;max-width:400px;transform:translateY(20px);transition:transform .3s ease;max-height:calc(100vh - 32px)}
.line-popup[data-visible="true"] .line-popup__panel{transform:translateY(0)}
.line-popup__close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border:0;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:#222;padding:0;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:2;font-weight:400;display:flex;align-items:center;justify-content:center}
.line-popup__close:hover{background:#f0f0f0}
.line-popup__link{display:block;text-decoration:none;line-height:0;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);cursor:pointer;transition:transform .1s ease}
.line-popup__link:active{transform:scale(.98)}
.line-popup__image{width:100%;height:auto;display:block;max-height:calc(100vh - 32px);object-fit:contain}
@media (max-width:480px){
.line-popup__panel{max-width:320px}
.line-popup__close{top:-10px;right:-10px;width:32px;height:32px;font-size:20px}
}
@media (prefers-reduced-motion:reduce){
.line-popup,.line-popup__panel,.line-popup__link{transition:none}
}
