/* Pedra FAQ: scoped styles so the public template cannot override section spacing. */
main.pd-faq { --f-bg:#f5f8fa; --f-surface:#fff; --f-ink:#173848; --f-muted:#667d88; --f-line:#dae7eb; --f-primary:#087b81; --f-soft:#e8f5f2; --f-gold:#f3c58a; --f-shadow:0 20px 50px #163d4c12; background:var(--f-bg); color:var(--f-ink); min-height:75vh; padding:28px 0 75px; }
main.pd-faq *, main.pd-faq *::before, main.pd-faq *::after { box-sizing:border-box; }
main.pd-faq .pd-faq-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.pd-faq-breadcrumb { display:flex; gap:10px; align-items:center; color:var(--f-muted); font-size:.88rem; margin-bottom:22px; }
.pd-faq-breadcrumb a { color:inherit; text-decoration:none; }.pd-faq-breadcrumb a:hover { color:var(--f-primary); }
main.pd-faq section.pd-faq-hero { position:relative; display:grid; grid-template-columns:1.3fr .7fr; min-height:310px; align-items:center; overflow:hidden; padding:clamp(28px,5vw,66px); border-radius:28px; background:linear-gradient(120deg,#153e54,#0b7174); color:#fff; box-shadow:var(--f-shadow); }
.pd-faq-hero-content { position:relative; z-index:1; }.pd-faq-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#c4e9df; font-weight:750; font-size:.88rem; }
main.pd-faq .pd-faq-hero h1 { color:#fff; font-weight:900; font-size:clamp(2rem,4vw,3.3rem); line-height:1.5; margin:10px 0; }
.pd-faq-hero h1 em { color:var(--f-gold); font-style:normal; }.pd-faq-hero p { max-width:610px; color:#deedef; line-height:1.9; margin:0 0 19px; }
.pd-faq-hero-link { display:inline-flex; align-items:center; gap:10px; padding:11px 17px; border-radius:11px; background:var(--f-gold); color:#173848; font-weight:800; text-decoration:none; }.pd-faq-hero-link:hover { color:#173848; background:#f9d9ae; }
.pd-faq-hero-art { position:relative; display:grid; place-items:center; min-height:210px; }.pd-faq-hero-art span { display:grid; place-items:center; width:168px; height:168px; border:1px solid #ffffff5c; border-radius:36px; background:#ffffff20; box-shadow:0 0 0 36px #ffffff0c,0 0 0 79px #ffffff08; color:white; font-size:7rem; line-height:1; transform:rotate(-11deg); }.pd-faq-hero-art i { position:absolute; bottom:0; right:16%; font-size:1.7rem; color:var(--f-gold); }
main.pd-faq section.pd-faq-library { padding:clamp(22px,3vw,38px); margin-top:30px; background:var(--f-surface); border:1px solid var(--f-line); border-radius:24px; box-shadow:var(--f-shadow); }
.pd-faq-library-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }.pd-faq-overline { color:var(--f-primary); font-size:.83rem; font-weight:800; }
main.pd-faq .pd-faq-library h2 { color:var(--f-ink); font-size:clamp(1.5rem,2.2vw,2rem); font-weight:850; margin:7px 0; }.pd-faq-library-heading p { color:var(--f-muted); margin:0; line-height:1.8; }.pd-faq-total { white-space:nowrap; color:var(--f-primary); background:var(--f-soft); border-radius:100px; padding:9px 15px; font-weight:800; }
.pd-faq-search { margin:25px 0 19px; }.pd-faq-search>label { display:block; margin-bottom:8px; font-size:.87rem; font-weight:800; }
.pd-faq-search-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(170px,1fr) auto; gap:11px; align-items:center; }.pd-faq-query-wrap { display:flex; align-items:center; gap:11px; height:49px; padding:0 15px; border:1px solid var(--f-line); border-radius:12px; color:var(--f-primary); }.pd-faq-query-wrap:focus-within { outline:3px solid #07888a2b; border-color:var(--f-primary); }.pd-faq-query-wrap input { width:100%; height:100%; border:0; outline:0; background:transparent; color:var(--f-ink); }
.pd-faq-select-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }.pd-faq-search select { width:100%; height:49px; padding:0 13px; border:1px solid var(--f-line); border-radius:12px; color:var(--f-ink); background:var(--f-surface); }.pd-faq-submit { height:49px; padding:0 23px; border:0; border-radius:12px; color:white; background:var(--f-primary); font-weight:800; cursor:pointer; }
.pd-faq-categories { display:flex; align-items:center; gap:8px; overflow-x:auto; padding:0 0 11px; scrollbar-width:thin; }.pd-faq-categories a { flex:none; padding:8px 13px; border:1px solid var(--f-line); border-radius:100px; color:var(--f-ink); text-decoration:none; font-size:.84rem; font-weight:720; }.pd-faq-categories a:hover,.pd-faq-categories a[aria-current="true"] { background:var(--f-soft); color:var(--f-primary); border-color:var(--f-primary); }.pd-faq-categories small { color:var(--f-muted); margin-inline-start:4px; }
.pd-faq-filter-state { display:flex; gap:15px; justify-content:space-between; align-items:center; border-bottom:1px solid var(--f-line); padding:10px 0 15px; color:var(--f-muted); font-size:.86rem; }.pd-faq-filter-state a { color:var(--f-primary); font-weight:800; }
.pd-faq-questions { display:grid; gap:12px; margin-top:18px; }.pd-faq-item { border:1px solid var(--f-line); border-radius:16px; background:var(--f-surface); overflow:hidden; }.pd-faq-details summary { display:flex; align-items:center; gap:16px; min-height:84px; padding:16px 20px; cursor:pointer; list-style:none; }.pd-faq-details summary::-webkit-details-marker { display:none; }.pd-faq-details[open] summary { background:var(--f-soft); }.pd-faq-icon { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; background:var(--f-soft); color:var(--f-primary); }.pd-faq-question-content { display:grid; gap:5px; min-width:0; flex:1; }.pd-faq-question-content small { color:var(--f-primary); font-weight:750; }.pd-faq-question-content strong { color:var(--f-ink); font-size:1rem; line-height:1.8; font-weight:800; }.pd-faq-toggle { display:grid; place-items:center; flex:none; width:28px; height:28px; color:var(--f-primary); }.pd-faq-details[open] .pd-faq-toggle { transform:rotate(45deg); }
.pd-faq-answer { padding:18px 22px 22px; border-top:1px solid var(--f-line); }.pd-faq-answer-text { color:var(--f-muted); line-height:2; overflow-wrap:anywhere; }.pd-faq-answer-text img,.pd-faq-answer-text video { max-width:100%; height:auto; }.pd-faq-answer-text iframe { max-width:100%; }.pd-faq-answer-text a { color:var(--f-primary); }.pd-faq-answer-text p { margin:0 0 1em; }.pd-faq-answer-text ul,.pd-faq-answer-text ol { padding-inline-start:24px; }.pd-faq-help-link { display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border-radius:10px; color:var(--f-primary); background:var(--f-soft); text-decoration:none; font-weight:750; }.pd-faq-copy { display:block; margin-top:17px; border:0; padding:5px 0; background:none; color:var(--f-muted); cursor:pointer; font-size:.83rem; }
.pd-faq-empty { text-align:center; padding:55px 20px; color:var(--f-muted); }.pd-faq-empty i { font-size:2.4rem; color:var(--f-primary); }.pd-faq-empty h3 { color:var(--f-ink); }.pd-faq-empty a { color:var(--f-primary); font-weight:800; }
.pd-faq-pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:25px; color:var(--f-muted); }.pd-faq-pages { display:flex; flex-wrap:wrap; gap:7px; }.pd-faq-pages a { padding:7px 11px; min-width:38px; border:1px solid var(--f-line); border-radius:9px; color:var(--f-ink); text-align:center; text-decoration:none; }.pd-faq-pages a:hover,.pd-faq-pages a[aria-current="page"] { background:var(--f-primary); border-color:var(--f-primary); color:white; }
.pd-faq-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:23px; padding:22px 27px; border-radius:18px; background:var(--f-soft); }.pd-faq-contact strong { color:var(--f-ink); font-size:1.05rem; }.pd-faq-contact p { margin:5px 0 0; color:var(--f-muted); }.pd-faq-contact a { display:inline-flex; gap:8px; align-items:center; flex:none; color:var(--f-primary); font-weight:850; }
main.pd-faq a:focus-visible,main.pd-faq button:focus-visible,main.pd-faq summary:focus-visible,main.pd-faq select:focus-visible { outline:3px solid #dfaa6b; outline-offset:3px; }
[data-bs-theme="dark"] main.pd-faq,.dark main.pd-faq,.dark-mode main.pd-faq { --f-bg:#0d1d27; --f-surface:#172d39; --f-ink:#e8f3f4; --f-muted:#b1c7ce; --f-line:#304952; --f-primary:#7ad7cc; --f-soft:#1a4044; --f-shadow:0 20px 50px #0004; }
@media(max-width:850px) { main.pd-faq section.pd-faq-hero { grid-template-columns:1fr .5fr; }.pd-faq-search-row { grid-template-columns:1fr 1fr; }.pd-faq-query-wrap { grid-column:1/-1; } }
@media(max-width:600px) { main.pd-faq { padding:20px 0 55px; }main.pd-faq .pd-faq-shell { width:calc(100% - 24px); }main.pd-faq section.pd-faq-hero { grid-template-columns:1fr; padding:27px 22px; }.pd-faq-hero-art { min-height:115px; }.pd-faq-hero-art span { width:82px; height:82px; border-radius:21px; font-size:3.5rem; }main.pd-faq section.pd-faq-library { padding:21px 17px; }.pd-faq-search-row { grid-template-columns:1fr; }.pd-faq-query-wrap { grid-column:auto; }.pd-faq-library-heading { align-items:start; }.pd-faq-total { font-size:.8rem; }.pd-faq-details summary { padding:13px; gap:10px; }.pd-faq-answer { padding:16px; }.pd-faq-pagination,.pd-faq-contact { justify-content:center; text-align:center; }.pd-faq-contact { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { main.pd-faq * { scroll-behavior:auto!important; transition:none!important; } }

/* Keep rich answers comfortably inside their cards under the shared template. */
main.pd-faq .pd-faq-details > .pd-faq-answer {
  padding: 26px clamp(28px, 3vw, 42px) 28px;
}
main.pd-faq .pd-faq-answer .pd-faq-answer-text {
  max-width: 100%;
  padding-inline: 4px;
  overflow-wrap: anywhere;
  line-height: 2.15;
}
main.pd-faq .pd-faq-answer-text p,
main.pd-faq .pd-faq-answer-text li,
main.pd-faq .pd-faq-answer-text div {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  main.pd-faq .pd-faq-details > .pd-faq-answer { padding: 20px; }
}