/* ===== AVISO ===== */

/* =========================================================
   AVISO LEGAL · VARIABLES Y PROTECCIÓN
   ========================================================= */

#tlj-legal {

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0 24px 110px;
  overflow: hidden;
  transform: translateX(-50%);

  color: var(--tlj-color-text-secondary);
  text-align: left;
  isolation: isolate;
}

#tlj-legal,
#tlj-legal *,
#tlj-legal *::before,
#tlj-legal *::after {
  box-sizing: border-box;
}

#tlj-legal ::selection {
  background: rgba(var(--tlj-color-accent-rgb), .28);
  color: var(--tlj-color-button-hover-text);
}

/* =========================================================
   ESTRUCTURA GENERAL
   ========================================================= */

.tlj-legal-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.tlj-legal-document {
  position: relative;
  padding: 42px 46px 48px;
  border: 1px solid var(--tlj-color-border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(var(--tlj-color-contrast-rgb), .032), rgba(var(--tlj-color-contrast-rgb), .009)),
    var(--tlj-color-surface);
  box-shadow: var(--tlj-effect-shadow-lg);
}

.tlj-legal-document::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 76%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(var(--tlj-color-accent-rgb), .72), transparent);
  box-shadow: 0 0 17px rgba(var(--tlj-color-accent-rgb), .22);
}

/* =========================================================
   CABECERA INTERIOR DEL DOCUMENTO
   ========================================================= */

.tlj-legal-document-header {
  padding: 0 0 34px;
  text-align: center;
}

#tlj-legal .tlj-legal-document-header h2 {
  max-width: 760px;
  margin: 0 auto 14px;
  color: var(--tlj-color-text);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 900;
  letter-spacing: 1.4px;
  line-height: 1.2;
}

#tlj-legal .tlj-legal-document-header p {
  margin: 0;
}

#tlj-legal .tlj-legal-document-header a {
  color: var(--tlj-color-accent-text);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color .35s ease, text-shadow .35s ease;
}

#tlj-legal .tlj-legal-document-header a:hover {
  color: var(--tlj-color-button-hover-text);
  text-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .35);
}

.tlj-legal-divider {
  width: 100%;
  height: 1px;
  margin: 0 0 33px;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--tlj-color-accent-rgb), .15) 20%,
    rgba(var(--tlj-color-accent-rgb), .42) 50%,
    rgba(var(--tlj-color-accent-rgb), .15) 80%,
    transparent
  );
}

/* =========================================================
   SECCIONES DEL CONTENIDO
   ========================================================= */

.tlj-legal-sections {
  display: grid;
  gap: 13px;
}

.tlj-legal-section {
  position: relative;
  padding: 24px 25px 23px;
  overflow: hidden;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 12px;
  background: var(--tlj-color-surface-2);
  transition:
    border-color .45s ease,
    background-color .45s ease,
    box-shadow .45s ease;
}

.tlj-legal-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 48px;
  height: 1px;
  background: var(--tlj-color-accent);
  opacity: .45;
  transition: width .45s ease, opacity .45s ease;
}

.tlj-legal-section:hover {
  border-color: rgba(var(--tlj-color-accent-rgb), .22);
  background-color: rgba(var(--tlj-color-accent-rgb), .025);
  box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-legal-section:hover::before {
  width: 82px;
  opacity: .9;
}

#tlj-legal .tlj-legal-section h3 {
  margin: 0 0 16px;
  color: var(--tlj-color-accent-text);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1.35px;
  line-height: 1.45;
}

#tlj-legal p {
  margin: 0 0 14px;
  color: var(--tlj-color-text-muted);
  font-size: 14px;
  line-height: 1.82;
}

#tlj-legal p:last-child {
  margin-bottom: 0;
}

#tlj-legal :where(.tlj-legal-document) strong {
  color: var(--tlj-color-text-secondary);
  font-weight: 750;
}

#tlj-legal a {
  color: var(--tlj-color-accent-text);
  text-underline-offset: 3px;
}

/* =========================================================
   DATOS IDENTIFICATIVOS
   ========================================================= */

.tlj-legal-identification {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.tlj-legal-identification p {
  min-width: 0;
  margin: 0 !important;
  padding: 13px 14px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 8px;
  background: var(--tlj-color-surface-2);
  color: var(--tlj-color-text-body) !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
}

.tlj-legal-identification p:last-child {
  grid-column: 1 / -1;
}

.tlj-legal-identification strong {
  display: block;
  margin-bottom: 4px;
  color: var(--tlj-color-text-muted-2) !important;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.tlj-legal-identification span {
  color: var(--tlj-color-text-secondary);
  font-size: 13px;
  font-weight: 700;
}

/* =========================================================
   LISTAS DESTACADAS
   ========================================================= */

#tlj-legal ul {
  display: grid;
  gap: 8px;
  margin: 15px 0 16px;
  padding: 0;
  list-style: none;
}

#tlj-legal li {
  position: relative;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px 8px 31px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 7px;
  background: var(--tlj-color-surface-2);
  color: var(--tlj-color-text-body);
  font-size: 13px;
  line-height: 1.55;
}

#tlj-legal li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 13px;
  width: 7px;
  height: 2px;
  border-radius: 4px;
  background: var(--tlj-color-accent);
  box-shadow: 0 0 9px rgba(var(--tlj-color-accent-rgb), .34);
}

.tlj-legal-notice {
  margin-top: 17px !important;
  padding: 14px 16px;
  border-left: 3px solid var(--tlj-color-accent);
  border-radius: 8px;
  background: rgba(var(--tlj-color-accent-rgb), .035);
  color: var(--tlj-color-text-body) !important;
}

/* =========================================================
   CIERRE DECORATIVO
   ========================================================= */

.tlj-legal-bottom-line {
  width: min(850px, 92%);
  height: 1px;
  margin: 58px auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tlj-color-accent-rgb), .06) 9%,
    rgba(var(--tlj-color-accent-rgb), .24) 28%,
    rgba(var(--tlj-color-accent-rgb), .52) 50%,
    rgba(var(--tlj-color-accent-rgb), .24) 72%,
    rgba(var(--tlj-color-accent-rgb), .06) 91%,
    transparent 100%
  );
  box-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .12);
}
@media (max-width: 800px) {
  #tlj-legal {
    padding: 0 20px 88px;
  }

  .tlj-legal-document {
    padding: 35px 30px 39px;
  }
}

@media (max-width: 600px) {
  #tlj-legal {
    padding: 0 15px 72px;
  }

  .tlj-legal-document {
    padding: 29px 16px 31px;
    border-radius: 14px;
  }

  #tlj-legal .tlj-legal-document-header h2 {
    font-size: 20px;
    letter-spacing: .8px;
  }

  .tlj-legal-identification {
    grid-template-columns: 1fr;
  }

  .tlj-legal-identification p:last-child {
    grid-column: auto;
  }

  .tlj-legal-section {
    padding: 21px 18px 20px;
  }

  #tlj-legal .tlj-legal-section h3 {
    font-size: 12.5px;
    letter-spacing: 1.05px;
  }

  #tlj-legal p {
    font-size: 13px;
    line-height: 1.75;
  }

  #tlj-legal li {
    padding-right: 10px;
    font-size: 12.3px;
  }

  .tlj-legal-bottom-line {
    margin-top: 45px;
  }
}

/* ===== COOKIES ===== */

/* =========================================================
   POLÍTICA DE COOKIES · VARIABLES Y PROTECCIÓN
   ========================================================= */

#tlj-cookies {

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0 24px 110px;
  overflow: hidden;
  transform: translateX(-50%);

  color: var(--tlj-color-text-secondary);
  text-align: left;
  isolation: isolate;
}

#tlj-cookies,
#tlj-cookies *,
#tlj-cookies *::before,
#tlj-cookies *::after {
  box-sizing: border-box;
}

#tlj-cookies ::selection {
  background: rgba(var(--tlj-color-accent-rgb), .28);
  color: var(--tlj-color-button-hover-text);
}

/* =========================================================
   ESTRUCTURA GENERAL
   ========================================================= */

.tlj-cookies-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.tlj-cookies-document {
  position: relative;
  padding: 42px 46px 48px;
  border: 1px solid var(--tlj-color-border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(var(--tlj-color-contrast-rgb), .032), rgba(var(--tlj-color-contrast-rgb), .009)),
    var(--tlj-color-surface);
  box-shadow: var(--tlj-effect-shadow-lg);
}

.tlj-cookies-document::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 76%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(var(--tlj-color-accent-rgb), .72), transparent);
  box-shadow: 0 0 17px rgba(var(--tlj-color-accent-rgb), .22);
}

/* =========================================================
   DOMINIO Y PRESENTACIÓN DEL DOCUMENTO
   No se añade un segundo título.
   ========================================================= */

.tlj-cookies-document-header {
  padding: 0 0 26px;
  text-align: center;
}

#tlj-cookies .tlj-cookies-document-header p {
  margin: 0;
}

#tlj-cookies .tlj-cookies-document-header a {
  color: var(--tlj-color-accent-text);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color .35s ease, text-shadow .35s ease;
}

#tlj-cookies .tlj-cookies-document-header a:hover {
  color: var(--tlj-color-button-hover-text);
  text-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .35);
}

.tlj-cookies-divider {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--tlj-color-accent-rgb), .15) 20%,
    rgba(var(--tlj-color-accent-rgb), .42) 50%,
    rgba(var(--tlj-color-accent-rgb), .15) 80%,
    transparent
  );
}

.tlj-cookies-introduction {
  margin: 30px 0 14px;
  padding: 17px 19px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .16);
  border-left: 3px solid var(--tlj-color-accent);
  border-radius: 9px;
  background: rgba(var(--tlj-color-accent-rgb), .035);
}

.tlj-cookies-introduction p {
  margin: 0 !important;
  color: var(--tlj-color-text-body) !important;
}

/* =========================================================
   SECCIONES DEL CONTENIDO
   ========================================================= */

.tlj-cookies-sections {
  display: grid;
  gap: 13px;
}

.tlj-cookies-section {
  position: relative;
  padding: 24px 25px 23px;
  overflow: hidden;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 12px;
  background: var(--tlj-color-surface-2);
  transition:
    border-color .45s ease,
    background-color .45s ease,
    box-shadow .45s ease;
}

.tlj-cookies-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 48px;
  height: 1px;
  background: var(--tlj-color-accent);
  opacity: .45;
  transition: width .45s ease, opacity .45s ease;
}

.tlj-cookies-section:hover {
  border-color: rgba(var(--tlj-color-accent-rgb), .22);
  background-color: rgba(var(--tlj-color-accent-rgb), .025);
  box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-cookies-section:hover::before {
  width: 82px;
  opacity: .9;
}

#tlj-cookies .tlj-cookies-section > h2 {
  margin: 0 0 16px;
  color: var(--tlj-color-accent-text);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .15px;
  line-height: 1.35;
}

#tlj-cookies p {
  margin: 0 0 14px;
  color: var(--tlj-color-text-muted);
  font-size: 14px;
  line-height: 1.82;
}

#tlj-cookies p:last-child {
  margin-bottom: 0;
}

#tlj-cookies :where(.tlj-cookies-document) strong {
  color: var(--tlj-color-text-secondary);
  font-weight: 750;
}

#tlj-cookies a {
  color: var(--tlj-color-accent-text);
  text-underline-offset: 3px;
}

/* =========================================================
   TIPOS DE COOKIES
   ========================================================= */

.tlj-cookies-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 17px;
}

.tlj-cookies-type {
  padding: 18px 17px 17px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 9px;
  background: var(--tlj-color-surface-2);
  transition: border-color .4s ease, background-color .4s ease;
}

.tlj-cookies-type:hover {
  border-color: rgba(var(--tlj-color-accent-rgb), .18);
  background-color: rgba(var(--tlj-color-accent-rgb), .022);
}

#tlj-cookies .tlj-cookies-type h3 {
  margin: 0 0 12px;
  color: var(--tlj-color-text-secondary);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}

#tlj-cookies .tlj-cookies-type p {
  font-size: 12.5px;
  line-height: 1.7;
}

.tlj-cookies-example {
  color: var(--tlj-color-text-muted-2) !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

/* =========================================================
   LISTAS
   ========================================================= */

#tlj-cookies ul {
  display: grid;
  gap: 8px;
  margin: 15px 0 16px;
  padding: 0;
  list-style: none;
}

#tlj-cookies li {
  position: relative;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px 8px 31px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 7px;
  background: var(--tlj-color-surface-2);
  color: var(--tlj-color-text-body);
  font-size: 13px;
  line-height: 1.55;
}

#tlj-cookies li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 13px;
  width: 7px;
  height: 2px;
  border-radius: 4px;
  background: var(--tlj-color-accent);
  box-shadow: 0 0 9px rgba(var(--tlj-color-accent-rgb), .34);
}

.tlj-cookies-type ul {
  margin: 9px 0 13px !important;
}

.tlj-cookies-type li {
  min-height: 33px !important;
  font-size: 12px !important;
}

/* =========================================================
   CIERRE DECORATIVO
   ========================================================= */

.tlj-cookies-bottom-line {
  width: min(850px, 92%);
  height: 1px;
  margin: 58px auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tlj-color-accent-rgb), .06) 9%,
    rgba(var(--tlj-color-accent-rgb), .24) 28%,
    rgba(var(--tlj-color-accent-rgb), .52) 50%,
    rgba(var(--tlj-color-accent-rgb), .24) 72%,
    rgba(var(--tlj-color-accent-rgb), .06) 91%,
    transparent 100%
  );
  box-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .12);
}
@media (max-width: 800px) {
  #tlj-cookies {
    padding: 0 20px 88px;
  }

  .tlj-cookies-document {
    padding: 35px 30px 39px;
  }

  .tlj-cookies-types {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  #tlj-cookies {
    padding: 0 15px 72px;
  }

  .tlj-cookies-document {
    padding: 29px 16px 31px;
    border-radius: 14px;
  }

  .tlj-cookies-introduction,
  .tlj-cookies-section {
    padding: 21px 18px 20px;
  }

  #tlj-cookies .tlj-cookies-section > h2 {
    font-size: 16px;
  }

  #tlj-cookies p {
    font-size: 13px;
    line-height: 1.75;
  }

  #tlj-cookies li {
    padding-right: 10px;
    font-size: 12.3px;
  }

  .tlj-cookies-bottom-line {
    margin-top: 45px;
  }
}

/* ===== PRIVACIDAD ===== */

/* =========================================================
   POLÍTICA DE PRIVACIDAD · VARIABLES Y PROTECCIÓN
   ========================================================= */

#tlj-privacy {

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0 24px 110px;
  overflow: hidden;
  transform: translateX(-50%);

  color: var(--tlj-color-text-secondary);
  text-align: left;
  isolation: isolate;
}

#tlj-privacy,
#tlj-privacy *,
#tlj-privacy *::before,
#tlj-privacy *::after {
  box-sizing: border-box;
}

#tlj-privacy ::selection {
  background: rgba(var(--tlj-color-accent-rgb), .28);
  color: var(--tlj-color-button-hover-text);
}

/* =========================================================
   ESTRUCTURA GENERAL
   ========================================================= */

.tlj-privacy-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.tlj-privacy-document {
  position: relative;
  padding: 42px 46px 48px;
  border: 1px solid var(--tlj-color-border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(var(--tlj-color-contrast-rgb), .032), rgba(var(--tlj-color-contrast-rgb), .009)),
    var(--tlj-color-surface);
  box-shadow: var(--tlj-effect-shadow-lg);
}

.tlj-privacy-document::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 76%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(var(--tlj-color-accent-rgb), .72), transparent);
  box-shadow: 0 0 17px rgba(var(--tlj-color-accent-rgb), .22);
}

/* =========================================================
   CABECERA INTERIOR DEL DOCUMENTO
   ========================================================= */

.tlj-privacy-document-header {
  padding: 0 0 34px;
  text-align: center;
}

#tlj-privacy .tlj-privacy-document-header h2 {
  margin: 0 0 13px;
  color: var(--tlj-color-text);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 900;
  letter-spacing: 2.2px;
  line-height: 1.1;
}

#tlj-privacy .tlj-privacy-document-header p {
  margin: 0;
}

#tlj-privacy .tlj-privacy-document-header a {
  color: var(--tlj-color-accent-text);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color .35s ease, text-shadow .35s ease;
}

#tlj-privacy .tlj-privacy-document-header a:hover {
  color: var(--tlj-color-button-hover-text);
  text-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .35);
}

.tlj-privacy-divider {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--tlj-color-accent-rgb), .15) 20%,
    rgba(var(--tlj-color-accent-rgb), .42) 50%,
    rgba(var(--tlj-color-accent-rgb), .15) 80%,
    transparent
  );
}

/* =========================================================
   CAPÍTULOS PRINCIPALES
   ========================================================= */

.tlj-privacy-chapter {
  margin: 34px 0 16px;
  padding: 18px 20px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .17);
  border-left: 3px solid var(--tlj-color-accent);
  border-radius: 10px;
  background: rgba(var(--tlj-color-accent-rgb), .038);
}

#tlj-privacy .tlj-privacy-chapter h3 {
  margin: 0;
  color: var(--tlj-color-accent-text);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1.5px;
  line-height: 1.45;
}

.tlj-privacy-introduction {
  margin: 0 0 28px;
  padding: 4px 4px 0;
}

/* =========================================================
   SECCIONES DEL CONTENIDO
   ========================================================= */

.tlj-privacy-sections {
  display: grid;
  gap: 13px;
}

.tlj-privacy-section {
  position: relative;
  padding: 24px 25px 23px;
  overflow: hidden;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 12px;
  background: var(--tlj-color-surface-2);
  transition:
    border-color .45s ease,
    background-color .45s ease,
    box-shadow .45s ease;
}

.tlj-privacy-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 48px;
  height: 1px;
  background: var(--tlj-color-accent);
  opacity: .45;
  transition: width .45s ease, opacity .45s ease;
}

.tlj-privacy-section:hover {
  border-color: rgba(var(--tlj-color-accent-rgb), .22);
  background-color: rgba(var(--tlj-color-accent-rgb), .025);
  box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-privacy-section:hover::before {
  width: 82px;
  opacity: .9;
}

#tlj-privacy .tlj-privacy-section h3 {
  margin: 0 0 15px;
  color: var(--tlj-color-text);
  font-size: 18px;
  font-weight: 850;
  letter-spacing: -.2px;
  line-height: 1.3;
}

#tlj-privacy p {
  margin: 0 0 14px;
  color: var(--tlj-color-text-muted);
  font-size: 14px;
  line-height: 1.82;
}

#tlj-privacy p:last-child {
  margin-bottom: 0;
}

#tlj-privacy :where(.tlj-privacy-document) strong {
  color: var(--tlj-color-text-secondary);
  font-weight: 750;
}

#tlj-privacy ul {
  display: grid;
  gap: 8px;
  margin: 15px 0 16px;
  padding: 0;
  list-style: none;
}

#tlj-privacy li {
  position: relative;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px 8px 31px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 7px;
  background: var(--tlj-color-surface-2);
  color: var(--tlj-color-text-body);
  font-size: 13px;
  line-height: 1.55;
}

#tlj-privacy li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 13px;
  width: 7px;
  height: 2px;
  border-radius: 4px;
  background: var(--tlj-color-accent);
  box-shadow: 0 0 9px rgba(var(--tlj-color-accent-rgb), .34);
}

#tlj-privacy a {
  color: var(--tlj-color-accent-text);
  text-underline-offset: 3px;
}

.tlj-privacy-contact {
  margin-top: 16px !important;
  padding: 15px 17px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
  border-radius: 8px;
  background: rgba(var(--tlj-color-accent-rgb), .035);
}

.tlj-privacy-contact a {
  font-weight: 800;
  text-decoration: none;
}

/* =========================================================
   BLOQUE FINAL
   ========================================================= */

.tlj-privacy-final {
  position: relative;
  margin-top: 30px;
  padding: 25px 25px 24px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .24);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(var(--tlj-color-accent-rgb), .07), rgba(var(--tlj-color-accent-rgb), .018)),
    var(--tlj-color-surface-2);
}

#tlj-privacy .tlj-privacy-final h3 {
  margin: 0 0 16px;
  color: var(--tlj-color-accent-text);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1.25px;
  line-height: 1.45;
}

.tlj-privacy-bottom-line {
  width: min(850px, 92%);
  height: 1px;
  margin: 58px auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tlj-color-accent-rgb), .06) 9%,
    rgba(var(--tlj-color-accent-rgb), .24) 28%,
    rgba(var(--tlj-color-accent-rgb), .52) 50%,
    rgba(var(--tlj-color-accent-rgb), .24) 72%,
    rgba(var(--tlj-color-accent-rgb), .06) 91%,
    transparent 100%
  );
  box-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .12);
}
@media (max-width: 800px) {
  #tlj-privacy {
    padding: 0 15px 72px;
  }

  .tlj-privacy-document {
    padding: 35px 30px 39px;
  }
}

@media (max-width: 600px) {
  #tlj-privacy {
    padding: 0 15px 72px;
  }

  .tlj-privacy-document {
    padding: 29px 16px 31px;
    border-radius: 14px;
  }

  #tlj-privacy .tlj-privacy-document-header h2 {
    font-size: 22px;
    letter-spacing: 1.4px;
  }

  .tlj-privacy-chapter {
    margin-top: 27px;
    padding: 15px 16px;
  }

  #tlj-privacy .tlj-privacy-chapter h3 {
    font-size: 12px;
    letter-spacing: 1.15px;
  }

  .tlj-privacy-section,
  .tlj-privacy-final {
    padding: 21px 18px 20px;
  }

  #tlj-privacy .tlj-privacy-section h3 {
    font-size: 16px;
  }

  #tlj-privacy p {
    font-size: 13px;
    line-height: 1.75;
  }

  #tlj-privacy li {
    padding-right: 10px;
    font-size: 12.3px;
  }

  .tlj-privacy-bottom-line {
    margin-top: 45px;
  }
}

/* ===== TERMINOS ===== */

/* =========================================================
   TÉRMINOS DE SUSCRIPCIÓN · VARIABLES Y PROTECCIÓN
   ========================================================= */

#tlj-terms {

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0 24px 110px;
  overflow: hidden;
  transform: translateX(-50%);

  color: var(--tlj-color-text-secondary);
  text-align: left;
  isolation: isolate;
}

#tlj-terms,
#tlj-terms *,
#tlj-terms *::before,
#tlj-terms *::after {
  box-sizing: border-box;
}

#tlj-terms ::selection {
  background: rgba(var(--tlj-color-accent-rgb), .28);
  color: var(--tlj-color-button-hover-text);
}

/* =========================================================
   ESTRUCTURA GENERAL
   ========================================================= */

.tlj-terms-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.tlj-terms-document {
  position: relative;
  padding: 42px 46px 48px;
  border: 1px solid var(--tlj-color-border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(var(--tlj-color-contrast-rgb), .032), rgba(var(--tlj-color-contrast-rgb), .009)),
    var(--tlj-color-surface);
  box-shadow: var(--tlj-effect-shadow-lg);
}

.tlj-terms-document::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 76%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(var(--tlj-color-accent-rgb), .72), transparent);
  box-shadow: 0 0 17px rgba(var(--tlj-color-accent-rgb), .22);
}

/* =========================================================
   DATOS SUPERIORES DEL DOCUMENTO
   No se añade un segundo título.
   ========================================================= */

.tlj-terms-document-header {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  padding: 0 0 26px;
  text-align: center;
}

#tlj-terms .tlj-terms-document-header p {
  margin: 0;
}

.tlj-terms-document-header p + p {
  position: relative;
  padding-left: 22px;
}

.tlj-terms-document-header p + p::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--tlj-color-accent);
}

#tlj-terms .tlj-terms-document-header a {
  color: var(--tlj-color-accent-text);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color .35s ease, text-shadow .35s ease;
}

#tlj-terms .tlj-terms-document-header a:hover {
  color: var(--tlj-color-button-hover-text);
  text-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .35);
}

.tlj-terms-date {
  color: var(--tlj-color-text-muted-2) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.tlj-terms-date strong {
  color: var(--tlj-color-text-body) !important;
}

.tlj-terms-divider {
  width: 100%;
  height: 1px;
  margin: 0 0 33px;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--tlj-color-accent-rgb), .15) 20%,
    rgba(var(--tlj-color-accent-rgb), .42) 50%,
    rgba(var(--tlj-color-accent-rgb), .15) 80%,
    transparent
  );
}

/* =========================================================
   SECCIONES DEL CONTENIDO
   ========================================================= */

.tlj-terms-sections {
  display: grid;
  gap: 13px;
}

.tlj-terms-section {
  position: relative;
  padding: 24px 25px 23px;
  overflow: hidden;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 12px;
  background: var(--tlj-color-surface-2);
  transition:
    border-color .45s ease,
    background-color .45s ease,
    box-shadow .45s ease;
}

.tlj-terms-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 48px;
  height: 1px;
  background: var(--tlj-color-accent);
  opacity: .45;
  transition: width .45s ease, opacity .45s ease;
}

.tlj-terms-section:hover {
  border-color: rgba(var(--tlj-color-accent-rgb), .22);
  background-color: rgba(var(--tlj-color-accent-rgb), .025);
  box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-terms-section:hover::before {
  width: 82px;
  opacity: .9;
}

#tlj-terms .tlj-terms-section h2 {
  margin: 0 0 16px;
  color: var(--tlj-color-accent-text);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1.35px;
  line-height: 1.45;
}

#tlj-terms p {
  margin: 0 0 14px;
  color: var(--tlj-color-text-muted);
  font-size: 14px;
  line-height: 1.82;
}

#tlj-terms p:last-child {
  margin-bottom: 0;
}

#tlj-terms :where(.tlj-terms-document) strong {
  color: var(--tlj-color-text-secondary);
  font-weight: 750;
}

#tlj-terms a {
  color: var(--tlj-color-accent-text);
  text-underline-offset: 3px;
}

.tlj-terms-notice {
  margin-top: 17px !important;
  padding: 14px 16px;
  border-left: 3px solid var(--tlj-color-accent);
  border-radius: 8px;
  background: rgba(var(--tlj-color-accent-rgb), .035);
  color: var(--tlj-color-text-body) !important;
}

/* =========================================================
   TABLA DE SUSCRIPCIONES
   ========================================================= */

.tlj-terms-table-wrap {
  width: 100%;
  margin: 17px 0 16px;
  overflow-x: auto;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 10px;
  background: var(--tlj-color-surface-2);
}

#tlj-terms table {
  width: 100%;
  min-width: 500px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  color: var(--tlj-color-text-body);
  font-size: 13px;
  text-align: left;
}

#tlj-terms th,
#tlj-terms td {
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--tlj-color-divider);
}

#tlj-terms th {
  background: rgba(var(--tlj-color-accent-rgb), .07);
  color: var(--tlj-color-accent-text);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

#tlj-terms tbody tr {
  transition: background-color .35s ease;
}

#tlj-terms tbody tr:hover {
  background: rgba(var(--tlj-color-accent-rgb), .028);
}

#tlj-terms tbody tr:last-child td {
  border-bottom: 0;
}

#tlj-terms td:nth-child(2) {
  color: var(--tlj-color-text-secondary);
  font-weight: 800;
}

/* =========================================================
   LISTAS
   ========================================================= */

#tlj-terms ul,
#tlj-terms ol {
  display: grid;
  gap: 8px;
  margin: 15px 0 16px;
  padding: 0;
  list-style: none;
}

#tlj-terms ol {
  counter-reset: tlj-terms-counter;
}

#tlj-terms li {
  position: relative;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px 8px 31px;
  border: 1px solid var(--tlj-color-divider);
  border-radius: 7px;
  background: var(--tlj-color-surface-2);
  color: var(--tlj-color-text-body);
  font-size: 13px;
  line-height: 1.55;
}

#tlj-terms ul li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 13px;
  width: 7px;
  height: 2px;
  border-radius: 4px;
  background: var(--tlj-color-accent);
  box-shadow: 0 0 9px rgba(var(--tlj-color-accent-rgb), .34);
}

#tlj-terms ol li {
  padding-left: 45px;
  counter-increment: tlj-terms-counter;
}

#tlj-terms ol li::before {
  content: counter(tlj-terms-counter, decimal-leading-zero);
  position: absolute;
  top: 9px;
  left: 12px;
  color: var(--tlj-color-accent-text);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .7px;
}

/* =========================================================
   CIERRE DECORATIVO
   ========================================================= */

.tlj-terms-bottom-line {
  width: min(850px, 92%);
  height: 1px;
  margin: 58px auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tlj-color-accent-rgb), .06) 9%,
    rgba(var(--tlj-color-accent-rgb), .24) 28%,
    rgba(var(--tlj-color-accent-rgb), .52) 50%,
    rgba(var(--tlj-color-accent-rgb), .24) 72%,
    rgba(var(--tlj-color-accent-rgb), .06) 91%,
    transparent 100%
  );
  box-shadow: 0 0 15px rgba(var(--tlj-color-accent-rgb), .12);
}
@media (max-width: 800px) {
  #tlj-terms {
    padding: 0 20px 88px;
  }

  .tlj-terms-document {
    padding: 35px 30px 39px;
  }
}

@media (max-width: 600px) {
  #tlj-terms {
    padding: 0 15px 72px;
  }

  .tlj-terms-document {
    padding: 29px 16px 31px;
    border-radius: 14px;
  }

  .tlj-terms-document-header {
    flex-direction: column;
    gap: 8px;
  }

  .tlj-terms-document-header p + p {
    padding-left: 0;
  }

  .tlj-terms-document-header p + p::before {
    display: none;
  }

  .tlj-terms-section {
    padding: 21px 18px 20px;
  }

  #tlj-terms .tlj-terms-section h2 {
    font-size: 12.5px;
    letter-spacing: 1.05px;
  }

  #tlj-terms p {
    font-size: 13px;
    line-height: 1.75;
  }

  #tlj-terms li {
    padding-right: 10px;
    font-size: 12.3px;
  }

  #tlj-terms th,
  #tlj-terms td {
    padding: 12px 13px;
  }

  .tlj-terms-bottom-line {
    margin-top: 45px;
  }
}

/* ===== LEGAL UX / FAQ SHARED COMPONENTS ===== */
.tlj-doc-tools { margin: 30px 0 32px; }
.tlj-doc-meta { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin:0 0 18px; color:var(--tlj-color-text-body); font-size:12px; }
.tlj-doc-meta-label,.tlj-doc-actions-label,.tlj-doc-related-label { color:var(--tlj-color-text-muted-2); font-size:9px; font-weight:900; letter-spacing:1.35px; }
.tlj-doc-meta strong { color:var(--tlj-color-text-secondary); font-size:12px; }
.tlj-doc-tools-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:13px; }
.tlj-doc-summary,.tlj-doc-index { padding:20px; border:1px solid rgba(var(--tlj-color-accent-rgb), .14); border-radius:12px; background:rgba(var(--tlj-color-accent-rgb), .026); }
.tlj-doc-summary h2,.tlj-doc-index h2 { margin:0 0 12px !important; color:var(--tlj-color-accent-text) !important; font-size:14px !important; font-weight:900 !important; letter-spacing:.8px !important; }
.tlj-doc-summary-intro { margin:0 0 14px !important; color:var(--tlj-color-text-body) !important; font-size:12.5px !important; }
.tlj-doc-faq { display:grid; gap:7px; }
.tlj-doc-faq details { border:1px solid var(--tlj-color-divider); border-radius:8px; background:var(--tlj-color-surface-2); overflow:hidden; }
.tlj-doc-faq summary { position:relative; cursor:pointer; padding:11px 34px 11px 12px; color:var(--tlj-color-text-secondary); font-size:12.5px; font-weight:750; list-style:none; }
.tlj-doc-faq summary::-webkit-details-marker { display:none; }
.tlj-doc-faq summary::after { content:'+'; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--tlj-color-accent-text); font-size:17px; font-weight:400; }
.tlj-doc-faq details[open] summary::after { content:'−'; }
.tlj-doc-faq details p { margin:0 !important; padding:0 12px 12px; color:var(--tlj-color-text-body) !important; font-size:12px !important; line-height:1.65 !important; }
.tlj-doc-index ol { display:grid !important; gap:6px !important; margin:0 !important; padding:0 !important; list-style:none !important; counter-reset:tlj-index; }
.tlj-doc-index li { counter-increment:tlj-index; min-height:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.tlj-doc-index li::before { display:none !important; }
.tlj-doc-index a { display:flex; gap:9px; align-items:flex-start; padding:7px 9px; border-radius:7px; text-decoration:none !important; color:var(--tlj-color-text-body) !important; font-size:11.5px; line-height:1.4; transition:background .25s ease,color .25s ease; }
.tlj-doc-index a::before { content:counter(tlj-index, decimal-leading-zero); flex:0 0 auto; color:var(--tlj-color-accent-text); font-size:9px; font-weight:900; letter-spacing:.7px; padding-top:2px; }
.tlj-doc-index a:hover { background:rgba(var(--tlj-color-accent-rgb), .05); color:var(--tlj-color-text-secondary) !important; }
.tlj-doc-actions { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin-top:13px; padding:14px; border:1px solid var(--tlj-color-divider); border-radius:10px; background:var(--tlj-color-surface-2); }
.tlj-doc-actions-label { margin-right:4px; }
.tlj-doc-action { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 13px; border:1px solid rgba(var(--tlj-color-accent-rgb), .24); border-radius:7px; background:rgba(var(--tlj-color-accent-rgb), .035); color:var(--tlj-color-accent-text) !important; font-size:11px !important; font-weight:850 !important; letter-spacing:.3px; text-decoration:none !important; transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease; }
.tlj-doc-action:hover { border-color:rgba(var(--tlj-color-accent-rgb), .5); background:rgba(var(--tlj-color-accent-rgb), .08); color:var(--tlj-color-button-hover-text) !important; transform:translateY(-1px); }
.tlj-doc-related { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px 13px; margin-top:28px; padding-top:24px; border-top:1px solid rgba(var(--tlj-color-accent-rgb), .14); }
.tlj-doc-related a { color:var(--tlj-color-text-muted) !important; font-size:11px !important; font-weight:750; text-decoration:none !important; }
.tlj-doc-related a:hover { color:var(--tlj-color-accent-text) !important; }
[id^="tlj-aviso-"],[id^="tlj-cookies-"],[id^="tlj-privacidad-"],[id^="tlj-terminos-"] { scroll-margin-top:110px; }
@media(max-width:760px){.tlj-doc-tools-grid{grid-template-columns:1fr}.tlj-doc-actions{justify-content:flex-start}.tlj-doc-actions-label{width:100%;margin-bottom:2px}.tlj-doc-related{justify-content:flex-start}.tlj-doc-related-label{width:100%;}}

/* =========================================================
   FAQ · CENTRO DE AYUDA TLJ
   ========================================================= */
#tlj-faq {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin: 0;
  padding: 0 24px 110px;
  transform: translateX(-50%);

  color: var(--tlj-color-text-secondary);
  text-align: left;
  isolation: isolate;
}
#tlj-faq, #tlj-faq *, #tlj-faq *::before, #tlj-faq *::after { box-sizing: border-box; }
#tlj-faq ::selection { background: rgba(var(--tlj-color-accent-rgb), .28); color: var(--tlj-color-button-hover-text); }
.tlj-faq-shell { position: relative; z-index: 1; width: 100%; max-width: 1080px; margin: 0 auto; }
.tlj-faq-search-card, .tlj-faq-index { margin: 0 auto 22px; padding: 24px 26px; border: 1px solid rgba(var(--tlj-color-accent-rgb), .28); border-radius: 18px; background: linear-gradient(145deg,rgba(var(--tlj-color-accent-rgb), .055),rgba(var(--tlj-color-contrast-rgb), .012)),var(--tlj-color-surface); box-shadow: var(--tlj-effect-shadow-lg); }
.tlj-faq-search-head, .tlj-faq-index-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.tlj-faq-search-head span, .tlj-faq-index-head span { display: block; margin-bottom: 5px; color: var(--tlj-color-accent-text); font-size: 11px; font-weight: 900; letter-spacing: 1.8px; }
#tlj-faq .tlj-faq-search-head h2, #tlj-faq .tlj-faq-index-head h2 { margin: 0; color: var(--tlj-color-text); font-size: 22px; font-weight: 800; }
.tlj-faq-search-head > strong { color: var(--tlj-color-text-body); font-size: 12px; font-weight: 700; white-space: nowrap; }
.tlj-faq-search { display: grid; grid-template-columns: 38px minmax(0,1fr) 36px; align-items: center; min-height: 54px; margin: 0; padding: 0 12px 0 9px; border: 1px solid rgba(var(--tlj-color-accent-rgb), .42); border-radius: 12px; background: var(--tlj-color-field); transition: border-color .2s ease, box-shadow .2s ease; }
.tlj-faq-search:focus-within { border-color: var(--tlj-color-accent); box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .08),0 0 24px rgba(var(--tlj-color-accent-rgb), .08); }
.tlj-faq-search svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
#tlj-faq .tlj-faq-search input { width: 100%; min-width: 0; height: 50px; margin: 0; padding: 0 12px; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--tlj-color-text) !important; font-size: 15px; }
#tlj-faq .tlj-faq-search input::placeholder { color: var(--tlj-color-input-placeholder); opacity: 1; }
#tlj-faq .tlj-faq-search input[type="search"]::-webkit-search-cancel-button,
#tlj-faq .tlj-faq-search input[type="search"]::-webkit-search-decoration { -webkit-appearance:none; appearance:none; display:none; }
#tlj-faq .tlj-faq-search input[type="search"]::-ms-clear,
#tlj-faq .tlj-faq-search input[type="search"]::-ms-reveal { display:none; width:0; height:0; }
#tlj-faq .tlj-faq-search-clear { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; margin:0; padding:0; border:0 !important; border-radius:8px; background:transparent !important; box-shadow:none !important; color:var(--tlj-color-accent-text) !important; font-size:23px; font-weight:300; line-height:1; cursor:pointer; transition:color .18s ease,background .18s ease,transform .18s ease; }
#tlj-faq .tlj-faq-search-clear[hidden] { display:none !important; }
#tlj-faq .tlj-faq-search-clear:hover,
#tlj-faq .tlj-faq-search-clear:focus-visible { color:var(--tlj-color-button-hover-text) !important; background:rgba(var(--tlj-color-accent-rgb), .1) !important; outline:none; }
#tlj-faq .tlj-faq-search-clear:active { transform:scale(.94); }
#tlj-faq .tlj-faq-index.is-searching { display:none; }
#tlj-faq .tlj-faq-search-submit { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; margin:0; padding:0; border:1px solid rgba(var(--tlj-color-accent-rgb), .24); border-radius:9px; background:rgba(var(--tlj-color-accent-rgb), .055); color:var(--tlj-color-accent-text); line-height:1; cursor:pointer; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
#tlj-faq .tlj-faq-search-submit:hover, #tlj-faq .tlj-faq-search-submit:focus-visible { background:rgba(var(--tlj-color-accent-rgb), .13); border-color:rgba(var(--tlj-color-accent-rgb), .55); color:var(--tlj-color-button-hover-text); outline:none; }
#tlj-faq .tlj-faq-search-submit:active { transform:scale(.96); }
.tlj-faq-search-hint { margin: 11px 0 0 !important; color: var(--tlj-color-text-body) !important; font-size: 12px !important; }
.tlj-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.tlj-faq-index-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
#tlj-faq .tlj-faq-index-grid a { display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 9px 11px; border: 1px solid var(--tlj-color-divider); border-radius: 10px; background: var(--tlj-color-surface-2); color: var(--tlj-color-text-secondary); font-size: 12px; font-weight: 700; line-height: 1.25; text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }
#tlj-faq .tlj-faq-index-grid a span { flex: 0 0 auto; color: var(--tlj-color-accent-text); font-size: 10px; font-weight: 900; letter-spacing: .8px; }
#tlj-faq .tlj-faq-index-grid a:hover { transform: translateY(-1px); border-color: rgba(var(--tlj-color-accent-rgb), .42); background: rgba(var(--tlj-color-accent-rgb), .06); color: var(--tlj-color-button-hover-text); }

.tlj-faq-sections { display: grid; gap: 18px; margin-top: 26px; }
.tlj-faq-section { scroll-margin-top: 105px; padding: 26px 27px 27px; border: 1px solid var(--tlj-color-border); border-radius: 18px; background: linear-gradient(145deg,rgba(var(--tlj-color-contrast-rgb), .027),rgba(var(--tlj-color-contrast-rgb), .008)),var(--tlj-color-surface); box-shadow: var(--tlj-effect-shadow-md); }
.tlj-faq-section[hidden], .tlj-faq-item[hidden] { display: none !important; }
.tlj-faq-section-head { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 19px; padding-bottom: 18px; border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .12); }
.tlj-faq-section-head > span { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border: 1px solid rgba(var(--tlj-color-accent-rgb), .32); border-radius: 10px; background: rgba(var(--tlj-color-accent-rgb), .055); color: var(--tlj-color-accent-text); font-size: 11px; font-weight: 900; letter-spacing: 1px; }
#tlj-faq .tlj-faq-section-head h2 { margin: 0 0 5px; color: var(--tlj-color-text); font-size: 21px; font-weight: 850; }
#tlj-faq .tlj-faq-section-head p { margin: 0; color: var(--tlj-color-text-body); font-size: 13px; line-height: 1.5; }
.tlj-faq-list { display: grid; gap: 9px; }
.tlj-faq-item { border: 1px solid var(--tlj-color-divider); border-radius: 11px; background: var(--tlj-color-surface); overflow: clip; transition: border-color .2s ease, background .2s ease; }
.tlj-faq-item:hover { border-color: rgba(var(--tlj-color-accent-rgb), .25); }
.tlj-faq-item[open] { border-color: rgba(var(--tlj-color-accent-rgb), .38); background: var(--tlj-color-surface-2); }
.tlj-faq-item summary { display: grid; grid-template-columns: 27px 1fr 26px; align-items: center; gap: 10px; min-height: 54px; padding: 12px 15px; list-style: none; cursor: pointer; user-select: none; }
.tlj-faq-item summary::-webkit-details-marker { display: none; }
.tlj-faq-qmark { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(var(--tlj-color-accent-rgb), .28); border-radius: 50%; color: var(--tlj-color-accent-text); font-size: 11px; font-weight: 900; }
#tlj-faq .tlj-faq-item summary strong { color: var(--tlj-color-text-secondary); font-size: 14px; font-weight: 750; line-height: 1.45; }
.tlj-faq-toggle { position: relative; width: 24px; height: 24px; }
.tlj-faq-toggle::before, .tlj-faq-toggle::after { content:""; position:absolute; top:50%; left:50%; width:12px; height:1px; background:var(--tlj-color-accent); transform:translate(-50%,-50%); transition:transform .2s ease,background .2s ease; }
.tlj-faq-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.tlj-faq-item[open] .tlj-faq-toggle::after { transform:translate(-50%,-50%) rotate(0deg); }
.tlj-faq-item[open] .tlj-faq-toggle::before, .tlj-faq-item[open] .tlj-faq-toggle::after { background:var(--tlj-color-accent); }
.tlj-faq-answer { padding: 0 52px 17px; }
#tlj-faq .tlj-faq-answer p { margin: 0; color: var(--tlj-color-text-body); font-size: 13px; line-height: 1.72; }
#tlj-faq .tlj-faq-answer-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; color: var(--tlj-color-accent-text); font-size: 11px; font-weight: 900; letter-spacing: .6px; text-decoration: none; }
#tlj-faq .tlj-faq-answer-link:hover { color: var(--tlj-color-button-hover-text); }

.tlj-faq-no-results { margin-top: 26px; padding: 45px 24px; border: 1px dashed rgba(var(--tlj-color-accent-rgb), .25); border-radius: 18px; background: rgba(var(--tlj-color-accent-rgb), .025); text-align: center; }
.tlj-faq-no-results > span { display:grid; place-items:center; width:44px; height:44px; margin:0 auto 14px; border:1px solid rgba(var(--tlj-color-accent-rgb), .3); border-radius:50%; color:var(--tlj-color-accent-text); font-size:20px; font-weight:900; }
#tlj-faq .tlj-faq-no-results h2 { margin:0 0 8px; color:var(--tlj-color-text); font-size:22px; }
#tlj-faq .tlj-faq-no-results p { max-width:560px; margin:0 auto 17px; color:var(--tlj-color-text-body); font-size:13px; line-height:1.6; }
#tlj-faq .tlj-faq-no-results a { color:var(--tlj-color-accent-text); font-size:12px; font-weight:900; text-decoration:none; }

.tlj-faq-footer { margin-top: 28px; padding: 34px 28px; border: 1px solid rgba(var(--tlj-color-accent-rgb), .22); border-radius: 18px; background: linear-gradient(145deg,rgba(var(--tlj-color-accent-rgb), .045),rgba(var(--tlj-color-contrast-rgb), .01)),var(--tlj-color-surface); text-align:center; }
.tlj-faq-footer > span { color:var(--tlj-color-accent-text); font-size:11px; font-weight:900; letter-spacing:2px; }
#tlj-faq .tlj-faq-footer h2 { margin:8px 0 8px; color:var(--tlj-color-text); font-size:24px; font-weight:850; }
#tlj-faq .tlj-faq-footer p { max-width:690px; margin:0 auto 20px; color:var(--tlj-color-text-muted); font-size:13px; line-height:1.65; }
.tlj-faq-footer-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
#tlj-faq .tlj-faq-footer-actions a { display:inline-flex; align-items:center; gap:8px; min-height:39px; padding:9px 15px; border:1px solid rgba(var(--tlj-color-accent-rgb), .32); border-radius:9px; background:rgba(var(--tlj-color-accent-rgb), .05); color:var(--tlj-color-accent-text); font-size:11px; font-weight:900; letter-spacing:.5px; text-decoration:none; }
#tlj-faq .tlj-faq-footer-actions a:hover { border-color:var(--tlj-color-accent); background:rgba(var(--tlj-color-accent-rgb), .1); color:var(--tlj-color-button-hover-text); }

@media (max-width: 900px) {
  .tlj-faq-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  #tlj-faq { padding: 0 16px 78px; }
  .tlj-faq-search-card, .tlj-faq-index, .tlj-faq-section { padding:20px 17px; border-radius:14px; }
  .tlj-faq-search-head, .tlj-faq-index-head { align-items:flex-start; flex-direction:column; gap:8px; }
  .tlj-faq-search-head > strong { white-space:normal; }
  .tlj-faq-section-head { gap:11px; }
  #tlj-faq .tlj-faq-section-head h2 { font-size:18px; }
  .tlj-faq-item summary { grid-template-columns:25px 1fr 22px; gap:8px; padding:12px 11px; }
  #tlj-faq .tlj-faq-item summary strong { font-size:13px; }
  .tlj-faq-answer { padding:0 42px 15px; }
}
@media (max-width: 480px) {
  .tlj-faq-index-grid { grid-template-columns: 1fr; }
  .tlj-faq-search { grid-template-columns:34px minmax(0,1fr) 32px; min-height:50px; padding-left:8px; }
  #tlj-faq .tlj-faq-search input { font-size:13px; padding:0 9px; }
  .tlj-faq-section-head > span { width:34px; height:34px; flex-basis:34px; }
  .tlj-faq-answer { padding:0 13px 15px 44px; }
  .tlj-faq-footer { padding:29px 18px; }
}
