/* Concierge Patrimonial — FAQ Extras (design v7)
 * Header tag + título + accordion estilo Active Theory com ícone + → ×.
 * Carregado APENAS em /faq. Classes prefixadas .fx-* pra evitar conflito.
 */

:root{
  --fx-ease:cubic-bezier(0.32,0.72,0,1);
  --fx-ease-out:cubic-bezier(0.16,1,0.3,1);
  --fx-ease-spring:cubic-bezier(0.4,1.6,0.6,1);
}

.fx-section{position:relative;z-index:1;padding:120px 24px 140px;background:var(--marrom-dk)}
.fx-section::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.35' numOctaves='3' seed='14' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.808  0 0 0 0 0.616  0 0 0 0 0.384  0 0 0 0.32 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:320px 320px;mix-blend-mode:overlay;opacity:.18;pointer-events:none}
.fx-section>*{position:relative;z-index:1;max-width:1100px;margin-left:auto;margin-right:auto}

/* Header */
.fx-head{text-align:center;margin-bottom:64px}
.fx-tag{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--dourado);margin-bottom:24px}
.fx-tag::before,.fx-tag::after{content:'';display:inline-block;width:36px;height:1px;background:var(--dourado);opacity:.5}
.fx-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.6vw,72px);line-height:1.05;color:var(--marfim);letter-spacing:-.02em;margin:0;max-width:880px;margin-left:auto;margin-right:auto}
.fx-head h2 em{font-style:italic;color:var(--dourado)}

/* Lista */
.fx-list{max-width:820px;margin:0 auto}
.fx-item{border-bottom:1px solid rgba(206,157,98,.18);overflow:hidden;transition:border-color .35s var(--fx-ease-out)}
.fx-item:first-child{border-top:1px solid rgba(206,157,98,.18)}
.fx-item.is-open{border-bottom-color:rgba(206,157,98,.5)}

.fx-question{display:flex;align-items:center;justify-content:space-between;padding:26px 0;cursor:pointer;font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.6vw,21px);color:var(--marfim);transition:color .35s var(--fx-ease-out);user-select:none;line-height:1.35;letter-spacing:-.005em;gap:24px;background:none;border:none;width:100%;text-align:left}
.fx-question:hover{color:var(--dourado)}
.fx-item.is-open .fx-question{color:var(--dourado)}

.fx-toggle{position:relative;width:36px;height:36px;border:1px solid rgba(206,157,98,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .5s var(--fx-ease-spring),border-color .35s var(--fx-ease-out),background .35s var(--fx-ease-out);flex-shrink:0}
.fx-toggle::before,.fx-toggle::after{content:'';position:absolute;background:var(--dourado);transition:transform .4s var(--fx-ease-out)}
.fx-toggle::before{width:14px;height:1px}
.fx-toggle::after{width:1px;height:14px}
.fx-item.is-open .fx-toggle{transform:rotate(135deg);border-color:var(--dourado);background:rgba(206,157,98,.08)}

.fx-answer{max-height:0;overflow:hidden;transition:max-height .55s var(--fx-ease-out),padding .55s var(--fx-ease-out)}
.fx-item.is-open .fx-answer{max-height:600px;padding:0 0 28px}
.fx-answer p{font-family:var(--serif);font-style:italic;color:rgba(232,230,223,.7);font-size:15px;line-height:1.65;max-width:720px;padding-right:60px;margin:0}

@media(max-width:640px){
  .fx-section{padding:80px 16px 100px}
  .fx-head{margin-bottom:48px}
  .fx-head h2{font-size:clamp(30px,8vw,46px)}
  .fx-question{font-size:16px;padding:22px 0;gap:14px}
  .fx-toggle{width:32px;height:32px}
  .fx-answer p{padding-right:0;font-size:14px}
  .fx-item.is-open .fx-answer{max-height:780px}
}

@media(prefers-reduced-motion:reduce){
  .fx-toggle,.fx-answer,.fx-item,.fx-question{transition:none}
}
