/* Central de ajuda pública, sem dependência de JavaScript. */
.caarn-hub-faq {
	--caarn-hub-faq-blue: #233041;
	--caarn-hub-faq-red: #de3d3a;
	--caarn-hub-faq-border: #dce4ec;
	--caarn-hub-faq-muted: #5e6f81;
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	width: min(100%, 62rem);
	margin: clamp(1.25rem, 4vw, 3rem) auto;
	color: var(--caarn-hub-faq-blue);
	font: inherit;
	line-height: 1.55;
}
.caarn-hub-faq *, .caarn-hub-faq *::before, .caarn-hub-faq *::after { box-sizing: border-box; }
.caarn-hub-faq h1, .caarn-hub-faq h2, .caarn-hub-faq h3, .caarn-hub-faq p, .caarn-hub-faq ol { margin: 0; }
.caarn-hub-faq__hero, .caarn-hub-faq__group, .caarn-hub-faq__support { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--caarn-hub-faq-border); border-radius: 1.25rem; background: #fff; box-shadow: 0 .5rem 2rem rgb(35 48 65 / 6%); }
.caarn-hub-faq__hero { display: grid; gap: 1rem; background: linear-gradient(145deg, #233041, #1a2532); color: #fff; }
.caarn-hub-faq__hero h1 { max-width: 18ch; color: #fff; font-size: clamp(1.85rem, 6vw, 3rem); line-height: 1.1; }
.caarn-hub-faq__hero > p:not(.caarn-hub-faq__eyebrow) { max-width: 58ch; color: rgb(255 255 255 / 88%); font-size: 1.05rem; }
.caarn-hub-faq__eyebrow { color: var(--caarn-hub-faq-red); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.caarn-hub-faq__hero .caarn-hub-faq__eyebrow { color: #fff; }
.caarn-hub-faq__hero .caarn-hub-faq__eyebrow::after { display: block; width: 3rem; height: .25rem; margin-top: .55rem; border-radius: 999px; background: var(--caarn-hub-faq-red); content: ""; }
.caarn-hub-faq__hero-actions, .caarn-hub-faq__support-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }
.caarn-hub-faq__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--caarn-hub-faq-red); border-radius: .625rem; background: var(--caarn-hub-faq-red); color: #fff; font-size: .9375rem; font-weight: 700; text-align: center; text-decoration: none; }
.caarn-hub-faq__button:hover, .caarn-hub-faq__button:focus-visible { border-color: #ba2d2b; background: #ba2d2b; color: #fff; }
.caarn-hub-faq__button--secondary { border-color: currentColor; background: #fff; color: var(--caarn-hub-faq-blue); }
.caarn-hub-faq__button--secondary:hover, .caarn-hub-faq__button--secondary:focus-visible { border-color: #fff; background: #eef2f6; color: var(--caarn-hub-faq-blue); }
.caarn-hub-faq__nav { display: flex; gap: .625rem; overflow-x: auto; padding: .25rem 0 .5rem; scrollbar-width: thin; }
.caarn-hub-faq__nav a { flex: 0 0 auto; min-height: 44px; padding: .65rem .85rem; border: 1px solid var(--caarn-hub-faq-border); border-radius: 999px; background: #fff; color: var(--caarn-hub-faq-blue); font-size: .875rem; font-weight: 700; text-decoration: none; }
.caarn-hub-faq__nav a:hover, .caarn-hub-faq__nav a:focus-visible { border-color: var(--caarn-hub-faq-red); color: #9e2926; }
.caarn-hub-faq__group { display: grid; gap: 1rem; scroll-margin-top: 1rem; }
.caarn-hub-faq__group-heading { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .875rem; align-items: start; }
.caarn-hub-faq__group-heading > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #fdf0ef; color: #a42c29; font-weight: 800; }
.caarn-hub-faq__group h2 { color: var(--caarn-hub-faq-blue); font-size: clamp(1.25rem, 4vw, 1.55rem); line-height: 1.25; }
.caarn-hub-faq__group-heading p { margin-top: .2rem; color: var(--caarn-hub-faq-muted); font-size: .9375rem; }
.caarn-hub-faq details { border: 1px solid var(--caarn-hub-faq-border); border-radius: .875rem; background: #fff; overflow: hidden; }
.caarn-hub-faq summary { display: flex; align-items: center; min-height: 56px; padding: .9rem 3.25rem .9rem 1rem; color: var(--caarn-hub-faq-blue); font-size: 1rem; font-weight: 750; cursor: pointer; list-style: none; position: relative; }
.caarn-hub-faq summary::-webkit-details-marker { display: none; }
.caarn-hub-faq summary::after { position: absolute; right: 1rem; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #eef2f5; color: var(--caarn-hub-faq-blue); content: "+"; font-size: 1.25rem; line-height: 1; }
.caarn-hub-faq details[open] summary { border-bottom: 1px solid var(--caarn-hub-faq-border); background: #f8fafc; }
.caarn-hub-faq details[open] summary::after { content: "−"; }
.caarn-hub-faq summary:hover { background: #f8fafc; }
.caarn-hub-faq summary:focus-visible, .caarn-hub-faq a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }
.caarn-hub-faq__answer { display: grid; gap: .85rem; padding: 1rem; color: #344456; }
.caarn-hub-faq__answer ol { display: grid; gap: .55rem; padding-left: 1.35rem; }
.caarn-hub-faq__answer li::marker { color: var(--caarn-hub-faq-red); font-weight: 800; }
.caarn-hub-faq__support { display: grid; gap: 1.25rem; border-color: #f0c8c5; background: #fff7f6; }
.caarn-hub-faq__support h2 { margin-top: .4rem; font-size: clamp(1.3rem, 4vw, 1.8rem); line-height: 1.25; }
.caarn-hub-faq__support > div:first-child > p:last-child { margin-top: .75rem; color: #4c5a6a; }
@media (max-width: 38rem) {
	.caarn-hub-faq { gap: 1rem; margin-inline: -.25rem; }
	.caarn-hub-faq__hero, .caarn-hub-faq__group, .caarn-hub-faq__support { padding: 1.125rem .9rem; border-radius: 1rem; }
	.caarn-hub-faq__hero-actions, .caarn-hub-faq__support-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
	.caarn-hub-faq__button { width: 100%; }
	.caarn-hub-faq summary { min-height: 60px; padding-left: .9rem; font-size: .9375rem; }
	.caarn-hub-faq__answer { padding: .9rem; font-size: .9375rem; }
}
@media (prefers-reduced-motion: reduce) {
	.caarn-hub-faq *, .caarn-hub-faq *::before, .caarn-hub-faq *::after { scroll-behavior: auto !important; transition: none !important; }
}
