/*
Theme Name: Thutasone Portal (Production)
Theme URI: https://thutasone.com
Author: Thutasone
Description: Production-ready portal UI for Movies (requires Thutasone Portal Core plugin).
Version: 2.5.1
Text Domain: thutasone-portal
*/
body{margin:0}

/* Favorites shortcode */
.ts-fav-wrap{max-width:1200px;margin:0 auto;padding:16px}
.ts-fav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:640px){.ts-fav-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.ts-fav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.ts-fav-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.ts-fav-card{background:#1e293b;border:1px solid #334155;border-radius:12px;overflow:hidden;cursor:pointer}
.ts-fav-img{aspect-ratio:2/3;overflow:hidden}
.ts-fav-img img{width:100%;height:100%;object-fit:cover;display:block}
.ts-fav-title{padding:8px;font-weight:700;font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Hero removed */
#hero-section{display:none !important;}

/* Fandango-style poster rows */
.ts-row-wrap{position:relative}
.ts-row{display:flex;gap:22px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.ts-row .ts-poster-card{min-width:210px;scroll-snap-align:start;cursor:pointer}
@media(min-width:640px){.ts-poster-card{min-width:230px}}
.ts-poster{position:relative;aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:#0b1220;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.ts-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ts-poster-card:hover .ts-poster img{transform:scale(1.03)}
.ts-poster-round{border-radius:18px}
.ts-poster-title{
  margin-top:8px;
  font-weight:700;
  font-size:14px;
  line-height:1.3;
}
@media(min-width:640px){.ts-poster-title{
  margin-top:8px;
  font-weight:700;
  font-size:14px;
  line-height:1.3;
}}
.ts-badge{position:absolute;top:10px;left:10px;background:#f97316;color:#111827;font-weight:900;font-size:12px;padding:6px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.ts-pill{position:absolute;bottom:10px;left:10px;background:#10b981;color:#052e1b;font-weight:900;font-size:12px;padding:6px 10px;border-radius:10px}
.ts-arrow{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(15,23,42,.7);color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}
.ts-arrow:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.9);background:rgba(15,23,42,.9)}

/* Library Grid */
}
}
.ts-grid-library .ts-poster-card{
  min-width:unset;
}

.ts-poster-card{text-decoration:none;color:inherit;}


}

/* ===== Unified grids: E-Books, Audio Books, Latest Movies ===== */
.ts-grid-unified{
  gap:16px !important; /* mobile */
}
@media(min-width:640px){
  .ts-grid-unified{ gap:18px !important; }
}
@media(min-width:1024px){
  .ts-grid-unified{ gap:20px !important; }
}

/* Library grid columns: Mobile 3 / Tablet 4 / Desktop 6 */
.ts-grid-library{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
@media(min-width:640px){
  .ts-grid-library{ grid-template-columns:repeat(4,1fr); }
}
@media(min-width:1024px){
  .ts-grid-library{ grid-template-columns:repeat(6,1fr); }
}

/* Fix oversized cards inside grid (remove min-width from poster rows) */
.ts-grid-library .ts-poster-card{
  min-width:0 !important;
  width:100%;
}
.ts-grid-library .ts-poster{
  width:100%;
}
.ts-grid-library .ts-poster-title{
  max-width:100%;
  font-size:13px;
  line-height:1.25;
  margin-top:8px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}


/* ===== Library cards: match Latest Movies look & spacing ===== */
.ts-grid-library.ts-grid-unified{ gap:18px !important; } /* slightly more breathing room for covers */
@media(min-width:640px){ .ts-grid-library.ts-grid-unified{ gap:20px !important; } }
@media(min-width:1024px){ .ts-grid-library.ts-grid-unified{ gap:22px !important; } }

/* Give library cards a consistent container like movie cards */
.ts-grid-library .ts-poster-card{
  background: rgba(30,41,59,.55);
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 16px;
  padding: 10px;
}
.ts-grid-library .ts-poster{
  border-radius: 12px;
  box-shadow: none;
}
.ts-grid-library .ts-poster img{
  border-radius: 12px;
}
.ts-grid-library .ts-poster-title{
  margin-top: 8px;
  padding: 0 2px;
}

/* Section spacing: make Latest Movies <-> E-Books closer (like Audio Books) */
.ts-section-library{ padding-top: 26px !important; }
@media(min-width:768px){ .ts-section-library{ padding-top: 30px !important; } }
