/* Demo-class video gallery. Self-contained: does not depend on Tailwind classes. */
.dg-section{padding:3rem 1rem 3.5rem}
.dg-wrap{max-width:72rem;margin:0 auto;position:relative}
.dg-head{text-align:center;margin-bottom:1.75rem}
.dg-eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:#d4af37;border:1px solid rgba(212,175,55,.4);border-radius:999px;padding:.3rem .9rem;margin-bottom:.8rem}
.dg-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;color:#fff;margin:0 0 .6rem}
.dg-title span{color:#d4af37;text-shadow:0 0 10px rgba(212,175,55,.5)}
.dg-sub{color:#9ca3af;font-size:.95rem;max-width:36rem;margin:0 auto}

.dg-stage{position:relative}
.dg-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .25rem 1.25rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-behavior:smooth}
.dg-track::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){.dg-track{scroll-behavior:auto}}

.dg-card{flex:0 0 80%;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;scroll-snap-align:start;text-align:left;font:inherit;color:inherit;padding:0;cursor:pointer;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
@media (min-width:640px){.dg-card{flex-basis:calc(50% - .5rem)}}
@media (min-width:1024px){.dg-card{flex-basis:calc(33.333% - .67rem)}}
.dg-card:hover,.dg-card:focus-visible{transform:translateY(-4px);border-color:rgba(212,175,55,.6);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px rgba(212,175,55,.25);outline:none}

.dg-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#1e1b4b,#0f172a)}
.dg-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.dg-card:hover .dg-thumb img{transform:scale(1.06)}
.dg-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,4,26,.75),rgba(10,4,26,0) 55%);pointer-events:none}
.dg-play{position:absolute;left:50%;top:50%;width:3.5rem;height:3.5rem;margin:-1.75rem 0 0 -1.75rem;border-radius:50%;z-index:2;
  background:rgba(212,175,55,.95);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.5);transition:transform .25s ease}
.dg-card:hover .dg-play{transform:scale(1.12)}
.dg-play svg{width:1.4rem;height:1.4rem;margin-left:.2rem;fill:#0a041a}
.dg-badge{position:absolute;left:.7rem;top:.7rem;z-index:2;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  background:rgba(10,4,26,.75);color:#d4af37;border:1px solid rgba(212,175,55,.45);border-radius:999px;padding:.2rem .6rem}
.dg-body{padding:.85rem 1rem 1rem;flex:1}
.dg-name{font-size:.95rem;font-weight:600;color:#f3f4f6;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.dg-cta{display:block;font-size:.7rem;color:#d4af37;margin-top:.4rem;letter-spacing:.08em;text-transform:uppercase}

.dg-arrow{position:absolute;top:calc(50% - 1.5rem);z-index:5;width:2.75rem;height:2.75rem;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(10,4,26,.85);border:1px solid rgba(212,175,55,.5);color:#d4af37;backdrop-filter:blur(6px);transition:background .2s,opacity .2s}
.dg-arrow:hover{background:#d4af37;color:#0a041a}
.dg-arrow[disabled]{opacity:.25;cursor:default;pointer-events:none}
.dg-arrow svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.dg-prev{left:-.9rem}.dg-next{right:-.9rem}
@media (min-width:640px){.dg-arrow{display:flex}}
.dg-hint{text-align:center;color:#6b7280;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.25rem}
@media (min-width:640px){.dg-hint{display:none}}

/* Lightbox player */
.dg-lb{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(5,2,15,.93);backdrop-filter:blur(6px)}
.dg-lb.open{display:flex}
.dg-lb-box{width:min(60rem,100%)}
.dg-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}
.dg-lb-title{color:#fff;font-weight:600;font-size:.95rem;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dg-lb-btn{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;transition:background .2s,color .2s}
.dg-lb-btn:hover,.dg-lb-btn:focus-visible{background:#d4af37;color:#0a041a;outline:none}
.dg-lb-btn[disabled]{opacity:.3;pointer-events:none}
.dg-lb-btn svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.dg-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:.9rem;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(212,175,55,.35)}
.dg-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dg-lb-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.7rem;color:#9ca3af;font-size:.8rem}
.dg-lb-nav{display:flex;gap:.5rem}
