/* GYIK — gyik2.png: meleg háttér, levélárnyékok és áttetsző harmonika. */
.faq {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 6vw, 6.5rem) 0 clamp(3.5rem, 5vw, 5rem);
  color: #222624;
  background: #d4c5b6;
}
.faq::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  background:
    radial-gradient(ellipse 75% 27% at 50% 6%, rgba(255, 251, 245, .72), transparent 100%),
    radial-gradient(ellipse 65% 55% at 50% 52%, rgba(255, 251, 245, .5), transparent 100%),
    linear-gradient(112deg, rgba(79, 62, 44, .1), transparent 33%, rgba(73, 55, 39, .11));
}
.faq__shadow,
.faq__branch {
  position: absolute;
  z-index: -1;
  display: block;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
.faq__shadow { filter: blur(11px); }
.faq__shadow--top { top: -9rem; left: -5rem; width: min(55vw, 58rem); opacity: .65; }
.faq__shadow--bottom { top: 28rem; right: -16rem; width: min(54vw, 55rem); opacity: .35; }
.faq__branch {
  top: -5rem;
  left: -15rem;
  width: clamp(19rem, 31vw, 31rem);
  opacity: .35;
  filter: sepia(.7) saturate(.5);
}
.faq__container { position: relative; z-index: 1; max-width: 78.5rem; }
.faq__header { text-align: center; }
.faq h2 {
  font-size: clamp(4.5rem, 6.1vw, 6.4rem);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.05em;
}
.faq__subtitle {
  margin-top: .7rem;
  color: #876337;
  font: 500 clamp(1.03rem, 1.4vw, 1.38rem)/1.2 var(--pb-font-heading);
  letter-spacing: .28em;
}
.faq__intro {
  margin-top: clamp(1.3rem, 2vw, 1.9rem);
  font: 400 clamp(1.25rem, 1.7vw, 1.7rem)/1.18 var(--pb-font-heading);
}
.faq__list {
  display: grid;
  gap: .65rem;
  margin-top: clamp(2rem, 3vw, 2.8rem);
}
.faq__item {
  border: 1px solid rgba(255, 253, 249, .92);
  border-radius: .7rem;
  background: rgba(255, 253, 249, .73);
  box-shadow: 0 .45rem 1.2rem rgba(73, 58, 42, .055), inset 0 1px rgba(255, 255, 255, .8);
}
.faq__item summary {
  display: flex;
  min-height: clamp(4.65rem, 5.4vw, 5.4rem);
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: .8rem clamp(1.2rem, 3vw, 2.9rem);
  cursor: pointer;
  font: 500 clamp(1.55rem, 2.2vw, 2.15rem)/1.07 var(--pb-font-heading);
  letter-spacing: -.025em;
  list-style: none;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::marker { content: ""; }
.faq__item summary:focus-visible { outline: 2px solid #8d6637; outline-offset: 4px; border-radius: .55rem; }
.faq__plus { position: relative; width: 1.5rem; height: 1.5rem; flex: none; color: #956e3d; }
.faq__plus::before,
.faq__plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.35rem;
  height: 2px;
  content: "";
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .25s ease;
}
.faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq__item[open] .faq__plus::after { transform: translate(-50%, -50%) rotate(0); }
.faq__answer { padding: 0 clamp(1.2rem, 3vw, 2.9rem) clamp(1.2rem, 2vw, 1.7rem); }
.faq__answer p {
  max-width: 70rem;
  padding-top: clamp(.7rem, 1.3vw, 1.1rem);
  border-top: 1px solid rgba(154, 113, 62, .23);
  font: 400 clamp(.98rem, 1.07vw, 1.12rem)/1.58 var(--pb-font-body);
}
@media (max-width: 767px) {
  .faq { padding: 3.7rem 0 3.2rem; }
  .faq__branch { top: -3.5rem; left: -12rem; width: 20rem; opacity: .24; }
  .faq__shadow--top { top: -4rem; left: -14rem; width: 40rem; opacity: .45; }
  .faq__shadow--bottom { top: 32rem; right: -17rem; width: 31rem; opacity: .25; }
  .faq h2 { font-size: clamp(3.6rem, 12vw, 5rem); }
  .faq__subtitle { font-size: .97rem; letter-spacing: .16em; }
  .faq__intro { font-size: 1.26rem; }
  .faq__intro br { display: none; }
  .faq__list { margin-top: 2rem; gap: .6rem; }
  .faq__item summary { min-height: 4.6rem; font-size: clamp(1.38rem, 5.3vw, 1.8rem); }
}
@media (prefers-reduced-motion: reduce) {
  .faq__plus::before, .faq__plus::after { transition: none; }
}
