/*
Theme Name: DeepVideo
Theme URI: https://example.com/deepvideo
Author: You
Author URI: https://example.com
Description: OLED Cinema minimalist video & blog hybrid theme with dynamic search and mode switching.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deepvideo
*/

/* Root CSS variables for light & dark modes */
:root {
  --dv-accent: #ef4444;
  --dv-day-bg: #e5e5e5;
  --dv-day-panel: #ffffff;
  --dv-day-text: #171717;
  --dv-night-bg: #000000;
  --dv-night-panel: #121212;
  --dv-night-text: #ededed;
  --dv-transition: 0.25s ease;
}

/* Remove default browser body margin to eliminate outer gaps on header/footer */
html, body {margin:0; padding:0; overflow-x:hidden; width:100%; box-sizing:border-box;}
*, *:before, *:after {box-sizing:inherit;}

/* Ensure header & footer span full viewport width */
.dv-header, .dv-footer {width:100%;}

body {
  font-family: 'Helvetica Neue', Helvetica, Arial, 'Times New Roman', serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.mode-light {
  background: var(--dv-day-bg);
  color: var(--dv-day-text);
}
body.mode-dark {
  background: var(--dv-night-bg);
  color: var(--dv-night-text);
}

/* Global long-string wrapping to prevent overflow */
body, p, h1, h2, h3, h4, h5, h6,
.dv-single-box, .dv-blog-card, .dv-video-card, .dv-video-card-alt,
.dv-video-title, .dv-blog-title, .dv-video-excerpt, .dv-blog-excerpt,
.dv-single-content {overflow-wrap:anywhere; word-break:break-word;}

.dv-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0; /* outer padding kept zero for full-bleed */
  transition:var(--dv-transition);
}
body.mode-dark .dv-header {
  background:#0a0a0a !important;
  border-bottom:1px solid #222;
}
.dv-header-section-1 {
  width:100%;
  padding:0 1.25rem;
}
.dv-header-inner {
  display:flex;
  align-items:center;
  gap:1rem;
}
.dv-menu-toggle {display:none; flex-direction:column; gap:4px; background:transparent; border:none; padding:.5rem; cursor:pointer; justify-content:center; align-items:center;}
.dv-menu-bar {width:24px; height:3px; background:currentColor; border-radius:2px; transition:var(--dv-transition);}
body.dv-menu-open .dv-menu-toggle .dv-menu-bar:nth-child(1){transform:translateY(6px) rotate(45deg);}
body.dv-menu-open .dv-menu-toggle .dv-menu-bar:nth-child(2){opacity:0;}
body.dv-menu-open .dv-menu-toggle .dv-menu-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.dv-logo {font-weight:600;}
.dv-nav {flex:1; display:flex; justify-content:center;}
.dv-nav ul {display:flex; list-style:none; margin:0; padding:0; gap:1rem; justify-content:center;}
.dv-nav a {text-decoration:none; padding:.5rem .75rem; border-radius:4px; transition:var(--dv-transition); text-transform:uppercase; font-weight:700;}
.dv-nav a:hover {background:rgba(0,0,0,.06);}
body.mode-dark .dv-nav a:hover {background:rgba(255,255,255,.06);}
.dv-header-right {display:flex; gap:.5rem; align-items:center;}
.dv-nav-close {display:none;}

/* Mobile navigation */
@media (max-width:800px){
  .dv-header-inner {justify-content:space-between; gap:.5rem;}
  .dv-logo {order:1; margin:0;}
  .dv-menu-toggle {order:2; display:flex;}
  .dv-header-right {order:3; display:flex; gap:.5rem; align-items:center; margin-left:auto;}
  .dv-nav {display:none; position:fixed; top:0; left:-100%; width:280px; height:100vh; background:var(--dv-day-panel); z-index:9999; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem; transition:all .4s cubic-bezier(0.68,-0.55,0.265,1.55); box-shadow:2px 0 12px rgba(0,0,0,.15); opacity:0; transform:translateX(-20px);}
  body.mode-dark .dv-nav {background:var(--dv-night-panel);}
  .dv-nav.dv-nav-open {display:flex !important; left:0; opacity:1; transform:translateX(0);}
  .dv-nav ul {flex-direction:column; gap:.85rem; text-align:center;}
  .dv-nav ul li {opacity:0; transform:translateY(20px); animation:slideInMenu .3s ease forwards;}
  .dv-nav ul li:nth-child(1) {animation-delay:.1s;}
  .dv-nav ul li:nth-child(2) {animation-delay:.15s;}
  .dv-nav ul li:nth-child(3) {animation-delay:.2s;}
  .dv-nav ul li:nth-child(4) {animation-delay:.25s;}
  .dv-nav ul li:nth-child(5) {animation-delay:.3s;}
  .dv-nav-close {display:flex; position:absolute; top:1rem; right:1rem; width:32px; height:32px; align-items:center; justify-content:center; background:rgba(0,0,0,.1); border:none; border-radius:50%; cursor:pointer; font-size:1.5rem; color:inherit; opacity:0; animation:fadeIn .3s ease .2s forwards;}
  body.mode-dark .dv-nav-close {background:rgba(255,255,255,.1);}
  .dv-nav-overlay {display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9998; opacity:0; transition:opacity .3s ease;}
  .dv-nav-overlay.active {display:block; opacity:1;}
}

@keyframes slideInMenu {
  to {opacity:1; transform:translateY(0);}
}

@keyframes fadeIn {
  to {opacity:1;}
}

/* Global hyperlink styling: professional clean look */
body a {color:#1d4ed8; text-decoration:none; transition:var(--dv-transition);}
body a:hover {color:#1e3a8a; text-decoration:none;}

/* Content area links get subtle underline */
.dv-single-content a {text-decoration:underline;}
.dv-single-content a:hover {color:var(--dv-accent);}

/* Recent searches spacing & link appearance tweaks */
.dv-recent-title {margin:0 0 .4rem;}
.dv-recent-list {margin:0 0 .4rem;}
.dv-recent-item {text-decoration:none;}
.dv-recent-item:hover {text-decoration:none;}

.dv-actions {display:flex; align-items:center; gap:.75rem;}
.dv-btn-ghost {background:transparent; border:1px solid currentColor; padding:.4rem .75rem; cursor:pointer; border-radius:4px; font-size:.85rem; font-weight:600;}
.dv-btn-solid {background:var(--dv-accent); color:#fff; border:none; padding:.5rem .9rem; cursor:pointer; border-radius:4px; font-size:.85rem; font-weight:600;}
.dv-btn-icon {background:rgba(0,0,0,.08); border:none; cursor:pointer; font-size:1.1rem; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; transition:var(--dv-transition);}
body.mode-dark .dv-btn-icon {background:rgba(255,255,255,.12);}
.dv-btn-icon:hover {background:rgba(0,0,0,.15); transform:scale(1.05);}
body.mode-dark .dv-btn-icon:hover {background:rgba(255,255,255,.18);}
.dv-btn-icon.active {background:var(--dv-accent); color:#fff;}
.dv-btn-icon.active:hover {background:var(--dv-accent); opacity:.9;}

/* Search expandable section */
#dv-search-expandable {display:none; width:100%; padding:.75rem 1rem;}
#dv-search-expandable.active {display:block;}
.dv-search-bar-wrapper {position:relative; max-width:720px; margin:0 auto; display:flex; gap:.5rem;}
.dv-search-input {flex:1; padding:.6rem .75rem; border:1px solid #ccc; border-radius:4px; background:#f8f8f8;}
body.mode-dark .dv-search-input {background:#1e1e1e; border-color:#333; color:var(--dv-night-text);}
.dv-search-submit {padding:.6rem 1rem; border:none; background:var(--dv-accent); color:#fff; border-radius:4px; cursor:pointer;}
.dv-search-advanced {padding:.6rem .9rem; border:1px solid #666; background:transparent; color:inherit; border-radius:4px; cursor:pointer;}

/* AJAX suggestions panel */
.dv-suggestions {position:absolute; left:0; right:0; top:100%; background:var(--dv-day-panel); border:1px solid #ccc; border-top:none; z-index:99; border-radius:0 0 6px 6px; overflow:hidden;}
body.mode-dark .dv-suggestions {background:var(--dv-night-panel); border-color:#333;}
.dv-suggestion-item {display:flex; gap:.75rem; padding:.5rem .75rem; align-items:center; border-top:1px solid rgba(0,0,0,.08); cursor:pointer;}
body.mode-dark .dv-suggestion-item {border-top:1px solid rgba(255,255,255,.06);}
.dv-suggestion-item:hover {background:rgba(0,0,0,.05);} 
body.mode-dark .dv-suggestion-item:hover {background:rgba(255,255,255,.06);} 
.dv-suggestion-thumb {width:56px; height:32px; object-fit:cover; background:#ddd;}

/* Cards */
.dv-video-card {background:var(--dv-day-panel); border:1px solid #ddd; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; transition:var(--dv-transition);}
body.mode-dark .dv-video-card {background:var(--dv-night-panel); border-color:#333;}
.dv-video-thumb {width:100%; aspect-ratio:16/9; background:#222; object-fit:cover;}
.dv-video-meta {padding:.75rem .85rem; display:flex; flex-direction:column; gap:.4rem;}
.dv-video-title {font-size:1.08rem; line-height:1.3; font-weight:600; margin:.6rem .85rem 0; overflow-wrap:anywhere; word-break:break-word;}
.dv-video-excerpt {font-size:.72rem; opacity:.75; padding:0 .85rem .75rem; overflow-wrap:anywhere; word-break:break-word;}
.dv-video-card-landscape {position:relative;}
.dv-video-thumb-wrap {position:relative; width:100%; height:auto;}
.dv-video-badge {position:absolute; top:.45rem; left:.45rem; background:var(--dv-accent); color:#fff; font-size:.55rem; padding:.3rem .55rem; border-radius:6px; z-index:3; font-weight:600; letter-spacing:.03em;}
.dv-video-duration {position:absolute; bottom:.45rem; right:.45rem; background:rgba(0,0,0,.7); color:#fff; font-size:.55rem; padding:.25rem .45rem; border-radius:4px; z-index:3; font-weight:500;}
.dv-video-meta-line {display:flex; align-items:center; gap:.6rem; font-size:.55rem; opacity:.8; padding:.5rem .85rem 0;}
.dv-video-meta-line button.dv-share-btn {background:transparent; border:1px solid currentColor; padding:.25rem .45rem; font-size:.55rem; border-radius:5px; cursor:pointer; transition:var(--dv-transition);}
.dv-video-meta-line button.dv-share-btn.dv-share-done {background:#16a34a; color:#fff; border-color:#16a34a;}
.dv-video-meta-line button.dv-share-btn:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent);}
.dv-video-card-play-overlay {position:absolute; inset:0; background:rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; opacity:0; transition:var(--dv-transition); z-index:2;}
.dv-video-card:hover .dv-video-card-play-overlay {opacity:1;}
.dv-video-card:hover {transform:translateY(-3px); box-shadow:0 8px 24px -6px rgba(0,0,0,.35);} 
.dv-video-title-link:hover {color:var(--dv-accent);} 

/* Externalized Video Card (Design 1 shell) */
.dv-video-card-shell {width:320px; display:flex; flex-direction:column; align-items:flex-start; gap:.4rem;}
.dv-video-card-shell .dv-video-card {width:100%; height:180px; background:#000; border-radius:10px;}
.dv-video-card-shell .dv-video-thumb {height:100%; aspect-ratio:auto; width:100%;}
.dv-video-meta-inline {display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; font-size:.6rem; opacity:.85; padding:0 .15rem;}
.dv-video-meta-inline .dv-meta-pill {background:rgba(0,0,0,.15); padding:.3rem .55rem; border-radius:12px; display:inline-flex; align-items:center; gap:.3rem;}
body.mode-dark .dv-video-meta-inline .dv-meta-pill {background:rgba(255,255,255,.15);}
.dv-video-meta-inline .dv-meta-pill .dashicons {font-size:.75rem;}
.dv-video-meta-inline .dv-share-btn {cursor:pointer; border:none; transition:var(--dv-transition);}
.dv-video-meta-inline .dv-share-btn:hover {background:var(--dv-accent) !important; color:#fff;}
@media (max-width:600px){
  .dv-video-meta-inline {font-size:.55rem;}
  .dv-video-meta-inline .dv-meta-pill {font-size:.55rem; padding:.25rem .45rem; gap:.25rem;}
  .dv-video-meta-inline .dv-meta-pill .dashicons {font-size:.7rem;}
}
.dv-video-title-inline {margin:0; font-size:1.05rem; line-height:1.25; font-weight:600; overflow-wrap:anywhere; word-break:break-word;}

/* Portrait Video Card (Design 2 shell) */
.dv-video-card-shell-portrait {width:225px; display:flex; flex-direction:column; gap:.4rem; align-items:flex-start;}
.dv-video-card-shell-portrait .dv-video-card-portrait {width:100%; height:300px; background:#000; border-radius:10px; overflow:hidden;}
.dv-video-card-shell-portrait .dv-video-thumb-alt {width:100%; height:100%; object-fit:cover;}
.dv-video-meta-inline-alt {font-size:.55rem;}
.dv-video-title-inline-alt {font-size:.95rem;} 

/* Portrait Card Enhancements */
.dv-video-card-portrait {position:relative;}
.dv-video-thumb-alt-wrap {position:relative;}
.dv-video-meta-line-alt {display:flex; align-items:center; gap:.5rem; font-size:.5rem; opacity:.75; padding:.45rem .6rem 0;}
.dv-video-meta-line-alt .dv-share-btn {background:transparent; border:1px solid currentColor; padding:.2rem .4rem; font-size:.5rem; border-radius:5px; cursor:pointer; transition:var(--dv-transition);}
.dv-video-meta-line-alt .dv-share-btn.dv-share-done {background:#16a34a; color:#fff; border-color:#16a34a;}
.dv-video-meta-line-alt .dv-share-btn:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent);}
.dv-video-card-alt:hover {transform:translateY(-3px); box-shadow:0 8px 24px -6px rgba(0,0,0,.35);} 
.dv-video-title-alt .dv-video-title-link:hover {color:var(--dv-accent);} 
.dv-grid {display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:1rem;}

/* Pagination */
.pagination {display:flex; gap:.5rem; justify-content:center; align-items:center; margin:2rem 0; flex-wrap:wrap;}
.pagination a, .pagination span {padding:.55rem .85rem; border:1px solid rgba(0,0,0,.15); border-radius:8px; text-decoration:none; font-size:.8rem; transition:var(--dv-transition); background:rgba(0,0,0,.02); min-width:40px; text-align:center;}
body.mode-dark .pagination a, body.mode-dark .pagination span {border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.03);}
.pagination a:hover {background:rgba(0,0,0,.08); transform:translateY(-1px); border-color:var(--dv-accent);}
body.mode-dark .pagination a:hover {background:rgba(255,255,255,.1);}
.pagination .current, .pagination span.current {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent); font-weight:600; box-shadow:0 2px 8px rgba(239,68,68,.25);}
.pagination .dots {border:none; background:transparent; padding:.3rem; cursor:default;}
@media (max-width:600px){
  .pagination {gap:.35rem;}
  .pagination a, .pagination span {padding:.45rem .65rem; font-size:.75rem; min-width:36px;}
}

/* Utility */
.hidden {display:none !important;}

/* Mode Switch (new toggle) */
.dv-mode-switch {position:relative; display:inline-block; width:54px; height:28px;}
.dv-mode-switch input {opacity:0; width:0; height:0;}
.dv-mode-slider {position:absolute; inset:0; cursor:pointer; background:#222; border-radius:34px; transition:var(--dv-transition); display:flex; align-items:center; justify-content:flex-start; padding:0 6px; font-size:.75rem; color:#fff;}
body.mode-light .dv-mode-slider {background:#ddd; color:#111; justify-content:flex-end;}
.dv-mode-slider:before {content:'🌙'; transition:var(--dv-transition);}
body.mode-light .dv-mode-slider:before {content:'☀️';}
.dv-mode-switch input:focus + .dv-mode-slider {outline:2px solid var(--dv-accent); outline-offset:2px;}

/* Footer Sections */
.dv-footer {padding:2rem 0; border-top:1px solid #ddd; transition:var(--dv-transition);}
body.mode-dark .dv-footer {background:#0a0a0a; border-top-color:#222;}
.dv-footer-top {width:100%; padding:2.5rem 1.5rem; display:grid; gap:2.5rem; grid-template-columns:repeat(3,1fr); max-width:1400px; margin:0 auto;}
.dv-footer-top.dv-footer-align-center {justify-content:center; justify-items:center; text-align:center;}
.dv-footer-top.dv-footer-align-left {justify-content:flex-start; justify-items:flex-start; text-align:left;}
.dv-footer-top.dv-footer-align-right {justify-content:flex-end; justify-items:flex-end; text-align:right;}
@media (max-width:768px){
  .dv-footer-top {grid-template-columns:repeat(2,1fr); gap:1.5rem; padding:2rem 1rem;}
}
@media (max-width:480px){
  .dv-footer-top {grid-template-columns:1fr; gap:1.5rem; padding:1.5rem 1rem;}
}
.dv-footer-title {margin:0 0 1rem; font-weight:700; font-size:1.05rem; letter-spacing:.02em; text-transform:uppercase;}
body.mode-dark .dv-footer-title {color:#fff;}
.dv-footer-about-text, .dv-footer-contact-text {font-size:.82rem; line-height:1.6; opacity:.9;}
.dv-footer-about-text a, .dv-footer-contact-text a {color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:var(--dv-transition);}
.dv-footer-about-text a:hover, .dv-footer-contact-text a:hover {border-bottom-color:currentColor;}
.dv-footer-bottom {text-align:center; padding:1rem 0; font-size:.75rem; font-weight:600; border-top:1px solid rgba(255,255,255,.1);}
.dv-social-links {display:flex; flex-wrap:wrap; gap:.6rem;}
.dv-footer-align-center .dv-social-links {justify-content:center;}
.dv-footer-align-left .dv-social-links {justify-content:flex-start;}
.dv-footer-align-right .dv-social-links {justify-content:flex-end;}
.dv-social-item {display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .8rem; border:1px solid rgba(255,255,255,.3); border-radius:6px; font-size:.75rem; text-decoration:none; transition:var(--dv-transition);}
.dv-social-item:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent); transform:translateY(-2px);}

/* Single Post Layout */
.dv-single-wrapper {max-width:1200px; margin:1.5rem auto; padding:0 1rem;}
.dv-single-box {width:80%; margin:0 auto; background:var(--dv-day-panel); border:1px solid #ddd; border-radius:12px; padding:2rem 2rem 2.5rem; position:relative; box-shadow:0 4px 16px rgba(0,0,0,.08); transition:var(--dv-transition);}
body.mode-dark .dv-single-box {background:#1a1a1a; border-color:#333; color:#ededed;}
body.mode-dark .dv-sidebar-box {background:#1a1a1a; border-color:#333;}
.dv-single-meta {display:flex; flex-wrap:wrap; gap:1rem; font-size:.7rem; opacity:.75; margin:.75rem 0 1.25rem;}
.dv-single-featured {width:100%; height:auto; border-radius:10px; margin:0 0 1.25rem; display:block;}
.dv-single-title {margin:0 0 .75rem; font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.2;}
body.mode-dark .dv-single-title {color:#ffffff;}
.dv-single-meta-below {margin:.25rem 0 1.5rem; font-size:.75rem; opacity:.85; border-top:1px solid rgba(0,0,0,.08); padding:.75rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem;}
body.mode-dark .dv-single-meta-below {border-top-color:rgba(255,255,255,.12);}
.dv-meta-btn {display:inline-flex; align-items:center; gap:.35rem; background:rgba(0,0,0,.06); padding:.4rem .65rem; border-radius:6px; font-size:.7rem; text-decoration:none; color:inherit; transition:var(--dv-transition); border:1px solid transparent;}
body.mode-dark .dv-meta-btn {background:rgba(255,255,255,.08);}
.dv-meta-btn:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent); transform:translateY(-1px);}
.dv-meta-btn .dashicons {font-size:.8rem;}
.dv-single-content {font-size:.92rem; line-height:1.55;}
body.mode-dark .dv-single-content {color:#ededed;}
.dv-single-content img {max-width:100%; height:auto; border-radius:8px;}
.dv-single-content blockquote {margin:1.5rem 0; padding:.9rem 1.2rem; background:rgba(0,0,0,.05); border-left:4px solid var(--dv-accent); border-radius:6px; font-style:italic;}
body.mode-dark .dv-single-content blockquote {background:rgba(255,255,255,.08);}
.dv-single-nav {display:flex; justify-content:space-between; gap:1.5rem; margin:2.5rem 0 2rem;}
.dv-single-nav-item {flex:1; display:flex; align-items:center; gap:.75rem; text-decoration:none; border:1px solid #ddd; padding:.75rem .9rem; border-radius:8px; font-size:.75rem; transition:var(--dv-transition);}
body.mode-dark .dv-single-nav-item {border-color:#333; color:#ededed;}
.dv-single-nav-item:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent);}
.dv-single-nav-thumb {width:64px; height:40px; object-fit:cover; background:#222; border-radius:6px; flex-shrink:0;}

/* Carousel Section 3 */
.dv-carousel {margin:2rem 0 1rem;}
.dv-carousel-track {display:grid; grid-auto-flow:column; grid-auto-columns:240px; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:1rem .5rem;}
.dv-carousel-track > * {scroll-snap-align:start;}
.dv-carousel-title {font-size:1rem; font-weight:600; margin:0 0 .75rem;}
.dv-discover-item {width:240px;}
.dv-carousel-track {gap:1.25rem;} /* slightly more space for discover items */

/* 404 Page */
.dv-404-wrapper {min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem;}
.dv-404-icon {font-size:5rem; line-height:1; margin-bottom:1rem;}
.dv-404-msg {font-size:1.3rem; font-weight:500; margin-bottom:2rem;}
.dv-404-button {display:inline-block; padding:.9rem 1.5rem; background:var(--dv-accent); color:#fff; text-decoration:none; border-radius:10px; font-weight:600; width:15vw; min-width:160px; transition:var(--dv-transition);}
.dv-404-button:hover {filter:brightness(1.15);} 

/* Ad Slots */
.dv-ad-slot {position:fixed; z-index:4;}
.dv-ad-left {left:0; top:20%; width:160px; min-height:300px;}
.dv-ad-right {right:0; top:20%; width:160px; min-height:300px;}
.dv-ad-bottom {left:50%; transform:translateX(-50%); bottom:6px; width:728px; min-height:90px;}
@media (max-width:960px){
  .dv-single-box {width:100%; padding:1.5rem 1.25rem;}
  .dv-ad-left,.dv-ad-right {display:none;}
  .dv-ad-bottom {width:100%;}
}

/* Middle Sections */
.dv-middle-container {width:90%; margin:0 auto;}
.dv-section {margin:2.5rem 0; position:relative;}
.dv-carousel-section {overflow:hidden;}
.dv-carousel-viewport {width:100%; overflow:hidden;}
.dv-carousel-inner {display:flex; gap:1rem; will-change:transform;}
.dv-carousel-item {flex:0 0 calc(25% - .75rem); min-width:260px; cursor:pointer;}
@media (max-width:1200px){ .dv-carousel-item {flex:0 0 calc(33.333% - .7rem); min-width:220px;} }
@media (max-width:900px){ .dv-carousel-item {flex:0 0 calc(50% - .6rem); min-width:180px;} }
@media (max-width:600px){ .dv-carousel-item {flex:0 0 calc(100% - 2rem); min-width:auto; max-width:360px;} }
@media (max-width:400px){ .dv-carousel-item {flex:0 0 calc(100% - 1rem);} }
.dv-carousel-nav {position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; z-index:3;}
.dv-carousel-nav-prev, .dv-carousel-nav-next {cursor:pointer; display:inline-flex; justify-content:center; align-items:center; width:42px; height:42px; font-size:1.8rem; border:none; background:rgba(0,0,0,.5); color:#fff; border-radius:6px; transition:var(--dv-transition);}
.dv-carousel-nav-prev:hover, .dv-carousel-nav-next:hover {background:var(--dv-accent);}
body.mode-dark .dv-carousel-nav-prev, body.mode-dark .dv-carousel-nav-next {background:rgba(255,255,255,.15);}
body.mode-dark .dv-carousel-nav-prev:hover, body.mode-dark .dv-carousel-nav-next:hover {background:var(--dv-accent);}
.dv-carousel-nav-prev {position:absolute; left:0.5rem; top:50%; transform:translateY(-50%);}
.dv-carousel-nav-next {position:absolute; right:0.5rem; top:50%; transform:translateY(-50%);}
.dv-nav-pos-above .dv-carousel-nav-prev, .dv-nav-pos-above .dv-carousel-nav-next {top:0; transform:translateY(-60%);}
.dv-nav-pos-below .dv-carousel-nav-prev, .dv-nav-pos-below .dv-carousel-nav-next {top:auto; bottom:0; transform:translateY(60%);}
.dv-nav-pos-rightstack .dv-carousel-nav {display:flex; flex-direction:column; gap:.5rem; position:absolute; top:1rem; right:1rem;}
.dv-nav-pos-rightstack .dv-carousel-nav-prev, .dv-nav-pos-rightstack .dv-carousel-nav-next {position:static; transform:none;}

/* Section2 layout (updated to grid to avoid overlap and ensure consistent spacing) */
#dv-section2-wrapper {display:grid; grid-template-columns:1fr 320px; gap:2rem; align-items:stretch;}
.dv-section2-main {width:100%; max-width:100%; align-self:stretch;}
.dv-section2-sidebars {width:100%; max-width:320px; display:flex; flex-direction:column; gap:1.25rem; align-self:stretch;}
@media (max-width:1100px){ #dv-section2-wrapper {grid-template-columns:1fr;} .dv-section2-sidebars {max-width:100%;} }
.dv-sidebar-box {background:var(--dv-day-panel); border:1px solid #ddd; border-radius:10px; padding:1rem; font-size:.75rem; position:relative;}
body.mode-dark .dv-sidebar-box {background:var(--dv-night-panel); border-color:#333;}
.dv-notice-dismiss {position:absolute; top:.5rem; right:.5rem; background:transparent; border:none; cursor:pointer; font-size:1rem;}
.dv-section2-title {text-align:center; margin:0 0 .75rem; font-weight:600;}
.dv-section2-breaker {height:3px; background:var(--dv-accent); margin:0 auto 1.25rem; border-radius:3px;}
.dv-section2-grid {display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.dv-section2-load-btn {margin:1.5rem auto 0; display:block; padding:.7rem 1.2rem; background:var(--dv-accent); color:#fff; border:none; border-radius:6px; cursor:pointer;}

/* Genre buttons */
.dv-genre-buttons {display:flex; flex-wrap:wrap; gap:.5rem;}
.dv-genre-buttons a {padding:.4rem .65rem; background:var(--dv-accent); color:#fff; text-decoration:none; font-size:.65rem; border-radius:6px;}

/* Video Card Design 2 (Portrait) */
.dv-video-card-alt {background:var(--dv-day-panel); border:1px solid #ddd; border-radius:10px; overflow:hidden; width:100%; display:flex; flex-direction:column; transition:var(--dv-transition);}
body.mode-dark .dv-video-card-alt {background:var(--dv-night-panel); border-color:#333;}
.dv-video-thumb-alt {width:100%; aspect-ratio:9/16; background:#222; object-fit:cover;}
.dv-video-meta-alt {padding:.6rem .7rem; display:flex; flex-direction:column; gap:.35rem;}
.dv-video-title-alt {font-size:.95rem; font-weight:600; margin:0; line-height:1.35; overflow-wrap:anywhere; word-break:break-word;}
.dv-video-excerpt-alt {font-size:.65rem; opacity:.75; overflow-wrap:anywhere; word-break:break-word;}

/* Section2 dynamic row layout */
.dv-section2-dynamic-grid {display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
@media (max-width:1100px){ .dv-section2-dynamic-grid {grid-template-columns:repeat(2,1fr);} }
@media (max-width:700px){ .dv-section2-dynamic-grid {grid-template-columns:1fr;} }
.dv-section2-bottom-line {height:2px; background:var(--dv-accent); margin:1.75rem auto 0; width:40%; border-radius:2px;}
.dv-pagination-prevnext {display:flex; justify-content:space-between; margin:1.75rem 0;}
.dv-pagination-prevnext a {text-decoration:none; padding:.5rem .9rem; border:1px solid #ccc; border-radius:6px; font-size:.75rem;}
body.mode-dark .dv-pagination-prevnext a {border-color:#333;}
.dv-infinite-end {text-align:center; font-size:.7rem; opacity:.7; margin:1.5rem 0;}
.dv-infinite-loading {text-align:center; font-size:.75rem; margin:1.5rem 0;}
.dv-retry-btn {display:inline-block; padding:.45rem .9rem; background:var(--dv-accent); color:#fff; border-radius:6px; text-decoration:none; cursor:pointer;}

/* Recent Searches & Typo Suggestion (Search Enhancements) */
.dv-recent-inline {padding:.85rem 1rem; background:rgba(0,0,0,.02); border-top:1px solid rgba(0,0,0,.08); margin-top:.5rem;}
body.mode-dark .dv-recent-inline {background:rgba(255,255,255,.03); border-top-color:rgba(255,255,255,.08);}
.dv-recent-title {font-weight:600; font-size:.68rem; text-transform:uppercase; opacity:.85; letter-spacing:.05em; margin-bottom:.6rem; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
.dv-recent-list {display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.6rem;}
.dv-recent-item {background:transparent; border:1px solid currentColor; color:inherit; font-size:.65rem; padding:.4rem .65rem; border-radius:6px; cursor:pointer; transition:var(--dv-transition); font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
.dv-recent-item:hover {background:var(--dv-accent); color:#fff; border-color:var(--dv-accent);}
.dv-recent-clear {align-self:flex-end; background:transparent; border:none; font-size:.62rem; text-decoration:underline; cursor:pointer; opacity:.7; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
.dv-recent-clear:hover {opacity:1;}
.dv-typo-suggestion {margin-top:.6rem; background:rgba(255,200,0,.12); border:1px solid rgba(255,200,0,.5); padding:.55rem .7rem; border-radius:8px; font-size:.65rem; display:flex; align-items:center; gap:.45rem;}
body.mode-dark .dv-typo-suggestion {background:rgba(255,200,0,.18); border-color:rgba(255,200,0,.55);}
.dv-typo-btn {background:var(--dv-accent); color:#fff; border:none; padding:.35rem .65rem; border-radius:5px; font-size:.6rem; cursor:pointer; transition:var(--dv-transition);}
.dv-typo-btn:hover {filter:brightness(1.15);} 

/* Suggestion active (keyboard navigation highlight) */
.dv-suggestion-item.active {background:rgba(0,0,0,.08);}
body.mode-dark .dv-suggestion-item.active {background:rgba(255,255,255,.08);}

/* Responsive card shell adjustments */
.dv-video-card-shell {width:100%; max-width:320px;}
.dv-video-card-shell-portrait {width:100%; max-width:225px;}
@media (max-width:700px){
  .dv-video-card-shell,.dv-video-card-shell-portrait,.dv-blog-card {width:100%; max-width:100%;}
  .dv-video-card-shell .dv-video-card {height:auto; aspect-ratio:16/9;}
  .dv-video-card-shell-portrait .dv-video-card-portrait {height:auto; aspect-ratio:3/4;}
  .dv-blog-card {height:auto; min-height:280px;}
}
@media (max-width:400px){
  .dv-video-meta-inline, .dv-video-meta-inline-alt {font-size:.55rem; gap:.3rem;}
  .dv-video-title-inline, .dv-video-title-inline-alt {font-size:.9rem;}
  .dv-blog-meta-top {font-size:.5rem;}
  .dv-blog-title {font-size:.8rem;}
}
/* Fine-tuned Section2 grid min width */
.dv-section2-dynamic-grid {grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.25rem;}
@media (min-width:1100px){ .dv-section2-dynamic-grid {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (min-width:1400px){ .dv-section2-dynamic-grid {grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:800px){ .dv-section2-dynamic-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:550px){ .dv-section2-dynamic-grid {grid-template-columns:repeat(1,minmax(0,1fr));} }
@media (min-width:1600px){ .dv-carousel-item {flex:0 0 calc(20% - .8rem); min-width:260px;} }

/* Full-width Section2 variant when sidebars absent */
.dv-section.dv-section2-full #dv-section2-wrapper {grid-template-columns:1fr;}
.dv-section.dv-section2-full .dv-section2-dynamic-grid {grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
@media (min-width:1100px){ .dv-section.dv-section2-full .dv-section2-dynamic-grid {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (min-width:1400px){ .dv-section.dv-section2-full .dv-section2-dynamic-grid {grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:800px){ .dv-section.dv-section2-full .dv-section2-dynamic-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:550px){ .dv-section.dv-section2-full .dv-section2-dynamic-grid {grid-template-columns:repeat(1,minmax(0,1fr));} }

/* Blog Post Card - Vertical Layout (Image 50% Top | Content 50% Bottom) */
.dv-blog-card {width:225px; height:300px; background:var(--dv-day-panel); border:1px solid #ddd; border-radius:10px; overflow:hidden; position:relative; display:flex; flex-direction:column; transition:var(--dv-transition); cursor:pointer;}
body.mode-dark .dv-blog-card {background:#1a1a1a; border-color:#333;}
.dv-blog-card:hover {transform:translateY(-2px); box-shadow:0 8px 24px -6px rgba(0,0,0,.3);} 
.dv-blog-img-wrap {flex:0 0 50%; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#222;}
.dv-blog-img {width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.dv-blog-card:hover .dv-blog-img {transform:scale(1.08);} 
.dv-blog-content {flex:0 0 50%; padding:.65rem .8rem .8rem; display:flex; flex-direction:column; gap:.35rem;}
.dv-blog-meta-top {display:flex; flex-wrap:wrap; gap:.3rem; font-size:.55rem; opacity:.8; margin-bottom:.2rem;}
.dv-blog-meta-top span {display:inline-flex; align-items:center; gap:.25rem; background:rgba(0,0,0,.06); padding:.2rem .4rem; border-radius:10px; white-space:nowrap;}
body.mode-dark .dv-blog-meta-top span {background:rgba(255,255,255,.1);}
body.mode-dark .dv-blog-meta-top span {background:rgba(255,255,255,.1);}
.dv-blog-meta-top .dashicons {font-size:.65rem;}
.dv-blog-title {font-size:.85rem; line-height:1.25; font-weight:600; margin:0; overflow-wrap:anywhere; word-break:break-word;}
.dv-blog-title a {text-decoration:none;} 
.dv-blog-title a:hover {color:var(--dv-accent);} 
.dv-blog-excerpt {font-size:.65rem; opacity:.75; line-height:1.3; overflow-wrap:anywhere; word-break:break-word; display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}

/* Video Card Hover Overlay (Phase 3 placeholder) */
.dv-video-card-play-overlay {position:absolute; inset:0; background:rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; opacity:0; transition:var(--dv-transition);}
.dv-video-card:hover .dv-video-card-play-overlay {opacity:1;}
.dv-play-icon {width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; background:var(--dv-accent); color:#fff; border-radius:50%; font-size:1rem;}

/* Blog category button contrast adjustments */
body.mode-dark .dv-blog-cat-btn {border-color:#fff; color:#fff;}
body.mode-dark .dv-blog-cat-btn:hover {background:#fff; color:#000; border-color:#fff;}
body.mode-light .dv-blog-cat-btn {border-color:#000; color:#000;}
body.mode-light .dv-blog-cat-btn:hover {background:#000; color:#fff; border-color:#000;}

/* Related Videos Section */
.dv-single-related {margin-top:40px; padding-top:30px; border-top:2px solid rgba(0,0,0,.1);}
body.mode-dark .dv-single-related {border-top-color:rgba(255,255,255,.1);}
.dv-single-related h3 {font-size:1.5rem; margin:0 0 20px 0; font-weight:600;}
.dv-related-grid {display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:20px;}
.dv-related-item {background:#f5f5f5; border-radius:8px; overflow:hidden; transition:transform .3s,box-shadow .3s;}
body.mode-dark .dv-related-item {background:#1a1a1a;}
.dv-related-item:hover {transform:translateY(-4px); box-shadow:0 8px 20px rgba(0,0,0,.15);}
.dv-related-item a {text-decoration:none; color:inherit; display:block;}
.dv-related-item img {width:100%; height:150px; object-fit:cover; display:block;}
.dv-related-item h4 {margin:0; padding:12px; font-size:.9rem; font-weight:500; line-height:1.3;}
.dv-related-item:hover h4 {color:var(--dv-accent);}

/* Video Content Warning */
.ve-content-warning button:hover {background:#ffcd39; transform:scale(1.05);}

/* ============================================
   SINGLE VIDEO PAGE LAYOUT - MOBILE FIRST
   ============================================ */

/* Base Styles - Mobile < 768px */
.dv-single-video-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px;
  gap: 20px;
  box-sizing: border-box;
}

/* Order for mobile: Main > Popular > Random */
.dv-single-main {order: 1; width: 100%;}
.dv-sidebar-right {order: 2; width: 100%;}
.dv-sidebar-left {order: 3; width: 100%;}

/* Video Header */
.dv-video-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.dv-video-badge {
  background: var(--dv-accent);
  color: #fff;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.dv-video-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
  flex: 1;
  min-width: 100%;
}

/* Content Warning Gate */
.ve-content-warning-gate {
  background: rgba(255, 243, 205, 0.95);
  border: 2px solid #ffc107;
  border-radius: 12px;
  padding: 30px 20px;
  text-align: center;
  margin: 20px 0;
  backdrop-filter: blur(10px);
}

.ve-warning-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.ve-warning-box h3 {
  color: #856404;
  margin: 0;
  font-size: 1.5rem;
}

.ve-warning-box p {
  color: #856404;
  margin: 0;
  font-size: 1rem;
}

.ve-warning-btn {
  background: #ffc107;
  color: #000;
  border: none;
  padding: 12px 30px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  font-size: 1rem;
  transition: all 0.3s;
}

.ve-warning-btn:hover {
  background: #ffcd39;
  transform: scale(1.05);
}

/* Video Player */
.dv-video-player-container {
  width: 100%;
  margin: 20px 0;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

.dv-video-embed {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}

.dv-video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.dv-video-direct {
  width: 100%;
  height: auto;
  display: block;
}

/* Video Meta Bar */
.dv-video-meta-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px 0;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid rgba(0,0,0,0.1);
  margin: 15px 0;
}

body.mode-dark .dv-video-meta-bar {
  border-color: rgba(255,255,255,0.1);
}

.dv-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.85rem;
  padding: 5px 12px;
  background: rgba(0,0,0,0.05);
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s;
}

body.mode-dark .dv-meta-item {
  background: rgba(255,255,255,0.1);
}

.dv-meta-item:hover {
  background: var(--dv-accent);
  color: #fff;
  transform: translateY(-2px);
}

.dv-meta-item .dashicons {
  font-size: 16px;
}

/* Genres */
.dv-video-genres {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
}

.dv-genre-tag {
  padding: 8px 16px;
  background: linear-gradient(135deg, var(--dv-accent) 0%, #dc2626 100%);
  color: #fff;
  border-radius: 20px;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.3s;
}

.dv-genre-tag:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(239,68,68,0.3);
}

/* Description */
.dv-video-description {
  margin: 25px 0;
  line-height: 1.7;
  font-size: 1rem;
}

/* Series Posts */
.dv-video-series {
  margin: 30px 0;
  padding: 20px;
  background: rgba(0,0,0,0.03);
  border-radius: 12px;
}

body.mode-dark .dv-video-series {
  background: rgba(255,255,255,0.05);
}

.dv-series-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 15px 0;
}

.dv-series-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-height: 180px;
  overflow-y: auto;
  padding: 10px 0;
}

.dv-series-btn {
  padding: 10px 18px;
  background: #f5f5f5;
  border: 2px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  min-width: 50px;
  text-align: center;
  transition: all 0.3s;
}

body.mode-dark .dv-series-btn {
  background: #2a2a2a;
}

.dv-series-btn:hover {
  border-color: var(--dv-accent);
  transform: translateY(-2px);
}

.dv-series-btn.active {
  background: var(--dv-accent);
  color: #fff;
  border-color: var(--dv-accent);
}

/* All Categories */
.dv-video-all-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 25px 0;
  padding: 20px 0;
  border-top: 1px solid rgba(0,0,0,0.1);
}

body.mode-dark .dv-video-all-categories {
  border-color: rgba(255,255,255,0.1);
}

.dv-category-btn {
  padding: 10px 20px;
  background: #fff;
  border: 2px solid rgba(0,0,0,0.1);
  border-radius: 25px;
  text-decoration: none;
  color: inherit;
  font-weight: 500;
  transition: all 0.3s;
}

body.mode-dark .dv-category-btn {
  background: #1a1a1a;
  border-color: rgba(255,255,255,0.1);
}

.dv-category-btn:hover {
  background: var(--dv-accent);
  color: #fff;
  border-color: var(--dv-accent);
}

/* Ad Sections */
.dv-ad-section {
  margin: 30px 0;
  min-height: 100px;
  background: rgba(0,0,0,0.02);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.mode-dark .dv-ad-section {
  background: rgba(255,255,255,0.02);
}

.dv-ad-card {
  min-height: 250px;
  background: rgba(0,0,0,0.02);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.mode-dark .dv-ad-card {
  background: rgba(255,255,255,0.02);
}

/* Related Posts */
.dv-video-related {
  margin: 40px 0;
}

.dv-related-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.dv-related-separator {
  height: 3px;
  width: 60px;
  background: var(--dv-accent);
  margin-bottom: 25px;
  border-radius: 3px;
}

.dv-related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

/* Related Video Box Styles */
.dv-related-video-box {
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid #e5e5e5;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.dv-related-video-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  border-color: var(--dv-accent);
}

body.mode-dark .dv-related-video-box {
  background: rgba(26, 26, 26, 0.8);
  border-color: #333;
}

body.mode-dark .dv-related-video-box:hover {
  border-color: var(--dv-accent);
  box-shadow: 0 8px 24px rgba(239, 68, 68, 0.3);
}

.dv-related-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.dv-related-thumb-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio */
  overflow: hidden;
  background: #f0f0f0;
}

body.mode-dark .dv-related-thumb-wrapper {
  background: #1a1a1a;
}

.dv-related-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.dv-related-video-box:hover .dv-related-thumb {
  transform: scale(1.08);
}

.dv-related-info {
  padding: 15px;
}

.dv-related-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 8px 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #171717;
}

body.mode-dark .dv-related-title {
  color: #ededed;
}

.dv-related-meta {
  font-size: 0.85rem;
  opacity: 0.7;
  display: block;
}

/* Load More Button */
.dv-load-more-btn {
  display: block;
  width: 50%;
  margin: 0 auto;
  padding: 15px 30px;
  background: var(--dv-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.dv-load-more-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(239,68,68,0.3);
}

.dv-load-more-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Sidebars */
/* Category Buttons */
.dv-categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.dv-category-link {
  display: inline-block;
  padding: 10px 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  text-decoration: none;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
  position: relative;
  overflow: hidden;
}

.dv-category-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.5s;
}

.dv-category-link:hover::before {
  left: 100%;
}

.dv-category-link:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.5);
}

body.mode-dark .dv-category-link {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}

body.mode-dark .dv-category-link:hover {
  box-shadow: 0 8px 20px rgba(255, 107, 107, 0.5);
}

.dv-sidebar {
  width: 100%;
}

.dv-sidebar-panel {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

body.mode-dark .dv-sidebar-panel {
  background: rgba(26,26,26,0.7);
}

.dv-sidebar-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.dv-sidebar-separator {
  height: 2px;
  width: 40px;
  background: var(--dv-accent);
  margin-bottom: 20px;
}

.dv-sidebar-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.dv-sidebar-item a {
  display: flex;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  padding: 10px;
  border-radius: 8px;
  transition: all 0.3s;
  align-items: flex-start;
}

.dv-sidebar-item a:hover {
  background: rgba(0,0,0,0.05);
  transform: translateX(5px);
}

body.mode-dark .dv-sidebar-item a:hover {
  background: rgba(255,255,255,0.05);
}

.dv-sidebar-item img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.dv-sidebar-item h4 {
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dv-sidebar-views {
  font-size: 0.75rem;
  opacity: 0.7;
  margin-top: 4px;
  display: block;
}

/* Sticky Ad Sections */
.dv-ad-sticky {
  position: fixed;
  z-index: 4;
  display: none; /* Hidden by default, shown when ad plugin active */
}

.dv-ad-left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: 600px;
}

.dv-ad-right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: 600px;
}

.dv-ad-bottom {
  bottom: 0;
  left: 0;
  right: 0;
  height: 90px;
  width: 100%;
}

/* Comments */
.dv-video-comments {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 2px solid rgba(0,0,0,0.1);
}

body.mode-dark .dv-video-comments {
  border-top-color: rgba(255,255,255,0.1);
}

/* ============================================
   TABLET VIEW - >= 768px
   ============================================ */
@media (min-width: 768px) {
  .dv-single-video-wrapper {
    padding: 20px;
  }

  .dv-video-title {
    font-size: 2rem;
  }

  /* Related Posts - 2 columns */
  .dv-related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }

  .dv-sidebar-item img {
    width: 100px;
    height: 75px;
  }

  .dv-sidebar-item h4 {
    font-size: 0.9rem;
  }

  .dv-series-buttons {
    max-height: 200px;
  }

  .dv-load-more-btn {
    width: 40%;
  }
}

/* ============================================
   DESKTOP VIEW - >= 1024px
   ============================================ */
@media (min-width: 1024px) {
  .dv-single-video-wrapper {
    flex-direction: row;
    align-items: flex-start;
    max-width: 1600px;
    margin: 0 auto;
    padding: 30px 20px;
    gap: 25px;
  }

  /* Reset order for desktop */
  .dv-sidebar-left {order: 1; width: 22%; min-width: 260px; max-width: 320px;}
  .dv-single-main {order: 2; flex: 1; max-width: none;}
  .dv-sidebar-right {order: 3; width: 22%; min-width: 260px; max-width: 320px;}

  .dv-video-title {
    font-size: 2.5rem;
    min-width: auto;
  }

  /* Related Posts - 3 columns */
  .dv-related-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .dv-sidebar-panel {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
  }

  .dv-sidebar-content {
    gap: 12px;
  }

  .dv-sidebar-item img {
    width: 70px;
    height: 52px;
  }

  .dv-sidebar-item h4 {
    font-size: 0.8rem;
  }

  .dv-sidebar-views {
    font-size: 0.7rem;
  }

  .dv-series-buttons {
    max-height: 220px;
  }

  /* Show sticky ads on desktop */
  .dv-ad-sticky[data-ad-active="true"] {
    display: block;
  }
}

/* ============================================
   LARGE DESKTOP - >= 1440px
   ============================================ */
@media (min-width: 1440px) {
  .dv-single-video-wrapper {
    max-width: 1800px;
  }

  .dv-sidebar-left,
  .dv-sidebar-right {
    width: 23%;
    max-width: 350px;
  }

  .dv-single-main {
    flex: 1;
    max-width: none;
  }

  .dv-related-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ==========================================
   VIDEO POST DYNAMIC LAYOUT STYLES
   ========================================== */

/* Consolidated Layout - Both sidebars on right */
.dv-layout-consolidated .dv-sidebar-left {
  display: none;
}

.dv-layout-consolidated .dv-single-main {
  flex: 1;
  max-width: 60%;
}

.dv-layout-consolidated .dv-sidebar-right {
  max-width: 35%;
}

/* Tabbed Layout - Single sidebar with tabs */
.dv-layout-tabbed .dv-sidebar-left {
  display: none;
}

.dv-layout-tabbed .dv-single-main {
  flex: 1;
  max-width: 65%;
}

.dv-layout-tabbed .dv-sidebar-right {
  max-width: 30%;
}

/* Carousel Layout - No sidebars */
.dv-layout-carousel .dv-sidebar-left,
.dv-layout-carousel .dv-sidebar-right {
  display: none;
}

.dv-layout-carousel .dv-single-main {
  max-width: 100%;
  width: 100%;
}

/* Sidebar Item Styles */
.dv-sidebar-link {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s;
}

.dv-sidebar-link:hover {
  opacity: 0.8;
}

.dv-sidebar-thumb {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.dv-sidebar-thumb.dv-no-thumb {
  background: rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.dv-sidebar-info {
  flex: 1;
  min-width: 0;
}

.dv-sidebar-post-title {
  font-size: 14px;
  line-height: 1.4;
  margin: 0 0 5px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.dv-sidebar-meta {
  font-size: 12px;
  color: rgba(0,0,0,0.6);
}

/* Dark mode adjustments */
body.dark-mode .dv-sidebar-meta {
  color: rgba(255,255,255,0.6);
}

body.dark-mode .dv-sidebar-thumb.dv-no-thumb {
  background: rgba(255,255,255,0.1);
}

/* Section Titles */
.dv-section-title {
  font-size: 22px;
  font-weight: 700;
  margin: 30px 0 10px;
}

/* Carousel Container */
.dv-carousel-container {
  position: relative;
  margin: 40px 0;
  padding: 0 40px;
}

.dv-carousel-wrapper {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 10px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.3) transparent;
}

.dv-carousel-wrapper::-webkit-scrollbar {
  height: 8px;
}

.dv-carousel-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.dv-carousel-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.3);
  border-radius: 4px;
}

.dv-carousel-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,0.5);
}

.dv-carousel-wrapper .ve-card {
  flex: 0 0 auto;
  width: 280px;
  max-width: none;
}

.dv-carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,0.5);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.dv-carousel-nav:hover {
  background: rgba(0,0,0,0.7);
  transform: translateY(-50%) scale(1.1);
}

.dv-carousel-nav.prev {
  left: 0;
}

.dv-carousel-nav.next {
  right: 0;
}

.dv-carousel-nav svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}

/* Dark mode carousel adjustments */
body.dark-mode .dv-carousel-nav {
  background: rgba(255,255,255,0.2);
}

body.dark-mode .dv-carousel-nav:hover {
  background: rgba(255,255,255,0.3);
}

body.dark-mode .dv-carousel-wrapper {
  scrollbar-color: rgba(255,255,255,0.3) transparent;
}

body.dark-mode .dv-carousel-wrapper::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.3);
}

body.dark-mode .dv-carousel-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,0.5);
}

/* Tabbed Sidebar Styles */
.dv-sidebar-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.dv-sidebar-tab {
  flex: 1;
  padding: 12px 20px;
  background: rgba(0,0,0,0.05);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s;
  color: inherit;
}

.dv-sidebar-tab:hover {
  background: rgba(0,0,0,0.1);
}

.dv-sidebar-tab.active {
  background: #ef4444;
  color: #fff;
}

body.dark-mode .dv-sidebar-tab {
  background: rgba(255,255,255,0.05);
}

body.dark-mode .dv-sidebar-tab:hover {
  background: rgba(255,255,255,0.1);
}

.dv-sidebar-tab-content {
  display: none;
}

.dv-sidebar-tab-content.active {
  display: block;
}

/* Mobile Responsive Adjustments for New Layouts */
@media (max-width: 1023px) {
  .dv-layout-consolidated .dv-single-main,
  .dv-layout-tabbed .dv-single-main {
    max-width: 100%;
  }
  
  .dv-layout-consolidated .dv-sidebar-right,
  .dv-layout-tabbed .dv-sidebar-right {
    max-width: 100%;
  }
  
  .dv-carousel-container {
    padding: 0 20px;
  }
  
  .dv-carousel-wrapper .ve-card {
    width: 220px;
  }
}

@media (max-width: 767px) {
  .dv-carousel-container {
    padding: 0 10px;
  }
  
  .dv-carousel-nav {
    width: 32px;
    height: 32px;
  }
  
  .dv-carousel-nav svg {
    width: 16px;
    height: 16px;
  }
  
  .dv-carousel-wrapper .ve-card {
    width: 180px;
  }
  
  .dv-sidebar-thumb {
    width: 80px;
    height: 80px;
  }
  
  .dv-sidebar-post-title {
    font-size: 13px;
  }
  
  .dv-sidebar-meta {
    font-size: 11px;
  }
}

/* === Content Warning Modal === */
.ve-warning-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  backdrop-filter: blur(10px);
}

.ve-warning-modal {
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: warningSlideIn 0.4s ease-out;
}

body.mode-dark .ve-warning-modal {
  background: #1a1a1a;
  color: #ededed;
}

@keyframes warningSlideIn {
  from {
    opacity: 0;
    transform: translateY(-30px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ve-warning-icon {
  font-size: 64px;
  color: #ff9800;
  width: 64px;
  height: 64px;
  display: block;
  margin: 0 auto 20px;
}

.ve-warning-modal h2 {
  font-size: 28px;
  margin: 0 0 15px 0;
  font-weight: 700;
}

.ve-warning-modal p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 30px 0;
  color: #666;
}

body.mode-dark .ve-warning-modal p {
  color: #aaa;
}

.ve-warning-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.ve-warning-btn-accept,
.ve-warning-btn-decline {
  padding: 14px 32px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.ve-warning-btn-accept {
  background: #10b981;
  color: #fff;
}

.ve-warning-btn-accept:hover {
  background: #059669;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
}

.ve-warning-btn-decline {
  background: #ef4444;
  color: #fff;
}

.ve-warning-btn-decline:hover {
  background: #dc2626;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}

/* === CTA Buttons Section === */
.ve-cta-buttons-section {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 30px 0;
  padding: 20px;
  background: rgba(239, 68, 68, 0.05);
  border-radius: 12px;
  border-left: 4px solid #ef4444;
}

body.mode-dark .ve-cta-buttons-section {
  background: rgba(239, 68, 68, 0.1);
}

.ve-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
  min-width: 140px;
}

.ve-cta-solid {
  background: #ef4444;
  color: #fff;
}

.ve-cta-solid:hover {
  background: #dc2626;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
}

.ve-cta-gradient {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #fff;
}

.ve-cta-gradient:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
}

@media (max-width: 767px) {
  .ve-warning-modal {
    padding: 30px 20px;
  }
  
  .ve-warning-modal h2 {
    font-size: 22px;
  }
  
  .ve-warning-modal p {
    font-size: 14px;
  }
  
  .ve-warning-buttons {
    flex-direction: column;
  }
  
  .ve-warning-btn-accept,
  .ve-warning-btn-decline {
    width: 100%;
  }
  
  .ve-cta-buttons-section {
    flex-direction: column;
  }
  
  .ve-cta-button {
    width: 100%;
  }
}
/* === Episode Buttons === */
.dv-series-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-color: #ef4444 !important;
}

.dv-series-btn.active {
  border-color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

body.mode-dark .dv-series-btn {
  border-color: #444 !important;
  color: #ededed;
}

body.mode-dark .dv-series-btn:hover {
  border-color: #ef4444 !important;
}

body.mode-dark .dv-series-btn.active {
  background: rgba(239, 68, 68, 0.2) !important;
}