/* UniGlobal Academy - vitrine pública. Escopo: .acd (não afeta o restante do site). */
.acd{
  --acd-navy:#082878;
  --acd-primary:#0f4c81;
  --acd-blue:#1f6fb2;
  --acd-gold:#f0b429;
  --acd-gold-dark:#d99a0b;
  --acd-ink:#14213d;
  --acd-muted:#5b6b7f;
  --acd-line:#e3e9f1;
  --acd-bg:#f5f7fa;
  --acd-live:#d6293e;
  --acd-green:#128a47;
  --acd-radius:16px;
  --acd-shadow:0 10px 30px rgba(8,40,120,.08);
  --acd-shadow-hover:0 18px 40px rgba(8,40,120,.16);
  color:var(--acd-ink);
  background:#fff;
}
.acd a{ color:var(--acd-primary); }

/* ---------- Botões ---------- */
.acd .btn{ border-radius:10px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; }
.acd-btn-primary{ background:var(--acd-primary); border:1px solid var(--acd-primary); color:#fff !important; }
.acd-btn-primary:hover,.acd-btn-primary:focus{ background:var(--acd-navy); border-color:var(--acd-navy); }
.acd-btn-gold{ background:var(--acd-gold); border:1px solid var(--acd-gold); color:var(--acd-navy) !important; }
.acd-btn-gold:hover,.acd-btn-gold:focus{ background:var(--acd-gold-dark); border-color:var(--acd-gold-dark); }
.acd-btn-gold:disabled{ opacity:.55; }
.acd-btn-outline{ background:#fff; border:1px solid #c9d6e6; color:var(--acd-primary) !important; }
.acd-btn-outline:hover{ border-color:var(--acd-primary); background:#f1f6fc; }
.acd-btn-light{ background:#fff; border:1px solid #fff; color:var(--acd-navy) !important; }
.acd-btn-light:hover{ background:#eef3fa; }
.acd-btn-incart{ background:#e8f5ee; border:1px solid #bfe3cf; color:var(--acd-green) !important; }
.acd-btn-muted{ background:#f1f3f6; border:1px solid #e3e7ec; color:var(--acd-muted) !important; }
.acd-btn-lg{ padding:.85rem 1.2rem; font-size:1.05rem; }
.acd .btn:focus-visible{ outline:3px solid rgba(240,180,41,.6); outline-offset:2px; }

/* ---------- Avisos ---------- */
.acd-preview-bar{ background:#fff7e0; border-bottom:1px solid #f4dc93; color:#6b4e00; font-size:.9rem; padding:.55rem 0; }
.acd-preview-bar a{ color:#6b4e00; font-weight:700; }
.acd-preview-draft{ background:#eef2ff; border-color:#c7d2fe; color:#3730a3; }
.acd-flash{ border-radius:12px; }
.acd-toast{ position:fixed; left:50%; bottom:100px; /* acima do botão flutuante do WhatsApp */ transform:translateX(-50%); z-index:1080; background:var(--acd-ink); color:#fff; padding:.8rem 1.1rem; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.25); display:flex; align-items:center; gap:.75rem; font-weight:500; max-width:calc(100% - 32px); }
.acd-toast a{ color:var(--acd-gold); font-weight:700; white-space:nowrap; }
.acd-toast.is-error{ background:#8a1c2b; }
.acd-toast[hidden]{ display:none; }

/* ---------- Hero ---------- */
.acd-hero{ position:relative; overflow:hidden; color:#fff; padding:4.5rem 0 5rem;
  background:
    radial-gradient(700px 380px at 90% -10%, rgba(240,180,41,.28), transparent 60%),
    radial-gradient(600px 400px at -10% 110%, rgba(31,111,178,.55), transparent 60%),
    linear-gradient(135deg, var(--acd-navy) 0%, var(--acd-primary) 60%, #14609e 100%); }
.acd-hero::after{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size:22px 22px; mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 85%); pointer-events:none; }
.acd-hero-compact{ padding:2.5rem 0 2.75rem; }
.acd-hero-course{ padding:2.5rem 0 3rem; }
.acd-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); padding:.35rem .8rem; border-radius:999px; font-size:.85rem; font-weight:600; margin-bottom:1rem; }
.acd-eyebrow i{ color:var(--acd-gold); }
.acd-eyebrow-dark{ display:block; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:700; color:var(--acd-muted); margin-bottom:.25rem; }
.acd-hero-title{ font-weight:800; font-size:clamp(2rem, 4.2vw, 3.4rem); line-height:1.08; letter-spacing:-.02em; margin-bottom:.9rem; color:#fff; }
.acd-hero-compact .acd-hero-title,.acd-hero-course .acd-hero-title{ font-size:clamp(1.7rem, 3.2vw, 2.6rem); }
.acd-hero-tagline{ font-size:clamp(1.1rem, 1.9vw, 1.4rem); font-weight:700; color:var(--acd-gold); letter-spacing:.01em; margin:-.3rem 0 .8rem; }
.acd-hero-sub{ font-size:1.15rem; color:#dbe7f5; max-width:640px; margin-bottom:1.5rem; }
.acd-search{ position:relative; display:flex; align-items:center; background:#fff; border-radius:14px; padding:.4rem; box-shadow:0 14px 34px rgba(0,0,0,.18); max-width:640px; }
.acd-search > i{ position:absolute; left:1.05rem; color:#8a99ad; font-size:1.1rem; }
.acd-search input{ flex:1; border:0; outline:0; padding:.75rem .75rem .75rem 2.6rem; font-size:1rem; min-width:0; color:var(--acd-ink); background:transparent; }
.acd-search .btn{ padding:.7rem 1.4rem; }
.acd-search-sm{ max-width:560px; margin-top:1rem; }
.acd-hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; margin-top:1.5rem; }
.acd-link-light{ color:#fff !important; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; }
.acd-link-light:hover{ text-decoration:underline; }
.acd-hero-panel{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(6px); border-radius:22px; padding:1.75rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.acd-hero-stat strong{ display:block; font-size:2.1rem; font-weight:800; color:var(--acd-gold); line-height:1; }
.acd-hero-stat span{ font-size:.85rem; color:#dbe7f5; }
.acd-hero-list{ grid-column:1 / -1; list-style:none; padding:1rem 0 0; margin:0; border-top:1px solid rgba(255,255,255,.18); display:grid; gap:.55rem; }
.acd-hero-list i{ color:var(--acd-gold); margin-right:.4rem; }
.acd-crumbs{ display:flex; flex-wrap:wrap; gap:.35rem; list-style:none; padding:0; margin:0 0 1rem; font-size:.88rem; }
.acd-crumbs li+li::before{ content:"›"; margin-right:.35rem; opacity:.7; }
.acd-crumbs a{ color:#cfe0f3 !important; text-decoration:none; }
.acd-crumbs a:hover{ color:#fff !important; text-decoration:underline; }
.acd-crumbs li[aria-current]{ color:#fff; font-weight:600; }
.acd-crumbs-dark li{ color:var(--acd-muted); }
.acd-crumbs-dark a{ color:var(--acd-primary) !important; }
.acd-crumbs-dark li[aria-current]{ color:var(--acd-ink); }
.acd-dot{ width:8px; height:8px; border-radius:50%; background:#ff5a6e; box-shadow:0 0 0 0 rgba(255,90,110,.7); animation:acd-pulse 1.8s infinite; display:inline-block; }
@keyframes acd-pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,90,110,.6);} 70%{ box-shadow:0 0 0 8px rgba(255,90,110,0);} 100%{ box-shadow:0 0 0 0 rgba(255,90,110,0);} }
@media (prefers-reduced-motion: reduce){ .acd-dot{ animation:none; } .acd-card,.acd-mode,.acd-cat{ transition:none !important; } }

/* ---------- Seções ---------- */
.acd-section{ padding:4rem 0; }
.acd-section-alt{ background:var(--acd-bg); }
.acd-h2{ font-weight:800; font-size:clamp(1.5rem, 2.4vw, 2rem); letter-spacing:-.01em; color:var(--acd-ink); margin-bottom:.5rem; }
.acd-h3{ font-weight:700; font-size:1.25rem; color:var(--acd-ink); margin-bottom:1rem; display:flex; align-items:center; gap:.5rem; }
.acd-lead{ color:var(--acd-muted); font-size:1.05rem; margin-bottom:2rem; }
.acd-section-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:1rem; margin-bottom:1.75rem; }
.acd-link{ font-weight:700; text-decoration:none; }
.acd-link:hover{ text-decoration:underline; }

/* ---------- Modalidades ---------- */
.acd-mode{ position:relative; height:100%; display:flex; align-items:center; gap:1.25rem; padding:2rem; border-radius:22px; text-decoration:none; color:#fff !important; min-height:170px; overflow:hidden; box-shadow:var(--acd-shadow); transition:transform .2s ease, box-shadow .2s ease; }
.acd-mode:hover{ transform:translateY(-4px); box-shadow:var(--acd-shadow-hover); }
.acd-mode-rec{ background:linear-gradient(135deg, var(--acd-primary), var(--acd-blue)); }
.acd-mode-live{ background:linear-gradient(135deg, #7a1024, var(--acd-live) 65%, #ef5b4c); }
.acd-mode-ebook{ background:linear-gradient(135deg, #2e1565, #5b2ca0 60%, #7d4fd0); }
.acd-mode-icon{ flex:0 0 72px; height:72px; border-radius:20px; display:grid; place-items:center; font-size:2rem; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.25); }
.acd-mode-body{ display:flex; flex-direction:column; gap:.3rem; }
.acd-mode-body strong{ font-size:1.35rem; font-weight:800; line-height:1.2; }
.acd-mode-body span{ color:rgba(255,255,255,.88); }
.acd-mode-body em{ font-style:normal; font-weight:700; font-size:.85rem; background:rgba(0,0,0,.18); align-self:flex-start; padding:.2rem .6rem; border-radius:999px; margin-top:.25rem; }
.acd-mode-arrow{ margin-left:auto; font-size:1.5rem; transition:transform .2s ease; }
.acd-mode:hover .acd-mode-arrow{ transform:translateX(4px); }

/* ---------- Categorias ---------- */
.acd-cats{ display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:1rem; margin-top:1.25rem; }
.acd-cat{ display:flex; align-items:center; gap:.9rem; padding:1rem 1.1rem; border:1px solid var(--acd-line); border-radius:14px; background:#fff; text-decoration:none; color:var(--acd-ink) !important; transition:border-color .2s, box-shadow .2s, transform .2s; }
.acd-cat:hover{ border-color:var(--acd-primary); box-shadow:var(--acd-shadow); transform:translateY(-2px); }
.acd-cat-icon{ flex:0 0 46px; height:46px; border-radius:12px; display:grid; place-items:center; background:#eaf2fb; color:var(--acd-primary); font-size:1.3rem; }
.acd-cat strong{ display:block; font-weight:700; line-height:1.2; }
.acd-cat small{ color:var(--acd-muted); }

/* ---------- Cards ---------- */
.acd-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.5rem; }
.acd-grid-4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.acd-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--acd-line); border-radius:var(--acd-radius); overflow:hidden; box-shadow:0 2px 6px rgba(8,40,120,.04); transition:transform .2s ease, box-shadow .2s ease, border-color .2s; height:100%; }
.acd-card:hover{ transform:translateY(-4px); box-shadow:var(--acd-shadow-hover); border-color:#cfdcec; }
.acd-card-media{ position:relative; display:block; aspect-ratio:16/9; background:#e9eff7; overflow:hidden; }
.acd-card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.acd-card:hover .acd-card-media img{ transform:scale(1.04); }
.acd-placeholder{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; color:#fff; background:linear-gradient(135deg, var(--acd-navy), var(--acd-blue)); text-align:center; padding:1rem; }
.acd-placeholder i{ font-size:2.4rem; color:var(--acd-gold); }
.acd-placeholder span{ font-weight:700; font-size:.95rem; opacity:.9; }
.acd-placeholder-lg i{ font-size:4rem; }
.acd-card-badges{ position:absolute; top:.75rem; left:.75rem; display:flex; flex-wrap:wrap; gap:.4rem; }
.acd-badge{ display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .65rem; border-radius:999px; font-size:.75rem; font-weight:700; line-height:1.2; text-decoration:none; }
.acd-badge-sm{ font-size:.68rem; padding:.2rem .55rem; }
.acd-badge-live{ background:var(--acd-live); color:#fff; }
.acd-badge-live .acd-dot{ background:#fff; box-shadow:none; animation:none; width:7px; height:7px; }
.acd-badge-rec{ background:#e6f0fb; color:var(--acd-primary); }
.acd-card-badges .acd-badge-rec{ background:rgba(255,255,255,.95); }
.acd-badge-best{ background:var(--acd-gold); color:var(--acd-navy); }
.acd-badge-cat{ background:rgba(255,255,255,.14); color:#fff !important; border:1px solid rgba(255,255,255,.28); }
.acd-badge-cat:hover{ background:rgba(255,255,255,.24); }
.acd-off{ position:absolute; bottom:.75rem; right:.75rem; background:var(--acd-green); color:#fff; font-weight:800; font-size:.8rem; padding:.3rem .55rem; border-radius:8px; }
.acd-off-inline{ position:static; display:inline-block; margin-left:.5rem; }
.acd-card-body{ display:flex; flex-direction:column; flex:1; padding:1.1rem 1.15rem 1.2rem; }
.acd-card-cat{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--acd-blue); margin-bottom:.35rem; }
.acd-card-cat span{ color:var(--acd-muted); }
.acd-card-title{ font-size:1.08rem; font-weight:700; line-height:1.3; margin-bottom:.45rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.acd-card-title a{ color:var(--acd-ink) !important; text-decoration:none; }
.acd-card-title a:hover{ color:var(--acd-primary) !important; }
.acd-card-desc{ color:var(--acd-muted); font-size:.9rem; margin-bottom:.75rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.acd-card-meta{ list-style:none; padding:0; margin:0 0 1rem; display:flex; flex-wrap:wrap; gap:.35rem .9rem; font-size:.82rem; color:var(--acd-muted); }
.acd-card-meta i{ color:var(--acd-primary); margin-right:.3rem; }
.acd-meta-strong{ color:var(--acd-live); font-weight:700; }
.acd-meta-strong i{ color:var(--acd-live); }
.acd-card-foot{ margin-top:auto; padding-top:.9rem; border-top:1px dashed var(--acd-line); }
.acd-price-old{ color:#8a99ad; text-decoration:line-through; font-size:.88rem; }
.acd-price-now{ font-size:1.45rem; font-weight:800; color:var(--acd-ink); line-height:1.15; letter-spacing:-.01em; }
.acd-price-inst{ font-size:.82rem; color:var(--acd-green); font-weight:600; }
.acd-card-actions{ display:grid; grid-template-columns:1fr; gap:.5rem; margin-top:.9rem; }
.acd-card-actions .btn{ font-size:.9rem; padding:.55rem .75rem; width:100%; }

/* Faixa "Mais vendidos": rolagem horizontal no mobile, grade no desktop */
.acd-rail{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1.5rem; }

/* ---------- Filtros / listagem ---------- */
.acd-filters{ background:#fff; border:1px solid var(--acd-line); border-radius:var(--acd-radius); padding:1.25rem; position:sticky; top:110px; }
.acd-filter-group{ margin-bottom:1.15rem; border:0; padding:0; }
.acd-filter-label{ display:block; font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; color:var(--acd-muted); margin-bottom:.5rem; float:none; width:auto; }
.acd .form-control,.acd .form-select{ border-radius:10px; border-color:#d3dde9; }
.acd .form-control:focus,.acd .form-select:focus{ border-color:var(--acd-primary); box-shadow:0 0 0 .2rem rgba(15,76,129,.15); }
.acd .form-check-input:checked{ background-color:var(--acd-primary); border-color:var(--acd-primary); }
.acd-toolbar{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:1rem; }
.acd-sort{ display:flex; align-items:center; gap:.5rem; }
.acd-sort .form-select{ width:auto; min-width:170px; }
.acd-chips{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.acd-chip{ display:inline-flex; align-items:center; gap:.25rem; padding:.3rem .7rem; border-radius:999px; background:#eaf2fb; color:var(--acd-primary) !important; font-size:.85rem; font-weight:600; text-decoration:none; }
.acd-chip:hover{ background:#d8e7f7; }
.acd-pages{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:2rem; }
.acd-page{ min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; border:1px solid var(--acd-line); text-decoration:none; font-weight:700; color:var(--acd-ink) !important; }
.acd-page:hover{ border-color:var(--acd-primary); }
.acd-page.is-active{ background:var(--acd-primary); border-color:var(--acd-primary); color:#fff !important; }

/* ---------- Estados vazios ---------- */
.acd-empty{ text-align:center; padding:3rem 1.5rem; border:1px dashed #cdd8e6; border-radius:var(--acd-radius); background:#fbfcfe; color:var(--acd-muted); }
.acd-empty > i{ font-size:2.6rem; color:#9fb3ca; display:block; margin-bottom:.75rem; }
.acd-empty h1,.acd-empty h2,.acd-empty h3{ color:var(--acd-ink); font-weight:700; font-size:1.3rem; }
.acd-empty p{ max-width:520px; margin:0 auto 1.25rem; }
.acd-empty-sm{ padding:1.75rem 1.25rem; }
.acd-empty-page{ padding:4rem 1.5rem; }

/* ---------- Página do treinamento ---------- */
.acd-facts{ list-style:none; padding:0; margin:1.25rem 0 0; display:flex; flex-wrap:wrap; gap:.75rem; }
.acd-facts li{ display:flex; align-items:center; gap:.6rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:.55rem .85rem; }
.acd-facts i{ color:var(--acd-gold); font-size:1.2rem; }
.acd-facts span{ font-size:.75rem; color:#cfe0f3; display:flex; flex-direction:column; line-height:1.2; }
.acd-facts strong{ font-size:.95rem; color:#fff; }
.acd-cover{ border-radius:20px; overflow:hidden; aspect-ratio:16/9; box-shadow:0 20px 50px rgba(0,0,0,.3); border:4px solid rgba(255,255,255,.15); background:#0b3566; }
.acd-cover img{ width:100%; height:100%; object-fit:cover; }
.acd-box{ background:#fff; border:1px solid var(--acd-line); border-radius:var(--acd-radius); padding:1.6rem; margin-bottom:1.5rem; }
.acd-rich{ line-height:1.75; }
.acd-rich h2,.acd-rich h3,.acd-rich h4{ font-weight:700; margin-top:1.25rem; font-size:1.15rem; }
.acd-rich ul,.acd-rich ol{ padding-left:1.25rem; }
.acd-rich table{ width:100%; border-collapse:collapse; margin:1rem 0; }
.acd-rich td,.acd-rich th{ border:1px solid var(--acd-line); padding:.5rem; }
.acd-includes{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem 1.25rem; }
.acd-includes li{ display:flex; gap:.6rem; align-items:flex-start; }
.acd-includes i{ color:var(--acd-primary); font-size:1.15rem; }
.acd-instructor{ display:flex; gap:1.25rem; align-items:flex-start; }
.acd-instructor img,.acd-avatar{ flex:0 0 96px; width:96px; height:96px; border-radius:50%; object-fit:cover; }
.acd-avatar{ display:grid; place-items:center; background:linear-gradient(135deg, var(--acd-primary), var(--acd-blue)); color:#fff; font-size:2.2rem; font-weight:800; }
.acd-classes{ display:grid; gap:.85rem; }
.acd-class{ display:flex; gap:1rem; align-items:center; padding:1rem; border:1px solid var(--acd-line); border-radius:14px; }
.acd-class.is-off{ background:#fafbfc; opacity:.8; }
.acd-class-date{ flex:0 0 64px; height:64px; border-radius:14px; background:var(--acd-primary); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.acd-class.is-off .acd-class-date{ background:#9fb3ca; }
.acd-class-date span{ font-size:1.5rem; font-weight:800; }
.acd-class-date small{ text-transform:uppercase; font-weight:700; font-size:.75rem; margin-top:.2rem; }
.acd-class-info{ flex:1; display:flex; flex-direction:column; gap:.15rem; font-size:.9rem; color:var(--acd-muted); min-width:0; }
.acd-class-info strong{ color:var(--acd-ink); font-size:1rem; }
.acd-class-status{ font-weight:700; color:var(--acd-green); font-size:.82rem; }
.acd-class.is-off .acd-class-status{ color:var(--acd-muted); }
.acd-class-cta{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; }
.acd-class-price{ font-weight:800; }
.acd-buy{ background:#fff; border:1px solid var(--acd-line); border-radius:20px; padding:1.5rem; box-shadow:var(--acd-shadow); position:sticky; top:110px; }
.acd-buy-price{ font-size:2.2rem; font-weight:800; letter-spacing:-.02em; line-height:1.1; color:var(--acd-ink); }
.acd-buy-promo{ margin-bottom:.15rem; }
.acd-buy-deadline,.acd-buy-ended,.acd-buy-class,.acd-buy-off{ font-size:.88rem; border-radius:10px; padding:.55rem .75rem; margin:.9rem 0; }
.acd-buy-deadline{ background:#fff4db; color:#7a5300; }
.acd-buy-ended{ background:#f1f3f6; color:var(--acd-muted); }
.acd-buy-class{ background:#eaf2fb; color:var(--acd-primary); }
.acd-buy-off{ background:#fdecee; color:#8a1c2b; }
.acd-buy form{ margin-top:1.1rem; }
.acd-buy-list{ list-style:none; padding:1rem 0 0; margin:1.1rem 0 0; border-top:1px solid var(--acd-line); display:grid; gap:.5rem; font-size:.88rem; color:var(--acd-muted); }
.acd-buy-list i{ color:var(--acd-primary); margin-right:.35rem; }
.acd-note{ font-size:.76rem; color:#8a99ad; margin:.9rem 0 0; }
.acd-sticky-buy{ position:fixed; left:0; right:0; bottom:0; z-index:1030; background:#fff; border-top:1px solid var(--acd-line); box-shadow:0 -8px 24px rgba(8,40,120,.1); padding:.7rem 16px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.acd-sticky-buy strong{ display:block; font-size:1.2rem; }
.acd-sticky-buy .acd-price-old{ font-size:.8rem; }

/* ---------- Carrinho ---------- */
.acd-cart-page{ background:var(--acd-bg); min-height:60vh; }
.acd-count-pill{ font-size:.9rem; background:var(--acd-gold); color:var(--acd-navy); border-radius:999px; padding:.1rem .6rem; vertical-align:middle; }
.acd-cart-list{ list-style:none; padding:0; margin:0; display:grid; gap:1rem; }
.acd-cart-item{ display:grid; grid-template-columns:150px 1fr auto; gap:1.1rem; align-items:center; background:#fff; border:1px solid var(--acd-line); border-radius:var(--acd-radius); padding:1rem; }
.acd-cart-item.is-off{ background:#fdfafa; border-color:#f3d4d8; }
.acd-cart-thumb{ aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#e9eff7; }
.acd-cart-thumb img{ width:100%; height:100%; object-fit:cover; }
.acd-cart-thumb .acd-placeholder i{ font-size:1.6rem; }
.acd-cart-title{ font-size:1.05rem; font-weight:700; margin:.35rem 0; line-height:1.3; }
.acd-cart-title a{ color:var(--acd-ink) !important; text-decoration:none; }
.acd-cart-title a:hover{ color:var(--acd-primary) !important; }
.acd-cart-sub{ font-size:.85rem; color:var(--acd-muted); margin:0 0 .2rem; }
.acd-cart-warn{ font-size:.85rem; color:#a1162b; font-weight:600; margin:.4rem 0 0; }
.acd-cart-owned{ font-size:.85rem; color:#146c43; font-weight:600; margin:.4rem 0 0; }
.acd-cart-opened{ font-size:.82rem; color:var(--acd-muted); background:rgba(15,76,129,.06); border-radius:8px; padding:.4rem .6rem; margin:.5rem 0 0; }
.acd-cart-pay{ margin-top:.5rem; white-space:nowrap; }
.acd-cart-side{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; }
.acd-cart-price{ font-size:1.2rem; font-weight:800; }
.acd-remove{ color:#a1162b !important; text-decoration:none; font-size:.85rem; padding:.25rem 0; font-weight:600; }
.acd-remove:hover{ text-decoration:underline; }
.acd-checkout-notice{ display:flex; gap:.6rem; align-items:flex-start; margin-top:.9rem; padding:.8rem .9rem; border-radius:12px; background:#eaf2fb; color:var(--acd-navy); font-size:.9rem; }
.acd-checkout-notice.is-warning{ background:#fff4db; color:#7a5300; }
.acd-checkout-notice i{ font-size:1.15rem; margin-top:.05rem; }
.acd-checkout-notice a{ display:inline-block; margin-top:.3rem; font-weight:700; }
.acd-summary dl{ margin:0 0 1.25rem; }
.acd-summary dl > div{ display:flex; justify-content:space-between; padding:.55rem 0; border-bottom:1px solid var(--acd-line); }
.acd-summary dt{ font-weight:500; color:var(--acd-muted); }
.acd-summary dd{ margin:0; font-weight:700; }
.acd-summary-discount dd{ color:var(--acd-green); }
.acd-summary-total{ border-bottom:0 !important; padding-top:.9rem !important; }
.acd-summary-total dt{ color:var(--acd-ink); font-weight:800; font-size:1.1rem; }
.acd-summary-total dd{ font-size:1.5rem; font-weight:800; }

/* ---------- Favoritos ---------- */
.acd-fav-form{ position:absolute; top:.6rem; right:.6rem; z-index:2; margin:0; }
.acd-fav{ width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.95); color:var(--acd-ink); display:grid; place-items:center; font-size:1.05rem; box-shadow:0 4px 12px rgba(0,0,0,.15); transition:transform .15s ease, color .15s; }
.acd-fav:hover{ transform:scale(1.08); color:var(--acd-live); }
.acd-fav.is-on{ color:var(--acd-live); }
.acd-card .acd-card-badges{ right:3.4rem; }
.acd-fav-wide.is-on{ color:var(--acd-live) !important; border-color:#f3c2c9; background:#fff5f6; }

/* ---------- Autenticação ---------- */
.acd-auth{ background:var(--acd-bg); padding:3rem 0 4rem; min-height:70vh; }
.acd-auth-card{ display:grid; grid-template-columns:5fr 7fr; max-width:980px; margin:0 auto; background:#fff; border:1px solid var(--acd-line); border-radius:24px; overflow:hidden; box-shadow:var(--acd-shadow); }
.acd-auth-aside{ position:relative; color:#fff; padding:2.5rem; background:
  radial-gradient(500px 300px at 100% 0%, rgba(240,180,41,.3), transparent 60%),
  linear-gradient(160deg, var(--acd-navy), var(--acd-primary) 70%, #14609e); }
.acd-auth-aside h2{ font-weight:800; font-size:1.7rem; line-height:1.2; margin:1rem 0 1.5rem; color:#fff; }
.acd-auth-aside ul{ list-style:none; padding:0; margin:0; display:grid; gap:.9rem; color:#dbe7f5; }
.acd-auth-aside i{ color:var(--acd-gold); margin-right:.5rem; font-size:1.1rem; }
.acd-auth-main{ padding:2.5rem; }
.acd-pass{ position:relative; }
.acd-pass .form-control{ padding-right:3rem; }
.acd-pass-toggle{ position:absolute; top:50%; right:.5rem; transform:translateY(-50%); border:0; background:transparent; color:var(--acd-muted); font-size:1.15rem; padding:.35rem .5rem; }
.acd-auth-done{ display:flex; gap:.9rem; background:#eaf7ef; border:1px solid #bfe3cf; border-radius:14px; padding:1rem 1.1rem; margin-bottom:1.25rem; }
.acd-auth-done > i{ font-size:1.6rem; color:var(--acd-green); }
.acd-auth-done.is-warning{ background:#fff7e6; border-color:#f4dc93; }
.acd-auth-done.is-warning > i{ color:#b07b00; }
.acd-auth-done p{ margin:0 0 .35rem; }

/* ---------- Área do aluno ---------- */
.acd-student{ background:var(--acd-bg); padding:2rem 0 4rem; min-height:70vh; }
.acd-student-grid{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:1.75rem; align-items:start; }
.acd-student-nav{ background:#fff; border:1px solid var(--acd-line); border-radius:18px; padding:1rem; position:sticky; top:110px; }
.acd-student-id{ display:flex; gap:.75rem; align-items:center; padding:.5rem .5rem 1rem; border-bottom:1px solid var(--acd-line); margin-bottom:.5rem; min-width:0; }
.acd-student-id div{ min-width:0; }
.acd-student-id strong{ display:block; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acd-student-id small{ display:block; color:var(--acd-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; }
.acd-avatar-sm{ flex:0 0 44px; width:44px; height:44px; font-size:1.2rem; }
.acd-student-nav nav{ display:flex; flex-direction:column; gap:.15rem; }
.acd-student-nav nav a,.acd-student-nav nav button{ display:flex; align-items:center; gap:.7rem; padding:.62rem .75rem; border-radius:10px; color:var(--acd-ink) !important; text-decoration:none; font-weight:500; border:0; background:transparent; width:100%; text-align:left; font-size:.95rem; }
.acd-student-nav nav a i,.acd-student-nav nav button i{ color:var(--acd-muted); font-size:1.1rem; }
.acd-student-nav nav a:hover,.acd-student-nav nav button:hover{ background:#f1f6fc; }
.acd-student-nav nav a.is-active{ background:var(--acd-primary); color:#fff !important; }
.acd-student-nav nav a.is-active i{ color:var(--acd-gold); }
.acd-student-nav nav form{ margin:0; border-top:1px solid var(--acd-line); padding-top:.35rem; margin-top:.35rem; }
.acd-student-nav nav button{ color:#a1162b !important; }
.acd-student-nav nav button i{ color:#a1162b; }
.acd-student-head{ margin-bottom:1.5rem; }
.acd-banner{ display:flex; gap:.8rem; align-items:flex-start; background:#fff7e6; border:1px solid #f4dc93; color:#6b4e00; border-radius:14px; padding:.9rem 1rem; margin-bottom:1.5rem; }
.acd-banner > i{ font-size:1.3rem; }
.acd-banner a{ color:#6b4e00; font-weight:700; }
.acd-stats{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; margin-bottom:1.5rem; }
.acd-stat{ background:#fff; border:1px solid var(--acd-line); border-radius:16px; padding:1.1rem; text-decoration:none; color:var(--acd-ink) !important; display:flex; flex-direction:column; gap:.2rem; transition:border-color .2s, box-shadow .2s; }
.acd-stat:hover{ border-color:var(--acd-primary); box-shadow:var(--acd-shadow); }
.acd-stat i{ font-size:1.35rem; color:var(--acd-primary); background:#eaf2fb; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; margin-bottom:.4rem; }
.acd-stat strong{ font-size:1.9rem; font-weight:800; line-height:1; }
.acd-stat span{ color:var(--acd-muted); font-size:.88rem; }
.acd-next-live{ display:flex; gap:1rem; align-items:center; border-left:4px solid var(--acd-live); }
.acd-my-list{ display:grid; gap:1rem; }
.acd-my{ display:grid; grid-template-columns:170px minmax(0,1fr) auto; gap:1.1rem; align-items:center; background:#fff; border:1px solid var(--acd-line); border-radius:16px; padding:.9rem; }
.acd-my-thumb{ aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#e9eff7; }
.acd-my-thumb img{ width:100%; height:100%; object-fit:cover; }
.acd-my-thumb .acd-placeholder i{ font-size:1.6rem; }
.acd-my-title{ font-size:1.05rem; font-weight:700; margin:0 0 .25rem; }
.acd-my-sub{ font-size:.86rem; color:var(--acd-muted); margin:0; }
.acd-my-sub i{ color:var(--acd-primary); margin-right:.25rem; }
.acd-my-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; }
.acd-progress{ height:8px; border-radius:999px; background:#e3e9f1; overflow:hidden; margin:.5rem 0 .2rem; max-width:320px; }
.acd-progress span{ display:block; height:100%; background:linear-gradient(90deg, var(--acd-primary), var(--acd-blue)); }
.acd-state-success{ background:#e8f5ee; color:var(--acd-green); }
.acd-state-primary{ background:#e6f0fb; color:var(--acd-primary); }
.acd-state-secondary{ background:#eef1f5; color:var(--acd-muted); }
.acd-state-dark{ background:#e9ecef; color:#343a40; }
.acd-state-warning{ background:#fff4db; color:#7a5300; }
.acd-state-info{ background:#e5f6fb; color:#0b6e87; }
.acd-state-danger{ background:#fdecee; color:#a1162b; }
.acd-pills{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.acd-pills a{ padding:.45rem .95rem; border-radius:999px; border:1px solid var(--acd-line); background:#fff; color:var(--acd-ink) !important; text-decoration:none; font-weight:600; font-size:.9rem; }
.acd-pills a.is-active{ background:var(--acd-primary); border-color:var(--acd-primary); color:#fff !important; }
.acd-room{ text-align:center; padding:2.25rem 1.5rem; }
.acd-room-live{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--acd-live); background:#fdecee; padding:.3rem .8rem; border-radius:999px; margin-bottom:1rem; }
.acd-room-pass code{ font-size:1.05rem; background:#f1f3f6; padding:.2rem .5rem; border-radius:6px; color:var(--acd-ink); }
.acd-certs{ display:grid; gap:.75rem; }
.acd-cert-scope{ display:inline-block; vertical-align:middle; margin-left:.4rem; font-size:.78rem; font-weight:600; color:var(--acd-muted); background:rgba(15,76,129,.07); border-radius:999px; padding:.2rem .65rem; }
.acd-cert{ display:flex; gap:1rem; align-items:center; background:#fff; border:1px solid var(--acd-line); border-radius:14px; padding:1rem 1.1rem; }
.acd-cert > i{ font-size:1.6rem; color:var(--acd-gold-dark); }
.acd-cert-provider > i{ color:var(--acd-primary); font-size:1.3rem; }
.acd-cert h3{ font-size:1rem; font-weight:700; margin:0 0 .15rem; }
.acd-cert p{ margin:0; font-size:.85rem; color:var(--acd-muted); }
.acd-cert-pending{ list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.5rem; font-size:.9rem; color:var(--acd-muted); }
.acd-cert-pending i{ color:var(--acd-gold-dark); }
.acd-orders{ display:grid; gap:.75rem; }
.acd-order{ display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:1rem; align-items:center; background:#fff; border:1px solid var(--acd-line); border-radius:14px; padding:1rem 1.1rem; text-decoration:none; color:var(--acd-ink) !important; }
.acd-order:hover{ border-color:var(--acd-primary); }
.acd-order-code{ display:block; font-weight:700; }
.acd-order small{ color:var(--acd-muted); }
.acd-order-items{ list-style:none; padding:0; margin:0; }
.acd-order-items li{ display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--acd-line); }
.acd-order-items li:last-child{ border-bottom:0; }
.acd-order-items small{ display:block; color:var(--acd-muted); }
.acd-grid-student{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.acd-verified{ color:var(--acd-green); font-weight:600; font-size:.9rem; }
.acd-unverified{ color:#a1162b; font-weight:600; font-size:.9rem; }
.acd-support{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; margin-bottom:1.5rem; }
.acd-support-card{ display:flex; flex-direction:column; gap:.25rem; background:#fff; border:1px solid var(--acd-line); border-radius:16px; padding:1.25rem; text-decoration:none; color:var(--acd-ink) !important; }
.acd-support-card:hover{ border-color:var(--acd-primary); box-shadow:var(--acd-shadow); }
.acd-support-card i{ font-size:1.8rem; color:var(--acd-green); }
.acd-support-card span{ color:var(--acd-muted); font-size:.9rem; word-break:break-word; }
.acd-faq details{ border-bottom:1px solid var(--acd-line); padding:.85rem 0; }
.acd-faq details:last-child{ border-bottom:0; }
.acd-faq summary{ font-weight:600; cursor:pointer; }
.acd-faq p{ margin:.6rem 0 0; color:var(--acd-muted); }

/* ---------- Responsivo ---------- */
@media (max-width: 1199.98px){
  .acd-grid-4,.acd-rail{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 991.98px){
  .acd-hero{ padding:3.25rem 0 3.5rem; }
  .acd-grid,.acd-grid-4,.acd-rail{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .acd-filters{ position:static; margin-bottom:.5rem; }
  .acd-buy{ position:static; }
  .acd-section{ padding:3rem 0; }
  .acd:has(.acd-sticky-buy){ padding-bottom:72px; }
  /* botão flutuante do WhatsApp (layout do site) acima da barra fixa de compra */
  body:has(.acd-sticky-buy) a[href*="wa.me"][style*="fixed"]{ bottom:88px !important; }
}
@media (max-width: 991.98px){
  .acd-auth-card{ grid-template-columns:1fr; }
  .acd-auth-aside{ display:none; }
  .acd-student-grid{ grid-template-columns:minmax(0,1fr); gap:1rem; }
  .acd-student-nav{ position:static; padding:.5rem; }
  .acd-student-id{ display:none; }
  .acd-student-nav nav{ flex-direction:row; overflow-x:auto; gap:.35rem; scrollbar-width:thin; }
  .acd-student-nav nav a,.acd-student-nav nav button{ white-space:nowrap; width:auto; padding:.5rem .8rem; font-size:.88rem; }
  .acd-student-nav nav form{ border-top:0; padding:0; margin:0; }
  .acd-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .acd-grid-student{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767.98px){
  .acd-auth{ padding:1.5rem 0 2.5rem; }
  .acd-auth-main{ padding:1.5rem; }
  .acd-my{ grid-template-columns:110px minmax(0,1fr); }
  .acd-my-cta{ grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center; border-top:1px dashed var(--acd-line); padding-top:.6rem; }
  .acd-order{ grid-template-columns:minmax(0,1fr) auto; }
  .acd-order > i{ display:none; }
  .acd-next-live{ flex-wrap:wrap; }
  .acd-rail{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:1rem; padding-bottom:.75rem; margin:0 -16px; padding-left:16px; padding-right:16px; scrollbar-width:thin; }
  .acd-rail-item{ flex:0 0 78%; scroll-snap-align:start; }
  .acd-mode{ padding:1.5rem; min-height:0; }
  .acd-mode-icon{ flex-basis:56px; height:56px; font-size:1.5rem; }
  .acd-mode-body strong{ font-size:1.15rem; }
  .acd-includes{ grid-template-columns:1fr; }
  .acd-cart-item{ grid-template-columns:96px 1fr; }
  .acd-cart-side{ grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center; border-top:1px dashed var(--acd-line); padding-top:.6rem; gap:.75rem; }
  .acd-cart-side .acd-price-old{ margin-right:auto; }
  .acd-cart-side{ flex-wrap:wrap; row-gap:.5rem; }
  .acd-cart-price{ white-space:nowrap; }
  .acd-cart-side .acd-cart-pay{ margin-top:0; margin-left:auto; }
  .acd-class{ flex-wrap:wrap; }
  .acd-class-cta{ width:100%; flex-direction:row; justify-content:space-between; align-items:center; }
  .acd-instructor{ flex-direction:column; }
  .acd-toolbar{ flex-direction:column; align-items:stretch; }
  .acd-sort .form-select{ flex:1; }
}
@media (max-width: 575.98px){
  .acd-grid,.acd-grid-4,.acd-grid-student{ grid-template-columns:1fr; }
  .acd-stats{ gap:.6rem; }
  .acd-stat{ padding:.85rem; }
  .acd-stat strong{ font-size:1.5rem; }
  .acd-search{ flex-wrap:nowrap; }
  .acd-search .btn{ padding:.7rem 1rem; }
  .acd-hero-sub{ font-size:1rem; }
  .acd-facts li{ flex:1 1 calc(50% - .75rem); }
  .acd-buy-price{ font-size:1.9rem; }
  .acd-section{ padding:2.5rem 0; }
}

/* ---------- Fase 4C: e-books ---------- */
.acd-section-head-center { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; margin-bottom: 1.75rem; }
.acd-section-head-center .acd-h2 { margin-bottom: 0; justify-content: center; }
.acd-section-head-center .acd-link { margin-top: .35rem; }
/* Poucos itens sob um título centralizado: cards centralizados, sem esticar. */
.acd-grid.acd-grid-center { grid-template-columns: repeat(auto-fit, minmax(230px, 280px)); justify-content: center; }
@media (max-width: 575.98px) { .acd-grid.acd-grid-center { grid-template-columns: minmax(0, 1fr); } }
.acd-badge-ebook{ background:#efe7fb; color:#5b2ca0; }
.acd-card-media-book{ aspect-ratio:3/4; background:#eef1f7; }
.acd-cover-book{ aspect-ratio:3/4; max-width:320px; margin-left:auto; margin-right:auto; }
.acd-cover-book img{ width:100%; height:100%; object-fit:cover; }
.acd-ebook-row{ display:grid; grid-template-columns:72px 1fr auto; gap:1rem; align-items:center; padding:1rem; border:1px solid var(--acd-line); border-radius:var(--acd-radius); background:#fff; }
.acd-ebook-row + .acd-ebook-row{ margin-top:.75rem; }
.acd-ebook-thumb{ aspect-ratio:3/4; border-radius:6px; overflow:hidden; background:#eef1f7; display:flex; align-items:center; justify-content:center; }
.acd-ebook-thumb img{ width:100%; height:100%; object-fit:cover; }
.acd-ebook-thumb i{ font-size:1.6rem; color:var(--acd-gold-dark); }
@media (max-width: 575.98px){
  .acd-ebook-row{ grid-template-columns:56px 1fr; }
  .acd-ebook-row .acd-ebook-cta{ grid-column:1 / -1; }
}
