/* TuTallerYa v10.52 — FAQ editorial, tipografía con blur y escritura progresiva.
   Solo afecta a #preguntas-frecuentes. No crea otra superficie sobre el fondo. */
.editorial-page .tty-faq.faq-section {
  display: block;
  position: relative;
  isolation: isolate;
  max-width: 1120px;
  padding-block: clamp(92px, 11vw, 160px) clamp(106px, 11vw, 154px);
  background: transparent;
}
.editorial-page .tty-faq .tty-faq__header {
  max-width: 790px;
  margin: 0 auto clamp(44px, 5.8vw, 76px);
  text-align: center;
}
.editorial-page .tty-faq .tty-faq__kicker {
  justify-content: center;
  font-size: .73rem;
  letter-spacing: .20em;
  color: var(--blue-ink);
  margin: 0 0 26px;
}
.editorial-page .tty-faq .tty-faq__title {
  font: 700 clamp(3.25rem, 6.4vw, 6.2rem)/1.015 var(--display);
  color: var(--ink);
  letter-spacing: -.069em;
  text-wrap: balance;
  margin: 0 auto;
}
.tty-faq__title-line {display:block; white-space: normal;}
.editorial-page .tty-faq .tty-faq__title-accent {color: var(--blue);}
.tty-faq__letter {display:inline-block; white-space:pre; opacity:1; filter:none; transform:none;}
.tty-faq__title-line {white-space:nowrap;}
.editorial-page .tty-faq .tty-faq__lead {
  margin: 23px auto 0;
  color: var(--muted);
  font-size: clamp(.96rem, 1.4vw, 1.13rem);
  line-height: 1.75;
}
.editorial-page .tty-faq .tty-faq__support {
  margin: 7px auto 0;
  max-width: 720px;
  font-size: clamp(.92rem, 1.13vw, 1.02rem);
  color: var(--muted);
  line-height: 1.85;
}
.editorial-page .tty-faq .tty-faq__support a {
  color: var(--blue-ink);
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
.editorial-page .tty-faq .tty-faq__support a:hover,
.editorial-page .tty-faq .tty-faq__support a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.editorial-page .tty-faq .tty-faq__support span {color: var(--orange);}
.editorial-page .tty-faq .tty-faq__list {
  display: block;
  max-width: 920px;
  margin-inline: auto;
  border-top: 1px solid var(--line);
}
.editorial-page .tty-faq .tty-faq__list > details {
  display:block;
  width:100%;
  margin:0;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  transition: background-color .26s ease;
}
.editorial-page .tty-faq .tty-faq__list > details[open] {border-color:var(--line);}
.editorial-page .tty-faq .tty-faq__list summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding: clamp(22px, 2.3vw, 30px) 8px;
  min-height:88px;
  color: var(--ink);
  font: 600 clamp(1rem, 1.36vw, 1.25rem)/1.5 var(--body);
  letter-spacing:-.018em;
  list-style:none;
  cursor:pointer;
  transition: color .25s ease, padding .25s ease;
}
.editorial-page .tty-faq .tty-faq__list summary::-webkit-details-marker {display:none;}
.editorial-page .tty-faq .tty-faq__list summary::marker {content:'';}
.editorial-page .tty-faq .tty-faq__list summary:hover {padding-inline:14px;color:var(--blue-ink);}
.editorial-page .tty-faq .tty-faq__list details[open] summary {color:var(--blue-ink);}
.tty-faq__plus {
  display:grid;
  position:relative;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid color-mix(in srgb, var(--line) 90%, var(--blue) 10%);
  border-radius:50%;
  background:color-mix(in srgb, var(--surface) 24%, transparent);
  transition: border-color .24s ease, background-color .24s ease, transform .35s ease;
}
.tty-faq__plus::before,
.tty-faq__plus::after {
  content:"";
  display:block;
  position:absolute;
  border-radius:2px;
  background:var(--blue);
  transform-origin:center;
  transition:transform .33s ease, background .24s ease;
}
.tty-faq__plus::before {width:13px;height:2px;}
.tty-faq__plus::after {height:13px;width:2px;}
.tty-faq details[open] .tty-faq__plus {
  background:var(--blue);
  border-color:var(--blue);
  transform:rotate(45deg);
}
.tty-faq details[open] .tty-faq__plus::before,
.tty-faq details[open] .tty-faq__plus::after {background:#fff;}
.tty-faq__answer {min-width:0;overflow:hidden;}
.tty-faq__answer-inner {padding:0 64px 28px 8px;}
.editorial-page .tty-faq .tty-faq__answer p {
  max-width:790px;
  padding:0;
  margin:0;
  color:var(--muted);
  font-size:clamp(.96rem, 1.13vw, 1.04rem);
  line-height:1.86;
  font-weight:400;
}
.editorial-page .tty-faq .tty-faq__answer p a {
  color:var(--blue-ink);
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:.18em;
}
.tty-faq__answer p.is-typing::after {
  content:"";
  display:inline-block;
  width:2px;
  height:.98em;
  vertical-align:-.11em;
  margin-left:3px;
  background:var(--orange);
  animation:tty-faq-caret .65s steps(1) infinite;
}
@keyframes tty-faq-caret {50% {opacity:0;}}
/* Sin JS, todo el texto permanece visible y el details es nativo. */
.tty-faq.faq-enhanced .tty-faq__answer {
  height:0;
  opacity:0;
  overflow:hidden;
  transition:height .54s cubic-bezier(.22, 1, .36, 1), opacity .3s ease;
}
.tty-faq.faq-enhanced .tty-faq__letter {
  opacity:0;
  filter:blur(11px);
  transform:translateY(18px) scale(1.065);
  transition:opacity .56s ease, filter .72s ease, transform .72s cubic-bezier(.22,1,.36,1);
  transition-delay:calc(var(--letter-index) * 32ms);
}
.tty-faq.faq-enhanced.is-visible .tty-faq__letter {
  opacity:1;
  filter:blur(0);
  transform:translateY(0) scale(1);
}
.tty-faq.faq-enhanced .tty-faq__header .tty-faq__kicker,
.tty-faq.faq-enhanced .tty-faq__header .tty-faq__lead,
.tty-faq.faq-enhanced .tty-faq__header .tty-faq__support {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.tty-faq.faq-enhanced.is-visible .tty-faq__kicker,
.tty-faq.faq-enhanced.is-visible .tty-faq__lead,
.tty-faq.faq-enhanced.is-visible .tty-faq__support {opacity:1;transform:none;}
.tty-faq.faq-enhanced.is-visible .tty-faq__kicker {transition-delay:80ms;}
.tty-faq.faq-enhanced.is-visible .tty-faq__lead {transition-delay:720ms;}
.tty-faq.faq-enhanced.is-visible .tty-faq__support {transition-delay:840ms;}
.tty-faq.faq-enhanced .tty-faq__list > details {
  opacity:0;
  filter:blur(5px);
  transform:translateY(22px);
  transition:opacity .7s ease, filter .7s ease, transform .8s cubic-bezier(.22,1,.36,1), background-color .26s ease;
  transition-delay:calc(300ms + var(--faq-index) * 90ms);
}
.tty-faq.faq-enhanced.is-visible .tty-faq__list > details {opacity:1;filter:none;transform:none;}
@media (max-width: 700px) {
  .editorial-page .tty-faq.faq-section {width:calc(100% - 40px);padding-block:76px 96px;}
  .editorial-page .tty-faq .tty-faq__header {margin-bottom:42px;}
  .editorial-page .tty-faq .tty-faq__title {font-size:clamp(2.55rem, 10vw, 4.25rem);letter-spacing:-.063em;}
  .editorial-page .tty-faq .tty-faq__kicker {margin-bottom:22px;font-size:.68rem;}
  .editorial-page .tty-faq .tty-faq__lead {margin-top:20px;}
  .editorial-page .tty-faq .tty-faq__support {line-height:1.7;}
  .editorial-page .tty-faq .tty-faq__list summary {min-height:76px;padding:20px 1px;gap:14px;font-size:1.03rem;}
  .editorial-page .tty-faq .tty-faq__list summary:hover {padding-inline:1px;}
  .tty-faq__plus {flex-basis:34px;width:34px;height:34px;}
  .tty-faq__answer-inner {padding:0 42px 23px 1px;}
}
@media (max-width:360px) {
  .editorial-page .tty-faq .tty-faq__title {font-size:2.32rem;}
}
@media (prefers-reduced-motion: reduce) {
  .tty-faq *, .tty-faq *::before, .tty-faq *::after {animation:none!important;transition:none!important;}
  .tty-faq.faq-enhanced .tty-faq__letter,
  .tty-faq.faq-enhanced .tty-faq__header .tty-faq__kicker,
  .tty-faq.faq-enhanced .tty-faq__header .tty-faq__lead,
  .tty-faq.faq-enhanced .tty-faq__header .tty-faq__support,
  .tty-faq.faq-enhanced .tty-faq__list > details {opacity:1!important;filter:none!important;transform:none!important;}
}
