/* ===== Página BDental Pro - Gestão Laboratorial =====
   Reaproveita as variáveis/tipografia/botões já definidos em /assets/style.css
   (--bg, --bg-soft, --panel, --line, --cyan, --cyan-soft, --chrome, --white, --muted,
   --display, --body, --mono, .btn-primary, .wrap). Este arquivo só tem o específico da página. */

.sw-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:11.5px; color:var(--cyan); font-weight:500;
  padding:6px 12px 6px 8px; border:1px solid rgba(0,194,255,.35); border-radius:999px;
  margin-bottom:22px;
}
.sw-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 3px var(--cyan-soft); }

.sw-btn-outline{
  display:inline-flex; align-items:center; gap:8px;
  font-size:15px; font-weight:600; color:var(--white);
  padding:15px 26px; border-radius:100px; border:1px solid var(--line);
  transition:border-color .18s ease;
}
.sw-btn-outline:hover{ border-color:var(--chrome); }
.sw-btn-full{ width:100%; justify-content:center; }

/* ---------- hero ---------- */
.sw-hero{ padding:96px 0 84px; position:relative; overflow:hidden; }
.sw-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
@media (max-width:960px){ .sw-hero-grid{ grid-template-columns:1fr; } .sw-hero{ padding:56px 0 48px; } }

.sw-h1{ font-family:var(--display); font-size:clamp(32px, 4.6vw, 50px); font-weight:600; line-height:1.08; margin:0 0 22px; }
.sw-h1 em{ font-style:normal; color:var(--cyan); }
.sw-lead{ font-size:17px; color:var(--chrome); max-width:520px; margin:0 0 34px; }

.sw-hero-meta{ display:flex; gap:30px; flex-wrap:wrap; margin-top:38px; }
.sw-hero-meta .stat-num{ font-family:var(--display); font-size:22px; font-weight:600; }
.sw-hero-meta .stat-label{ font-size:12px; color:var(--muted); margin-top:2px; }

/* signature: lab case tag */
.tag-stage{ position:relative; display:flex; justify-content:center; padding:20px 0; max-width:100%; }
.case-tag{
  position:relative; width:100%; max-width:320px; background:var(--panel); border:1px solid var(--line);
  border-radius:14px; padding:26px 24px 24px; transform:rotate(3deg);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.65);
}
.case-tag::before{
  content:''; position:absolute; top:20px; right:-11px; width:22px; height:22px; border-radius:50%;
  background:var(--bg); border:1px solid var(--line); box-shadow: inset 0 0 0 5px var(--bg-soft);
}
.case-tag .row1{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.case-tag .os-num{ font-size:12px; color:var(--chrome); }
.case-tag .os-num b{ color:var(--white); font-family:var(--mono); }
.case-tag .stamp{
  font-family:var(--mono); font-size:10px; font-weight:500; color:var(--cyan);
  border:1px solid rgba(0,194,255,.5); padding:4px 8px; border-radius:5px; transform:rotate(-6deg);
}
.case-tag h3{ font-family:var(--display); margin:0 0 6px; font-size:20px; }
.case-tag .sub-line{ font-size:12.5px; color:var(--chrome); margin-bottom:20px; }
.case-tag .prog{ height:6px; border-radius:4px; background:var(--bg); overflow:hidden; margin-bottom:8px; }
.case-tag .prog i{ display:block; height:100%; width:64%; background:linear-gradient(90deg, #0090c2, var(--cyan)); }
.case-tag .steps{ display:flex; justify-content:space-between; font-size:10.5px; color:var(--muted); font-family:var(--mono); }
.case-tag .steps .on{ color:var(--cyan); }
.tag-fly{
  position:absolute; background:var(--bg-soft); border:1px solid var(--line); border-radius:9px;
  padding:9px 12px; font-size:11.5px; box-shadow:0 14px 30px -10px rgba(0,0,0,.6);
}
.tag-fly.a{ top:6px; left:-6px; transform:rotate(-6deg); color:var(--chrome); }
.tag-fly.a b{ color:var(--white); display:block; font-size:13px; font-family:var(--display); }
.tag-fly.b{ bottom:2px; right:-18px; transform:rotate(4deg); display:flex; align-items:center; gap:7px; color:var(--chrome); }
.tag-fly.b svg{ color:var(--cyan); }

/* ---------- section shell ---------- */
.sw-section{ padding:88px 0; border-top:1px solid var(--line); }
@media (max-width:720px){ .sw-section{ padding:56px 0; } }
.sw-head{ max-width:560px; margin-bottom:52px; }
.sw-head-center{ margin-left:auto; margin-right:auto; text-align:center; }
.sw-head-center p{ margin-left:auto; margin-right:auto; }
.sw-head h2{ font-family:var(--display); font-size:clamp(24px,3vw,32px); font-weight:600; margin:0 0 12px; }
.sw-head p{ color:var(--chrome); font-size:15.5px; margin:0; }

/* ---------- catalog ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
@media (max-width:800px){ .cat-grid{ grid-template-columns:1fr; } }
.cat-card{ background:var(--panel); padding:30px 26px; }
.cat-card .num{ font-family:var(--mono); font-size:12px; color:var(--cyan); margin-bottom:16px; }
.cat-card h3{ font-family:var(--display); font-size:17px; margin:0 0 10px; }
.cat-card p{ font-size:13.5px; color:var(--chrome); margin:0; }

/* ---------- workflow ---------- */
.flow{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:800px){ .flow{ grid-template-columns:1fr; } }
.flow-step{ position:relative; padding:28px 24px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
.flow-step .fn{ font-family:var(--display); font-size:34px; font-weight:600; color:var(--line); position:absolute; top:18px; right:20px; }
.flow-step h3{ font-family:var(--display); font-size:16.5px; margin:0 0 10px; padding-right:30px; }
.flow-step p{ font-size:13.5px; color:var(--chrome); margin:0 0 14px; }
.flow-step ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px; }
.flow-step li{ font-size:12.5px; color:var(--muted); display:flex; gap:8px; align-items:flex-start; }
.flow-step li svg{ flex:none; margin-top:3px; color:var(--cyan); }

/* ---------- features ---------- */
.feat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
@media (max-width:900px){ .feat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .feat-grid{ grid-template-columns:1fr; } }
.feat{ background:var(--panel); padding:26px 24px; }
.feat .ic{ width:36px; height:36px; border-radius:8px; background:var(--cyan-soft); color:var(--cyan); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.feat h3{ font-family:var(--display); font-size:15px; margin:0 0 8px; }
.feat p{ font-size:13px; color:var(--chrome); margin:0; }

/* ---------- pricing: bolha única ---------- */
.sw-price-note-row{ display:flex; justify-content:center; }
.sw-price-note{ display:inline-block; font-family:var(--mono); font-size:12px; color:var(--muted); margin-bottom:40px; padding:8px 14px; border:1px dashed var(--line); border-radius:8px; }

.price-single-wrap{ display:flex; flex-direction:column; align-items:center; }

.tsw-row{ display:flex; align-items:center; gap:14px; margin-bottom:40px; cursor:pointer; }
.tsw-row .tl{ font-size:13.5px; color:var(--chrome); transition:color .15s ease; }
.tsw-row .tl.on{ color:var(--white); font-weight:600; }
.tsw-badge{
  display:inline-block; margin-left:8px; font-size:10.5px; font-weight:600;
  background:var(--cyan-soft); color:var(--cyan); padding:2px 8px; border-radius:999px;
  font-family:var(--mono); letter-spacing:.03em;
}
.toggle-input{ position:absolute; opacity:0; width:1px; height:1px; }
.tsw-track{
  width:46px; height:26px; border-radius:999px; background:var(--bg-soft);
  border:1px solid var(--line); position:relative; flex:none; display:block;
  transition:background .2s ease, border-color .2s ease;
}
.tsw-thumb{
  position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%;
  background:var(--chrome); transition:transform .22s ease, background .22s ease;
}
.toggle-input:checked ~ .price-single-wrap .tsw-track{ border-color:var(--cyan); }
.toggle-input:checked ~ .price-single-wrap .tsw-thumb{ transform:translateX(20px); background:var(--cyan); }
.toggle-input:focus-visible ~ .price-single-wrap .tsw-track{ outline:2px solid var(--cyan); outline-offset:2px; }
.toggle-input:checked ~ .price-single-wrap .tsw-row .tl:nth-child(1){ color:var(--chrome); font-weight:400; }
.toggle-input:checked ~ .price-single-wrap .tsw-row .tl:nth-child(3){ color:var(--white); font-weight:600; }

/* anel "circulando" (mesmo padrao da pagina /curso/, via @property pra nao distorcer em losango) */
@property --price-ring-angle{
  syntax:'<angle>'; initial-value:0deg; inherits:false;
}
.price-single{ position:relative; width:100%; max-width:480px; border-radius:16px; padding:2px; background:var(--panel); }
.price-single::before{
  content:''; position:absolute; inset:-2.5px; border-radius:inherit;
  background:conic-gradient(from var(--price-ring-angle), transparent 0deg, #bdf3fa 40deg, var(--cyan) 90deg, transparent 170deg, transparent 250deg, #0090c2 320deg, transparent 360deg);
  animation:price-ring-spin 4s linear infinite;
  z-index:0;
}
.price-single::after{
  content:''; position:absolute; inset:-22px; border-radius:28px;
  background:radial-gradient(circle at 50% 20%, var(--cyan-soft), transparent 70%);
  z-index:-1; filter:blur(10px);
}
@keyframes price-ring-spin{ to{ --price-ring-angle:360deg; } }
@media (prefers-reduced-motion:reduce){ .price-single::before{ animation:none; } }

.price-single-inner{
  position:relative; z-index:1; background:var(--panel);
  border-radius:14px; padding:38px 36px; display:flex; flex-direction:column; align-items:center; text-align:center;
}
.price-single-inner .kicker{ font-size:13px; color:var(--chrome); margin-bottom:18px; }
.price-single-inner .kicker b{ color:var(--white); font-family:var(--display); font-weight:600; }

.price-block{ display:flex; flex-direction:column; align-items:center; margin-bottom:6px; }
.price-block .old-row{ display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.price-block .amt-old{ font-size:15px; color:var(--muted); text-decoration:line-through; }
.price-block .off-tag{ font-size:10.5px; font-weight:600; color:#ff8a7a; background:rgba(255,120,100,.1); padding:2px 7px; border-radius:5px; font-family:var(--mono); }
.price-block .amt{ font-family:var(--display); font-size:44px; font-weight:700; line-height:1; }
.price-block .amt .per-unit{ font-size:16px; color:var(--muted); font-weight:500; font-family:var(--body); }
.sw-per{ font-size:12.5px; color:var(--muted); margin:14px 0 28px; }

.price-single-wrap .price-block.anual{ display:none; }
.toggle-input:checked ~ .price-single-wrap .price-block.mensal{ display:none; }
.toggle-input:checked ~ .price-single-wrap .price-block.anual{ display:flex; }

.qual-grid{
  list-style:none; padding:0; margin:0 0 30px; text-align:left; width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:11px 20px;
}
@media (max-width:520px){ .qual-grid{ grid-template-columns:1fr; } }
.qual-grid li{ font-size:13px; color:var(--chrome); display:flex; gap:8px; align-items:flex-start; }
.qual-grid li svg{ flex:none; margin-top:3px; color:var(--cyan); }

/* ---------- closing cta ---------- */
.sw-cta-band{ text-align:center; padding:100px 0; border-top:1px solid var(--line); }
.sw-cta-band h2{ font-family:var(--display); font-size:clamp(26px,3.6vw,38px); margin:16px 0; }
.sw-cta-band p{ color:var(--chrome); font-size:15.5px; margin:0 0 34px; }
