/* Shared video lightbox. Scoped so existing image galleries retain their design. */
.ltv-dialog{--ltv-ink:#173c33;--ltv-muted:#5c7066;--ltv-paper:#fafbf7;--ltv-line:#dce4da;box-sizing:border-box;width:min(1080px,calc(100vw - 48px));max-width:none;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #ffffff30;border-radius:23px;background:var(--ltv-paper);color:var(--ltv-ink);box-shadow:0 28px 100px #071e1855;font:400 15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;overflow:auto;overscroll-behavior:contain}
.ltv-dialog:not([open]){display:none}
.ltv-dialog[open]{animation:ltv-enter .2s ease-out}
.ltv-dialog::backdrop{background:rgb(5 21 17 / .78);backdrop-filter:blur(7px)}
.ltv-dialog *{box-sizing:border-box}
.ltv-dialog [hidden]{display:none!important}
.ltv-dialog button,.ltv-dialog a{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ltv-dialog button{cursor:pointer}
.ltv-dialog button:disabled{cursor:default;opacity:.42}
.ltv-dialog button:focus-visible,.ltv-dialog a:focus-visible,.ltv-dialog iframe:focus-visible,.ltv-dialog video:focus-visible{outline:3px solid #785c25;outline-offset:4px}
.ltv-dialog .ltv-load:focus-visible{outline-color:#e4edda}
.ltv-dialog svg{display:block;flex-shrink:0;width:20px;height:20px}
.ltv-dialog .ltv-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;background:var(--ltv-paper);border:0;border-bottom:1px solid var(--ltv-line);box-shadow:none}
.ltv-dialog .ltv-heading{min-width:0}
.ltv-dialog .ltv-brand{margin:0 0 5px;color:#6a7f72;font-size:10px;font-weight:650;line-height:1.4;letter-spacing:.15em;text-transform:uppercase}
.ltv-dialog .ltv-title{margin:0;padding:0;color:var(--ltv-ink);font:650 clamp(18px,2vw,24px)/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.ltv-dialog .ltv-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;margin:0;padding:0;border:1px solid #d9e2d5;border-radius:50%;background:#edf2e9;color:var(--ltv-ink);box-shadow:none;transition:background .15s ease,transform .15s ease}
.ltv-dialog .ltv-close:hover{background:#dfe9d7;transform:rotate(5deg)}
.ltv-dialog .ltv-screen{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;min-height:280px;max-height:62vh;max-height:62dvh;overflow:hidden;background:radial-gradient(ellipse at 25% 35%,#2c5f4c 0,transparent 62%),linear-gradient(135deg,#153f32,#0b251f);color:white}
.ltv-dialog .ltv-poster{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.38;filter:saturate(.7);pointer-events:none}
.ltv-dialog .ltv-preflight{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;gap:14px;padding:32px 30px;text-align:center;background:linear-gradient(90deg,#0a211bc9,#133a2b85,#09241cbd)}
.ltv-dialog .ltv-play-mark{display:grid;place-items:center;width:56px;height:56px;border:1px solid #dbe8ca66;border-radius:50%;background:#e5efda0d;color:#dbe8ca;box-shadow:0 0 0 9px #e4ecd305}
.ltv-dialog .ltv-play-mark svg{width:25px;height:25px;margin-left:1px}
.ltv-dialog .ltv-preview-title{margin:0;font:400 clamp(24px,3vw,36px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.03em;color:#f3f7e9}
.ltv-dialog .ltv-preview-text{max-width:430px;margin:0;color:#e0e9df;font-size:14px;line-height:1.65;text-wrap:balance}
.ltv-dialog .ltv-load{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;margin:5px 0 0;padding:13px 23px;border:1px solid #e2ebd6;border-radius:10px;background:#e4edda;color:#173b2c;font-size:13px;font-weight:700;line-height:1.35;box-shadow:0 3px 18px #00000010;transition:background .15s ease,transform .15s ease}
.ltv-dialog .ltv-load:hover{background:#f3f7e9;transform:translateY(-1px)}
.ltv-dialog .ltv-load svg{width:17px;height:17px}
.ltv-dialog .ltv-connection{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:#cad9cc;font-size:10px;line-height:1.5}
.ltv-dialog .ltv-connection svg{width:13px;height:13px}
.ltv-dialog .ltv-media,.ltv-dialog .ltv-player{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:#000;border-radius:0}
.ltv-dialog video.ltv-player{object-fit:contain}
.ltv-dialog .ltv-screen.ltv-is-playing{background:#000}
.ltv-dialog .ltv-is-playing .ltv-poster{visibility:hidden}
.ltv-dialog .ltv-loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;padding:24px;background:radial-gradient(ellipse at 35% 20%,#285a46,#0a251d 72%);color:#eef3e6;pointer-events:none;text-align:center}
.ltv-dialog .ltv-spinner{display:block;width:34px;height:34px;border:2px solid #e5ecd733;border-top-color:#e5ecd7;border-radius:50%;animation:ltv-spin .8s linear infinite}
.ltv-dialog .ltv-loading-label{font-size:12px;line-height:1.5;letter-spacing:.02em}
.ltv-dialog .ltv-footer{position:relative;display:block;margin:0;padding:19px 26px 18px;border:0;background:var(--ltv-paper);color:var(--ltv-muted);text-align:left;font:400 12px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.ltv-dialog .ltv-provider{display:inline-block;margin:0 0 8px;padding:3px 8px;border:1px solid #dbe3d5;border-radius:5px;background:#f0f4eb;color:#376049;font-size:9px;font-weight:700;line-height:1.35;letter-spacing:.06em;text-transform:uppercase}
.ltv-dialog .ltv-description{margin:0 0 5px;color:#2e4d40;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.ltv-dialog .ltv-privacy{max-width:850px;margin:0;color:var(--ltv-muted);font-size:11px;line-height:1.65}
.ltv-dialog .ltv-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--ltv-line)}
.ltv-dialog .ltv-navigation{display:flex;align-items:center;gap:12px;flex-shrink:0}
.ltv-dialog .ltv-choices{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ltv-dialog .ltv-choice{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #d2decf;border-radius:999px;background:#fff;color:#2a5140;font-size:12px;font-weight:650;line-height:1.4;transition:background .15s ease,color .15s ease,border-color .15s ease}
.ltv-dialog .ltv-choice:hover{background:#edf3e7;border-color:#93ad96}
.ltv-dialog .ltv-choice[aria-pressed="true"]{border-color:#245941;background:#245941;color:#fff;box-shadow:0 3px 10px #173c3314}
.ltv-dialog.ltv-is-direct .ltv-screen{min-height:0}
.ltv-dialog.ltv-is-direct .ltv-header{position:sticky;top:0;border-top:2px solid #bca46b}
.ltv-dialog .ltv-navigation-button{display:grid;place-items:center;min-height:36px;width:36px;height:36px;padding:0;border:1px solid #d9e2d5;border-radius:8px;background:#fff;color:var(--ltv-ink)}
.ltv-dialog .ltv-count{min-width:34px;color:#516c5d;font-size:11px;text-align:center;font-variant-numeric:tabular-nums}
.ltv-dialog .ltv-links{display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto}
.ltv-dialog .ltv-text-button,.ltv-dialog .ltv-external{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:4px 0;border:0;border-radius:0;background:transparent;color:#275c44;font-size:11px;font-weight:650;text-decoration:none;box-shadow:none}
.ltv-dialog .ltv-text-button:hover,.ltv-dialog .ltv-external:hover{color:#0d3827;text-decoration:underline;text-underline-offset:4px}
.ltv-dialog .ltv-text-button svg,.ltv-dialog .ltv-external svg{width:15px;height:15px}
.ltv-dialog .ltv-status{margin:10px 0 0;color:#54705f;font-size:11px;line-height:1.6}
.ltv-dialog .ltv-status:empty{display:none}
.ltv-dialog .ltv-keyboard{position:absolute;right:26px;top:19px;color:#748575;font-size:9px;letter-spacing:.025em}
.ltv-dialog.ltv-is-expanded{width:min(1500px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
.ltv-dialog.ltv-is-expanded .ltv-screen{max-height:70vh;max-height:70dvh}
@keyframes ltv-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ltv-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){
  .ltv-dialog,.ltv-dialog.ltv-is-expanded{width:calc(100vw - 20px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:16px}
  .ltv-dialog .ltv-header{padding:17px 17px 16px;gap:12px}
  .ltv-dialog .ltv-brand{font-size:8px;letter-spacing:.12em}
  .ltv-dialog .ltv-title{font-size:18px}
  .ltv-dialog .ltv-close{width:38px;height:38px;min-height:38px;flex-basis:38px}
  .ltv-dialog .ltv-screen{min-height:290px;max-height:none}
  .ltv-dialog .ltv-screen.ltv-is-playing{min-height:0}
  .ltv-dialog .ltv-preflight{gap:12px;padding:22px 20px}
  .ltv-dialog .ltv-play-mark{width:44px;height:44px}
  .ltv-dialog .ltv-play-mark svg{width:20px;height:20px}
  .ltv-dialog .ltv-preview-title{font-size:27px}
  .ltv-dialog .ltv-preview-text{font-size:12px;max-width:300px}
  .ltv-dialog .ltv-load{min-height:46px;padding:12px 18px;font-size:12px;margin-top:0}
  .ltv-dialog .ltv-footer{padding:17px}
  .ltv-dialog .ltv-description{font-size:12px}
  .ltv-dialog .ltv-privacy{font-size:10px}
  .ltv-dialog .ltv-tools{flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px}
  .ltv-dialog .ltv-links{gap:12px}
  .ltv-dialog .ltv-choices{flex:1 1 100%;gap:7px}
  .ltv-dialog .ltv-choice{flex:1 1 auto;padding:10px 12px;font-size:11px}
  .ltv-dialog .ltv-keyboard{right:17px;top:17px;font-size:8px}
  .ltv-dialog .ltv-navigation-button{width:38px;height:38px;min-height:38px}
  .ltv-dialog .ltv-text-button,.ltv-dialog .ltv-external{font-size:10px}
  .ltv-dialog .ltv-expand{display:none}
}
@media(max-width:380px){.ltv-dialog .ltv-links{width:100%;justify-content:space-between;margin-left:0}.ltv-dialog .ltv-navigation{width:100%;justify-content:space-between}.ltv-dialog .ltv-keyboard{display:none}}
@media(max-height:550px) and (min-width:651px){.ltv-dialog .ltv-screen{min-height:210px}.ltv-dialog .ltv-preflight{gap:8px;padding:20px}.ltv-dialog .ltv-play-mark{display:none}.ltv-dialog .ltv-preview-text{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ltv-dialog[open],.ltv-dialog .ltv-spinner{animation:none}.ltv-dialog button{transition:none!important}.ltv-dialog .ltv-load:hover,.ltv-dialog .ltv-close:hover{transform:none}}
