/* PC/TV-only switch: keep legacy layout for mobile/tablet */
.doo-only-desktop{display:none;}
.doo-only-mobile{display:block;}
@media (min-width:941px){
  .doo-only-desktop{display:block;}
  .doo-only-mobile{display:none;}

  /* Force a solid black base like Home (prevents featured/background images bleeding through) */
  html, body{background:#000 !important;}
  #dt_contenedor, #single, #single .content, #single .sidebar, .module, .module .content, .module .sidebar{
    background:#000 !important;
    background-image:none !important;
  }
}

/* PC/TV movie page */
.movie-page-bg{background:#000;min-height:100vh;position:relative;z-index:1;}
.doo-single-movie-pctv{padding:0 24px 60px;}
.doo-single-tvshow-pctv{padding:0 24px 60px;}

/* Make hero feel like Home */
.doo-hero--single{margin-top:18px;}
.doo-hero--single .doo-hero__viewport{border-radius:20px;overflow:hidden;}
.doo-hero--single .doo-hero__slides{border-radius:20px;}
.doo-hero__genres a{display:inline-flex;align-items:center;gap:6px;margin-right:8px;margin-top:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;text-decoration:none;}
.doo-hero__genres a:hover,.doo-hero__genres a:focus{background:rgba(255,255,255,.14);}

/* Secondary button (Ver todos) */
.doo-hero__btn--secondary{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.12);}
.doo-hero__btn--secondary:hover,.doo-hero__btn--secondary:focus{background:rgba(255,255,255,.16);}

/* Seasons/Episodes modal (PC/TV) */
.doo-modal{display:none;position:fixed;inset:0;z-index:99999;}
.doo-modal.is-open{display:block;}
.doo-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);}
.doo-modal__panel{position:relative;max-width:1100px;width:min(1100px, calc(100vw - 48px));margin:24px auto;background:rgba(18,18,18,.92);border:1px solid rgba(255,255,255,.08);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.65);overflow:hidden;max-height:calc(100vh - 48px);display:flex;flex-direction:column;}
.doo-modal__close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;}
.doo-modal__close:hover,.doo-modal__close:focus{background:rgba(255,255,255,.16);}
.doo-modal__header{padding:22px 26px 6px;}
.doo-modal__title{font-size:22px;color:#fff;margin:0 0 4px;font-weight:700;}
.doo-modal__subtitle{font-size:13px;color:rgba(255,255,255,.75);}
.doo-modal__grid{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr;gap:0;border-top:1px solid rgba(255,255,255,.06);}
.doo-modal__seasons{padding:18px 18px 22px;border-right:1px solid rgba(255,255,255,.06);min-height:0;}
.doo-modal__episodes{padding:18px 18px 22px;min-height:0;}
.doo-modal__section{font-size:12px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}

.doo-seasons{display:flex;flex-direction:column;gap:10px;}
.doo-season-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer;text-align:left;}
.doo-season-btn.is-active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);}
.doo-season-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.18), 0 0 0 6px rgba(0,0,0,.25);}

.doo-seasons__scroller{height:100%;overflow:auto;padding-right:6px;outline:none;}


.doo-episodes__scroller{height:100%;overflow:auto;padding-right:6px;outline:none;}
.doo-episodes__list{display:flex;flex-direction:column;gap:12px;}
.doo-episode-card{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#fff;}
.doo-episode-card:hover,.doo-episode-card:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.18), 0 0 0 6px rgba(0,0,0,.25);}
.doo-episode-thumb{width:150px;height:84px;border-radius:14px;background-size:cover;background-position:center;}
.doo-episode-top{display:flex;align-items:center;gap:10px;min-width:0;}
.doo-episode-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.45);font-size:12px;flex:0 0 auto;}
.doo-episode-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doo-episode-empty{padding:18px;color:rgba(255,255,255,.75);}

@media (max-width:1200px){
  .doo-modal__panel{margin:40px 18px;}
}
@media (max-width:1024px){
  .doo-modal{padding:16px 10px;}
  .doo-modal__panel{margin:24px 10px; max-width:980px;}
  .doo-modal__head{padding:18px 18px 10px;}
  .doo-modal__grid{grid-template-columns:280px 1fr; gap:16px; padding:14px 18px 18px;}
  .doo-seasons__list{max-height:58vh;}
  .doo-episodes__wrap{max-height:58vh;}
}
@media (max-width:860px){
  .doo-modal__panel{margin:14px 8px;}
  .doo-modal__grid{grid-template-columns:1fr; }
  .doo-seasons__list{max-height:22vh;}
  .doo-episodes__wrap{max-height:52vh;}
  .doo-episode-card{grid-template-columns:120px 1fr;}
  .doo-episode-thumb{width:120px;height:68px;}
}


/* Similar row */
.doo-row{margin-top:22px;}
.doo-row__head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px;}
.doo-row__title{font-size:22px;line-height:1.2;margin:0;color:#fff;}
.doo-row__nav .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;margin-left:8px;cursor:pointer;}
.doo-row__nav .btn:hover,.doo-row__nav .btn:focus{background:rgba(255,255,255,.14);}

.doo-row__items .item--card{padding:0 8px;}
.doo-row__items .item--card .item__link{display:block;text-decoration:none;outline:none;}
.doo-row__items .item--card .poster{border-radius:16px;overflow:hidden;position:relative;}
.doo-row__items .item--card img{display:block;width:100%;height:auto;}
.doo-row__items .item--card .rating{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);padding:6px 8px;border-radius:10px;font-weight:600;font-size:13px;}
.doo-row__items .item--card .data{padding:10px 4px 0;color:#fff;}
.doo-row__items .item--card .item__title{font-size:14px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doo-row__items .item--card .item__sub{font-size:12px;color:rgba(255,255,255,.75);}

/* Focus ring for TV */
.doo-row__items .item--card .item__link:focus-visible .poster,
.doo-row__items .item--card .item__link:hover .poster{box-shadow:0 0 0 3px rgba(255,255,255,.18), 0 0 0 6px rgba(0,0,0,.25);transform:translateY(-2px);transition:transform .14s ease, box-shadow .14s ease;}



@media (min-width:768px){
  .doo-episode-card.is-watched{outline:2px solid var(--main-color, #ff2b2b); box-shadow:0 0 0 2px rgba(0,0,0,.4) inset;}
  .doo-episode-card.is-watched .doo-episode-title,
  .doo-episode-card.is-watched .doo-episode-badge{color:var(--main-color, #ff2b2b) !important;}
}


/* Modal responsive sizing */
@media (max-width: 1024px){
  .doo-modal__panel{width:calc(100vw - 32px);margin:16px auto;max-height:calc(100vh - 32px);}
  .doo-modal__grid{grid-template-columns:240px 1fr;}
}
@media (max-width: 820px){
  .doo-modal__header{padding:18px 18px 6px;}
  .doo-modal__seasons,.doo-modal__episodes{padding:14px 14px 18px;}
  .doo-modal__grid{grid-template-columns:220px 1fr;}
}
@media (max-width: 640px){
  .doo-modal__grid{grid-template-columns:1fr;}
  .doo-modal__seasons{border-right:none;border-bottom:1px solid rgba(255,255,255,.06);}
  .doo-seasons__scroller{height:220px;}
  .doo-episodes__scroller{height:auto;max-height:calc(100vh - 340px);}
}


/* Modal arrows (seasons/episodes) */
@media (min-width: 941px){
  #doo-seasons-modal .doo-modal__section{display:flex;align-items:center;justify-content:space-between;gap:10px}
  #doo-seasons-modal .doo-modal__arrows{display:flex;gap:8px}
  #doo-seasons-modal .doo-modal__arrow{
    width:36px;height:36px;border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.06);
    color:#fff;display:grid;place-items:center;
    cursor:pointer;transition:transform .12s ease, background .12s ease;
  }
  #doo-seasons-modal .doo-modal__arrow:hover,
  #doo-seasons-modal .doo-modal__arrow:focus{
    background:rgba(255,255,255,.12);
    outline:none;transform:scale(1.03);
  }
  #doo-seasons-modal .doo-modal__arrow:active{transform:scale(.97)}
  #doo-seasons-modal .doo-modal__arrow i{font-size:14px}
}


/* =========================================================
   Premium single layout now enabled for Mobile/Tablet too
   (Legacy wrappers disabled)
   ========================================================= */
.doo-only-mobile{display:none!important;}
.doo-only-desktop{display:block!important;}

/* Netflix-like Seasons/Episodes modal for Mobile/Tablet */
@media (max-width: 955px){
  .doo-modal{align-items:flex-end; padding:12px;}
  .doo-modal__panel{width:100%; max-width:none; height:92vh; border-radius:22px 22px 0 0; overflow:hidden;}
  .doo-modal__panel::before{height:140px;}
  .doo-modal__top{padding:14px 14px 8px;}
  .doo-modal__meta{gap:8px; flex-wrap:wrap;}
  .doo-modal__grid{grid-template-columns:1fr; padding:0 14px 14px; gap:14px;}
  .doo-modal__seasons{display:block;}
  .doo-modal__season-scroller{display:none;}
  .doo-season-selectwrap{display:flex; gap:10px; align-items:center; padding:6px 0 10px;}
  .doo-season-selectlabel{font-size:12px; opacity:.8;}
  .doo-season-select{width:100%; max-width:220px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; padding:10px 12px; border-radius:12px; outline:none;}
  .doo-modal__episodes{max-height:none;}
  .doo-episode-card{padding:10px;}
  .doo-episode-thumb{width:92px; height:52px;}
  .doo-episode-info h4{font-size:14px;}
  .doo-episode-info p{font-size:12px;}
}

/* Desktop keeps season scroller and hides dropdown */
.doo-season-selectwrap{display:none;}
@media (max-width: 955px){ .doo-season-selectwrap{display:flex;} }
