@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

:root {
  --fl-ink: #163c3a;
  --fl-deep: #0e2f2d;
  --fl-sage: #b7c9b9;
  --fl-mint: #e7eee7;
  --fl-cream: #f7f3e9;
  --fl-paper: #fbfaf5;
  --fl-coral: #f07a5b;
  --fl-muted: #667976;
  --fl-line: rgba(22,60,58,.18);
}

html { scroll-behavior: smooth; }
body.fl-legacy-page { margin: 0; background: var(--fl-paper) !important; color: var(--fl-deep) !important; font-family: Manrope, Inter, Arial, sans-serif !important; -webkit-font-smoothing: antialiased; }
body.fl-legacy-page h1,
body.fl-legacy-page h2,
body.fl-legacy-page h3 { color: var(--fl-deep); font-family: Newsreader, Georgia, serif !important; letter-spacing: -.025em; }
body.fl-legacy-page p { color: var(--fl-muted); line-height: 1.7; }
body.fl-legacy-page strong { color: inherit; }
body.fl-legacy-page a { transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }

.fl-resource-bar { min-height: 78px; padding: 10px clamp(18px,5vw,72px); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: rgba(14,47,45,.97); color: white; position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 0 rgba(255,255,255,.12); backdrop-filter: blur(16px); }
.fl-resource-brand { display: flex; align-items: center; gap: 12px; color: white !important; text-decoration: none !important; font-weight: 800; white-space: nowrap; }
.fl-resource-brand > span:last-child { display: flex; flex-direction: column; font-size: 14px; line-height: 1.1; }
.fl-resource-brand > span:last-child::after { content: 'IISCA · SBT · ABA'; margin-top: 5px; color: #9eb2ae; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.fl-resource-mark { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: grid; place-items: center; font-family: Newsreader, Georgia, serif; font-size: 17px; }
.fl-resource-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px,1.5vw,22px); }
.fl-resource-nav > a,
.fl-menu summary { color: #e6efed !important; text-decoration: none !important; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.fl-resource-nav > a:hover,
.fl-menu summary:hover { color: #f5ac96 !important; }
.fl-menu { position: relative; }
.fl-menu summary { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; }
.fl-menu summary::-webkit-details-marker { display: none; }
.fl-menu summary::after { content: '⌄'; color: var(--fl-coral); font-size: 13px; }
.fl-menu-panel { width: 285px; padding: 9px; position: absolute; right: 0; top: 28px; border: 1px solid rgba(255,255,255,.12); background: var(--fl-paper); box-shadow: 0 20px 50px rgba(0,0,0,.26); }
.fl-menu-panel a { padding: 12px 13px; border-bottom: 1px solid var(--fl-line); display: block; color: var(--fl-deep) !important; font-family: Newsreader, Georgia, serif; font-size: 17px; font-weight: 600; text-decoration: none !important; }
.fl-menu-panel a:last-child { border: 0; }
.fl-menu-panel a:hover { background: var(--fl-mint); }

body.fl-legacy-page button,
body.fl-legacy-page .btn-primary,
body.fl-legacy-page .btn-brand,
body.fl-legacy-page a.btn-primary,
body.fl-legacy-page a.btn-brand,
body.fl-legacy-page button[type="submit"] { border-radius: 999px !important; background: var(--fl-ink) !important; color: white !important; border-color: var(--fl-ink) !important; font-weight: 800 !important; box-shadow: none !important; }
body.fl-legacy-page .btn-primary:hover,
body.fl-legacy-page .btn-brand:hover,
body.fl-legacy-page a.btn-primary:hover,
body.fl-legacy-page a.btn-brand:hover,
body.fl-legacy-page button[type="submit"]:hover { background: var(--fl-coral) !important; border-color: var(--fl-coral) !important; transform: translateY(-1px); }
body.fl-legacy-page input,
body.fl-legacy-page textarea,
body.fl-legacy-page select { border-color: var(--fl-line) !important; border-radius: 10px !important; background: white !important; }
body.fl-legacy-page input:focus,
body.fl-legacy-page textarea:focus,
body.fl-legacy-page select:focus { border-color: var(--fl-coral) !important; box-shadow: 0 0 0 3px rgba(240,122,91,.16) !important; }

body.fl-legacy-page .text-custom-dark,
body.fl-legacy-page .text-custom-green-dark,
body.fl-legacy-page .text-teal-700,
body.fl-legacy-page .text-teal-800 { color: var(--fl-ink) !important; }
body.fl-legacy-page .text-teal-400,
body.fl-legacy-page .text-teal-500,
body.fl-legacy-page .text-teal-600,
body.fl-legacy-page .text-emerald-400,
body.fl-legacy-page .text-emerald-500,
body.fl-legacy-page .text-emerald-600,
body.fl-legacy-page .text-green-500,
body.fl-legacy-page .text-green-600 { color: var(--fl-coral) !important; }
body.fl-legacy-page .text-gray-900,
body.fl-legacy-page .text-gray-800,
body.fl-legacy-page .text-slate-900,
body.fl-legacy-page .text-slate-800 { color: var(--fl-deep) !important; }
body.fl-legacy-page .text-gray-700,
body.fl-legacy-page .text-gray-600,
body.fl-legacy-page .text-gray-500,
body.fl-legacy-page .text-slate-700,
body.fl-legacy-page .text-slate-600,
body.fl-legacy-page .text-slate-500 { color: var(--fl-muted) !important; }
body.fl-legacy-page .bg-custom-green,
body.fl-legacy-page .bg-teal-50,
body.fl-legacy-page .bg-green-50,
body.fl-legacy-page .bg-gray-50,
body.fl-legacy-page .bg-gray-100 { background: var(--fl-cream) !important; }
body.fl-legacy-page .bg-white { background: var(--fl-paper) !important; }
body.fl-legacy-page .bg-custom-green-dark,
body.fl-legacy-page .bg-teal-700,
body.fl-legacy-page .bg-teal-800 { background: var(--fl-deep) !important; color: white !important; }
body.fl-legacy-page .bg-teal-500,
body.fl-legacy-page .bg-teal-600,
body.fl-legacy-page .bg-emerald-500,
body.fl-legacy-page .bg-emerald-600,
body.fl-legacy-page .bg-green-500,
body.fl-legacy-page .bg-green-600 { background: var(--fl-ink) !important; color: white !important; }
body.fl-legacy-page .border-teal-400,
body.fl-legacy-page .border-teal-500,
body.fl-legacy-page .border-teal-600,
body.fl-legacy-page .border-emerald-500,
body.fl-legacy-page .border-emerald-600 { border-color: var(--fl-coral) !important; }
body.fl-legacy-page .feature-icon { background: var(--fl-mint) !important; color: var(--fl-coral) !important; }
body.fl-legacy-page .card-module,
body.fl-legacy-page [class*="bg-white"][class*="border"] { border-color: var(--fl-line) !important; border-left-color: var(--fl-coral) !important; border-radius: 2px !important; box-shadow: none !important; }
body.fl-legacy-page .border,
body.fl-legacy-page [class*="border-gray"],
body.fl-legacy-page [class*="border-slate"] { border-color: var(--fl-line) !important; }

/* Ferramentas clínicas: mesmos princípios de cor, tipo e superfície do site principal. */
body.fl-tool-page > header:not(.fl-resource-bar),
body.fl-legacy-page > header:not(.fl-resource-bar) { background: var(--fl-coral) !important; color: white !important; box-shadow: none !important; border: 0 !important; }
body.fl-tool-page > header:not(.fl-resource-bar) h1,
body.fl-tool-page > header:not(.fl-resource-bar) h2,
body.fl-tool-page > header:not(.fl-resource-bar) p,
body.fl-tool-page > header:not(.fl-resource-bar) a,
body.fl-legacy-page > header:not(.fl-resource-bar) h1,
body.fl-legacy-page > header:not(.fl-resource-bar) p,
body.fl-legacy-page > header:not(.fl-resource-bar) a { color: white !important; }
body.fl-tool-page main { background: radial-gradient(circle at 8% 0, rgba(183,201,185,.38), transparent 25%), var(--fl-paper) !important; }
body.fl-tool-page main > section,
body.fl-tool-page main > div { border-color: var(--fl-line) !important; }
body.fl-tool-page main h1 { font-size: clamp(38px,5vw,64px) !important; font-weight: 500 !important; line-height: 1 !important; }
body.fl-tool-page main h2 { font-size: clamp(28px,3.2vw,44px) !important; font-weight: 500 !important; }
body.fl-tool-page form,
body.fl-tool-page .container > .bg-white,
body.fl-tool-page .max-w-4xl > .bg-white,
body.fl-tool-page .max-w-5xl > .bg-white { border: 1px solid var(--fl-line) !important; border-radius: 2px !important; background: rgba(251,250,245,.96) !important; box-shadow: none !important; }
body.fl-tool-page label { color: var(--fl-deep) !important; font-weight: 700 !important; }
body.fl-tool-page input,
body.fl-tool-page textarea,
body.fl-tool-page select { color: var(--fl-deep) !important; }

/* Um único botão de contato, idêntico ao da página inicial. */
body.fl-legacy-page a.fixed[href*="wa.me"] { display: none !important; }
.fl-floating-whatsapp { position: fixed; z-index: 120; right: 20px; bottom: 20px; padding: 12px 16px; border-radius: 100px; display: inline-flex; align-items: center; background: var(--fl-coral); color: white !important; box-shadow: 0 14px 38px rgba(14,47,45,.24); font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-decoration: none !important; text-transform: uppercase; }
.fl-floating-whatsapp span { margin-right: 7px; }
.fl-floating-whatsapp:hover { background: var(--fl-deep); transform: translateY(-2px); }

/* Páginas de cursos: mesma identidade visual, mantendo capas e conteúdo originais. */
body.fl-course-page > header:not(.fl-resource-bar) { background: var(--fl-coral) !important; color: white !important; box-shadow: none !important; }
body.fl-course-page > header:not(.fl-resource-bar) a,
body.fl-course-page > header:not(.fl-resource-bar) p { color: white !important; }
body.fl-course-page main > section:first-child { background: radial-gradient(circle at 10% 5%, rgba(183,201,185,.55), transparent 32%), var(--fl-cream) !important; padding-top: clamp(44px,6vw,84px) !important; }
body.fl-course-page main > section:first-child img { width: min(100%, 1120px) !important; margin-inline: auto !important; border: 0 !important; border-radius: 2px !important; box-shadow: 22px 22px 0 var(--fl-sage) !important; }
body.fl-course-page main > section:first-child h1 { max-width: 980px !important; margin-inline: auto !important; font-size: clamp(44px,5.8vw,78px) !important; font-weight: 500 !important; line-height: .98 !important; }
body.fl-course-page main > section:first-child p { color: var(--fl-muted) !important; }
body.fl-course-page main > section { padding-top: clamp(68px,7vw,104px) !important; padding-bottom: clamp(68px,7vw,104px) !important; }
body.fl-course-page main > section:nth-child(even) { background: var(--fl-paper) !important; }
body.fl-course-page main > section:nth-child(odd):not(:first-child) { background: var(--fl-cream) !important; }
body.fl-course-page main > section h2 { font-size: clamp(34px,4vw,54px) !important; font-weight: 500 !important; line-height: 1.02 !important; }
body.fl-course-page main > section [class*="rounded-xl"],
body.fl-course-page main > section [class*="rounded-lg"] { border-radius: 2px !important; }
body.fl-course-page main > section h3 { color: var(--fl-ink) !important; font-family: Newsreader, Georgia, serif !important; font-weight: 600 !important; }
body.fl-course-page main > section p,
body.fl-course-page main > section li { color: var(--fl-muted) !important; }
body.fl-course-page main > section [class*="text-white"],
body.fl-course-page #inscrever p,
body.fl-course-page #inscrever h3 { color: white !important; }
body.fl-course-page #inscrever,
body.fl-course-page main > section.bg-custom-green-dark { background: var(--fl-deep) !important; }
body.fl-course-page #inscrever h2,
body.fl-course-page main > section.bg-custom-green-dark h2 { color: white !important; }
body.fl-course-page footer { background: #082321 !important; color: white !important; }

@media (max-width: 900px) {
  .fl-resource-bar { align-items: flex-start; }
  .fl-resource-nav { gap: 10px 14px; flex-wrap: wrap; }
  .fl-resource-nav > a, .fl-menu summary { font-size: 9px; }
}

@media (max-width: 660px) {
  .fl-resource-bar { display: block; position: relative; }
  .fl-resource-brand { margin-bottom: 14px; }
  .fl-resource-nav { justify-content: flex-start; }
  .fl-menu-panel { left: 0; right: auto; max-width: calc(100vw - 36px); }
  body.fl-course-page main > section:first-child img { box-shadow: 10px 10px 0 var(--fl-sage) !important; }
  .fl-floating-whatsapp { right: 14px; bottom: 14px; }
}
