.kids-profile-control {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-top: 1px solid rgba(212, 172, 86, .18);
  border-bottom: 1px solid rgba(212, 172, 86, .18);
  background: linear-gradient(135deg, rgba(212, 172, 86, .08), rgba(255, 255, 255, .015));
}
.kids-profile-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #1a1305;
  background: linear-gradient(145deg, #ffe6a1, #c99632);
  box-shadow: 0 8px 24px rgba(201, 150, 50, .2);
  font-size: 20px;
}
.kids-profile-icon img { display: block; width: 36px; height: 34px; object-fit: contain; }
.kids-profile-control > div { min-width: 0; }
.kids-profile-control strong { display: block; color: #f6e5b9; }
.kids-profile-control small { display: block; margin-top: 3px; color: #a9a39a; line-height: 1.35; }
.kids-profile-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.kids-profile-actions button,
.kids-profile-actions a {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(224, 184, 90, .38);
  border-radius: 10px;
  color: #f3d98f;
  background: rgba(7, 7, 8, .66);
  font: 800 10px/1.2 inherit;
  letter-spacing: .06em;
  text-decoration: none;
  cursor: pointer;
}
.kids-profile-actions button:disabled { opacity: .55; cursor: wait; }

body.kids-portal {
  --kids-violet: #8d66ff;
  --kids-blue: #43c9ff;
  --kids-pink: #ff6faf;
  --kids-yellow: #ffd96a;
  background:
    radial-gradient(circle at 82% 8%, rgba(86, 199, 255, .19), transparent 31%),
    radial-gradient(circle at 18% 96%, rgba(150, 100, 255, .18), transparent 34%),
    #080914;
}
body.kids-portal .ambient-one { background: rgba(70, 202, 255, .16); }
body.kids-portal .ambient-two { background: rgba(151, 95, 255, .15); }
body.kids-portal .sidebar {
  background: linear-gradient(180deg, rgba(15, 17, 36, .98), rgba(8, 9, 20, .98));
  border-color: rgba(116, 199, 255, .16);
}
body.kids-portal .sidebar .brand img,
body.kids-portal .mobile-home-brand img,
body.kids-portal .account-access-brand img,
body.kids-portal .blackeye-loader-logo img,
body.kids-portal .orb img,
body.kids-portal .hero-disc img,
body.kids-portal .ios-install-logo {
  object-fit: contain;
  mix-blend-mode: normal;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .36));
}
body.kids-portal .sidebar .brand img { width: 128px; max-height: 118px; }
body.kids-portal .blackeye-loader-logo {
  width: clamp(150px, 19vw, 220px);
  aspect-ratio: 900 / 844;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.kids-portal .blackeye-loader-logo img { width: 100%; height: 100%; }
body.kids-portal .account-access-brand img { object-position: left center; }
body.kids-portal .nav-item { font-weight: 700; letter-spacing: .01em; }
body.kids-portal .nav-item span {
  color: var(--kids-yellow);
  background: rgba(255, 217, 106, .08);
}
body.kids-portal .nav-item.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(127, 97, 255, .28), rgba(63, 199, 255, .13));
  box-shadow: inset 3px 0 var(--kids-blue);
}
body.kids-portal .topbar-copy .eyebrow,
body.kids-portal .movie-genre-rail > header span { color: var(--kids-blue); }
body.kids-portal .topbar-copy h2 { color: #fff; }
body.kids-portal .search,
body.kids-portal .icon-button,
body.kids-portal .profile {
  border-color: rgba(111, 201, 255, .24);
  background: rgba(13, 17, 38, .8);
}
body.kids-portal .profile {
  color: #171025;
  background: linear-gradient(145deg, var(--kids-yellow), #ff9fc9);
}
body.kids-portal #hero,
body.kids-portal #homeCurations { display: none !important; }
body.kids-portal #contentSection { display: block !important; }
body.kids-portal .movie-genre-rail {
  border: 1px solid rgba(107, 199, 255, .14);
  background: linear-gradient(145deg, rgba(19, 23, 48, .9), rgba(11, 12, 27, .94));
  box-shadow: 0 18px 50px rgba(0, 0, 0, .23);
}
body.kids-portal .content-card { border-color: rgba(132, 192, 255, .18); }
body.kids-portal .content-card:focus-visible,
body.kids-portal button:focus-visible,
body.kids-portal a:focus-visible { outline: 3px solid var(--kids-yellow); outline-offset: 3px; }
body.kids-portal .primary-button {
  color: #171025;
  background: linear-gradient(100deg, var(--kids-yellow), #ff9abf);
}
body.kids-portal .account-access-card {
  background: linear-gradient(155deg, rgba(19, 23, 50, .98), rgba(9, 10, 24, .98));
}
body.kids-portal .account-access-visual > div span {
  color: #191029;
  background: linear-gradient(145deg, var(--kids-yellow), var(--kids-pink));
}
body.kids-portal .user-menu [data-action="account-logout"] { display: grid; }
body.kids-portal .user-menu [data-action="request-content"],
body.kids-portal #downloadAndroidApp,
body.kids-portal #accountMenuButton,
body.kids-portal #openAdultPinSettings,
body.kids-portal #kidsProfileControl { display: none !important; }

/* Login Kids: video en Cloudflare Stream y ventajas debajo del acceso. */
body.kids-portal #accountAccess.account-access {
  display: grid;
  grid-template-columns: minmax(350px, .92fr) minmax(420px, 1.08fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 2.3vw, 30px);
}
body.kids-portal #accountAccess .account-access-card { width: 100%; align-self: center; }
body.kids-portal #accountAccess .account-access-visual {
  display: block !important;
  min-width: 0;
  align-self: center;
}
body.kids-portal #accountAccess .account-access-visual > .kids-login-video-shell {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  border: 0;
  border-radius: 26px;
  background: radial-gradient(circle at 50% 45%, #253b6c, #090b19 72%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
}
.kids-login-video-shell video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  filter: saturate(.94) contrast(.96) brightness(.94);
  -webkit-mask-image: radial-gradient(ellipse 94% 92% at 50% 48%, #000 58%, rgba(0, 0, 0, .88) 74%, transparent 100%);
  mask-image: radial-gradient(ellipse 94% 92% at 50% 48%, #000 58%, rgba(0, 0, 0, .88) 74%, transparent 100%);
  background: #080914;
}
.kids-login-video-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8, 9, 20, .42), transparent 12%, transparent 88%, rgba(8, 9, 20, .42)),
    linear-gradient(180deg, rgba(8, 9, 20, .2), transparent 22%, transparent 58%, rgba(8, 9, 20, .84));
}
body.kids-portal #accountAccess .kids-login-video-label {
  position: absolute;
  display: block;
  left: 16px;
  bottom: 15px;
  width: auto;
  height: auto;
  grid-row: auto;
  padding: 7px 10px;
  border: 1px solid rgba(255, 217, 106, .42);
  border-radius: 999px;
  color: #fff2bd;
  background: rgba(8, 9, 20, .68);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 1.25px;
  backdrop-filter: blur(12px);
}
.kids-login-audio {
  position: absolute;
  right: 14px;
  bottom: 13px;
  min-height: 31px;
  padding: 7px 10px;
  border: 1px solid rgba(111, 201, 255, .38);
  border-radius: 999px;
  color: #eaf8ff;
  background: rgba(8, 9, 20, .7);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .55px;
  cursor: pointer;
  backdrop-filter: blur(12px);
}
.kids-login-features {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}
.kids-login-features > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 13px;
  border: 1px solid rgba(114, 203, 255, .15);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(19, 23, 48, .86), rgba(10, 12, 27, .9));
}
.kids-login-features span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: #191029;
  background: linear-gradient(145deg, var(--kids-yellow), var(--kids-pink));
  font-size: 15px;
  font-weight: 950;
}
.kids-login-features p,
.kids-login-features strong,
.kids-login-features small { display: block; min-width: 0; margin: 0; }
.kids-login-features strong { color: #fff; font-size: 11px; }
.kids-login-features small { margin-top: 3px; color: #989bb0; font-size: 8px; line-height: 1.35; }

/* Bibliotecas Kids sin carrusel: cuadrícula adaptativa en cada sección. */
body.kids-portal .content-grid.kids-library-view { display: block; width: 100%; }
.kids-library-section > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.kids-library-section > header span {
  color: var(--kids-blue);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 1.25px;
}
.kids-library-section > header h3 { margin: 4px 0 0; color: #fff; font-size: 22px; }
.kids-library-section > header > small { color: #8c91aa; font-size: 9px; }
.kids-adaptive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: clamp(13px, 1.5vw, 20px);
  align-items: start;
}
.kids-adaptive-grid > .content-card { width: 100%; min-width: 0; }
.kids-adaptive-grid[data-kids-kind="live"] .poster { aspect-ratio: 1 / 1; }
.kids-adaptive-grid[data-kids-kind="live"] .poster img {
  object-fit: contain;
  padding: 9%;
  background: radial-gradient(circle at 50% 42%, rgba(72, 119, 196, .24), rgba(9, 12, 28, .96));
}
.kids-adaptive-grid .movie-genre-empty { grid-column: 1 / -1; min-height: 180px; }

@media (max-width: 760px) {
  body.kids-portal #mainNav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body.kids-portal .nav-item { min-width: 0; font-size: 9px; }
  body.kids-portal .nav-item span { font-size: 19px; }
  body.kids-portal .movie-genre-rail { border-radius: 18px; }
  body.kids-portal #accountAccess.account-access {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    align-content: center;
    gap: 8px;
    padding: 7px 10px 12px;
    overflow: hidden;
  }
  body.kids-portal #accountAccess .account-access-card {
    grid-row: 2;
    max-height: none;
    padding: 13px 15px;
    border-radius: 18px;
  }
  body.kids-portal #accountAccess .account-access-brand { height: 38px; }
  body.kids-portal #accountAccess .account-access-brand img { width: 88px; }
  body.kids-portal #accountAccess .eyebrow { margin: 4px 0; }
  body.kids-portal #accountAccess h1 { margin: 2px 0 5px; font-size: clamp(23px, 7vw, 31px); }
  body.kids-portal #accountAccess .account-access-copy { margin-bottom: 7px; }
  body.kids-portal #accountAccess .account-access-visual { grid-row: 1; width: min(470px, 100%); margin: 0 auto; }
  body.kids-portal #accountAccess .account-access-visual > .kids-login-video-shell { max-height: 24dvh; border-radius: 17px; }
  body.kids-portal #accountAccess .kids-login-video-label { left: 10px; bottom: 9px; padding: 5px 8px; font-size: 6px; }
  .kids-login-audio { right: 8px; bottom: 7px; min-height: 26px; padding: 5px 8px; font-size: 6px; }
  .kids-login-features { grid-row: 3; gap: 5px; }
  .kids-login-features > div { grid-template-columns: 24px minmax(0, 1fr); gap: 6px; padding: 6px 7px; border-radius: 10px; }
  .kids-login-features span { width: 24px; height: 24px; border-radius: 8px; font-size: 10px; }
  .kids-login-features strong { font-size: 8px; }
  .kids-login-features small { display: none; }
  .kids-library-section > header { align-items: center; margin-bottom: 11px; }
  .kids-library-section > header h3 { font-size: 18px; }
  .kids-adaptive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
  .kids-adaptive-grid .content-card h4 { margin-top: 7px; font-size: 10px; }
  .kids-adaptive-grid .content-card p { font-size: 8px; }
}

@media (max-width: 330px) {
  .kids-adaptive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (orientation: landscape) and (max-height: 560px) {
  body.kids-portal #accountAccess.account-access {
    grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 8px 15px;
    padding: 7px 16px 10px;
  }
  body.kids-portal #accountAccess .account-access-card { grid-column: 1; grid-row: 1; }
  body.kids-portal #accountAccess .account-access-visual { grid-column: 2; grid-row: 1; max-width: none; }
  body.kids-portal #accountAccess .account-access-visual > .kids-login-video-shell { max-height: 58dvh; }
  .kids-login-features { grid-column: 1 / -1; grid-row: 2; }
}

/* El acceso desaparece por completo una vez autenticado. */
body.kids-portal #accountAccess[hidden] { display: none !important; }
