/* ============================================================
   MEDFOCO · BULÁRIO — FOLHA DE ESTILO ÚNICA
   wp-content/themes/medfoco-child/bulario/bulario.css

   Este arquivo é COMPARTILHADO por todas as bulas do site.
   Nunca duplique nem edite uma cópia por medicação — qualquer
   ajuste visual feito aqui vale para todos os artigos de uma vez.

   Tudo é escopado pela classe .mfb-bula (o wrapper de cada bula)
   e .mfb-bula-modal (o popup, que vive fora do wrapper porque é
   movido para <body> em runtime). Como o escopo é por CLASSE, e
   não por ID, múltiplas bulas podem conviver na mesma página sem
   qualquer conflito entre si — cada uma tem seu próprio elemento
   raiz com um ID único gerado pelo PHP, mas todas compartilham
   estas mesmas regras.

   Identidade cromática fixa (não mude sem atualizar TODOS os
   artigos já publicados):
     Visão geral ....... azul      --ov
     Apresentações ..... violeta   --ap
     Posologia ......... verde     --po
     Administração ..... teal      --ad
     Cuidados .......... âmbar     --cu
     Técnico ........... índigo    --te
     Referências ....... grafite   --re
============================================================ */


/* ============================================================
   TOKENS
============================================================ */

.mfb-bula{
  /* Áreas — forte (fundo c/ texto branco) / profundo (texto) / suave (fundo claro) */
  --ov:#3d7ba8;   --ov-d:#2a5a7d;  --ov-s:#eaf2f8;
  --ap:#7a63a8;   --ap-d:#574780;  --ap-s:#f2eff8;
  --po:#388265;   --po-d:#2c6a51;  --po-s:#eaf5f0;
  --ad:#337d86;   --ad-d:#29666e;  --ad-s:#eaf4f6;
  --cu:#96692c;   --cu-d:#7a5423;  --cu-s:#faf2e6;
  --te:#5a6a9e;   --te-d:#414e78;  --te-s:#eef0f7;
  --re:#5f6b74;   --re-d:#454f56;  --re-s:#f1f3f5;

  --dg:#b5544a;   --dg-d:#8a3d35;  --dg-s:#fbeeec;
  --ok:#388265;   --ok-s:#eaf5f0;

  /* Neutros — texto praticamente preto para leitura confortável */
  --ink:#0f1720;
  --ink-2:#25313a;
  --ink-3:#44515c;
  --ink-4:#6b7780;
  --line:#dfe5ea;
  --line-2:#eceff2;
  --paper:#ffffff;
  --wash:#f5f7f9;

  --r-lg:24px;
  --r-md:16px;
  --r-sm:11px;

  --sh-1:0 1px 2px rgba(18,34,46,.05), 0 6px 18px rgba(18,34,46,.05);
  --sh-2:0 10px 34px rgba(18,34,46,.11);

  /* Área ativa — sobrescrita por painel */
  --a:var(--ov);
  --accent:#08a9b8;
  --accent-d:#04708a;
  --accent-soft:#9eeaf0;
  --ink-hero:#0f2540;
  --a-d:var(--ov-d);
  --a-s:var(--ov-s);

  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15.5px;
  line-height:1.62;
  color:var(--ink);
  width:100%;
  -webkit-font-smoothing:antialiased;
}

.mfb-bula *,
.mfb-bula *::before,
.mfb-bula *::after{ box-sizing:border-box; }

.mfb-bula h1,.mfb-bula h2,.mfb-bula h3,
.mfb-bula h4,.mfb-bula p,.mfb-bula ul{ margin-top:0; }

/* blindagem contra estilos globais de botão do Astra/Elementor */
.mfb-bula button{
  font:inherit; color:inherit;
  text-transform:none; letter-spacing:normal;
  box-shadow:none; text-decoration:none;
}

.mfb-bula .mfb-ic{ display:inline-flex; }
.mfb-bula .mfb-ic svg,
.mfb-bula-modal .mfb-ic svg{ width:1em; height:1em; display:block; }

.mfb-bula :focus-visible{
  outline:2.5px solid var(--a);
  outline-offset:2px;
  border-radius:6px;
}

.mfb-bula .mfb-ic{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;line-height:1;}
.mfb-bula .mfb-ic svg{display:block;width:1em;height:1em;}


/* ============================================================
   BREADCRUMB
============================================================ */

.mfb-bula .mfb-crumbs{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin:0 0 16px;
  font-size:14px; font-weight:600; color:var(--ink-4);
}
.mfb-bula .mfb-crumbs a{
  color:var(--ink-3); text-decoration:none; transition:color .16s;
}
.mfb-bula .mfb-crumbs a:hover{ color:var(--ov); }
.mfb-bula .mfb-crumbs i{ font-size:11px; color:#93a0a9; }
.mfb-bula .mfb-crumbs .mfb-crumb-now{
  color:var(--ink-4);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:520px;
}


/* ============================================================
   HERO
============================================================ */

.mfb-bula .mfb-hero{
  position:relative; overflow:hidden;
  padding:44px 46px;
  border-radius:var(--r-lg);
  color:#fff;
  background:
    radial-gradient(circle at 15% 20%, rgba(8,169,184,.18), transparent 36%),
    linear-gradient(135deg,#0f2540,#0d1b2e);
  box-shadow:0 14px 40px rgba(22,32,51,.12);
}
/* halo de acento no canto — assinatura do hero antigo */
.mfb-bula .mfb-hero::after{
  content:""; position:absolute; right:-70px; top:-80px;
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(8,169,184,.28), transparent 68%);
  pointer-events:none;
}

/* marca d'água de identidade do bulário */
.mfb-bula .mfb-hero-mark{
  position:absolute; right:-18px; bottom:-46px;
  font-size:210px; line-height:1;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}
/* Variante de palavra: 'watermark' costuma trazer o nome do fármaco
   ('MIDAZOLAM'), não um ícone. Em 210px uma palavra estouraria o
   hero, então a versão em texto tem escala e tracking próprios. */
.mfb-bula .mfb-hero-mark.is-word{
  right:-10px; bottom:-14px;
  font-size:clamp(52px,8vw,104px);
  font-weight:900; letter-spacing:-.04em;
  text-transform:uppercase; white-space:nowrap;
  color:rgba(255,255,255,.05);
}

.mfb-bula .mfb-hero-in{ position:relative; z-index:2; max-width:940px; }

.mfb-bula .mfb-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 14px; margin-bottom:18px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  border-radius:999px;
  font-size:13px; font-weight:700; letter-spacing:.02em;
}
.mfb-bula .mfb-eyebrow i{ font-size:14px; color:var(--accent-soft); }

.mfb-bula .mfb-hero h1{
  margin-bottom:16px;
  color:#fff;
  font-size:clamp(26px,3.1vw,38px);
  line-height:1.1;
  letter-spacing:-.028em;
  font-weight:800;
}

.mfb-bula .mfb-hero-sub{
  max-width:820px; margin-bottom:26px;
  color:rgba(255,255,255,.82);
  font-size:16px; line-height:1.6;
}

.mfb-bula .mfb-hero-tags{ display:flex; flex-wrap:wrap; gap:9px; }

.mfb-bula .mfb-hero-tag{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.09);
  font-size:13px; font-weight:650; color:rgba(255,255,255,.94);
}
.mfb-bula .mfb-hero-tag i{ font-size:13px; color:var(--accent-soft); }


/* ============================================================
   ALERTA CRÍTICO
============================================================ */

.mfb-bula .mfb-alert{
  display:flex; gap:16px; align-items:flex-start;
  padding:20px 22px; margin:22px 0 0;
  border-radius:var(--r-md);
  border:1px solid #f2cfca;
  border-left:5px solid var(--dg);
  background:var(--dg-s);
}
.mfb-bula .mfb-alert-ico{
  display:grid; place-items:center; flex:0 0 42px;
  width:42px; height:42px; border-radius:12px;
  background:var(--dg); color:#fff; font-size:23px;
}
.mfb-bula .mfb-alert strong{
  display:block; margin-bottom:5px;
  color:var(--dg-d); font-size:15.5px; font-weight:750; line-height:1.4;
}
.mfb-bula .mfb-alert p{ margin:0; color:#8a4a42; font-size:14.5px; }


/* ============================================================
   CARDS DE ACESSO RÁPIDO
============================================================ */

.mfb-bula .mfb-quick-head{
  display:flex; align-items:center; gap:11px;
  margin:30px 0 14px;
}
.mfb-bula .mfb-quick-head i{
  display:grid; place-items:center;
  width:30px; height:30px; border-radius:9px;
  background:var(--ov-s); color:var(--ov); font-size:16px;
}
.mfb-bula .mfb-quick-head strong{
  display:block; color:var(--ink); font-size:16px; font-weight:750;
}
.mfb-bula .mfb-quick-head span{
  display:block; color:var(--ink-4); font-size:14px;
}

.mfb-bula .mfb-quick{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px;
}

.mfb-bula .mfb-qcard{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center;
  min-height:150px; padding:18px;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:var(--paper);
  text-align:center; cursor:pointer;
  box-shadow:var(--sh-1);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mfb-bula .mfb-qcard::before{
  content:""; position:absolute; inset:0 auto 0 0;
  width:4px; background:var(--qc);
}
.mfb-bula .mfb-qcard::after{
  content:""; position:absolute; right:-38px; bottom:-38px;
  width:110px; height:110px; border-radius:50%;
  background:var(--qs);
}
.mfb-bula .mfb-qcard:hover{
  transform:translateY(-4px);
  border-color:var(--qc);
  box-shadow:var(--sh-2);
}
.mfb-bula .mfb-qcard-ico{
  position:relative; z-index:2;
  display:grid; place-items:center;
  width:38px; height:38px; margin-bottom:12px;
  border-radius:11px;
  background:var(--qs); color:var(--qc); font-size:21px;
}
.mfb-bula .mfb-qcard-t{
  position:relative; z-index:2;
  margin-bottom:6px;
  color:var(--ink); font-size:15.5px; font-weight:750;
}
.mfb-bula .mfb-qcard-x{
  position:relative; z-index:2;
  color:var(--ink-3); font-size:13.5px; line-height:1.5;
}
.mfb-bula .mfb-qcard-go{
  position:absolute; top:18px; right:18px; z-index:3;
  color:#95a2ab; font-size:14px;
  transition:color .18s, transform .18s;
}
.mfb-bula .mfb-qcard:hover .mfb-qcard-go{
  color:var(--qc); transform:translate(2px,-2px);
}

.mfb-bula .mfb-qcard.q-ap{ --qc:var(--ap); --qs:var(--ap-s); }
.mfb-bula .mfb-qcard.q-ov{ --qc:var(--ov); --qs:var(--ov-s); }
.mfb-bula .mfb-qcard.q-po{ --qc:var(--po); --qs:var(--po-s); }
.mfb-bula .mfb-qcard.q-cu{ --qc:var(--cu); --qs:var(--cu-s); }


/* ============================================================
   ABAS
============================================================ */

.mfb-bula .mfb-shell{
  margin-top:28px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--paper);
  box-shadow:var(--sh-1);
  overflow:hidden;
}

/* Barra única em vez de sete cards com borda: a aba ativa é uma
   pílula branca sobre o trilho cinza. Menos ruído com sete itens. */
.mfb-bula .mfb-tabs{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(126px,1fr));
  gap:6px; padding:6px;
  background:var(--wash);
  border-bottom:1px solid var(--line);
}

.mfb-bula .mfb-tab{
  display:flex; align-items:center; justify-content:center;
  gap:8px; min-width:0; min-height:52px;
  padding:11px 10px;
  border:0;
  border-radius:11px;
  background:transparent; color:var(--ink-3);
  font-size:12.5px; font-weight:750; text-align:center;
  cursor:pointer; transition:background .16s, color .16s, box-shadow .16s;
}
.mfb-bula .mfb-tab span{
  display:block; width:100%;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.mfb-bula .mfb-tab i{
  flex:none; font-size:17px; color:var(--ink-4);
  transition:color .16s;
}
.mfb-bula .mfb-tab:hover{ background:var(--paper); color:var(--ink); }
.mfb-bula .mfb-tab:hover i{ color:var(--tc); }
.mfb-bula .mfb-tab.on{
  background:var(--paper); color:var(--tc);
  box-shadow:0 4px 12px rgba(22,32,51,.08);
}
.mfb-bula .mfb-tab.on i{ color:var(--tc); }

.mfb-bula .mfb-tab[data-tab="ov"]{ --tc:var(--ov); --tc-s:var(--ov-s); }
.mfb-bula .mfb-tab[data-tab="ap"]{ --tc:var(--ap); --tc-s:var(--ap-s); }
.mfb-bula .mfb-tab[data-tab="po"]{ --tc:var(--po); --tc-s:var(--po-s); }
.mfb-bula .mfb-tab[data-tab="ad"]{ --tc:var(--ad); --tc-s:var(--ad-s); }
.mfb-bula .mfb-tab[data-tab="cu"]{ --tc:var(--cu); --tc-s:var(--cu-s); }
.mfb-bula .mfb-tab[data-tab="te"]{ --tc:var(--te); --tc-s:var(--te-s); }
.mfb-bula .mfb-tab[data-tab="re"]{ --tc:var(--re); --tc-s:var(--re-s); }


/* ============================================================
   PAINÉIS
============================================================ */

.mfb-bula .mfb-panel{ display:none; position:relative; padding:28px 30px 32px; }
.mfb-bula .mfb-panel.on{ display:block; animation:mfbIn .26s ease both; }

.mfb-bula .mfb-panel::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--a),var(--a-d));
}

.mfb-bula .mfb-panel[data-panel="ov"]{ --a:var(--ov); --a-d:var(--ov-d); --a-s:var(--ov-s); }
.mfb-bula .mfb-panel[data-panel="ap"]{ --a:var(--ap); --a-d:var(--ap-d); --a-s:var(--ap-s); }
.mfb-bula .mfb-panel[data-panel="po"]{ --a:var(--po); --a-d:var(--po-d); --a-s:var(--po-s); }
.mfb-bula .mfb-panel[data-panel="ad"]{ --a:var(--ad); --a-d:var(--ad-d); --a-s:var(--ad-s); }
.mfb-bula .mfb-panel[data-panel="cu"]{ --a:var(--cu); --a-d:var(--cu-d); --a-s:var(--cu-s); }
.mfb-bula .mfb-panel[data-panel="te"]{ --a:var(--te); --a-d:var(--te-d); --a-s:var(--te-s); }
.mfb-bula .mfb-panel[data-panel="re"]{ --a:var(--re); --a-d:var(--re-d); --a-s:var(--re-s); }

@keyframes mfbIn{
  from{ opacity:0; transform:translateY(7px); }
  to{ opacity:1; transform:none; }
}

/* cabeçalho de área — assinatura visual repetida em todo artigo */
.mfb-bula .mfb-head{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:16px;
  padding:17px 20px; margin-bottom:22px;
  border-radius:var(--r-md);
  background:var(--a-s);
}
.mfb-bula .mfb-head-mark{
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-size:68px; color:var(--a); opacity:.10; pointer-events:none;
}
.mfb-bula .mfb-head-ico{
  position:relative; z-index:2;
  display:grid; place-items:center; flex:0 0 44px;
  width:44px; height:44px; border-radius:13px;
  background:var(--a); color:#fff; font-size:24px;
  box-shadow:0 8px 18px -8px var(--a);
}
.mfb-bula .mfb-head-txt{ position:relative; z-index:2; }
.mfb-bula .mfb-head h2{
  margin-bottom:3px;
  color:var(--a-d); font-size:21px; font-weight:800; letter-spacing:-.02em; line-height:1.25;
}
.mfb-bula .mfb-head p{ margin:0; color:var(--ink-3); font-size:14px; }


/* ============================================================
   COMPONENTES GENÉRICOS
============================================================ */

.mfb-bula .mfb-g2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.mfb-bula .mfb-g3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.mfb-bula .mfb-g4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }

.mfb-bula .mfb-sub{
  display:flex; align-items:center; gap:11px;
  margin:28px 0 13px;
  color:var(--ink); font-size:16.5px; font-weight:780; letter-spacing:-.01em;
}
.mfb-bula .mfb-sub::before{
  content:""; flex:0 0 5px; width:5px; height:22px;
  border-radius:3px; background:var(--a);
}
.mfb-bula .mfb-sub i{ color:var(--a); font-size:16px; }
.mfb-bula .mfb-sub .mfb-count{
  margin-left:auto;
  padding:4px 11px; border-radius:999px;
  background:var(--a-s); color:var(--a-d);
  font-size:13.5px; font-weight:750;
}

.mfb-bula .mfb-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-card.is-accent{ border-top:4px solid var(--a); }
.mfb-bula .mfb-card.is-soft{ background:var(--a-s); border-color:transparent; }

.mfb-bula .mfb-label{
  display:inline-flex; align-items:center; gap:7px;
  margin-bottom:9px;
  color:var(--a); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.08em;
}
.mfb-bula .mfb-label i{ font-size:13px; }

.mfb-bula .mfb-card h3{
  margin-bottom:8px;
  color:var(--ink); font-size:16.5px; font-weight:750; line-height:1.35;
}
.mfb-bula .mfb-card p{ margin-bottom:10px; color:var(--ink-2); font-size:14.5px; }
.mfb-bula .mfb-card p:last-child{ margin-bottom:0; }

.mfb-bula .mfb-list{
  margin:0; padding:0; list-style:none;
  color:var(--ink-2); font-size:14.5px;
}
.mfb-bula .mfb-list li{
  position:relative; padding-left:26px;
}
.mfb-bula .mfb-list li + li{ margin-top:10px; }
.mfb-bula .mfb-list li::before{
  content:"";
  position:absolute; left:2px; top:5px;
  width:6px; height:10px;
  border-bottom:2.5px solid var(--a);
  border-right:2.5px solid var(--a);
  transform:rotate(40deg);
}
.mfb-bula .mfb-list.is-block li::before{
  top:6px; left:2px;
  width:9px; height:9px;
  border:0; border-radius:2px;
  background:var(--dg);
  transform:rotate(45deg);
}
.mfb-bula .mfb-list.is-warn li::before{
  top:4px; left:1px;
  width:0; height:0;
  border:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-bottom:9px solid var(--cu);
  border-radius:0;
  background:none;
  transform:none;
}
.mfb-bula .mfb-list.is-dot li::before{
  content:""; top:9px; left:2px;
  width:7px; height:7px; border:0;
  border-radius:50%; background:var(--a);
  transform:none;
}

.mfb-bula .mfb-pills{ display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.mfb-bula .mfb-pill{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 12px; border-radius:9px;
  background:var(--a-s); color:var(--a-d);
  font-size:14px; font-weight:700;
}

.mfb-bula .mfb-tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 11px; border-radius:999px;
  font-size:13.5px; font-weight:750; white-space:nowrap;
}
.mfb-bula .mfb-tag.t-ok{ background:var(--ok-s); color:var(--ok); }
.mfb-bula .mfb-tag.t-no{ background:#eef1f3; color:#5a6771; }
.mfb-bula .mfb-tag.t-warn{ background:#fdf2e3; color:var(--cu-d); }
.mfb-bula .mfb-tag.t-dg{ background:var(--dg-s); color:var(--dg-d); }
.mfb-bula .mfb-tag.t-a{ background:var(--a-s); color:var(--a-d); }


/* ============================================================
   VISÃO GERAL
============================================================ */

.mfb-bula .mfb-what{
  position:relative; overflow:hidden;
  padding:20px 22px; margin-bottom:14px;
  border-radius:var(--r-md);
  border:1px solid #d5e6f4;
  background:linear-gradient(135deg,#f7fbfe,#eaf3fb);
}
.mfb-bula .mfb-what h3{
  display:flex; align-items:center; gap:10px;
  margin-bottom:11px;
  color:var(--ov-d); font-size:17px; font-weight:780;
}
.mfb-bula .mfb-what p{
  max-width:900px; margin:0;
  color:#3f5b6f; font-size:15px; line-height:1.62;
}

.mfb-bula .mfb-profile{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px; margin-top:16px;
}
.mfb-bula .mfb-profile-i{
  display:flex; align-items:center; gap:13px;
  padding:16px;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--paper);
}
.mfb-bula .mfb-profile-i i{
  display:grid; place-items:center; flex:0 0 38px;
  width:38px; height:38px; border-radius:11px;
  background:var(--ov-s); color:var(--ov); font-size:21px;
}
.mfb-bula .mfb-profile-i span{
  display:block; margin-bottom:1px;
  color:var(--ink-4); font-size:13px; font-weight:750;
  text-transform:uppercase; letter-spacing:.05em;
}
.mfb-bula .mfb-profile-i strong{
  display:block; color:var(--ink); font-size:14px; font-weight:700; line-height:1.3;
}

/* composição — anatomia do fármaco */
.mfb-bula .mfb-compo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.mfb-bula .mfb-compo-i{
  display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:start;
  padding:14px 15px;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--paper);
  transition:border-color .16s, transform .16s;
}
.mfb-bula .mfb-compo-i:hover{ border-color:var(--a); transform:translateX(3px); }
.mfb-bula .mfb-compo-ico{
  display:grid; place-items:center;
  width:44px; height:44px; border-radius:12px;
  background:var(--ci-s); color:var(--ci); font-size:24px;
}
.mfb-bula .mfb-compo-i strong{
  display:block; color:var(--ink); font-size:15px; font-weight:750;
}
.mfb-bula .mfb-compo-i p{ margin:2px 0 0; color:var(--ink-3); font-size:13.5px; }
.mfb-bula .mfb-compo-role{
  display:inline-flex; grid-column:2; margin-top:8px;
  padding:5px 11px; border-radius:999px;
  background:var(--ci-s); color:var(--ci);
  font-size:12px; font-weight:750; white-space:nowrap;
}


/* ============================================================
   APRESENTAÇÕES — escalável para dezenas de itens
============================================================ */

.mfb-bula .mfb-filter{
  display:flex; flex-wrap:wrap; align-items:center; gap:11px;
  padding:16px 18px; margin-bottom:18px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--wash);
}
.mfb-bula .mfb-search{
  position:relative; flex:1 1 260px; min-width:0;
}
.mfb-bula .mfb-search i{
  position:absolute; left:15px; top:50%; transform:translateY(-50%);
  color:var(--ink-4); font-size:15px; pointer-events:none;
}
.mfb-bula .mfb-search input{
  width:100%; padding:13px 15px 13px 41px;
  border:1px solid var(--line); border-radius:11px;
  background:var(--paper);
  font-family:inherit; font-size:16px; color:var(--ink);
  transition:border-color .16s, box-shadow .16s;
}
.mfb-bula .mfb-search input:focus{
  outline:none; border-color:var(--a);
  box-shadow:0 0 0 3px var(--a-s);
}
.mfb-bula .mfb-search input::placeholder{ color:var(--ink-4); }

.mfb-bula .mfb-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.mfb-bula .mfb-chip{
  padding:10px 15px;
  border:1px solid var(--line); border-radius:999px;
  background:var(--paper); color:var(--ink-3);
  font-size:14.5px; font-weight:700; cursor:pointer;
  transition:.16s;
}
.mfb-bula .mfb-chip:hover{ border-color:var(--a); color:var(--a-d); }
.mfb-bula .mfb-chip.on{
  background:var(--a); border-color:var(--a); color:#fff;
}

/* seletor de via de administração (mesmo padrão visual do mfb-seg) */
.mfb-bula .mfb-via-seg{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:8px; margin-bottom:16px;
  border-radius:14px; background:var(--wash);
  border:1px solid var(--line);
}
.mfb-bula .mfb-via-seg button{
  display:flex; align-items:center; gap:8px;
  flex:1 1 auto; justify-content:center;
  padding:11px 14px;
  border:0; border-radius:10px;
  background:transparent; color:var(--ink-3);
  font-size:14px; font-weight:750; cursor:pointer;
  transition:.16s;
}
.mfb-bula .mfb-via-seg button i{ font-size:13.5px; }
.mfb-bula .mfb-via-seg button:hover{ background:#eaeff3; color:var(--ink); }
.mfb-bula .mfb-via-seg button.on{
  background:var(--ap); color:#fff;
  box-shadow:0 6px 15px -7px var(--ap);
}

.mfb-bula .mfb-forms{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px; align-items:stretch;
}

.mfb-bula .mfb-form{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
  transition:border-color .16s, box-shadow .16s;
}
.mfb-bula .mfb-form:hover{ border-color:#d7cdeb; box-shadow:var(--sh-1); }

/* Cabeçalho em GRADE, não em flex: número, título e tag ocupam
   colunas fixas, então a tag fica sempre alinhada ao título mesmo
   quando ele quebra em duas linhas. Com flex-wrap a tag caía para a
   linha de baixo e desalinhava a fileira inteira de cards. */
.mfb-bula .mfb-form-top{
  display:grid; grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center; gap:9px;
  padding:12px 14px;
  background:var(--ap-s);
  border-bottom:1px solid #e6dcf6;
}
.mfb-bula .mfb-form-n{
  display:grid; place-items:center;
  width:26px; height:26px; border-radius:8px;
  background:var(--ap); color:#fff;
  font-size:11px; font-weight:800;
}
.mfb-bula .mfb-form-title{
  min-width:0; margin:0;
  color:var(--ap-d); font-size:14.5px; font-weight:800; line-height:1.32;
}
.mfb-bula .mfb-form-top .mfb-tag{
  padding:4px 9px; font-size:11.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.03em;
}

.mfb-bula .mfb-form-body{
  display:flex; flex-direction:column; gap:11px;
  flex:1; padding:13px 14px;
}

/* concentrações só aparecem em associações (2+ princípios ativos) */
.mfb-bula .mfb-conc{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
}
.mfb-bula .mfb-conc-i{
  padding:8px 9px; border-radius:9px;
  background:#f8f6fc; border:1px solid #ece5f7;
}
.mfb-bula .mfb-conc-i span{
  display:block; margin-bottom:2px;
  color:var(--ap-d); font-size:11.5px; font-weight:750;
  text-transform:uppercase; letter-spacing:.03em;
}
.mfb-bula .mfb-conc-i strong{
  display:block; color:var(--ap-d); font-size:13.5px; font-weight:800;
}

.mfb-bula .mfb-form-meta{ min-width:0; }
.mfb-bula .mfb-form-meta span{
  display:block; margin-bottom:5px;
  color:var(--ink-4); font-size:11.5px; font-weight:750;
  text-transform:uppercase; letter-spacing:.04em;
}
.mfb-bula .mfb-brands{ display:flex; flex-wrap:wrap; gap:5px; }
.mfb-bula .mfb-brand{
  padding:5px 9px; border-radius:8px;
  background:#f2edfa; color:var(--ap-d);
  font-size:12.5px; font-weight:750;
}
.mfb-bula .mfb-brand.is-off{
  background:var(--wash); color:var(--ink-4); font-weight:700;
}

/* embalagem no rodapé, sempre na base do card */
.mfb-bula .mfb-form-foot{
  display:flex; align-items:center; flex-wrap:wrap; gap:7px;
  margin-top:auto; padding:11px 14px;
  border-top:1px solid var(--line-2); background:#fcfbfe;
}
.mfb-bula .mfb-form-foot i{ color:var(--ap); font-size:14px; }
.mfb-bula .mfb-form-foot span{
  color:var(--ink-4); font-size:11.5px; font-weight:750;
  text-transform:uppercase; letter-spacing:.04em;
}
.mfb-bula .mfb-form-foot strong{
  min-width:0; color:var(--ink-2); font-size:13px; font-weight:700;
}

.mfb-bula .mfb-more{
  display:flex; align-items:center; justify-content:center; gap:9px;
  grid-column:1 / -1;
  width:100%; padding:13px; margin-top:2px;
  border:1px dashed #cfc2e8; border-radius:var(--r-sm);
  background:var(--paper); color:var(--ap-d);
  font-size:14px; font-weight:750; cursor:pointer;
  transition:.16s;
}
.mfb-bula .mfb-more:hover{ background:var(--ap-s); }

.mfb-bula .mfb-empty{
  grid-column:1 / -1;
  padding:30px; text-align:center;
  border:1px dashed var(--line); border-radius:var(--r-md);
  color:var(--ink-4); font-size:14.5px;
}
.mfb-bula .mfb-empty i{ display:block; margin-bottom:10px; font-size:22px; color:#9aa6ae; }

.mfb-bula .mfb-via-group + .mfb-via-group{ margin-top:26px; }


/* ============================================================
   POSOLOGIA
============================================================ */

.mfb-bula .mfb-metrics{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px; margin-bottom:8px;
}
.mfb-bula .mfb-metric{
  position:relative; overflow:hidden;
  padding:20px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-metric::after{
  content:""; position:absolute; right:-30px; bottom:-30px;
  width:88px; height:88px; border-radius:50%; background:var(--a-s);
}
.mfb-bula .mfb-metric i{
  position:relative; z-index:2;
  display:grid; place-items:center;
  width:36px; height:36px; margin-bottom:12px;
  border-radius:11px; background:var(--a); color:#fff; font-size:20px;
}
.mfb-bula .mfb-metric span{
  position:relative; z-index:2; display:block; margin-bottom:3px;
  color:var(--ink-4); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.07em;
}
.mfb-bula .mfb-metric strong{
  position:relative; z-index:2; display:block;
  color:var(--a-d); font-size:19px; font-weight:800; line-height:1.2;
}
.mfb-bula .mfb-metric p{
  position:relative; z-index:2; margin:5px 0 0;
  color:var(--ink-3); font-size:13px;
}

/* seletor de população */
.mfb-bula .mfb-seg{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:8px; margin-bottom:18px;
  border-radius:14px; background:var(--wash);
  border:1px solid var(--line);
}
.mfb-bula .mfb-seg button{
  display:flex; align-items:center; gap:9px;
  flex:1 1 auto; justify-content:center;
  padding:11px 15px;
  border:0; border-radius:10px;
  background:transparent; color:var(--ink-3);
  font-size:14px; font-weight:750; cursor:pointer;
  transition:.16s;
}
.mfb-bula .mfb-seg button i{ font-size:15px; }
.mfb-bula .mfb-seg button:hover{ background:#eaeff3; color:var(--ink); }
.mfb-bula .mfb-seg button.on{
  background:var(--a); color:#fff;
  box-shadow:0 6px 15px -7px var(--a);
}

/* Esquemas: a informação virou UMA linha de prescrição por card.
   A grade antiga (Dose | Frequência | Duração) gastava três células
   para dizer o que o médico lê de uma vez só na receita, e obrigava
   o card a ficar alto demais quando havia muitos esquemas. */
.mfb-bula .mfb-schemes{ display:block; }

/* setores dentro de um mesmo grupo (ex.: ajuste renal, hepático) */
.mfb-bula .mfb-sector + .mfb-sector{ margin-top:22px; }
.mfb-bula .mfb-sector-t{
  display:flex; align-items:center; gap:9px;
  margin:0 0 11px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
  color:var(--ink-3); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
}
.mfb-bula .mfb-sector-t i{ color:var(--a); font-size:16px; }
.mfb-bula .mfb-sector-t span{
  margin-left:auto; padding:3px 10px; border-radius:999px;
  background:var(--wash); color:var(--ink-4);
  font-size:11.5px; font-weight:750;
  text-transform:none; letter-spacing:0;
}

.mfb-bula .mfb-rxcs{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px; align-items:stretch;
}
.mfb-bula .mfb-rxc{
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--line); border-left:4px solid #c3ccd3;
  border-radius:var(--r-sm);
  background:var(--paper);
}
.mfb-bula .mfb-rxc-top{
  display:flex; align-items:center; gap:9px;
  padding:12px 14px 11px;
  border-bottom:1px solid var(--line-2);
}
.mfb-bula .mfb-rxc-top h4{
  flex:1; min-width:0; margin:0;
  color:var(--ink); font-size:14.5px; font-weight:800; line-height:1.3;
}
.mfb-bula .mfb-rxc-top .mfb-tag{
  flex:none; padding:4px 9px;
  background:var(--wash); color:var(--ink-3);
  font-size:11.5px; font-weight:750;
}
/* A prescrição ganhou faixa própria e 'flex:1': em vez de sobrar um
   vazio embaixo do texto quando o card é esticado pela fileira, é o
   bloco da dose que cresce, e a frase fica centrada nele. */
.mfb-bula .mfb-rxc-rx{
  display:flex; align-items:center; flex:1;
  margin:0; padding:13px 14px;
  background:var(--wash);
  color:var(--ink); font-size:15.5px; font-weight:750; line-height:1.4;
}
.mfb-bula .mfb-rxc-note{
  display:flex; gap:8px; align-items:flex-start;
  margin:0; padding:11px 14px;
  border-top:1px solid var(--line-2);
  color:var(--ink-3); font-size:12.5px; line-height:1.5;
}
.mfb-bula .mfb-rxc-note i{ flex:none; margin-top:2px; color:var(--ink-4); font-size:14px; }

/* dose usual — cor da área, para separar do que é dose de exceção */
.mfb-bula .mfb-rxc.is-usual{ border-color:#c6e2d6; border-left-color:var(--po); }
.mfb-bula .mfb-rxc.is-usual .mfb-rxc-top h4{ color:var(--po-d); }
.mfb-bula .mfb-rxc.is-usual .mfb-rxc-rx{ background:var(--po-s); color:var(--po-d); }

.mfb-bula .mfb-rxc.is-gestacao{ border-color:#ddd4ee; border-left-color:#7a63a8; }
.mfb-bula .mfb-rxc.is-gestacao .mfb-rxc-top h4{ color:#574780; }
.mfb-bula .mfb-rxc.is-gestacao .mfb-rxc-rx{ background:#f2eff8; color:#574780; }

.mfb-bula .mfb-rxc.is-lactacao{ border-color:#cfe0ed; border-left-color:#3d7ba8; }
.mfb-bula .mfb-rxc.is-lactacao .mfb-rxc-top h4{ color:#2a5a7d; }
.mfb-bula .mfb-rxc.is-lactacao .mfb-rxc-rx{ background:#eaf2f8; color:#2a5a7d; }

/* uso contraindicado / proscrito naquela população */
.mfb-bula .mfb-rxc.is-alerta{ border-color:#eccdc8; border-left-color:var(--dg); }
.mfb-bula .mfb-rxc.is-alerta .mfb-rxc-top h4{ color:var(--dg-d); }
.mfb-bula .mfb-rxc.is-alerta .mfb-rxc-rx{ background:var(--dg-s); color:var(--dg-d); }

/* calculadora opcional (ativa via dados) */
.mfb-bula .mfb-calc{
  padding:22px; margin-top:6px;
  border:1px solid #bfe0d3; border-radius:var(--r-md);
  background:linear-gradient(135deg,#f4fbf8,#e8f6f1);
}
.mfb-bula .mfb-calc-row{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:13px; margin-bottom:16px;
}
.mfb-bula .mfb-calc label{
  display:block; margin-bottom:7px;
  color:var(--po-d); font-size:14px; font-weight:750;
}
.mfb-bula .mfb-calc input,
.mfb-bula .mfb-calc select{
  width:100%; padding:13px 15px;
  border:1px solid #bfe0d3; border-radius:11px;
  background:var(--paper);
  font-family:inherit; font-size:16px; color:var(--ink);
}
.mfb-bula .mfb-calc input:focus,
.mfb-bula .mfb-calc select:focus{
  outline:none; border-color:var(--po); box-shadow:0 0 0 3px var(--po-s);
}
.mfb-bula .mfb-calc-out{
  padding:18px 20px; border-radius:var(--r-sm);
  background:var(--paper); border:1px solid #cfe8dd;
}
.mfb-bula .mfb-calc-out span{
  display:block; margin-bottom:4px;
  color:var(--ink-4); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
}
.mfb-bula .mfb-calc-out strong{
  display:block; color:var(--po-d); font-size:22px; font-weight:800;
}
.mfb-bula .mfb-calc-out p{ margin:6px 0 0; color:var(--ink-3); font-size:14.5px; }

/* receita */
.mfb-bula .mfb-rx{
  overflow:hidden; margin-top:26px;
  border:1.5px dashed #a9d5c4; border-radius:var(--r-md);
  background:#fbfefd;
}
.mfb-bula .mfb-rx-top{
  display:flex; flex-wrap:wrap; align-items:center; gap:11px;
  padding:15px 20px;
  background:var(--po-s);
  border-bottom:1.5px dashed #a9d5c4;
}
.mfb-bula .mfb-rx-top i{
  display:grid; place-items:center;
  width:34px; height:34px; border-radius:10px;
  background:var(--po); color:#fff; font-size:19px;
}
.mfb-bula .mfb-rx-top strong{ color:var(--po-d); font-size:16.5px; font-weight:780; }
.mfb-bula .mfb-copy{
  display:inline-flex; align-items:center; gap:8px;
  margin-left:auto; padding:10px 16px;
  border:0; border-radius:10px;
  background:var(--po); color:#fff;
  font-size:14.5px; font-weight:750; cursor:pointer;
  transition:.16s;
}
.mfb-bula .mfb-copy:hover{ background:var(--po-d); }
.mfb-bula .mfb-rx-body{
  padding:24px;
  font-family:"Courier New",Courier,monospace;
  font-size:14.5px; color:#23342d; line-height:1.8;
}
.mfb-bula .mfb-rx-route{
  display:block; margin-bottom:20px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em;
}
.mfb-bula .mfb-rx-scroll{ width:100%; overflow-x:auto; padding-bottom:5px; }
.mfb-bula .mfb-rx-line{
  display:flex; align-items:flex-end;
  width:max-content; min-width:100%;
  white-space:nowrap; font-weight:700;
}
.mfb-bula .mfb-rx-line + .mfb-rx-line{ margin-top:9px; }
.mfb-bula .mfb-rx-i,
.mfb-bula .mfb-rx-d,
.mfb-bula .mfb-rx-q{ flex:none; }
.mfb-bula .mfb-rx-i{ margin-right:7px; }
.mfb-bula .mfb-rx-dots{
  flex:1 0 60px; min-width:60px; margin:0 10px 6px;
  border-bottom:1.5px dotted #6f8378;
}
.mfb-bula .mfb-rx-use{ margin-top:20px; }
.mfb-bula .mfb-rx-note{
  padding:0 24px 20px;
  color:var(--ink-4); font-size:14px;
}

/* ============================================================
   ADMINISTRAÇÃO
============================================================ */

.mfb-bula .mfb-admin{
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  gap:13px; margin-bottom:8px;
}
.mfb-bula .mfb-admin-main{
  position:relative; overflow:hidden;
  padding:24px; border-radius:var(--r-md);
  color:#fff;
  background:linear-gradient(135deg,var(--ad-d),var(--ad));
}
.mfb-bula .mfb-admin-main i{
  position:absolute; right:-10px; bottom:-18px;
  font-size:96px; color:rgba(255,255,255,.12);
}
.mfb-bula .mfb-admin-main span{
  display:block; margin-bottom:4px;
  color:rgba(255,255,255,.72); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.07em;
}
.mfb-bula .mfb-admin-main strong{ font-size:20px; font-weight:800; }
.mfb-bula .mfb-admin-main p{
  position:relative; margin:7px 0 0; max-width:80%;
  color:rgba(255,255,255,.85); font-size:13.5px;
}
.mfb-bula .mfb-admin-mini{
  display:flex; flex-direction:column; justify-content:center;
  padding:20px; border-radius:var(--r-md);
  border:1px solid var(--line); background:var(--paper);
}
.mfb-bula .mfb-admin-mini i{
  display:grid; place-items:center;
  width:38px; height:38px; margin-bottom:12px;
  border-radius:11px; background:var(--ad-s); color:var(--ad); font-size:21px;
}
.mfb-bula .mfb-admin-mini span{
  display:block; margin-bottom:2px;
  color:var(--ink-4); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
}
.mfb-bula .mfb-admin-mini strong{ color:var(--ad-d); font-size:16px; font-weight:780; }

.mfb-bula .mfb-steps{ display:grid; gap:11px; counter-reset:mfbstep; }
.mfb-bula .mfb-step{
  position:relative;
  display:grid; grid-template-columns:44px 1fr; gap:15px; align-items:flex-start;
  padding:17px 19px;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--paper);
}
.mfb-bula .mfb-step::after{
  content:""; position:absolute; left:41px; top:59px; bottom:-12px;
  width:2px; background:var(--ad-s);
}
.mfb-bula .mfb-step:last-child::after{ display:none; }
.mfb-bula .mfb-step-n{
  display:grid; place-items:center;
  width:38px; height:38px; border-radius:12px;
  background:var(--ad); color:#fff;
  font-size:15px; font-weight:800;
}
.mfb-bula .mfb-step strong{
  display:block; margin-bottom:3px;
  color:var(--ink); font-size:14.5px; font-weight:750;
}
.mfb-bula .mfb-step p{ margin:0; color:var(--ink-3); font-size:13.5px; }

.mfb-bula .mfb-routes{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.mfb-bula .mfb-route{
  display:grid; grid-template-columns:1fr;
  gap:9px; align-content:start;
  min-width:0; padding:17px 18px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-route strong{ color:var(--ink); font-size:16px; font-weight:750; }
.mfb-bula .mfb-route .mfb-tag{ justify-self:start; }
.mfb-bula .mfb-route em{ font-style:normal; color:var(--ink-3); font-size:15px; }

.mfb-bula .mfb-specials{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px;
}


/* ============================================================
   CUIDADOS
============================================================ */

.mfb-bula .mfb-danger{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:auto 1fr; gap:17px; align-items:flex-start;
  padding:24px 26px; margin-bottom:16px;
  border-radius:var(--r-md);
  border:1px solid #f0c9c3;
  border-left:6px solid var(--dg);
  background:linear-gradient(135deg,#fef7f6,var(--dg-s));
}
.mfb-bula .mfb-danger-ico{
  display:grid; place-items:center;
  width:44px; height:44px; border-radius:13px;
  background:var(--dg); color:#fff; font-size:24px;
  box-shadow:0 8px 18px -8px var(--dg);
}
.mfb-bula .mfb-danger h3{
  margin-bottom:5px;
  color:var(--dg-d); font-size:16.5px; font-weight:780;
}
.mfb-bula .mfb-danger p{ margin:0; color:#8b4c44; font-size:14.5px; }

.mfb-bula .mfb-pop{
  padding:20px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-pop-top{
  display:flex; align-items:center; gap:11px; margin-bottom:11px;
}
.mfb-bula .mfb-pop-top i{
  display:grid; place-items:center; flex:0 0 38px;
  width:38px; height:38px; border-radius:11px;
  background:var(--cu-s); color:var(--cu); font-size:21px;
}
.mfb-bula .mfb-pop-top h3{
  flex:1; margin:0; color:var(--ink); font-size:15.5px; font-weight:750;
}
.mfb-bula .mfb-pop p{ margin:0; color:var(--ink-2); font-size:14px; }

/* eventos adversos por frequência */
.mfb-bula .mfb-ae{ display:grid; gap:12px; }
.mfb-bula .mfb-ae-row{
  overflow:hidden;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-ae-head{
  display:flex; align-items:center; gap:11px;
  padding:14px 18px;
  background:var(--fq-s);
  border-bottom:1px solid var(--line-2);
}
.mfb-bula .mfb-ae-head i{
  display:grid; place-items:center;
  width:32px; height:32px; border-radius:9px;
  background:var(--fq); color:#fff; font-size:18px;
}
.mfb-bula .mfb-ae-head strong{ color:var(--fq-d); font-size:14.5px; font-weight:780; }
.mfb-bula .mfb-ae-head em{
  margin-left:auto; font-style:normal;
  color:var(--fq-d); font-size:13.5px; font-weight:700; opacity:.8;
}
.mfb-bula .mfb-ae-body{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:16px 18px;
}
.mfb-bula .mfb-ae-item{
  padding:8px 13px; border-radius:9px;
  background:var(--wash); border:1px solid var(--line);
  color:var(--ink-2); font-size:13.5px; font-weight:650;
}
.mfb-bula .mfb-ae-row.f-common{ --fq:#c98a1a; --fq-d:#8a5c08; --fq-s:#fdf5e6; }
.mfb-bula .mfb-ae-row.f-uncommon{ --fq:#5a7fb5; --fq-d:#3d5c8a; --fq-s:#eef3fa; }
.mfb-bula .mfb-ae-row.f-rare{ --fq:#7a6a9e; --fq-d:#564a73; --fq-s:#f3f0f9; }
.mfb-bula .mfb-ae-row.f-serious{ --fq:var(--dg); --fq-d:var(--dg-d); --fq-s:var(--dg-s); }


/* ============================================================
   TÉCNICO
============================================================ */

.mfb-bula .mfb-mech{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px;
}
.mfb-bula .mfb-mech-i{
  display:grid; grid-template-columns:48px 1fr; gap:15px;
  padding:19px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-mech-ico{
  display:grid; place-items:center;
  width:40px; height:40px; border-radius:12px;
  background:var(--te-s); color:var(--te); font-size:22px;
}
.mfb-bula .mfb-mech-i strong{
  display:block; margin-bottom:4px;
  color:var(--ink); font-size:14.5px; font-weight:750;
}
.mfb-bula .mfb-mech-i p{ margin:0; color:var(--ink-3); font-size:13.5px; }

.mfb-bula .mfb-reg{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px;
}
.mfb-bula .mfb-reg-i{
  padding:20px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-reg-i > span{
  display:block; margin-bottom:11px;
  color:var(--ink-4); font-size:13px; font-weight:800;
  text-transform:uppercase; letter-spacing:.07em;
}
.mfb-bula .mfb-reg-i strong{
  display:block; margin-top:9px;
  color:var(--ink-2); font-size:14px; font-weight:650; line-height:1.5;
}

.mfb-bula .mfb-kv{ display:grid; }
.mfb-bula .mfb-kv-r{
  display:grid; grid-template-columns:190px 1fr; gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--line-2);
}
.mfb-bula .mfb-kv-r:last-child{ border-bottom:0; padding-bottom:0; }
.mfb-bula .mfb-kv-r span{
  display:flex; align-items:center; gap:9px;
  color:var(--ink-4); font-size:13.5px; font-weight:650;
}
.mfb-bula .mfb-kv-r span i{ color:var(--a); font-size:14px; }
.mfb-bula .mfb-kv-r strong{ color:var(--ink); font-size:14.5px; font-weight:700; }


/* ============================================================
   REFERÊNCIAS
============================================================ */

.mfb-bula .mfb-refs{ display:flex; flex-direction:column; gap:10px; }
.mfb-bula .mfb-ref{
  display:grid; grid-template-columns:36px 1fr auto; gap:14px; align-items:flex-start;
  padding:15px 17px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
  transition:border-color .16s;
}
.mfb-bula .mfb-ref:hover{ border-color:#cfd6db; }
/* Número em círculo neutro, tipo de fonte como etiqueta, título em
   destaque e a descrição em itálico — a hierarquia de citação lê
   melhor que o card em duas colunas. */
.mfb-bula .mfb-ref-n{
  display:grid; place-items:center;
  width:36px; height:36px; border-radius:50%;
  background:var(--wash); border:1px solid var(--line);
  color:var(--ink-4);
  font-size:14px; font-weight:800;
}
.mfb-bula .mfb-ref-kind{
  display:inline-flex; align-items:center; gap:6px;
  margin-bottom:6px; padding:4px 10px;
  border-radius:7px;
  background:var(--ov-s); border:1px solid #cfe0ed; color:var(--ov-d);
  font-size:11.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.05em;
}
.mfb-bula .mfb-ref h3{
  margin-bottom:5px;
  color:var(--accent-d); font-size:14.5px; font-weight:800; line-height:1.4;
}
.mfb-bula .mfb-ref p{
  margin:0; color:var(--ink-3); font-size:13px; font-style:italic; line-height:1.55;
}
.mfb-bula .mfb-ref-y{
  padding:7px 12px; border-radius:9px;
  background:var(--wash); color:var(--ink-3);
  font-size:13.5px; font-weight:750; white-space:nowrap;
}
.mfb-bula .mfb-revision{
  display:flex; gap:13px; align-items:flex-start;
  margin-top:20px; padding:18px 20px;
  border-radius:var(--r-md);
  background:var(--wash); border:1px solid var(--line);
  color:var(--ink-3); font-size:15px;
}
.mfb-bula .mfb-revision i{ color:var(--re); font-size:16px; margin-top:2px; }
.mfb-bula .mfb-revision strong{ color:var(--ink-2); }




/* ============================================================
   DILUIÇÕES E PREPARO
   Duas colunas: cada preparo é um card fechado em si, com
   fórmula, passo a passo, metadados e observação.
============================================================ */

.mfb-bula .mfb-dils{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px; align-items:start;
}

.mfb-bula .mfb-dil{
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--line); border-left:4px solid var(--ad);
  border-radius:var(--r-md);
  background:var(--paper);
}
/* a faixa lateral diz o tipo de preparo antes de qualquer leitura */
.mfb-bula .mfb-dil.is-bolus{ border-left-color:var(--dg); }
.mfb-bula .mfb-dil.is-infusao{ border-left-color:var(--ov); }

.mfb-bula .mfb-dil-top{
  display:flex; align-items:center; gap:11px;
  padding:13px 15px;
  border-bottom:1px solid var(--line-2);
  background:var(--ad-s);
}
.mfb-bula .mfb-dil.is-bolus .mfb-dil-top{ background:var(--dg-s); }
.mfb-bula .mfb-dil.is-infusao .mfb-dil-top{ background:var(--ov-s); }

.mfb-bula .mfb-dil-ico{
  display:grid; place-items:center; flex:none;
  width:34px; height:34px; border-radius:11px;
  background:var(--ad); color:#fff; font-size:15px;
}
.mfb-bula .mfb-dil.is-bolus .mfb-dil-ico{ background:var(--dg); }
.mfb-bula .mfb-dil.is-infusao .mfb-dil-ico{ background:var(--ov); }

.mfb-bula .mfb-dil-top > div{ flex:1; min-width:0; }
.mfb-bula .mfb-dil-top h4{
  margin:0; color:var(--ink); font-size:14.5px; font-weight:800; line-height:1.25;
  overflow-wrap:anywhere;
}
.mfb-bula .mfb-dil-top p{
  margin:2px 0 0; color:var(--ink-3); font-size:12px; font-weight:650; line-height:1.4;
}
.mfb-bula .mfb-dil-conc{
  flex:none; padding:5px 11px; border-radius:999px;
  background:var(--paper); border:1px solid var(--line);
  color:var(--ad-d); font-size:12px; font-weight:800; white-space:nowrap;
}
.mfb-bula .mfb-dil.is-bolus .mfb-dil-conc{ color:var(--dg-d); }
.mfb-bula .mfb-dil.is-infusao .mfb-dil-conc{ color:var(--ov-d); }

.mfb-bula .mfb-dil-body{ padding:14px 15px; }

/* a conta que resolve o preparo, antes do passo a passo */
.mfb-bula .mfb-dil-formula{
  display:flex; align-items:flex-start; gap:9px;
  margin:0 0 12px; padding:11px 13px;
  border:1px solid #b9dce0; border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--ad-s),var(--paper) 70%);
  color:var(--ad-d); font-size:13.5px; font-weight:800; line-height:1.4;
  overflow-wrap:anywhere;
}
.mfb-bula .mfb-dil-formula i{ flex:none; margin-top:1px; color:var(--ad); font-size:15px; }

.mfb-bula .mfb-dil-steps{
  list-style:none; counter-reset:mfbdil;
  margin:0 0 12px; padding:0;
  display:grid; gap:8px;
}
.mfb-bula .mfb-dil-steps li{
  position:relative; padding-left:31px;
  color:var(--ink-2); font-size:13px; font-weight:650; line-height:1.5;
}
.mfb-bula .mfb-dil-steps li::before{
  counter-increment:mfbdil; content:counter(mfbdil);
  position:absolute; left:0; top:0;
  display:grid; place-items:center;
  width:22px; height:22px; border-radius:7px;
  background:var(--ink-2); color:#fff;
  font-size:11px; font-weight:800;
}

.mfb-bula .mfb-dil-meta{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
}
.mfb-bula .mfb-dil-meta-i{
  padding:9px 11px; min-width:0;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--wash);
}
.mfb-bula .mfb-dil-meta-i span{
  display:block; margin-bottom:3px;
  color:var(--ink-4); font-size:10px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
}
.mfb-bula .mfb-dil-meta-i strong{
  display:block; color:var(--ink-2); font-size:12.5px; font-weight:750;
  line-height:1.4; overflow-wrap:anywhere;
}

.mfb-bula .mfb-dil-obs{
  display:flex; align-items:flex-start; gap:8px;
  margin:11px 0 0; padding:10px 12px;
  border:1px solid #f0dcbb; border-radius:var(--r-sm);
  background:var(--cu-s); color:var(--cu-d);
  font-size:12.5px; line-height:1.5;
}
.mfb-bula .mfb-dil-obs i{ flex:none; margin-top:2px; color:var(--cu); font-size:14px; }

/* ============================================================
   CALCULADORA DE DOSE
   Fica entre os cards de informação rápida e as abas: é
   ferramenta, não leitura. Só aparece nas bulas que declaram
   um arquivo em bulario/calculadoras-bulario/.
============================================================ */

.mfb-bula .mfb-calc-wrap{ margin-top:22px; }

/* chamada — sempre visível, abre a ferramenta */
.mfb-bula .mfb-calc-cta{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px; align-items:center;
  position:relative; overflow:hidden;
  padding:22px 24px;
  border-radius:var(--r-lg);
  background:linear-gradient(135deg,#0f2540,#0d1b2e);
  color:#fff;
  box-shadow:0 14px 40px rgba(8,169,184,.18);
}
.mfb-bula .mfb-calc-cta::before{
  content:""; position:absolute; top:-50px; right:-50px;
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(8,169,184,.35), transparent 70%);
  pointer-events:none;
}
.mfb-bula .mfb-calc-cta-ico{
  position:relative; z-index:1;
  display:grid; place-items:center;
  width:60px; height:60px; border-radius:17px;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  color:#fff; font-size:26px;
  box-shadow:0 8px 20px rgba(8,169,184,.4);
}
.mfb-bula .mfb-calc-cta-txt{ position:relative; z-index:1; min-width:0; }
.mfb-bula .mfb-calc-cta-txt span{
  display:block; margin-bottom:3px;
  color:var(--accent-soft); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.08em;
}
.mfb-bula .mfb-calc-cta-txt strong{
  display:block; margin-bottom:4px;
  color:#fff; font-size:20px; font-weight:800; letter-spacing:-.02em;
}
.mfb-bula .mfb-calc-cta-txt p{
  margin:0; color:rgba(255,255,255,.72); font-size:13.5px; line-height:1.5;
}
.mfb-bula .mfb-calc-cta-btn{
  position:relative; z-index:1;
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px; border:0; border-radius:12px;
  background:var(--accent); color:#fff;
  font-family:inherit; font-size:14px; font-weight:800;
  white-space:nowrap; cursor:pointer;
  transition:transform .17s, box-shadow .17s, background .17s;
  box-shadow:0 8px 20px rgba(8,169,184,.35);
}
.mfb-bula .mfb-calc-cta-btn:hover{
  background:var(--accent-d); transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(8,169,184,.5);
}

/* corpo da ferramenta */
.mfb-bula .mfb-calc-shell{
  margin-top:14px; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--paper); box-shadow:var(--sh-1);
}
.mfb-bula .mfb-calc-shell[hidden]{ display:none; }

.mfb-bula .mfb-calc-head{
  display:flex; align-items:center; gap:14px;
  padding:16px 22px;
  background:linear-gradient(135deg,#0f2540,#0d1b2e); color:#fff;
}
.mfb-bula .mfb-calc-head-ico{
  display:grid; place-items:center; flex:none;
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  color:#fff; font-size:20px;
}
.mfb-bula .mfb-calc-head > div{ flex:1; min-width:0; }
.mfb-bula .mfb-calc-head strong{ display:block; color:#fff; font-size:17px; font-weight:800; }
.mfb-bula .mfb-calc-head p{ margin:0; color:rgba(255,255,255,.65); font-size:12.5px; }
.mfb-bula .mfb-calc-x{
  display:grid; place-items:center; flex:none;
  width:36px; height:36px; padding:0;
  border:1px solid rgba(255,255,255,.2); border-radius:10px;
  background:rgba(255,255,255,.1); color:#fff;
  font-size:19px; cursor:pointer; transition:.16s;
}
.mfb-bula .mfb-calc-x:hover{ background:rgba(255,255,255,.22); }

.mfb-bula .mfb-calc-grid{
  display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr);
}
.mfb-bula .mfb-cform{
  padding:20px; background:var(--wash); border-right:1px solid var(--line);
}
.mfb-bula .mfb-cout{ padding:20px; min-width:0; }

.mfb-bula .mfb-cgroup{
  padding:14px; margin-bottom:11px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper);
}
.mfb-bula .mfb-cgroup[hidden]{ display:none; }
.mfb-bula .mfb-cgroup h4{
  display:flex; align-items:center; gap:7px; margin:0 0 11px;
  color:var(--ink); font-size:11.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.05em;
}
.mfb-bula .mfb-cgroup h4 i{ color:var(--accent); font-size:14px; }

.mfb-bula .mfb-cradios{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mfb-bula .mfb-cradios label{ cursor:pointer; }
.mfb-bula .mfb-cradios input{ position:absolute; opacity:0; width:0; height:0; }
.mfb-bula .mfb-cradios span{
  display:flex; align-items:center; justify-content:center; gap:7px;
  padding:12px 10px;
  border:1.5px solid var(--line); border-radius:11px;
  background:var(--paper); color:var(--ink-3);
  font-size:13.5px; font-weight:800; transition:.17s;
}
.mfb-bula .mfb-cradios span i{ font-size:15px; }
.mfb-bula .mfb-cradios label:hover span{ border-color:var(--accent); color:var(--accent-d); }
.mfb-bula .mfb-cradios input:checked + span{
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  border-color:var(--accent-d); color:#fff;
  box-shadow:0 6px 16px rgba(8,169,184,.3);
}
.mfb-bula .mfb-cradios input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:2px; }

.mfb-bula .mfb-cfield{ position:relative; min-width:0; }
.mfb-bula .mfb-cfield + .mfb-cfield,
.mfb-bula .mfb-cfield-row + .mfb-cfield{ margin-top:12px; }
.mfb-bula .mfb-cfield-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.mfb-bula .mfb-cfield label{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-bottom:6px;
  color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.02em;
}
.mfb-bula .mfb-cfield label em{
  color:var(--ink-4); font-size:9.5px; font-style:normal;
  font-weight:800; text-transform:uppercase;
}
/* 16px em todos os campos evita o zoom automático do iOS ao focar */
.mfb-bula .mfb-cfield input,
.mfb-bula .mfb-cfield select{
  display:block; width:100%; max-width:100%;
  min-height:50px; height:auto; padding:12px 14px;
  border:1.5px solid var(--line); border-radius:10px;
  background:var(--paper); color:var(--ink);
  font-family:inherit; font-size:16px; font-weight:750; line-height:1.35;
  text-overflow:ellipsis; outline:none;
  transition:border-color .17s, box-shadow .17s;
}
.mfb-bula .mfb-cfield select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:42px; cursor:pointer;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2344515c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:12px 8px;
}
.mfb-bula .mfb-cfield input:focus,
.mfb-bula .mfb-cfield select:focus{
  border-color:var(--accent); box-shadow:0 0 0 3px rgba(8,169,184,.12);
}

/* legenda por extenso da opção escolhida — os rótulos do select são curtos */
.mfb-bula .mfb-chint{
  display:none; margin-top:7px; padding:8px 11px;
  border:1px solid var(--line); border-left:3px solid var(--accent);
  border-radius:9px; background:var(--wash);
  color:var(--ink-3); font-size:12px; line-height:1.45;
  overflow-wrap:anywhere;
}
.mfb-bula .mfb-chint.on{ display:block; }
.mfb-bula .mfb-chint strong{ color:var(--ink); font-weight:800; }

.mfb-bula .mfb-cnote,
.mfb-bula .mfb-cwarn,
.mfb-bula .mfb-cdisc{
  display:flex; align-items:flex-start; gap:7px;
  margin:9px 0 0; padding:9px 11px;
  border-radius:9px;
  font-size:12px; line-height:1.45;
}
.mfb-bula .mfb-cnote{ background:var(--ov-s); border:1px solid #cfe0ed; color:var(--ov-d); }
.mfb-bula .mfb-cwarn{ background:var(--cu-s); border:1px solid #f0dcbb; color:var(--cu-d); }
.mfb-bula .mfb-cdisc{ background:var(--cu-s); border:1px solid #f0dcbb; color:var(--cu-d); margin-top:12px; }
.mfb-bula .mfb-cnote i,
.mfb-bula .mfb-cwarn i,
.mfb-bula .mfb-cdisc i{ flex:none; margin-top:1px; font-size:14px; }
.mfb-bula .mfb-cwarn[hidden]{ display:none; }

.mfb-bula .mfb-cactions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mfb-bula .mfb-cbtn{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:14px 12px; border:1.5px solid var(--line); border-radius:11px;
  background:var(--paper); color:var(--ink);
  font-family:inherit; font-size:14px; font-weight:800;
  cursor:pointer; transition:.17s;
}
.mfb-bula .mfb-cbtn:hover{ border-color:var(--accent); color:var(--accent-d); }
.mfb-bula .mfb-cbtn.is-primary{
  grid-column:1 / -1; border:0;
  background:linear-gradient(135deg,var(--accent),var(--accent-d)); color:#fff;
  box-shadow:0 6px 18px rgba(8,169,184,.3);
}
.mfb-bula .mfb-cbtn.is-primary:hover{
  color:#fff; transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(8,169,184,.4);
}

/* saída */
.mfb-bula .mfb-cempty{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:400px; padding:40px 24px; text-align:center;
}
.mfb-bula .mfb-cempty-ico{
  display:grid; place-items:center;
  width:76px; height:76px; margin-bottom:15px;
  border-radius:22px;
  border:1px solid #b6e6ea;
  background:linear-gradient(135deg,#e0f7fa,#fff);
  color:var(--accent-d); font-size:31px;
}
.mfb-bula .mfb-cempty strong{
  margin-bottom:6px; color:var(--ink); font-size:19px; font-weight:800; letter-spacing:-.02em;
}
.mfb-bula .mfb-cempty p{ margin:0; max-width:370px; color:var(--ink-3); font-size:14px; line-height:1.55; }

.mfb-bula .mfb-cresult{ display:none; }
.mfb-bula .mfb-cresult.on{ display:block; }

.mfb-bula .mfb-cbanner{
  position:relative; overflow:hidden;
  padding:20px; margin-bottom:13px;
  border-radius:var(--r-md);
  background:linear-gradient(135deg,#0f2540,#0d1b2e); color:#fff;
}
.mfb-bula .mfb-cbanner::before{
  content:""; position:absolute; top:-40px; right:-40px;
  width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, rgba(8,169,184,.25), transparent 70%);
}
.mfb-bula .mfb-cbanner span{
  position:relative; z-index:1; display:block; margin-bottom:5px;
  color:rgba(255,255,255,.6); font-size:10px; font-weight:800;
  text-transform:uppercase; letter-spacing:.08em;
}
.mfb-bula .mfb-cbanner strong{
  position:relative; z-index:1; display:block; margin-bottom:5px;
  color:#fff; font-size:21px; font-weight:800; line-height:1.2; letter-spacing:-.02em;
}
.mfb-bula .mfb-cbanner p{
  position:relative; z-index:1; margin:0;
  color:rgba(255,255,255,.78); font-size:13px; line-height:1.5;
}

.mfb-bula .mfb-crx{
  margin:0 0 12px; padding:14px 16px;
  border-radius:var(--r-sm); border-left:3px solid var(--accent);
  background:#0f1b2d; color:#e2e8f0;
  font-family:"SF Mono",Monaco,Consolas,monospace;
  font-size:12.5px; line-height:1.6;
  white-space:pre-wrap; word-break:break-word; overflow-x:auto;
}

.mfb-bula .mfb-cmetrics{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px; margin-bottom:12px;
}
.mfb-bula .mfb-cmetric{
  padding:11px 12px; min-width:0;
  border:1.5px solid var(--line); border-radius:var(--r-sm);
  background:var(--paper);
}
.mfb-bula .mfb-cmetric.is-key{
  border-color:#b6e6ea; background:linear-gradient(135deg,#e0f7fa,#fff);
}
.mfb-bula .mfb-cmetric.is-key strong{ color:var(--accent-d); }
.mfb-bula .mfb-cmetric span{
  display:block; margin-bottom:3px;
  color:var(--ink-4); font-size:9.5px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em;
}
.mfb-bula .mfb-cmetric strong{
  display:block; color:var(--ink); font-size:16px; font-weight:800;
  line-height:1.18; letter-spacing:-.02em; overflow-wrap:anywhere;
}

.mfb-bula .mfb-cres{
  display:flex; align-items:flex-start; gap:9px;
  margin-bottom:10px; padding:11px 13px;
  border-radius:var(--r-sm);
  font-size:12.5px; line-height:1.5;
}
.mfb-bula .mfb-cres i{ flex:none; margin-top:2px; font-size:14px; }
.mfb-bula .mfb-cres-ov{ background:var(--ov-s); border:1px solid #cfe0ed; border-left:3px solid var(--ov); color:var(--ov-d); }
.mfb-bula .mfb-cres-cu{ background:var(--cu-s); border:1px solid #f0dcbb; border-left:3px solid var(--cu); color:var(--cu-d); }
.mfb-bula .mfb-cres-dg{ background:var(--dg-s); border:1px solid #f2cfca; border-left:3px solid var(--dg); color:var(--dg-d); }

.mfb-bula .mfb-ccopy{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; margin-top:6px; padding:13px 14px;
  border:0; border-radius:11px;
  background:var(--ov); color:#fff;
  font-family:inherit; font-size:14px; font-weight:800;
  cursor:pointer; transition:.17s;
}
.mfb-bula .mfb-ccopy:hover{ background:var(--ov-d); transform:translateY(-1px); }
.mfb-bula .mfb-ccopy.ok{ background:var(--po); }

@media(max-width:980px){
  .mfb-bula .mfb-calc-grid{ grid-template-columns:1fr; }
  .mfb-bula .mfb-cform{ border-right:0; border-bottom:1px solid var(--line); }
  .mfb-bula .mfb-cempty{ min-height:280px; }
}

@media(max-width:720px){
  .mfb-bula .mfb-calc-cta{ grid-template-columns:1fr; text-align:center; gap:14px; padding:20px; }
  .mfb-bula .mfb-calc-cta-ico{ margin:0 auto; }
  .mfb-bula .mfb-calc-cta-btn{ justify-content:center; }
}

/* ============================================================
   MODAL / INFORMAÇÕES RÁPIDAS
============================================================ */

.mfb-bula-modal,
.mfb-bula-modal *{
  box-sizing:border-box;
}

.mfb-bula-modal{
  --ink:#0f1720; --ink-2:#25313a; --ink-3:#44515c; --line:#dfe5ea; --wash:#f5f7f9;

  /* Vale tanto para <dialog> (caso normal, renderizado na top layer)
     quanto para <div> (fallback em navegador sem showModal). */
  position:fixed;
  inset:0;
  z-index:999999;
  width:100%;
  max-width:100%;
  height:100%;
  max-height:100%;
  margin:0;                 /* <dialog> vem com margin:auto do UA */
  padding:24px;
  border:0;                 /* <dialog> vem com borda do UA */
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(29,42,51,.42);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  color:var(--ink);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .22s ease,
    visibility .22s ease;
}

/* <dialog> fechado não deve ocupar espaço nem piscar */
.mfb-bula-modal:not([open]){ display:none; }

/* o backdrop nativo fica transparente: o fundo escuro é o próprio
   elemento, para manter o mesmo visual nos dois modos */
.mfb-bula-modal::backdrop{ background:transparent; }

.mfb-bula-modal[open]{ display:flex; }
.mfb-bula-modal.on{opacity:1; visibility:visible; pointer-events:auto;}

.mfb-bula-modal .mfb-modal{
  --mc:#6f9fc7; --mc-s:#eef5fa;
  position:relative;
  width:min(640px,100%);
  max-height:82vh;
  overflow:hidden;
  border:1px solid rgba(30,50,65,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:
    0 24px 70px rgba(20,35,45,.20),
    0 4px 14px rgba(20,35,45,.08);
  transform:translateY(18px) scale(.98);
  transition:transform .22s ease;
}

.mfb-bula-modal.on .mfb-modal{
  transform:translateY(0) scale(1);
}

/* Cabeçalho sempre navy com ícone em teal: o popup passa a ter a
   mesma assinatura do hero, em vez de trocar de cor a cada área.
   A cor da área continua viva no corpo (--mc), nos marcadores da
   lista e no botão de ir para a aba. */
.mfb-bula-modal .mfb-modal-top{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 22px;
  border-bottom:0;
  background:linear-gradient(135deg,#0f2540,#0d1b2e);
}

.mfb-bula-modal .mfb-modal-ico{
  display:grid;
  place-items:center;

  flex:0 0 44px;
  width:44px;
  height:44px;

  border-radius:13px;

  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#9eeaf0;

  font-size:24px;
}

.mfb-bula-modal .mfb-modal-top > div{
  flex:1;
  min-width:0;
}

.mfb-bula-modal [data-mfb="kicker"]{
  display:block;
  margin-bottom:2px;
  color:#9eeaf0;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.mfb-bula-modal [data-mfb="title"]{
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}

.mfb-bula-modal .mfb-modal-x{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  background:rgba(255,255,255,.12);color:#fff;font-size:21px;cursor:pointer;transition:.16s;
}

.mfb-bula-modal .mfb-modal-x:hover{
  background:rgba(255,255,255,.22);
  color:#fff;
}

.mfb-bula-modal .mfb-modal-body{
  max-height:calc(82vh - 86px);

  overflow-y:auto;

  padding:22px;
}

.mfb-bula-modal .mfb-modal-sum{
  margin:0 0 18px;

  color:var(--ink-2);

  font-size:15px;
  line-height:1.65;
}

.mfb-bula-modal .mfb-modal-box{
  margin-bottom:11px;
  padding:16px 17px;

  border:1px solid var(--line);
  border-radius:14px;

  background:#fff;
}

.mfb-bula-modal .mfb-modal-box strong{
  display:block;

  margin-bottom:6px;

  color:var(--ink);

  font-size:14.5px;
  font-weight:750;
}

.mfb-bula-modal .mfb-modal-box p{
  margin:0 0 7px;

  color:var(--ink-3);

  font-size:14px;
  line-height:1.6;
}

.mfb-bula-modal .mfb-modal-box p:last-child{
  margin-bottom:0;
}

.mfb-bula-modal .mfb-modal-list{
  margin:14px 0 0;
  padding:0;

  list-style:none;
}

.mfb-bula-modal .mfb-modal-list li{
  position:relative;

  padding:9px 0 9px 20px;

  border-bottom:1px solid #f0f2f4;

  color:var(--ink-2);

  font-size:14px;
  line-height:1.55;
}

.mfb-bula-modal .mfb-modal-list li::before{content:"";position:absolute;top:16px;left:3px;width:7px;height:7px;border-radius:50%;background:var(--mc);}
.mfb-bula-modal .mfb-modal-list li:last-child{border-bottom:0;}
.mfb-bula-modal .mfb-modal-go{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px;padding:13px 16px;border:0;border-radius:12px;background:var(--mc-s);color:var(--mc);font-family:inherit;font-size:14.5px;font-weight:750;cursor:pointer;transition:.17s ease;}
.mfb-bula-modal .mfb-modal-go:hover{transform:translateY(-1px);filter:brightness(.98);}
.mfb-bula-modal .mfb-ic{display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.mfb-bula-modal .mfb-ic svg{display:block;width:1em;height:1em;}

@media(max-width:767px){
  .mfb-bula-modal{padding:15px;align-items:flex-end;}
  .mfb-bula-modal .mfb-modal{width:100%;max-height:88vh;border-radius:20px 20px 16px 16px;}
  .mfb-bula-modal .mfb-modal-body{max-height:calc(88vh - 82px);padding:18px;}
  .mfb-bula-modal .mfb-modal-top{padding:17px 18px;}
}

/* ============================================================
   RESPONSIVO — TABLET
============================================================ */

@media (max-width:1100px){
  .mfb-bula .mfb-hero{ padding:36px 32px; }
  .mfb-bula .mfb-quick{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mfb-bula .mfb-g4,
  .mfb-bula .mfb-metrics,
  .mfb-bula .mfb-profile{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mfb-bula .mfb-g3,
  .mfb-bula .mfb-reg{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mfb-bula .mfb-admin{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mfb-bula .mfb-admin-main{ grid-column:1 / -1; }
  .mfb-bula .mfb-refs{ grid-template-columns:1fr; }

  .mfb-bula .mfb-forms,
  .mfb-bula .mfb-rxcs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mfb-bula .mfb-dils{ grid-template-columns:1fr; }

  /* abas quebram em mais linhas conforme o espaço encolhe —
     nunca em barra de rolagem horizontal */
  .mfb-bula .mfb-tabs{
    grid-template-columns:repeat(auto-fit,minmax(108px,1fr));
  }
}


/* ============================================================
   RESPONSIVO — MOBILE
============================================================ */

@media (max-width:767px){
  .mfb-bula{ font-size:16.5px; }

  .mfb-bula .mfb-crumbs .mfb-crumb-now{ max-width:150px; }

  .mfb-bula .mfb-hero{ padding:28px 22px; border-radius:20px; }
  .mfb-bula .mfb-hero h1{ font-size:29px; }
  .mfb-bula .mfb-hero-sub{ font-size:16px; margin-bottom:20px; }
  .mfb-bula .mfb-hero-mark{ font-size:150px; right:-30px; bottom:-40px; }
  .mfb-bula .mfb-hero-mark.is-word{ font-size:44px; right:-6px; bottom:-10px; }

  .mfb-bula .mfb-alert{ padding:17px; gap:13px; }
  .mfb-bula .mfb-alert strong{ font-size:16px; }
  .mfb-bula .mfb-alert p{ font-size:15px; }

  /* abas: 2 colunas fixas no mobile, sempre sem scroll horizontal */
  .mfb-bula .mfb-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px; padding:9px;
  }
  .mfb-bula .mfb-tab{ min-height:58px; font-size:12px; }
  .mfb-bula .mfb-tab i{ width:26px; height:26px; font-size:14px; }

  .mfb-bula .mfb-qcard{ min-height:0; padding:17px; }
  .mfb-bula .mfb-qcard-ico{ width:42px; height:42px; font-size:23px; margin-bottom:11px; }
  .mfb-bula .mfb-qcard-t{ font-size:16px; }
  .mfb-bula .mfb-qcard-x{ font-size:14px; }

  .mfb-bula .mfb-panel{ padding:24px 17px 30px; }
  .mfb-bula .mfb-head{ padding:17px; gap:13px; }
  .mfb-bula .mfb-head-ico{ width:44px; height:44px; flex-basis:44px; font-size:24px; }
  .mfb-bula .mfb-head h2{ font-size:22px; }
  .mfb-bula .mfb-head p{ font-size:14.5px; }
  .mfb-bula .mfb-head-mark{ font-size:64px; right:8px; }

  .mfb-bula .mfb-g2,
  .mfb-bula .mfb-g3,
  .mfb-bula .mfb-g4,
  .mfb-bula .mfb-mech,
  .mfb-bula .mfb-reg,
  .mfb-bula .mfb-admin,
  .mfb-bula .mfb-profile,
  .mfb-bula .mfb-compo,
  .mfb-bula .mfb-forms{ grid-template-columns:1fr; }

  .mfb-bula .mfb-compo-i{ grid-template-columns:38px 1fr; }
  .mfb-bula .mfb-compo-role{ grid-column:2; }

  .mfb-bula .mfb-via-seg{ flex-direction:column; }
  .mfb-bula .mfb-via-seg button{ justify-content:flex-start; }

  .mfb-bula .mfb-metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mfb-bula .mfb-metric{ padding:16px; }
  .mfb-bula .mfb-metric i{ width:36px; height:36px; font-size:20px; margin-bottom:11px; }
  .mfb-bula .mfb-metric strong{ font-size:19px; }

  .mfb-bula .mfb-compo-i{ grid-template-columns:46px 1fr; }
  .mfb-bula .mfb-compo-ico{ width:46px; height:46px; font-size:25px; }
  .mfb-bula .mfb-compo-role{ grid-column:1 / -1; justify-self:flex-start; }

  .mfb-bula .mfb-rxcs{ grid-template-columns:1fr; }
  .mfb-bula .mfb-dil-meta{ grid-template-columns:1fr; }
  .mfb-bula .mfb-rxc-top{ flex-wrap:wrap; }
  .mfb-bula .mfb-rxc-rx{ font-size:16px; }
  .mfb-bula .mfb-sector-t{ font-size:12.5px; }

  .mfb-bula .mfb-form-top{ grid-template-columns:26px minmax(0,1fr); }
  .mfb-bula .mfb-form-top .mfb-tag{ grid-column:2; justify-self:start; }

  .mfb-bula .mfb-seg{ flex-direction:column; }
  .mfb-bula .mfb-seg button{ justify-content:flex-start; }

  .mfb-bula .mfb-routes{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mfb-bula .mfb-route{ padding:14px; gap:7px; }
  .mfb-bula .mfb-route strong{ font-size:15px; }
  .mfb-bula .mfb-route em{ font-size:13.5px; }
  .mfb-bula .mfb-specials{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mfb-bula .mfb-specials .mfb-card{ padding:16px; }

  .mfb-bula .mfb-kv-r{ grid-template-columns:1fr; gap:3px; }

  .mfb-bula .mfb-ref{ grid-template-columns:30px 1fr; gap:11px; padding:13px 14px; }
  .mfb-bula .mfb-ref-n{ width:30px; height:30px; font-size:12.5px; }
  .mfb-bula .mfb-ref-y{ display:none; }

  .mfb-bula .mfb-rx-body{ font-size:14.5px; padding:19px; }
  .mfb-bula .mfb-copy{ margin-left:0; width:100%; justify-content:center; }
}

@media (prefers-reduced-motion:reduce){
  .mfb-bula .mfb-panel.on{ animation:none; }
  .mfb-bula *{ transition:none; }
}

/* ============================================================
   AJUSTES DE INTERFACE · SET/2026
   Ícones sólidos + tabelas de posologia + administração revisada
============================================================ */

/* Ícones principais maiores, sólidos e com área de toque mais legível */
.mfb-bula .mfb-tab i{
  display:grid; place-items:center; flex:0 0 34px;
  width:34px; height:34px; border-radius:10px;
  background:var(--tc-s); color:var(--tc); font-size:20px;
}
.mfb-bula .mfb-tab.on i{ background:var(--tc); color:#fff; }
.mfb-bula .mfb-head-ico{
  flex-basis:52px; width:52px; height:52px; border-radius:15px; font-size:29px;
}
.mfb-bula .mfb-head-mark{ font-size:82px; }
.mfb-bula .mfb-sub i{
  display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px;
  border-radius:9px; background:var(--a-s); color:var(--a); font-size:18px;
}
.mfb-bula .mfb-qcard-ico{ width:48px; height:48px; border-radius:13px; font-size:26px; }
.mfb-bula .mfb-metric i{ width:42px; height:42px; border-radius:12px; font-size:23px; }

/* Referências: duas colunas, sem alterar a aparência interna dos cards */
.mfb-bula .mfb-refs{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch;
}
.mfb-bula .mfb-ref{ height:100%; }

/* Tabelas compartilhadas */
.mfb-bula .mfb-table-scroll{
  width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-md); background:var(--paper);
}
.mfb-bula .mfb-dose-table,
.mfb-bula .mfb-adjust-table,
.mfb-bula .mfb-route-table,
.mfb-bula .mfb-ap-table{
  width:100%; min-width:760px; margin:0 !important; border-collapse:collapse; border-spacing:0; table-layout:fixed;
  background:var(--paper); color:var(--ink-2); font-size:13.5px;
}
.mfb-bula .mfb-dose-table th,
.mfb-bula .mfb-adjust-table th,
.mfb-bula .mfb-route-table th,
.mfb-bula .mfb-ap-table th{
  padding:12px 14px; background:var(--wash); border-bottom:1px solid var(--line);
  color:var(--ink-3); font-size:11.5px; font-weight:850; text-align:left;
  text-transform:uppercase; letter-spacing:.055em;
}
.mfb-bula .mfb-dose-table td,
.mfb-bula .mfb-adjust-table td,
.mfb-bula .mfb-route-table td,
.mfb-bula .mfb-ap-table td{
  padding:13px 14px; border-bottom:1px solid var(--line-2); vertical-align:top; line-height:1.48;
}
.mfb-bula .mfb-dose-table tbody:last-child tr:last-child td,
.mfb-bula .mfb-adjust-table tbody tr:last-child td,
.mfb-bula .mfb-route-table tbody tr:last-child td,
.mfb-bula .mfb-ap-table tbody tr:last-child td{ border-bottom:0; }
.mfb-bula .mfb-table-scroll > table{ margin-bottom:0 !important; }

/* Posologia: uma tabela por via, com indicações visualmente agrupadas */
.mfb-bula .mfb-schemes{ display:grid; gap:18px; }
.mfb-bula .mfb-dose-via{ display:grid; gap:9px; }
.mfb-bula .mfb-dose-via-head{
  display:flex; align-items:center; gap:9px; padding:0 2px;
  color:var(--po-d); font-size:14px;
}
.mfb-bula .mfb-dose-via-head i{
  display:grid; place-items:center; width:30px; height:30px; border-radius:9px;
  background:var(--po-s); color:var(--po); font-size:17px;
}
.mfb-bula .mfb-dose-via-head strong{ font-size:15px; font-weight:820; }
.mfb-bula .mfb-dose-via-head span{
  margin-left:auto; padding:4px 10px; border-radius:999px; background:var(--po-s);
  color:var(--po-d); font-size:11.5px; font-weight:750;
}
.mfb-bula .mfb-dose-table th:nth-child(1){ width:21%; }
.mfb-bula .mfb-dose-table th:nth-child(2){ width:20%; }
.mfb-bula .mfb-dose-table th:nth-child(3){ width:14%; }
.mfb-bula .mfb-dose-table th:nth-child(4){ width:14%; }
.mfb-bula .mfb-dose-table th:nth-child(5){ width:31%; }
.mfb-bula .mfb-dose-group + .mfb-dose-group tr:first-child td{
  border-top:2px solid #d5dde3;
}
/* Dentro da mesma indicação a divisão é discreta; entre indicações a linha é mais marcada. */
.mfb-bula .mfb-dose-group tr:not(:last-child) td:not(.mfb-dose-ind){ border-bottom-color:#edf1f4; }
.mfb-bula .mfb-dose-ind{
  border-right:1px solid var(--line-2); background:var(--ind-soft,#f4f7f8); color:var(--ind,#3f5967);
}
.mfb-bula .mfb-dose-ind span{ display:block; font-weight:850; line-height:1.35; }
.mfb-bula .mfb-dose-main{ color:var(--ink); font-weight:800; }
.mfb-bula .mfb-dose-obs{ color:var(--ink-3); }
.mfb-bula .mfb-dose-group.is-ind-0{ --ind:#2f7a62; --ind-soft:#edf7f3; }
.mfb-bula .mfb-dose-group.is-ind-1{ --ind:#396f9b; --ind-soft:#edf4f9; }
.mfb-bula .mfb-dose-group.is-ind-2{ --ind:#765e9b; --ind-soft:#f3f0f8; }
.mfb-bula .mfb-dose-group.is-ind-3{ --ind:#9a6b27; --ind-soft:#fbf4e9; }
.mfb-bula .mfb-dose-group.is-ind-4{ --ind:#9a4e49; --ind-soft:#fbefee; }
.mfb-bula .mfb-dose-group.is-ind-5{ --ind:#4b7180; --ind-soft:#eef5f7; }

/* Populações especiais */
.mfb-bula .mfb-special-section + .mfb-special-section{ margin-top:22px; }
.mfb-bula .mfb-special-section-title{
  display:flex; align-items:center; gap:9px; margin:0 0 10px;
  color:var(--ink-2); font-size:14px; font-weight:820;
}
.mfb-bula .mfb-special-section-title i{
  display:grid; place-items:center; width:30px; height:30px; border-radius:9px;
  background:var(--po-s); color:var(--po); font-size:17px;
}
.mfb-bula .mfb-special-dose-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; align-items:stretch; }
.mfb-bula .mfb-special-dose-card{
  display:flex; flex-direction:column; height:100%; overflow:hidden;
  border:1px solid #d8e5df; border-top:4px solid var(--po); border-radius:var(--r-md); background:var(--paper);
}
.mfb-bula .mfb-special-dose-top{ display:flex; align-items:flex-start; gap:12px; padding:16px 17px 13px; }
.mfb-bula .mfb-special-dose-top > i{
  display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:12px;
  background:var(--po-s); color:var(--po); font-size:22px;
}
.mfb-bula .mfb-special-dose-top h4{ margin:0 0 5px; color:var(--ink); font-size:15px; font-weight:820; }
.mfb-bula .mfb-special-dose-rx{
  margin:0; padding:13px 17px; background:var(--po-s); color:var(--po-d); font-size:14.5px; font-weight:780;
}
.mfb-bula .mfb-special-dose-note{ margin:0; padding:13px 17px 16px; color:var(--ink-3); font-size:13px; }
.mfb-bula .mfb-special-dose-card.is-gestacao{ border-top-color:#7a63a8; }
.mfb-bula .mfb-special-dose-card.is-gestacao .mfb-special-dose-top > i{ background:#f2eff8; color:#674f92; }
.mfb-bula .mfb-special-dose-card.is-lactacao{ border-top-color:#3d7ba8; }
.mfb-bula .mfb-special-dose-card.is-lactacao .mfb-special-dose-top > i{ background:#eaf2f8; color:#2a5a7d; }
.mfb-bula .mfb-adjust-table th:nth-child(1){ width:23%; }
.mfb-bula .mfb-adjust-table th:nth-child(2){ width:25%; }
.mfb-bula .mfb-adjust-table th:nth-child(3){ width:17%; }
.mfb-bula .mfb-adjust-table th:nth-child(4){ width:35%; }
.mfb-bula .mfb-adjust-cond .mfb-tag{ display:inline-flex; margin-top:7px; }
.mfb-bula .mfb-no-adjust{
  display:flex; gap:13px; align-items:flex-start; padding:17px 18px;
  border:1px solid #cfe5da; border-radius:var(--r-md); background:#f4fbf8;
}
.mfb-bula .mfb-no-adjust > i{
  display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px;
  background:var(--po); color:#fff; font-size:21px;
}
.mfb-bula .mfb-no-adjust strong{ display:block; color:var(--po-d); font-size:14.5px; font-weight:820; }
.mfb-bula .mfb-no-adjust span{ display:block; margin-top:3px; color:var(--ink-2); font-size:13.5px; font-weight:700; }
.mfb-bula .mfb-no-adjust p{ margin:6px 0 0; color:var(--ink-3); font-size:13px; }

/* Um modelo de prescrição para cada Dose usual */
.mfb-bula .mfb-rx-list{ display:grid; gap:10px; align-items:start; }
.mfb-bula .mfb-rx-disclosure{
  overflow:hidden; border:1px solid #cfe3da; border-radius:var(--r-md); background:var(--paper);
}
.mfb-bula .mfb-rx-summary{
  display:flex; align-items:center; gap:12px; min-height:64px; padding:12px 15px;
  list-style:none; cursor:pointer; background:#f8fcfa; transition:background .16s,border-color .16s;
}
.mfb-bula .mfb-rx-summary::-webkit-details-marker{ display:none; }
.mfb-bula .mfb-rx-summary:hover{ background:var(--po-s); }
.mfb-bula .mfb-rx-summary-ico{
  display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px;
  background:var(--po); color:#fff; font-size:21px;
}
.mfb-bula .mfb-rx-summary-main{ display:flex; flex-direction:column; min-width:0; flex:1; }
.mfb-bula .mfb-rx-summary-main strong{ color:var(--po-d); font-size:14.5px; font-weight:820; }
.mfb-bula .mfb-rx-summary-main small{ margin-top:2px; color:var(--ink-4); font-size:12px; font-weight:650; }
.mfb-bula .mfb-rx-summary-action{ display:flex; align-items:center; gap:7px; color:var(--po-d); font-size:12px; font-weight:760; }
.mfb-bula .mfb-rx-summary-action i{ transition:transform .18s; }
.mfb-bula .mfb-rx-disclosure[open] .mfb-rx-summary{ border-bottom:1px solid #dbe9e3; background:var(--po-s); }
.mfb-bula .mfb-rx-disclosure[open] .mfb-rx-summary-action i{ transform:rotate(180deg); }
.mfb-bula .mfb-rx-editor-wrap{ padding:16px; }
.mfb-bula .mfb-rx-editor-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.mfb-bula .mfb-rx-editor-head > div{ min-width:0; flex:1; }
.mfb-bula .mfb-rx-editor-head strong{ display:block; color:var(--ink); font-size:13.5px; font-weight:820; }
.mfb-bula .mfb-rx-editor-head span{ display:block; margin-top:2px; color:var(--ink-4); font-size:12px; }
.mfb-bula .mfb-rx-edit{
  display:inline-flex; align-items:center; gap:7px; flex:none; padding:8px 11px; border:1px solid #c8ddd4; border-radius:9px;
  background:#fff; color:var(--po-d); font-size:12.5px; font-weight:760; cursor:pointer;
}
.mfb-bula .mfb-rx-edit:hover{ background:var(--po-s); border-color:#aad0bf; }
.mfb-bula .mfb-rx-editor{
  display:block; width:100%; min-height:190px; resize:vertical; margin:0; padding:15px 16px;
  border:1px solid #cfdad5; border-radius:11px; background:#fff; color:#21332b;
  font-family:"Courier New",Courier,monospace; font-size:14px; line-height:1.65;
}
.mfb-bula .mfb-rx-editor:focus{ outline:none; border-color:var(--po); box-shadow:0 0 0 3px var(--po-s); }
.mfb-bula .mfb-rx-actions{ display:flex; justify-content:flex-end; margin-top:10px; }
.mfb-bula .mfb-rx-actions .mfb-copy{ margin-left:0; }

/* Apresentações em tabela */
.mfb-bula .mfb-ap-results{ display:block; min-width:0; }
.mfb-bula .mfb-ap-table{ min-width:980px; }
.mfb-bula .mfb-ap-table th:nth-child(1){ width:20%; }
.mfb-bula .mfb-ap-table th:nth-child(2){ width:16%; }
.mfb-bula .mfb-ap-table th:nth-child(3){ width:19%; }
.mfb-bula .mfb-ap-table th:nth-child(4){ width:20%; }
.mfb-bula .mfb-ap-table th:nth-child(5){ width:25%; }
.mfb-bula .mfb-ap-table td{ vertical-align:middle; }
.mfb-bula .mfb-ap-name strong{ display:block; color:var(--ink); font-weight:820; line-height:1.35; }
.mfb-bula .mfb-ap-name .mfb-tag{ display:inline-flex; margin-top:7px; }
.mfb-bula .mfb-ap-composition{ color:var(--ink-2); }
.mfb-bula .mfb-ap-comp{ display:block; }
.mfb-bula .mfb-ap-comp + .mfb-ap-comp{ margin-top:3px; }
.mfb-bula .mfb-ap-brands{ display:flex; flex-wrap:wrap; gap:5px; }
.mfb-bula .mfb-ap-table .mfb-brand{ display:inline-flex; padding:4px 7px; font-size:11.5px; }
.mfb-bula .mfb-muted{ color:var(--ink-4); }

/* Administração: Via principal em largura total, com badges internos */
.mfb-bula .mfb-admin{ grid-template-columns:1fr; }
.mfb-bula .mfb-admin-main{ grid-column:1 / -1; min-height:190px; padding:28px; }
.mfb-bula .mfb-admin-main > span,
.mfb-bula .mfb-admin-main > strong,
.mfb-bula .mfb-admin-main > p{ position:relative; z-index:2; }
.mfb-bula .mfb-admin-main > p{ max-width:72%; font-size:14px; }
.mfb-bula .mfb-admin-main-icon{
  position:absolute; right:24px; bottom:10px; color:rgba(255,255,255,.11); font-size:122px; line-height:1;
}
.mfb-bula .mfb-admin-main-icon > i{ position:static; font-size:inherit; color:inherit; }
.mfb-bula .mfb-admin-main-badges{
  position:absolute; z-index:3; top:18px; right:18px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px;
  max-width:50%;
}
.mfb-bula .mfb-admin-badge{
  display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.13); color:#fff;
  font-size:11.5px; font-weight:700; backdrop-filter:blur(4px);
}
.mfb-bula .mfb-admin-badge i{ position:static; font-size:14px; color:#fff; }
.mfb-bula .mfb-admin-badge b{ font-weight:850; }
.mfb-bula .mfb-admin-badge.is-muted{ background:rgba(255,255,255,.08); }
.mfb-bula .mfb-reconst-card{
  position:relative; z-index:3; display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:start;
  width:min(620px,100%); margin-top:17px; padding:13px 15px; border-radius:13px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.19);
}
.mfb-bula .mfb-reconst-ico{
  display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:#fff; color:var(--ad-d); font-size:22px;
}
.mfb-bula .mfb-reconst-card span:not(.mfb-reconst-ico){ display:block; margin:0 0 1px; color:rgba(255,255,255,.72); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.mfb-bula .mfb-reconst-card strong{ display:block; color:#fff; font-size:15px; font-weight:820; }
.mfb-bula .mfb-reconst-card p{ margin:4px 0 0; max-width:none; color:rgba(255,255,255,.84); font-size:12.5px; }

/* Técnica em duas colunas e cards com mesma altura */
.mfb-bula .mfb-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
.mfb-bula .mfb-step{ height:100%; }
.mfb-bula .mfb-step::after{ display:none; }

/* Diluições: card equalizado; observação fica fora do card */
.mfb-bula .mfb-dils{ align-items:start; }
.mfb-bula .mfb-dil-wrap{ display:flex; flex-direction:column; min-width:0; }
.mfb-bula .mfb-dil{ width:100%; }
.mfb-bula .mfb-dil-body{ flex:1; }
.mfb-bula .mfb-dil-obs{ margin:8px 0 0; }
.mfb-bula .mfb-dil-obs-placeholder{ min-height:0; }

/* Compatibilidade agora é tabela */
.mfb-bula .mfb-route-table{ min-width:650px; }
.mfb-bula .mfb-route-table th:nth-child(1){ width:22%; }
.mfb-bula .mfb-route-table th:nth-child(2){ width:20%; }
.mfb-bula .mfb-route-table th:nth-child(3){ width:58%; }
.mfb-bula .mfb-route-table td{ vertical-align:middle; }
.mfb-bula .mfb-route-table td:last-child{ color:var(--ink-3); }

@media (max-width:767px){
  .mfb-bula .mfb-refs{ grid-template-columns:1fr; }
  .mfb-bula .mfb-special-dose-cards,
  .mfb-bula .mfb-steps{ grid-template-columns:1fr; }
  .mfb-bula .mfb-admin-main{ padding:24px 18px; }
  .mfb-bula .mfb-admin-main-badges{ position:relative; top:auto; right:auto; max-width:none; justify-content:flex-start; margin-bottom:14px; }
  .mfb-bula .mfb-admin-main > p{ max-width:100%; }
  .mfb-bula .mfb-admin-main-icon{ right:-8px; bottom:-8px; font-size:96px; }
  .mfb-bula .mfb-head-ico{ flex-basis:46px; width:46px; height:46px; font-size:25px; }
  .mfb-bula .mfb-tab i{ flex-basis:30px; width:30px; height:30px; font-size:18px; }
  .mfb-bula .mfb-rx-summary-action{ font-size:0; }
  .mfb-bula .mfb-rx-summary-action i{ font-size:14px; }
  .mfb-bula .mfb-rx-editor-head{ align-items:flex-start; flex-direction:column; }
  .mfb-bula .mfb-rx-edit{ align-self:flex-start; }
}

/* Reforço de especificidade contra as regras antigas do card principal */
.mfb-bula .mfb-admin-main .mfb-admin-badge{
  display:inline-flex; margin-bottom:0; color:#fff; font-size:11.5px; font-weight:700;
  text-transform:none; letter-spacing:0;
}
.mfb-bula .mfb-admin-main .mfb-admin-badge i{
  position:static; right:auto; bottom:auto; color:#fff; font-size:14px;
}
.mfb-bula .mfb-admin-main .mfb-admin-main-icon > i{
  position:static; right:auto; bottom:auto; color:inherit; font-size:inherit;
}
.mfb-bula .mfb-admin-main .mfb-reconst-ico{
  display:grid; margin-bottom:0; color:var(--ad-d); font-size:22px; font-weight:inherit;
  text-transform:none; letter-spacing:0;
}
.mfb-bula .mfb-admin-main .mfb-reconst-ico i{
  position:static; right:auto; bottom:auto; color:inherit; font-size:inherit;
}
.mfb-bula .mfb-admin-main .mfb-reconst-card strong{ color:#fff; font-size:15px; font-weight:820; }
.mfb-bula .mfb-admin-main .mfb-reconst-card p{ margin:4px 0 0; max-width:none; color:rgba(255,255,255,.84); font-size:12.5px; }

.mfb-bula .mfb-dil-obs.is-alert{
  border-color:#efc9c4; background:var(--dg-s); color:var(--dg-d);
}
.mfb-bula .mfb-dil-obs.is-alert i{ color:var(--dg); }

/* ============================================================
   MOBILE V3 — TABELAS SEM ROLAGEM HORIZONTAL + ADMINISTRAÇÃO
   No desktop as tabelas continuam completas. No mobile, cada linha
   vira um disclosure compacto: informação principal visível e os
   detalhes abrem por toque.
============================================================ */

/* versões móveis ficam ocultas fora do breakpoint */
.mfb-bula .mfb-mobile-table,
.mfb-bula .mfb-dil-mobile{ display:none; }
.mfb-bula .mfb-dil-desktop{ display:block; }

/* evita quebra da contagem (ex.: "6 apresentações") */
.mfb-bula .mfb-sub .mfb-count{
  flex:none;
  white-space:nowrap;
}

/* badges internos da via principal: blindagem dos spans aninhados */
.mfb-bula .mfb-admin-main .mfb-admin-badge .mfb-admin-badge-text{
  display:inline-flex; align-items:center; gap:6px; margin:0;
  color:inherit; font-size:inherit; font-weight:inherit;
  text-transform:none; letter-spacing:0;
}
.mfb-bula .mfb-admin-main .mfb-admin-badge .mfb-admin-badge-value{
  display:inline; margin:0; color:inherit; font-size:inherit; font-weight:700;
  text-transform:none; letter-spacing:0;
}

@media (max-width:767px){
  /* ---------- sistema comum de linha expansível ---------- */
  .mfb-bula .mfb-table-desktop{ display:none !important; }
  .mfb-bula .mfb-mobile-table{ display:grid; gap:8px; min-width:0; }

  .mfb-bula .mfb-mobile-disclosure{
    overflow:hidden; min-width:0;
    border:1px solid var(--line); border-radius:13px;
    background:var(--paper);
  }
  .mfb-bula .mfb-mobile-disclosure > summary{
    display:flex; align-items:center; gap:10px; min-width:0;
    padding:13px 14px; list-style:none; cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .mfb-bula .mfb-mobile-disclosure > summary::-webkit-details-marker{ display:none; }
  .mfb-bula .mfb-mobile-disclosure[open] > summary{ border-bottom:1px solid var(--line-2); }
  .mfb-bula .mfb-mobile-chevron{
    display:inline-flex; align-items:center; justify-content:center;
    flex:0 0 22px; width:22px; height:22px; margin-left:auto;
    color:var(--ink-4); font-size:12px;
  }
  .mfb-bula .mfb-mobile-chevron i{ transition:transform .18s ease; }
  .mfb-bula .mfb-mobile-disclosure[open] .mfb-mobile-chevron i{ transform:rotate(180deg); }

  .mfb-bula .mfb-mobile-summary-main{
    display:flex; flex-direction:column; gap:3px; min-width:0; flex:1;
  }
  .mfb-bula .mfb-mobile-summary-main > strong{
    color:var(--ink); font-size:14.5px; font-weight:820; line-height:1.35;
    overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-mobile-summary-main > span:not(.mfb-tag){
    color:var(--ink-4); font-size:12.5px; font-weight:650;
  }

  .mfb-bula .mfb-mobile-detail-grid{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0; padding:4px 14px 13px;
  }
  .mfb-bula .mfb-mobile-detail-grid > div{
    min-width:0; padding:11px 0;
    border-bottom:1px solid var(--line-2);
  }
  .mfb-bula .mfb-mobile-detail-grid > div:nth-last-child(-n+2){ border-bottom:0; }
  .mfb-bula .mfb-mobile-detail-grid > div:nth-child(odd):not(.is-full){ padding-right:12px; }
  .mfb-bula .mfb-mobile-detail-grid > div:nth-child(even):not(.is-full){
    padding-left:12px; border-left:1px solid var(--line-2);
  }
  .mfb-bula .mfb-mobile-detail-grid .is-full{
    grid-column:1 / -1; padding-left:0; padding-right:0;
  }
  .mfb-bula .mfb-mobile-detail-grid span{
    display:block; margin-bottom:4px;
    color:var(--ink-4); font-size:11px; font-weight:820;
    text-transform:uppercase; letter-spacing:.055em;
  }
  .mfb-bula .mfb-mobile-detail-grid strong,
  .mfb-bula .mfb-mobile-value{
    display:block; color:var(--ink); font-size:13.5px; font-weight:760; line-height:1.45;
    overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-mobile-detail-grid p{
    margin:0; color:var(--ink-3); font-size:13px; line-height:1.5;
  }
  .mfb-bula .mfb-mobile-value-line{ display:block; }
  .mfb-bula .mfb-mobile-value-line + .mfb-mobile-value-line{ margin-top:3px; }

  /* ---------- Apresentações ---------- */
  .mfb-bula .mfb-ap-mobile{ gap:9px; }
  .mfb-bula .mfb-ap-mobile-item > summary{ flex-wrap:nowrap; }
  .mfb-bula .mfb-ap-mobile-item > summary > .mfb-tag{
    flex:none; max-width:38%; white-space:normal; text-align:center; line-height:1.2;
  }
  .mfb-bula .mfb-ap-mobile-item .mfb-ap-brands{ gap:5px; }
  .mfb-bula .mfb-ap-mobile-item .mfb-brand{ font-size:11.5px; padding:4px 7px; }

  /* mantém "N apresentações" inteiro na mesma linha */
  .mfb-bula [data-panel="ap"] .mfb-sub .mfb-count{
    font-size:12px; padding:4px 9px; line-height:1.25;
  }

  /* ---------- Posologia ---------- */
  .mfb-bula .mfb-metrics{
    justify-content:center;
  }
  .mfb-bula .mfb-metric{
    display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
    text-align:center;
  }
  .mfb-bula .mfb-metric i{ margin-left:auto; margin-right:auto; }

  .mfb-bula .mfb-dose-mobile{ gap:10px; }
  .mfb-bula .mfb-mobile-dose-group{
    --ind:var(--po); --ind-soft:var(--po-s);
    overflow:hidden; border:1px solid #d9e4df; border-radius:14px; background:#fff;
  }
  .mfb-bula .mfb-mobile-dose-group.is-ind-0{ --ind:#2f7a62; --ind-soft:#edf7f3; }
  .mfb-bula .mfb-mobile-dose-group.is-ind-1{ --ind:#396f9b; --ind-soft:#edf4f9; }
  .mfb-bula .mfb-mobile-dose-group.is-ind-2{ --ind:#765e9b; --ind-soft:#f3f0f8; }
  .mfb-bula .mfb-mobile-dose-group.is-ind-3{ --ind:#9a6b27; --ind-soft:#fbf4e9; }
  .mfb-bula .mfb-mobile-dose-group.is-ind-4{ --ind:#9a4e49; --ind-soft:#fbefee; }
  .mfb-bula .mfb-mobile-dose-group.is-ind-5{ --ind:#4b7180; --ind-soft:#eef5f7; }
  .mfb-bula .mfb-mobile-dose-ind{
    padding:11px 14px; border-bottom:1px solid #dce5e1;
    background:var(--ind-soft); color:var(--ind);
    font-size:14px; font-weight:850; line-height:1.35;
  }
  .mfb-bula .mfb-mobile-dose-group .mfb-dose-mobile-item{
    border:0; border-radius:0;
  }
  .mfb-bula .mfb-mobile-dose-group .mfb-dose-mobile-item + .mfb-dose-mobile-item{
    border-top:1px solid #e4e9ec;
  }
  .mfb-bula .mfb-dose-mobile-item > summary{ padding:12px 14px; }
  .mfb-bula .mfb-mobile-dose-summary{ min-width:0; flex:1; }
  .mfb-bula .mfb-mobile-dose-summary strong{
    display:block; color:var(--ink); font-size:15px; font-weight:850; line-height:1.35;
    overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-mobile-dose-summary span{
    display:flex; align-items:center; gap:5px; margin-top:4px;
    color:var(--ink-3); font-size:12.5px; font-weight:720;
  }
  .mfb-bula .mfb-mobile-dose-summary span i{ color:var(--ind); font-size:12px; }
  .mfb-bula .mfb-mobile-more{
    display:inline-flex; align-items:center; gap:5px; flex:none;
    color:var(--ind); font-size:11.5px; font-weight:800; white-space:nowrap;
  }
  .mfb-bula .mfb-mobile-more i{ transition:transform .18s ease; }
  .mfb-bula .mfb-dose-mobile-item[open] .mfb-mobile-more i{ transform:rotate(180deg); }

  /* ajustes de órgão/outras populações também não criam scroll */
  .mfb-bula .mfb-adjust-mobile-item > summary{ align-items:flex-start; }
  .mfb-bula .mfb-adjust-mobile-dose{
    flex:0 1 42%; min-width:0; color:var(--po-d);
    font-size:12.5px; font-weight:800; line-height:1.35; text-align:right;
    overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-adjust-mobile-item .mfb-tag{ align-self:flex-start; margin-top:3px; }

  /* ---------- Administração: badges abaixo do texto ---------- */
  .mfb-bula .mfb-admin-main{
    display:flex; flex-direction:column; align-items:stretch;
  }
  .mfb-bula .mfb-admin-main > span{ order:1; }
  .mfb-bula .mfb-admin-main > strong{ order:2; position:relative; z-index:2; }
  .mfb-bula .mfb-admin-main > p{ order:3; }
  .mfb-bula .mfb-admin-main .mfb-reconst-card{ order:4; }
  .mfb-bula .mfb-admin-main .mfb-admin-main-badges{
    order:5; position:relative; top:auto; right:auto;
    display:grid; grid-template-columns:1fr; gap:7px;
    width:100%; max-width:none; margin:16px 0 0; justify-content:stretch;
  }
  .mfb-bula .mfb-admin-main .mfb-admin-badge{
    display:grid; grid-template-columns:22px minmax(0,1fr); align-items:flex-start; gap:8px;
    width:100%; padding:9px 11px; border-radius:12px;
  }
  .mfb-bula .mfb-admin-main .mfb-admin-badge > i{
    width:22px; height:22px; display:grid; place-items:center; margin-top:1px;
  }
  .mfb-bula .mfb-admin-main .mfb-admin-badge .mfb-admin-badge-text{
    display:flex; flex-direction:column; align-items:flex-start; gap:1px; min-width:0;
  }
  .mfb-bula .mfb-admin-main .mfb-admin-badge .mfb-admin-badge-text b{
    display:block; color:rgba(255,255,255,.72); font-size:10.5px; font-weight:850;
    text-transform:uppercase; letter-spacing:.055em;
  }
  .mfb-bula .mfb-admin-main .mfb-admin-badge .mfb-admin-badge-value{
    display:block; width:100%; margin:0;
    color:#fff; font-size:12.5px; font-weight:760; line-height:1.35;
    text-transform:none; letter-spacing:0; overflow-wrap:anywhere;
  }

  /* ---------- Diluições: no mobile viram botões/accordions ---------- */
  .mfb-bula .mfb-dil-desktop{ display:none; }
  .mfb-bula .mfb-dil-mobile{
    display:block; overflow:hidden;
    border:1px solid var(--line); border-left:4px solid var(--ad);
    border-radius:13px; background:var(--paper);
  }
  .mfb-bula .mfb-dil-mobile.is-bolus{ border-left-color:var(--dg); }
  .mfb-bula .mfb-dil-mobile.is-infusao{ border-left-color:var(--ov); }
  .mfb-bula .mfb-dil-mobile > summary{
    display:grid; grid-template-columns:36px minmax(0,1fr) 22px; gap:10px; align-items:start;
    padding:13px 14px; list-style:none; cursor:pointer;
    background:var(--ad-s); -webkit-tap-highlight-color:transparent;
  }
  .mfb-bula .mfb-dil-mobile.is-bolus > summary{ background:var(--dg-s); }
  .mfb-bula .mfb-dil-mobile.is-infusao > summary{ background:var(--ov-s); }
  .mfb-bula .mfb-dil-mobile > summary::-webkit-details-marker{ display:none; }
  .mfb-bula .mfb-dil-mobile-title{ display:flex; flex-direction:column; min-width:0; }
  .mfb-bula .mfb-dil-mobile-title > strong{
    color:var(--ink); font-size:14px; font-weight:850; line-height:1.3; overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-dil-mobile-title > span{
    margin-top:3px; color:var(--ink-3); font-size:12px; font-weight:650; line-height:1.4;
  }
  /* concentração fica SEMPRE abaixo do título/descrição */
  .mfb-bula .mfb-dil-mobile-title .mfb-dil-conc{
    align-self:flex-start; display:inline-flex; max-width:100%; margin:8px 0 0;
    white-space:normal; font-style:normal; line-height:1.25; overflow-wrap:anywhere;
  }
  .mfb-bula .mfb-dil-mobile .mfb-mobile-chevron{ margin:5px 0 0; }
  .mfb-bula .mfb-dil-mobile[open] .mfb-mobile-chevron i{ transform:rotate(180deg); }
  .mfb-bula .mfb-dil-mobile-body{ border-top:1px solid var(--line-2); background:#fff; }
  .mfb-bula .mfb-dil-mobile-body .mfb-dil-body{ padding:14px; }
  .mfb-bula .mfb-dil-mobile-body .mfb-dil-obs{ margin:0 14px 10px; }
  .mfb-bula .mfb-dil-mobile-body .mfb-dil-obs:last-child{ margin-bottom:14px; }

  /* ---------- Compatibilidade por via ---------- */
  .mfb-bula .mfb-route-mobile-item > summary > strong{
    min-width:0; flex:1; color:var(--ink); font-size:14.5px; font-weight:820;
  }
  .mfb-bula .mfb-route-mobile-item > summary > .mfb-tag{ flex:none; }

  /* situações especiais: uma coluna no mobile */
  .mfb-bula .mfb-specials{
    grid-template-columns:1fr !important;
    gap:10px;
  }
}

@media (max-width:420px){
  .mfb-bula .mfb-mobile-detail-grid{ grid-template-columns:1fr; }
  .mfb-bula .mfb-mobile-detail-grid > div,
  .mfb-bula .mfb-mobile-detail-grid > div:nth-child(odd):not(.is-full),
  .mfb-bula .mfb-mobile-detail-grid > div:nth-child(even):not(.is-full){
    grid-column:1; padding-left:0; padding-right:0; border-left:0;
    border-bottom:1px solid var(--line-2);
  }
  .mfb-bula .mfb-mobile-detail-grid > div:last-child{ border-bottom:0; }
  .mfb-bula .mfb-ap-mobile-item > summary > .mfb-tag{ max-width:34%; font-size:10.5px; }
  .mfb-bula .mfb-adjust-mobile-item > summary{ flex-wrap:wrap; }
  .mfb-bula .mfb-adjust-mobile-dose{ flex:1 1 100%; text-align:left; padding-left:0; }
}


/* ============================================================
   RENDERIZAÇÃO NO SERVIDOR · OUT/2026
   O conteúdo das abas vem pronto do PHP (bulario-render.php).
   .mfb-js é aplicada por um script inline logo na abertura da
   bula, antes da pintura — sem ela (JS desligado ou bloqueado),
   todas as seções aparecem em sequência, legíveis.
============================================================ */

/* atributo hidden vale mesmo onde o componente define display */
.mfb-bula [hidden]{ display:none !important; }

.mfb-bula.mfb-js .mfb-off,
.mfb-bula.mfb-js .mfb-nojs{ display:none; }

.mfb-bula:not(.mfb-js) .mfb-tabs,
.mfb-bula:not(.mfb-js) .mfb-quick-head,
.mfb-bula:not(.mfb-js) .mfb-quick,
.mfb-bula:not(.mfb-js) .mfb-via-seg,
.mfb-bula:not(.mfb-js) .mfb-filter,
.mfb-bula:not(.mfb-js) .mfb-seg,
.mfb-bula:not(.mfb-js) .mfb-more,
.mfb-bula:not(.mfb-js) .mfb-rx-edit,
.mfb-bula:not(.mfb-js) .mfb-rx-actions{ display:none; }
.mfb-bula:not(.mfb-js) .mfb-panel{ display:block; }
.mfb-bula:not(.mfb-js) .mfb-panel + .mfb-panel{ border-top:1px solid var(--line); }

.mfb-bula .mfb-nojs{ margin:22px 0 12px; color:var(--ink); font-size:17px; font-weight:750; }

/* grupos de posologia: cada um mantém o espaçamento que .mfb-schemes
   dava às tabelas de via */
.mfb-bula .mfb-scheme-g{ display:grid; gap:18px; min-width:0; }

/* data da revisão no topo — antes ficava escondida na última aba */
.mfb-bula .mfb-hero-rev{
  display:flex; align-items:center; gap:8px;
  margin:18px 0 0; color:rgba(255,255,255,.78);
  font-size:13.5px; line-height:1.4;
}
.mfb-bula .mfb-hero-rev .mfb-ic{ font-size:15px; color:var(--accent-soft); }
.mfb-bula .mfb-hero-rev time{ color:#fff; font-weight:700; }

/* botão "o peso está correto" no aviso de peso improvável */
.mfb-bula .mfb-cconfirm{ margin-top:10px; }


/* ============================================================
   ABAS FIXAS NO TOPO · OUT/2026
   Ao ler uma aba longa, a barra acompanha a rolagem — trocar de
   seção não exige mais voltar ao topo. overflow:clip (em vez de
   hidden) mantém os cantos arredondados sem quebrar o sticky.
   --mfb-topo: ajuste aqui se o tema tiver cabeçalho fixo.
============================================================ */

.mfb-bula{ --mfb-topo:0px; }
body.admin-bar .mfb-bula{ --mfb-topo:32px; }

.mfb-bula .mfb-shell{ overflow:hidden; overflow:clip; }

.mfb-bula.mfb-js .mfb-tabs{
  position:sticky; top:var(--mfb-topo); z-index:20;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
}

/* Celular e tablet estreito: uma linha só, rolável, em vez da grade de
   2 colunas que ocupava 272px antes do conteúdo começar. */
@media (max-width:900px){
  .mfb-bula .mfb-tabs{
    display:flex; flex-wrap:nowrap; gap:6px; padding:7px;
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x proximity; scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .mfb-bula .mfb-tabs::-webkit-scrollbar{ display:none; }
  .mfb-bula .mfb-tab{
    flex:0 0 auto; min-height:46px; padding:8px 13px 8px 9px;
    scroll-snap-align:center; font-size:12.5px;
  }
  .mfb-bula .mfb-tab span{ width:auto; overflow:visible; }
  .mfb-bula .mfb-tab i{ flex-basis:28px; width:28px; height:28px; font-size:16px; }
  .mfb-bula.mfb-js .mfb-tabs{ box-shadow:0 6px 14px -10px rgba(18,34,46,.35); }
}

@media (max-width:782px){
  body.admin-bar .mfb-bula{ --mfb-topo:46px; }
}
@media (max-width:600px){
  /* abaixo de 600px a barra do admin do WordPress não é fixa */
  body.admin-bar .mfb-bula{ --mfb-topo:0px; }
}

/* referência com link para a fonte consultada */
.mfb-bula .mfb-ref h3 a{ color:inherit; text-decoration:underline; text-decoration-color:rgba(95,107,116,.35); text-underline-offset:3px; }
.mfb-bula .mfb-ref h3 a:hover{ text-decoration-color:currentColor; }
