/* TEV Contextual Reels v1.2.5 — no external fonts, no third-party embed CSS */
.tev-reel-moment{
  --tev-ink:#17324a;--tev-muted:#54616c;--tev-canvas:#fbf8f4;--tev-surface:#fffdf9;
  --tev-accent:#d97f72;--tev-accent-2:#7aa4a1;--tev-soft:#e9f1ef;--tev-line:rgba(23,50,74,.10);
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  align-items:center;gap:clamp(18px,4vw,54px);margin:clamp(38px,6vw,72px) 0;padding:clamp(28px,4.5vw,56px);
  border:1px solid var(--tev-line);border-radius:24px;overflow:hidden;background:var(--tev-canvas);background:
    radial-gradient(circle at 86% 18%,color-mix(in srgb,var(--tev-soft) 85%,transparent) 0 13%,transparent 42%),
    linear-gradient(135deg,var(--tev-surface) 0%,var(--tev-canvas) 58%,color-mix(in srgb,var(--tev-soft) 50%,#fff) 100%);
  box-shadow:0 18px 55px rgba(20,42,58,.07);color:var(--tev-ink);
  content-visibility:auto;contain-intrinsic-size:680px;
}
.tev-reel-moment::before,.tev-reel-moment::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(.2px)}
.tev-reel-moment::before{width:260px;height:260px;left:-120px;top:-120px;background:radial-gradient(circle,color-mix(in srgb,var(--tev-accent) 12%,transparent),transparent 70%)}
.tev-reel-moment::after{width:360px;height:360px;right:-150px;bottom:-190px;background:radial-gradient(circle,color-mix(in srgb,var(--tev-accent-2) 16%,transparent),transparent 70%)}

/* Destination / brand palettes */
.tev-reel-theme-beaches_turks{--tev-ink:#143453;--tev-muted:#526577;--tev-canvas:#fbf7f0;--tev-surface:#fffdf9;--tev-accent:#e68778;--tev-accent-2:#58a9ad;--tev-soft:#dff1ef}
.tev-reel-theme-beaches_negril{--tev-ink:#18364c;--tev-muted:#5a6871;--tev-canvas:#fcf7ef;--tev-surface:#fffdf9;--tev-accent:#e28c76;--tev-accent-2:#78a98e;--tev-soft:#e5f0e7}
.tev-reel-theme-dcl_treasure{--tev-ink:#102f4f;--tev-muted:#536272;--tev-canvas:#f9f7f2;--tev-surface:#fffefa;--tev-accent:#c69a63;--tev-accent-2:#3f6c86;--tev-soft:#dfe8ed}
.tev-reel-theme-dcl_destiny{--tev-ink:#172f4a;--tev-muted:#586274;--tev-canvas:#f9f6f1;--tev-surface:#fffdf9;--tev-accent:#b77969;--tev-accent-2:#3a5e84;--tev-soft:#e2e7ee}
.tev-reel-theme-dcl_wish{--tev-ink:#163451;--tev-muted:#566778;--tev-canvas:#faf7f3;--tev-surface:#fffefa;--tev-accent:#d29a9a;--tev-accent-2:#6f9eb5;--tev-soft:#e5eef3}
.tev-reel-theme-disneyland{--tev-ink:#17324a;--tev-muted:#5f6670;--tev-canvas:#fbf7f1;--tev-surface:#fffdf9;--tev-accent:#d7978c;--tev-accent-2:#718b9b;--tev-soft:#e7ebeb}
.tev-reel-theme-sandals_jamaica{--tev-ink:#26384a;--tev-muted:#64615b;--tev-canvas:#faf6ef;--tev-surface:#fffdf8;--tev-accent:#c59a72;--tev-accent-2:#708f7a;--tev-soft:#ece5d8}
.tev-reel-theme-exuma{--tev-ink:#133b56;--tev-muted:#566b76;--tev-canvas:#fbf8ef;--tev-surface:#fffefa;--tev-accent:#e7a18f;--tev-accent-2:#43aeb7;--tev-soft:#ddf1f1}
.tev-reel-theme-universal{--tev-ink:#22324a;--tev-muted:#5d6370;--tev-canvas:#f9f8f5;--tev-surface:#fff;--tev-accent:#8b75b1;--tev-accent-2:#36a5b0;--tev-soft:#e4e7f0}
.tev-reel-theme-sandals_curacao{--tev-ink:#17384a;--tev-muted:#5f6768;--tev-canvas:#faf6ee;--tev-surface:#fffdf9;--tev-accent:#d98967;--tev-accent-2:#3d9ca7;--tev-soft:#dff0ed}
.tev-reel-theme-castaway{--tev-ink:#15344f;--tev-muted:#566776;--tev-canvas:#faf8f2;--tev-surface:#fffefa;--tev-accent:#d79282;--tev-accent-2:#55a4b0;--tev-soft:#dfeff1}
.tev-reel-theme-dcl_general{--tev-ink:#102f4f;--tev-muted:#566676;--tev-canvas:#faf8f3;--tev-surface:#fffefa;--tev-accent:#c69a63;--tev-accent-2:#4f7891;--tev-soft:#e1e9ed}
.tev-reel-theme-bahamas_luxury{--tev-ink:#16384e;--tev-muted:#5d6c72;--tev-canvas:#fbf7ef;--tev-surface:#fffefa;--tev-accent:#d6a276;--tev-accent-2:#4ca7ae;--tev-soft:#dff0ef}
.tev-reel-theme-sandals_bahamas{--tev-ink:#23394a;--tev-muted:#64645f;--tev-canvas:#faf6ef;--tev-surface:#fffdf8;--tev-accent:#c89b72;--tev-accent-2:#4e8c91;--tev-soft:#e7ece4}
.tev-reel-theme-disney_world{--tev-ink:#17324a;--tev-muted:#596675;--tev-canvas:#faf7f2;--tev-surface:#fffdf9;--tev-accent:#d28f86;--tev-accent-2:#6a8fa4;--tev-soft:#e5ecef}

.tev-reel-copy{position:relative;z-index:3;max-width:640px}.tev-reel-eyebrow{margin:0 0 11px!important;font-size:11px!important;line-height:1.4!important;letter-spacing:.22em!important;text-transform:uppercase;font-weight:700!important;color:var(--tev-accent)!important}
.tev-reel-title{margin:0 0 14px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(29px,3.2vw,45px)!important;line-height:1.07!important;letter-spacing:-.025em!important;color:var(--tev-ink)!important;font-weight:500!important}
.tev-reel-body{margin:0 0 22px!important;max-width:50ch;font-size:16px!important;line-height:1.7!important;color:var(--tev-muted)!important}
.tev-reel-button{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;border-radius:8px;background:var(--tev-accent);color:#fff!important;text-decoration:none!important;font-size:11.5px!important;font-weight:750!important;letter-spacing:.085em!important;text-transform:uppercase;box-shadow:0 10px 26px rgba(22,50,74,.10);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.tev-reel-button:hover,.tev-reel-button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(22,50,74,.14);filter:saturate(1.05);color:#fff!important}
.tev-reel-button:focus-visible,.tev-reel-profile:focus-visible,.tev-reel-visual:focus-visible{outline:3px solid color-mix(in srgb,var(--tev-accent-2) 55%,#fff);outline-offset:3px}
.tev-reel-ig-mark{font-size:18px;line-height:1}.tev-reel-opens{display:block;margin-top:9px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--tev-muted) 78%,#fff)}
.tev-reel-profile{display:inline-block;margin-top:11px;color:var(--tev-ink)!important;text-decoration:none!important;font-size:12px!important;font-weight:650!important;border-bottom:1px solid color-mix(in srgb,var(--tev-ink) 25%,transparent)}

.tev-reel-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;text-decoration:none!important;border-radius:18px}
.tev-reel-device{position:relative;display:block;width:min(450px,100%);aspect-ratio:640/1020;filter:drop-shadow(0 22px 34px rgba(18,36,49,.14));transition:transform .22s ease}
.tev-reel-visual:hover .tev-reel-device{transform:translateY(-2px)}
.tev-reel-screen{position:absolute;z-index:1;left:15.78%;top:2.94%;width:52.34%;height:69.71%;overflow:hidden;border-radius:11% / 6%;background:linear-gradient(145deg,var(--tev-soft),var(--tev-canvas));box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.tev-reel-hand-left .tev-reel-screen{left:31.88%}
.tev-reel-cover{display:block;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;max-width:none!important}
.tev-reel-cover-fallback{display:block;width:100%;height:100%;background:linear-gradient(145deg,var(--tev-soft),color-mix(in srgb,var(--tev-accent) 30%,#fff) 60%,var(--tev-accent-2))}
.tev-reel-screen-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.02) 44%,rgba(0,0,0,.15) 100%);pointer-events:none}
.tev-reel-hand-frame{position:absolute;z-index:2;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;max-width:none!important;pointer-events:none}
.tev-reel-play{position:absolute;z-index:3;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);box-shadow:0 7px 22px rgba(0,0,0,.16);backdrop-filter:blur(4px)}
.tev-reel-play i{display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid var(--tev-ink);margin-left:4px}
.tev-reel-hand-left .tev-reel-copy{order:2}.tev-reel-hand-left .tev-reel-visual{order:1}

.tev-reel-preview{outline:2px dashed #b7791f;outline-offset:4px}.tev-reel-preview-badge{position:absolute;top:10px;right:12px;z-index:8;padding:6px 8px;border-radius:999px;background:#fff6d8;color:#6e4a00;font:700 10px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.08em}

@media(max-width:820px){
  .tev-reel-moment{grid-template-columns:1fr;gap:10px;padding:30px 22px 24px;border-radius:20px;margin:38px 0}
  .tev-reel-copy,.tev-reel-hand-left .tev-reel-copy{order:1;text-align:center;margin:0 auto}.tev-reel-visual,.tev-reel-hand-left .tev-reel-visual{order:2;min-height:390px}
  .tev-reel-body{margin-left:auto!important;margin-right:auto!important}.tev-reel-profile{margin-left:auto;margin-right:auto}.tev-reel-device{width:min(390px,96%)}
}
@media(max-width:480px){.tev-reel-moment{padding:26px 16px 18px;border-radius:18px}.tev-reel-title{font-size:30px!important}.tev-reel-body{font-size:15px!important}.tev-reel-visual{min-height:340px}.tev-reel-device{width:min(335px,100%)}.tev-reel-button{width:100%;max-width:330px}}
@media(prefers-reduced-motion:reduce){.tev-reel-button,.tev-reel-device{transition:none}.tev-reel-button:hover,.tev-reel-visual:hover .tev-reel-device{transform:none}}

/* v1.2.1 Smart Cinematic Preview */
.tev-reel-preview-video{position:absolute;inset:0;z-index:2;display:block;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;max-width:none!important;opacity:0;transition:opacity .22s ease;background:#000}
.tev-reel-moment.tev-preview-playing .tev-reel-preview-video,.tev-reel-moment.tev-preview-complete .tev-reel-preview-video{opacity:1}
.tev-reel-moment.tev-preview-playing .tev-reel-cover,.tev-reel-moment.tev-preview-complete .tev-reel-cover{opacity:0}
.tev-reel-cover{transition:opacity .22s ease}
.tev-reel-play{border:0;padding:0;cursor:pointer;color:inherit;font:inherit}
.tev-reel-play[hidden]{display:none!important}
.tev-reel-play-link{text-decoration:none!important}
.tev-reel-preview-chip{position:absolute;z-index:4;left:10px;bottom:10px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.90);color:var(--tev-ink);font:700 9px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.10);pointer-events:none}
.tev-reel-moment.tev-preview-playing .tev-reel-preview-chip{opacity:.72}
.tev-reel-moment.tev-preview-error .tev-reel-preview-video{opacity:0}
.tev-reel-moment.tev-preview-error .tev-reel-cover{opacity:1}
@media(prefers-reduced-motion:reduce){.tev-reel-preview-video,.tev-reel-cover{transition:none}}
