/*
Theme Name: StreamTube Child
Description: Video WordPress Theme.
Author: phpface
Theme URI: https://1.envato.market/qny3O5
Author URI: https://1.envato.market/mgXE4y
Version: 1.0.0
Requires at least: 5.3
Tested up to: 5.8
Requires PHP: 5.6
License: Themeforest Licence
License URI: http://themeforest.net/licenses
Text Domain: streamtube-child
Template:  streamtube
Tags: two-columns, one-column, custom-menu, custom-logo, featured-images, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

/* ===============================
   WorldAnime A-Z (Professional CSS)
   Theme-aware via: html[data-theme="light|dark"]
   =============================== */

/* ---- Base tokens (shared) ---- */
:root{
  --az-primary: #0d6efd;
  --az-primary-hover: #0b5ed7;

  --az-radius-btn: 10px;
  --az-radius-card: 12px;
  --az-radius-lg: 14px;

  --az-gap: 10px;
  --az-gap-grid: 18px;

  --az-shadow-soft: 0 10px 30px rgba(0,0,0,.18);
}

/* ---- Dark theme ---- */
html[data-theme="dark"]{
  --az-text: rgba(255,255,255,.92);
  --az-muted: rgba(255,255,255,.70);

  --az-surface: rgba(255,255,255,.06);
  --az-surface-2: rgba(255,255,255,.10);
  --az-border: rgba(255,255,255,.14);

  --az-input-bg: rgba(255,255,255,.06);
  --az-input-text: rgba(255,255,255,.95);

  --az-hint-info-bg: rgba(13,110,253,.14);
  --az-hint-info-bd: rgba(13,110,253,.30);

  --az-hint-err-bg: rgba(255,77,79,.14);
  --az-hint-err-bd: rgba(255,77,79,.30);

  --az-empty-bg: rgba(255,255,255,.06);
  --az-empty-bd: rgba(255,255,255,.12);
}

/* ---- Light theme ---- */
html[data-theme="light"]{
  --az-text: rgba(0,0,0,.90);
  --az-muted: rgba(0,0,0,.55);

  --az-surface: rgba(0,0,0,.035);
  --az-surface-2: rgba(0,0,0,.06);
  --az-border: rgba(0,0,0,.12);

  --az-input-bg: rgba(255,255,255,.92);
  --az-input-text: rgba(0,0,0,.92);

  --az-hint-info-bg: rgba(13,110,253,.10);
  --az-hint-info-bd: rgba(13,110,253,.22);

  --az-hint-err-bg: rgba(255,77,79,.10);
  --az-hint-err-bd: rgba(255,77,79,.20);

  --az-empty-bg: rgba(0,0,0,.03);
  --az-empty-bd: rgba(0,0,0,.10);
}

/* ---- Component root safety ---- */
#worldanime-az,
#worldanime-az *{
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  box-sizing: border-box;
}

/* ---- Layout ---- */
#worldanime-az.az-wrap{
  margin-top: 10px;
}

#worldanime-az .az-bar{
  margin-bottom: 14px;
}

/* ---- Buttons ---- */
#worldanime-az .az-buttons{
  display: flex;
  flex-wrap: wrap;
  gap: var(--az-gap);
  margin-bottom: 12px;
}

#worldanime-az .az-btn{
  min-width: 42px;
  height: 36px;
  padding: 0 12px;
  border-radius: var(--az-radius-btn);
  border: 0;
  background: var(--az-primary);
  color: #fff;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .2px;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, filter .15s ease;
}

#worldanime-az .az-btn:hover{
  transform: translateY(-1px);
  background: var(--az-primary-hover);
  filter: brightness(1.03);
}

#worldanime-az .az-btn:active{
  transform: translateY(0);
}

#worldanime-az .az-btn.active{
  box-shadow: 0 0 0 2px rgba(13,110,253,.30);
}

/* ---- Search row ---- */
#worldanime-az .az-search{
  display: none;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

#worldanime-az.open .az-search{
  display: flex;
}

#worldanime-az .az-q{
  flex: 1;
  height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid var(--az-border);
  background: var(--az-input-bg);
  color: var(--az-input-text);
  outline: none;
  font-size: 14px;
  font-weight: 800;
  caret-color: var(--az-input-text);
  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

#worldanime-az .az-q::placeholder{
  color: var(--az-muted);
  font-weight: 700;
}

#worldanime-az .az-q:focus{
  border-color: rgba(13,110,253,.65);
  box-shadow: 0 0 0 3px rgba(13,110,253,.18);
}

#worldanime-az .az-q-clear{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--az-border);
  background: var(--az-input-bg);
  color: var(--az-input-text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

#worldanime-az .az-q-clear:hover{
  background: var(--az-surface-2);
  transform: translateY(-1px);
}

#worldanime-az .az-q-clear:active{
  transform: translateY(0);
}

/* ---- Hint message ---- */
#worldanime-az .az-hint{
  display: none;
  margin: 6px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--az-text);
}

#worldanime-az .az-hint.az-hint-info{
  display: block;
  background: var(--az-hint-info-bg);
  border: 1px solid var(--az-hint-info-bd);
}

#worldanime-az .az-hint.az-hint-error{
  display: block;
  background: var(--az-hint-err-bg);
  border: 1px solid var(--az-hint-err-bd);
}

/* ---- Input soft error ---- */
#worldanime-az .az-input-error{
  border-color: rgba(255,77,79,.70) !important;
  animation: az-shake .25s linear;
}

@keyframes az-shake{
  0%{ transform: translateX(0); }
  25%{ transform: translateX(-2px); }
  50%{ transform: translateX(2px); }
  75%{ transform: translateX(-2px); }
  100%{ transform: translateX(0); }
}

/* ---- Loader ---- */
#worldanime-az .az-loader{
  display: none;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--az-radius-lg);
  border: 1px solid var(--az-border);
  background: var(--az-surface);
  box-shadow: var(--az-shadow-soft);
  margin-bottom: 14px;
  color: var(--az-text);
}

#worldanime-az .az-spinner{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.25);
  border-top-color: rgba(255,255,255,.95);
  animation: az-spin .8s linear infinite;
}

html[data-theme="light"] #worldanime-az .az-spinner{
  border: 2px solid rgba(0,0,0,.18);
  border-top-color: rgba(0,0,0,.55);
}

@keyframes az-spin{
  to{ transform: rotate(360deg); }
}

#worldanime-az .az-loader-text{
  font-weight: 900;
  letter-spacing: .2px;
}

/* ---- Grid ---- */
#worldanime-az:not(.open) #az-grid{
  display: none;
}

#worldanime-az .az-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: var(--az-gap-grid);
}

/* ---- Card ---- */
#worldanime-az .az-card{
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--az-text);
  transition: transform .18s ease;
}

#worldanime-az .az-card:hover{
  transform: translateY(-3px);
}

/* ---- Thumbnail (background method) ---- */
#worldanime-az .az-thumb{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--az-radius-card);
  overflow: hidden;
  background: var(--az-surface);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#worldanime-az .az-thumb img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
}

#worldanime-az .az-thumb-fallback{
  width: 100%;
  height: 100%;
  background: var(--az-surface-2);
}

/* ---- Title ---- */
#worldanime-az .az-title{
  margin-top: 10px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  color: var(--az-text);
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- Load more ---- */
#worldanime-az .az-more{
  margin: 22px auto 0;
  padding: 12px 22px;
  border-radius: var(--az-radius-lg);
  border: 1px solid var(--az-border);
  background: var(--az-surface);
  color: var(--az-text);
  font-weight: 900;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

#worldanime-az .az-more:hover{
  background: var(--az-surface-2);
  transform: translateY(-1px);
}

#worldanime-az .az-more:disabled{
  opacity: .55 !important;
  cursor: not-allowed;
  transform: none;
}

/* ---- Empty state (full width) ---- */
#worldanime-az .az-empty{
  grid-column: 1 / -1;
  width: 100%;
  max-width: 680px;
  margin: 12px auto 0;
  padding: 14px 16px;
  border-radius: var(--az-radius-lg);
  border: 1px solid var(--az-empty-bd);
  background: var(--az-empty-bg);
  box-shadow: var(--az-shadow-soft);
  color: var(--az-text);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#worldanime-az .az-empty-title{
  font-weight: 950;
  font-size: 14px;
  color: var(--az-text);
}

#worldanime-az .az-empty-sub{
  font-weight: 800;
  font-size: 13px;
  color: var(--az-muted);
}

/* ---- Mobile ---- */
@media (max-width: 768px){
  #worldanime-az .az-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  #worldanime-az .az-btn{
    height: 34px;
    border-radius: 9px;
  }
}


.az-empty{
  position: relative;
}

.az-empty-close{
  position: absolute;
  top: 8px;
  right: 10px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: currentColor;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  opacity: .6;
  transition: opacity .15s ease, transform .15s ease, background .15s ease;
}

.az-empty-close:hover{
  opacity: 1;
  transform: scale(1.05);
  background: rgba(0,0,0,.06);
}

html[data-theme="dark"] .az-empty-close:hover{
  background: rgba(255,255,255,.08);
}

/*-------------------- watch later CSS --------------------**
*************************************************************
************************************************************

