:root{
  --afya-primary:#84389d;
  --afya-primary-dark:#642577;
  --afya-primary-soft:#f5ecf8;
  --afya-accent:#ef7aa8;
  --afya-dark:#1d1530;
  --afya-muted:#6f6878;
  --afya-bg:#fbf9fc;
  --afya-border:rgba(132,56,157,.14);
  --afya-shadow:0 18px 55px rgba(56,26,70,.11);
}

*{box-sizing:border-box}
body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--afya-dark);
  background:var(--afya-bg);
}
a{text-decoration:none}
.navbar{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--afya-border);
}
.brand-mark{
  width:42px;height:42px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  box-shadow:0 10px 25px rgba(132,56,157,.25);
}
.navbar-brand span{font-weight:800;color:var(--afya-dark)}
.btn-afya{
  background:linear-gradient(135deg,var(--afya-primary),#a84bb4);
  border:0;color:#fff;border-radius:14px;padding:.8rem 1.2rem;font-weight:700;
  box-shadow:0 12px 28px rgba(132,56,157,.23);
}
.btn-afya:hover{color:#fff;transform:translateY(-1px)}
.btn-soft{
  background:var(--afya-primary-soft);color:var(--afya-primary);
  border:1px solid var(--afya-border);border-radius:14px;font-weight:700;
}
.hero{
  position:relative;overflow:hidden;
  padding:7.5rem 0 5.5rem;
  background:
    radial-gradient(circle at 82% 22%, rgba(239,122,168,.22), transparent 28%),
    radial-gradient(circle at 15% 18%, rgba(132,56,157,.14), transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbf7fd 100%);
}
.hero:after{
  content:"";position:absolute;right:-120px;bottom:-180px;width:420px;height:420px;
  border-radius:50%;border:70px solid rgba(132,56,157,.055);
}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem .8rem;border-radius:999px;
  background:#fff;border:1px solid var(--afya-border);
  color:var(--afya-primary);font-weight:800;font-size:.86rem;
}
.hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em;font-weight:850}
.hero h1 span{color:var(--afya-primary)}
.hero p{font-size:1.12rem;color:var(--afya-muted);max-width:660px}
.hero-panel,.soft-card,.auth-card,.dash-card{
  background:#fff;border:1px solid var(--afya-border);border-radius:26px;box-shadow:var(--afya-shadow);
}
.hero-panel{padding:1.35rem;position:relative;z-index:2}
.mini-card{
  border:1px solid var(--afya-border);border-radius:18px;padding:1rem;background:#fff;
}
.icon-box{
  width:46px;height:46px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--afya-primary-soft);color:var(--afya-primary);font-size:1.15rem;
}
.section{padding:5rem 0}
.section-title{font-weight:850;letter-spacing:-.025em}
.soft-card{padding:1.5rem;height:100%;transition:.25s ease}
.soft-card:hover{transform:translateY(-5px)}
.feature-number{font-weight:900;color:rgba(132,56,157,.25);font-size:2rem}
.cta-band{
  background:linear-gradient(135deg,var(--afya-dark),var(--afya-primary-dark));
  color:#fff;border-radius:32px;padding:3rem;overflow:hidden;position:relative;
}
.cta-band:after{
  content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;
  border:45px solid rgba(255,255,255,.06);border-radius:50%;
}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 0}
.auth-card{padding:2rem;max-width:560px;margin:auto}
.form-control,.form-select{
  border-radius:14px;border:1px solid rgba(29,21,48,.14);padding:.84rem 1rem;
}
.form-control:focus,.form-select:focus{
  border-color:rgba(132,56,157,.55);box-shadow:0 0 0 .2rem rgba(132,56,157,.11);
}
.progress{height:6px;border-radius:999px;background:#eee}
.progress-bar{background:linear-gradient(90deg,var(--afya-primary),var(--afya-accent))}
.dashboard-shell{min-height:100vh;background:#f7f3f9}
.sidebar{
  background:#fff;border-right:1px solid var(--afya-border);
  min-height:100vh;position:sticky;top:0;padding:1.2rem;
}
.sidebar-link{
  display:flex;align-items:center;gap:.8rem;padding:.8rem .9rem;border-radius:13px;
  color:#655d6d;font-weight:650;margin-bottom:.3rem;
}
.sidebar-link:hover,.sidebar-link.active{background:var(--afya-primary-soft);color:var(--afya-primary)}
.dashboard-main{padding:2rem}
.dash-card{padding:1.35rem}
.stat-value{font-size:2rem;font-weight:850}
.badge-soft{background:var(--afya-primary-soft);color:var(--afya-primary)}
.chat-preview{
  min-height:310px;background:linear-gradient(180deg,#fff,#fbf7fd);
  border:1px solid var(--afya-border);border-radius:22px;padding:1rem;
}
.bot-bubble,.user-bubble{max-width:82%;padding:.85rem 1rem;border-radius:17px;margin-bottom:.8rem}
.bot-bubble{background:#fff;border:1px solid var(--afya-border)}
.user-bubble{background:var(--afya-primary);color:#fff;margin-left:auto}
.footer{border-top:1px solid var(--afya-border);background:#fff}
@media(max-width:991.98px){
  .hero{padding-top:6rem}
  .sidebar{min-height:auto;position:relative;border-right:0;border-bottom:1px solid var(--afya-border)}
  .dashboard-main{padding:1.2rem}
}


.wizard-shell{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:28px;
  box-shadow:var(--afya-shadow);
  overflow:hidden;
}
.wizard-header{
  padding:1.5rem 1.5rem 1rem;
  border-bottom:1px solid var(--afya-border);
  background:linear-gradient(180deg,#fff,#fcf8fd);
}
.wizard-steps{
  display:flex;
  gap:.65rem;
  overflow-x:auto;
  padding-bottom:.35rem;
}
.wizard-step-dot{
  min-width:120px;
  padding:.7rem .85rem;
  border-radius:14px;
  background:#f4f0f6;
  color:#746d79;
  font-size:.86rem;
  font-weight:700;
  border:1px solid transparent;
}
.wizard-step-dot.active{
  background:var(--afya-primary-soft);
  color:var(--afya-primary);
  border-color:var(--afya-border);
}
.wizard-step-dot.done{
  background:#eef8f2;
  color:#2d7a4f;
}
.wizard-body{padding:1.5rem}
.wizard-panel{display:none}
.wizard-panel.active{display:block}
.choice-card{
  display:block;
  border:1px solid var(--afya-border);
  border-radius:18px;
  padding:1rem;
  cursor:pointer;
  transition:.2s ease;
  background:#fff;
  height:100%;
}
.choice-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(56,26,70,.08);
}
.choice-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.choice-card:has(input:checked){
  border-color:rgba(132,56,157,.6);
  background:var(--afya-primary-soft);
  box-shadow:0 0 0 3px rgba(132,56,157,.08);
}
.choice-card .choice-title{font-weight:800}
.choice-card .choice-help{font-size:.88rem;color:var(--afya-muted)}
.wizard-footer{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.5rem 1.5rem;
  border-top:1px solid var(--afya-border);
}
.risk-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border-radius:999px;
  padding:.6rem .9rem;
  font-weight:800;
}
.risk-low{background:#e9f8ef;color:#287448}
.risk-moderate{background:#fff5dc;color:#8a6413}
.risk-elevated{background:#fde9ec;color:#a63d4a}
.result-card{
  border:1px solid var(--afya-border);
  border-radius:22px;
  padding:1.25rem;
  background:#fff;
}
.history-row{
  border:1px solid var(--afya-border);
  border-radius:16px;
  padding:1rem;
  background:#fff;
}
@media(max-width:767.98px){
  .wizard-step-dot{min-width:105px}
  .wizard-body{padding:1rem}
  .wizard-footer{padding:1rem;position:sticky;bottom:0;background:#fff}
}


.journey-card{
  border:1px solid var(--afya-border);
  border-radius:22px;
  background:#fff;
  padding:1.25rem;
  height:100%;
}
.timeline-item{
  position:relative;
  padding-left:2.6rem;
  padding-bottom:1.25rem;
}
.timeline-item:before{
  content:"";
  position:absolute;
  left:15px;
  top:34px;
  bottom:0;
  width:2px;
  background:var(--afya-border);
}
.timeline-item:last-child:before{display:none}
.timeline-icon{
  position:absolute;
  left:0;
  top:0;
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--afya-primary-soft);
  color:var(--afya-primary);
  font-weight:800;
}
.danger-card{
  border:1px solid rgba(190,53,68,.18);
  border-radius:18px;
  padding:1rem;
  background:#fff7f8;
}
.checklist-item{
  border:1px solid var(--afya-border);
  border-radius:16px;
  padding:.9rem 1rem;
  background:#fff;
}
.pregnancy-hero{
  border-radius:28px;
  padding:1.6rem;
  background:
    radial-gradient(circle at 90% 20%, rgba(239,122,168,.2), transparent 30%),
    linear-gradient(135deg,#fff,#f8effb);
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow);
}


.chat-layout{min-height:calc(100vh - 4rem)}
.chat-sidebar{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:22px;
  padding:1rem;
  height:calc(100vh - 7rem);
  overflow:auto;
}
.chat-main{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  box-shadow:var(--afya-shadow);
  height:calc(100vh - 7rem);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.chat-main-header{
  padding:1rem 1.2rem;
  border-bottom:1px solid var(--afya-border);
}
.chat-messages{
  flex:1;
  overflow-y:auto;
  padding:1.2rem;
  background:linear-gradient(180deg,#fff,#fcf9fd);
}
.chat-message{
  max-width:82%;
  padding:.9rem 1rem;
  border-radius:18px;
  margin-bottom:1rem;
  white-space:pre-wrap;
  line-height:1.55;
}
.chat-message.assistant{
  background:#fff;
  border:1px solid var(--afya-border);
  border-top-left-radius:6px;
}
.chat-message.client{
  background:var(--afya-primary);
  color:#fff;
  margin-left:auto;
  border-top-right-radius:6px;
}
.chat-meta{font-size:.73rem;opacity:.65;margin-top:.4rem}
.chat-composer{
  padding:1rem;
  border-top:1px solid var(--afya-border);
  background:#fff;
}
.chat-composer textarea{resize:none;max-height:130px}
.conversation-link{
  display:block;
  padding:.8rem;
  border-radius:14px;
  color:var(--afya-dark);
  border:1px solid transparent;
  margin-bottom:.45rem;
}
.conversation-link:hover,.conversation-link.active{
  background:var(--afya-primary-soft);
  border-color:var(--afya-border);
}
.starter-chip{
  border:1px solid var(--afya-border);
  background:#fff;
  color:var(--afya-primary);
  border-radius:999px;
  padding:.55rem .85rem;
  font-size:.86rem;
  font-weight:700;
}
.chat-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.chat-action{
  display:inline-flex;
  padding:.5rem .75rem;
  border-radius:999px;
  background:var(--afya-primary-soft);
  color:var(--afya-primary);
  font-size:.82rem;
  font-weight:750;
}
@media(max-width:991.98px){
  .chat-sidebar{height:auto;max-height:240px}
  .chat-main{height:72vh}
}


.facility-card{
  border:1px solid var(--afya-border);
  border-radius:22px;
  background:#fff;
  padding:1.2rem;
  height:100%;
  transition:.22s ease;
}
.facility-card:hover{transform:translateY(-3px);box-shadow:var(--afya-shadow)}
.facility-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.facility-tag{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.4rem .65rem;border-radius:999px;
  background:var(--afya-primary-soft);color:var(--afya-primary);
  font-size:.78rem;font-weight:750;
}
.map-shell{
  height:520px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow);
}
.filter-panel{
  background:#fff;border:1px solid var(--afya-border);
  border-radius:22px;padding:1rem;box-shadow:var(--afya-shadow);
}
.detail-hero{
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#f7eff9);
  border:1px solid var(--afya-border);
  padding:1.5rem;
  box-shadow:var(--afya-shadow);
}
.status-pill{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.45rem .7rem;border-radius:999px;font-size:.8rem;font-weight:800;
}
.status-pending{background:#fff5dc;color:#8a6413}
.status-confirmed{background:#e9f8ef;color:#287448}
.status-cancelled{background:#fde9ec;color:#a63d4a}
.status-completed{background:#eef0ff;color:#4550a3}
.admin-table-wrap{
  background:#fff;border:1px solid var(--afya-border);border-radius:22px;
  overflow:hidden;box-shadow:var(--afya-shadow);
}


.admin-shell{min-height:100vh;background:#f7f3f9}
.admin-sidebar{
  min-height:100vh;background:#16131c;color:#fff;padding:1.2rem;position:sticky;top:0;
}
.admin-sidebar .brand-mark{box-shadow:none}
.admin-nav-link{
  display:flex;align-items:center;gap:.8rem;padding:.82rem .9rem;border-radius:13px;
  color:rgba(255,255,255,.72);font-weight:650;margin-bottom:.3rem;
}
.admin-nav-link:hover,.admin-nav-link.active{background:rgba(255,255,255,.08);color:#fff}
.admin-main{padding:2rem}
.admin-stat{
  background:#fff;border:1px solid var(--afya-border);border-radius:22px;
  padding:1.25rem;box-shadow:var(--afya-shadow)
}
.admin-login-wrap{
  min-height:100vh;display:grid;place-items:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(132,56,157,.16), transparent 30%),
    linear-gradient(180deg,#fbf8fd,#f3edf6);
}
.admin-badge{
  display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;
  border-radius:999px;background:#241d2e;color:#fff;font-size:.78rem;font-weight:800;
}


.mobile-client-header{
  position:sticky;
  top:0;
  z-index:1030;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.8rem 1rem;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--afya-border);
}

.client-menu-toggle{
  width:46px;
  height:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.client-offcanvas{
  width:min(86vw,320px);
}

.client-offcanvas .offcanvas-body{
  padding:1rem;
}

.client-offcanvas .sidebar-link{
  margin-bottom:.45rem;
}

@media(min-width:992px){
  .dashboard-shell > .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:16.66666667%;
    overflow-y:auto;
    z-index:1020;
  }

  .dashboard-shell .client-content-row{
    margin-left:16.66666667%;
  }

  .dashboard-shell .client-content-row > main.col-lg-10{
    width:100%;
  }
}

@media(max-width:991.98px){
  .dashboard-main{
    padding:1rem;
  }

  .dashboard-shell .container-fluid{
    padding-left:0;
    padding-right:0;
  }

  .dashboard-shell .client-content-row{
    margin:0;
  }

  .chat-layout{
    min-height:auto;
  }

  .chat-main{
    height:70vh;
  }
}


.notification-count-badge{
  min-width:24px;height:24px;padding:0 .4rem;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--afya-primary);color:#fff;font-size:.72rem;font-weight:800;
}
.notification-item{
  display:flex;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--afya-border);
  border-radius:18px;background:#fff;
}
.notification-item.unread{
  background:var(--afya-primary-soft);
  border-color:rgba(132,56,157,.25);
}
.notification-item .notification-icon{
  width:42px;height:42px;min-width:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:var(--afya-primary);border:1px solid var(--afya-border);
}
.notification-preview{
  border:1px solid var(--afya-border);
  border-radius:16px;padding:.9rem 1rem;background:#fff;
}


/* =========================================================
   AfyaShujaa v16 Premium UI Refresh
   ========================================================= */

:root{
  --afya-primary:#7b2d8f;
  --afya-primary-2:#a84db4;
  --afya-accent:#ef7aa8;
  --afya-deep:#17111f;
  --afya-bg:#f7f4f8;
  --afya-card:#ffffff;
  --afya-border:rgba(123,45,143,.12);
  --afya-shadow:0 24px 70px rgba(42,18,53,.12);
  --afya-shadow-soft:0 14px 35px rgba(42,18,53,.08);
}

body{
  background:
    radial-gradient(circle at top right, rgba(239,122,168,.07), transparent 22%),
    linear-gradient(180deg,#fbf9fc 0%,#f6f2f8 100%);
}

.navbar{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(123,45,143,.08);
  box-shadow:0 8px 30px rgba(36,15,46,.04);
}

.brand-mark{
  border-radius:16px;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
}

.btn-afya{
  border-radius:16px;
  padding:.85rem 1.25rem;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-primary-2));
  box-shadow:0 14px 30px rgba(123,45,143,.22);
}

.btn-soft{
  border-radius:16px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:0 8px 20px rgba(42,18,53,.04);
}

.hero{
  min-height:760px;
  display:flex;
  align-items:center;
  padding:8rem 0 6rem;
  background:
    linear-gradient(90deg,rgba(20,12,26,.87),rgba(74,25,83,.68)),
    url('https://images.unsplash.com/photo-1544005313-94ddf0286df2?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat;
}

.hero:after{
  border-color:rgba(255,255,255,.08);
}

.hero .eyebrow{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.16);
  color:#fff;
  backdrop-filter:blur(10px);
}

.hero h1,
.hero p,
.hero .small,
.hero .text-secondary{
  color:#fff !important;
}

.hero h1 span{
  color:#ffd4e5;
}

.hero-panel{
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  border-radius:32px;
  padding:1.5rem;
}

.hero-panel .text-secondary,
.hero-panel .small{
  color:var(--afya-muted)!important;
}

.section{
  padding:6rem 0;
}

.section-title{
  font-size:clamp(2rem,3vw,3.4rem);
}

.soft-card{
  border-radius:26px;
  box-shadow:var(--afya-shadow-soft);
  border:1px solid rgba(123,45,143,.1);
}

.soft-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--afya-shadow);
}

.cta-band{
  border-radius:36px;
  padding:4rem;
  background:
    radial-gradient(circle at 85% 15%, rgba(239,122,168,.24), transparent 28%),
    linear-gradient(135deg,#1d1425,#6e287f);
}

.footer{
  background:#18111f;
  color:#fff;
  border-top:0;
}

.footer .text-secondary{
  color:rgba(255,255,255,.65)!important;
}

/* Dashboard */
.dashboard-shell{
  background:
    radial-gradient(circle at top right, rgba(239,122,168,.08), transparent 18%),
    linear-gradient(180deg,#f8f5fa,#f4f0f6);
}

.sidebar{
  background:rgba(255,255,255,.98);
  border-right:1px solid rgba(123,45,143,.1);
  box-shadow:10px 0 40px rgba(42,18,53,.04);
}

.sidebar-link{
  border-radius:16px;
  padding:.9rem 1rem;
  margin-bottom:.4rem;
}

.sidebar-link i{
  width:22px;
  font-size:1.05rem;
}

.sidebar-link.active{
  background:linear-gradient(135deg,rgba(123,45,143,.13),rgba(239,122,168,.1));
  color:var(--afya-primary);
  box-shadow:inset 0 0 0 1px rgba(123,45,143,.08);
}

.dashboard-main{
  padding:2.4rem;
}

.dashboard-welcome{
  border-radius:30px;
  padding:2rem;
  background:
    radial-gradient(circle at 92% 20%, rgba(255,255,255,.15), transparent 26%),
    linear-gradient(135deg,#2a1833,#7b2d8f);
  color:#fff;
  box-shadow:var(--afya-shadow);
}

.dashboard-welcome .text-secondary{
  color:rgba(255,255,255,.72)!important;
}

.dashboard-welcome .btn-soft{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.18);
  color:#fff;
  box-shadow:none;
}

.dashboard-stat-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  padding:1.35rem;
  box-shadow:var(--afya-shadow-soft);
  height:100%;
  transition:.22s ease;
}

.dashboard-stat-card:hover{
  transform:translateY(-4px);
}

.dashboard-stat-card .stat-label{
  color:var(--afya-muted);
  font-size:.9rem;
}

.dashboard-stat-card .stat-value{
  font-size:2.2rem;
  letter-spacing:-.04em;
}

.premium-panel{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:28px;
  padding:1.5rem;
  box-shadow:var(--afya-shadow-soft);
}

.journey-action-card{
  display:flex;
  gap:1rem;
  align-items:center;
  padding:1rem;
  border-radius:20px;
  border:1px solid var(--afya-border);
  background:linear-gradient(180deg,#fff,#fcf9fd);
  transition:.22s ease;
}

.journey-action-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--afya-shadow-soft);
}

.journey-action-card .icon-box{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:18px;
}

.quick-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.quick-action-tile{
  display:block;
  padding:1rem;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--afya-border);
  color:var(--afya-deep);
  box-shadow:var(--afya-shadow-soft);
}

.quick-action-tile:hover{
  color:var(--afya-primary);
  transform:translateY(-3px);
}

.mobile-client-header{
  box-shadow:0 10px 30px rgba(42,18,53,.06);
}

.client-offcanvas{
  border-top-right-radius:24px;
  border-bottom-right-radius:24px;
}

.chat-main,
.chat-sidebar,
.wizard-shell,
.filter-panel,
.map-shell,
.detail-hero,
.auth-card{
  border-radius:28px;
}

@media(max-width:991.98px){
  .hero{
    min-height:auto;
    padding:7rem 0 4rem;
    background-position:center;
  }

  .hero h1{
    font-size:clamp(2.5rem,12vw,4rem);
  }

  .dashboard-main{
    padding:1rem;
  }

  .dashboard-welcome{
    padding:1.4rem;
    border-radius:24px;
  }

  .quick-action-grid{
    grid-template-columns:1fr;
  }

  .cta-band{
    padding:2rem;
  }
}


/* v17 Homepage enrichment */
.path-card,
.benefit-card,
.stage-card,
.faq-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  padding:1.4rem;
  box-shadow:var(--afya-shadow-soft);
  height:100%;
}

.path-card:hover,
.benefit-card:hover,
.stage-card:hover,
.faq-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--afya-shadow);
}

.path-card .icon-box,
.benefit-card .icon-box,
.stage-card .icon-box{
  width:58px;
  height:58px;
  border-radius:18px;
}

.section-muted{
  background:linear-gradient(180deg,#fbf8fc,#f7f2f9);
}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}

.trust-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:1rem 1.2rem;
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:18px;
  font-weight:700;
  color:var(--afya-deep);
  box-shadow:var(--afya-shadow-soft);
}

.stage-line{
  position:relative;
}

.stage-line:before{
  content:"";
  position:absolute;
  left:29px;
  top:68px;
  bottom:-24px;
  width:2px;
  background:linear-gradient(180deg,rgba(123,45,143,.2),rgba(123,45,143,.02));
}

.stage-line:last-child:before{
  display:none;
}

.faq-card h6{
  font-size:1rem;
}

@media(max-width:991.98px){
  .trust-strip{
    grid-template-columns:1fr 1fr;
  }

  .stage-line:before{
    left:28px;
  }
}

@media(max-width:575.98px){
  .trust-strip{
    grid-template-columns:1fr;
  }
}


/* v18 premium homepage uplift */
.hero{
  min-height:820px;
  position:relative;
  overflow:hidden;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 18%, rgba(239,122,168,.18), transparent 24%),
    radial-gradient(circle at 12% 82%, rgba(123,45,143,.18), transparent 28%);
  pointer-events:none;
}

.hero .container{
  position:relative;
  z-index:2;
}

.hero-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.6rem;
}

.hero-badge-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.8rem 1rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:.92rem;
  backdrop-filter:blur(10px);
}

.showcase-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:26px;
  padding:1.5rem;
  box-shadow:var(--afya-shadow-soft);
  height:100%;
}

.metric-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background:rgba(123,45,143,.08);
  color:var(--afya-primary);
  font-weight:700;
  font-size:.78rem;
}

.footer-premium{
  padding:4.5rem 0 1.2rem;
  background:
    radial-gradient(circle at 85% 20%, rgba(239,122,168,.18), transparent 22%),
    linear-gradient(135deg,#120d18,#211129 50%,#2a1631);
  color:#fff;
}

.footer-brand-card{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  border-radius:28px;
  padding:1.5rem;
  backdrop-filter:blur(12px);
}

.footer-title{
  color:#fff;
  font-weight:800;
  margin-bottom:1rem;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.75rem;
}

.footer-links a{
  color:rgba(255,255,255,.72);
  transition:.2s ease;
}

.footer-links a:hover{
  color:#fff;
}

.footer-mini-note{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:2.5rem;
  padding-top:1rem;
}

.footer-cta-box{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border-radius:24px;
  padding:1.35rem;
}

.footer-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:.8rem;
  font-weight:700;
  margin:.2rem;
}

@media(max-width:991.98px){
  .footer-premium{
    padding-top:3rem;
  }
}


/* v19 premium top navigation */
.premium-topnav{
  padding:.45rem 0;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(123,45,143,.08);
  box-shadow:0 14px 35px rgba(42,18,53,.06);
}

.premium-topnav .container{
  min-height:70px;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand-copy strong{
  color:var(--afya-deep);
  font-size:1.05rem;
  letter-spacing:-.02em;
}

.brand-copy small{
  color:var(--afya-muted);
  font-size:.68rem;
  margin-top:.2rem;
}

.premium-nav-links{
  gap:.35rem;
}

.premium-nav-links .nav-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.72rem .9rem!important;
  border-radius:14px;
  color:#5e5664;
  font-weight:700;
  font-size:.92rem;
  transition:.2s ease;
}

.premium-nav-links .nav-link i{
  color:var(--afya-primary);
  font-size:1rem;
}

.premium-nav-links .nav-link:hover{
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
  transform:translateY(-1px);
}

.nav-actions .btn{
  white-space:nowrap;
}

.premium-toggler{
  width:46px;
  height:46px;
  border:1px solid var(--afya-border);
  border-radius:14px;
  color:var(--afya-primary);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  box-shadow:var(--afya-shadow-soft);
}

.premium-toggler i{
  font-size:1.45rem;
}

.premium-toggler:focus{
  box-shadow:0 0 0 .2rem rgba(123,45,143,.1);
}

@media(max-width:1199.98px){
  .premium-nav-links .nav-link{
    padding:.65rem .7rem!important;
    font-size:.86rem;
  }

  .nav-actions .btn{
    padding:.7rem .9rem;
  }
}

@media(max-width:991.98px){
  .premium-topnav .navbar-collapse{
    margin-top:.9rem;
    padding:1rem;
    background:#fff;
    border:1px solid var(--afya-border);
    border-radius:20px;
    box-shadow:var(--afya-shadow);
  }

  .premium-nav-links{
    gap:.3rem;
    margin-bottom:1rem;
  }

  .premium-nav-links .nav-link{
    width:100%;
    justify-content:flex-start;
  }

  .nav-actions{
    flex-direction:column;
    align-items:stretch!important;
  }

  .nav-actions .btn{
    width:100%;
  }
}


/* v20 premium process grid */
.process-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}

.process-step{
  position:relative;
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:26px;
  padding:1.5rem;
  box-shadow:var(--afya-shadow-soft);
  overflow:hidden;
  transition:.22s ease;
}

.process-step:hover{
  transform:translateY(-5px);
  box-shadow:var(--afya-shadow);
}

.process-step:after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-45px;
  bottom:-45px;
  border-radius:50%;
  background:rgba(123,45,143,.045);
}

.process-step-number{
  position:absolute;
  top:1rem;
  right:1.1rem;
  font-size:2.7rem;
  font-weight:900;
  line-height:1;
  color:rgba(123,45,143,.09);
}

.process-step .icon-box{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:19px;
}

.process-step h5{
  max-width:80%;
}

.inner-hero{
  padding:8rem 0 4.5rem;
  background:
    radial-gradient(circle at 85% 20%, rgba(239,122,168,.16), transparent 26%),
    linear-gradient(135deg,#211329,#6f287f);
  color:#fff;
}

.inner-hero .eyebrow{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}

.inner-hero p{
  color:rgba(255,255,255,.76);
}

.page-feature-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  padding:1.4rem;
  box-shadow:var(--afya-shadow-soft);
  height:100%;
}

.page-feature-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--afya-shadow);
}

@media(max-width:767.98px){
  .process-grid{
    grid-template-columns:1fr;
  }

  .process-step h5{
    max-width:100%;
  }
}


/* v24 Health Library */
.library-hero{
  padding:8rem 0 4.5rem;
  background:
    radial-gradient(circle at 88% 18%, rgba(239,122,168,.18), transparent 24%),
    linear-gradient(135deg,#1c1224,#6f287f);
  color:#fff;
}
.library-search{
  background:#fff;
  border-radius:22px;
  padding:.8rem;
  box-shadow:var(--afya-shadow);
}
.library-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--afya-shadow-soft);
  height:100%;
  transition:.22s ease;
}
.library-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--afya-shadow);
}
.library-cover{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:linear-gradient(135deg,#efe3f3,#f9eef4);
}
.library-card-body{padding:1.25rem}
.library-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  font-size:.78rem;
  color:var(--afya-muted);
}
.library-chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.42rem .7rem;
  border-radius:999px;
  background:var(--afya-primary-soft);
  color:var(--afya-primary);
  font-size:.78rem;
  font-weight:750;
}
.article-layout{
  max-width:860px;
  margin:0 auto;
}
.article-cover{
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--afya-shadow);
}
.article-content{
  font-size:1.07rem;
  line-height:1.85;
  color:#3e3743;
}
.article-content h2,
.article-content h3,
.article-content h4{
  color:var(--afya-deep);
  margin-top:2rem;
  margin-bottom:.8rem;
}
.article-content img{
  max-width:100%;
  border-radius:18px;
}
.article-callout{
  border:1px solid var(--afya-border);
  background:linear-gradient(180deg,#fff,#faf6fb);
  border-radius:22px;
  padding:1.2rem;
}
.admin-editor-card{
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:24px;
  padding:1.4rem;
  box-shadow:var(--afya-shadow-soft);
}


/* v26 public Health Library */
.health-library-public .library-search{
  margin-top:-2rem;
  position:relative;
  z-index:3;
}


/* v28 premium article reader */
.reading-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:2000;
  width:0;
  height:4px;
  background:linear-gradient(90deg,var(--afya-primary),var(--afya-accent));
  transition:width .08s linear;
}

.article-page{
  background:linear-gradient(180deg,#f8f4fa,#fff 36%,#f8f4fa);
}

.article-hero-premium{
  padding:9rem 0 5rem;
  background:
    radial-gradient(circle at 88% 15%, rgba(239,122,168,.22), transparent 24%),
    linear-gradient(135deg,#17101e,#5b216a 62%,#7b2d8f);
  color:#fff;
}

.article-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
  margin-bottom:2rem;
  font-size:.86rem;
  color:rgba(255,255,255,.62);
}

.article-breadcrumbs a{
  color:rgba(255,255,255,.8);
}

.article-breadcrumbs a:hover{
  color:#fff;
}

.article-hero-premium h1{
  max-width:980px;
  font-size:clamp(2.4rem,5vw,4.7rem);
  line-height:1.03;
  letter-spacing:-.055em;
  font-weight:850;
}

.article-summary{
  max-width:820px;
  color:rgba(255,255,255,.78);
  font-size:1.2rem;
  line-height:1.7;
}

.article-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.8rem;
}

.article-reading-section{
  padding:0 0 5rem;
}

.article-featured-cover{
  position:relative;
  margin-top:-2.7rem!important;
  z-index:3;
  max-height:580px;
  border:8px solid #fff;
}

.article-reading-tools{
  position:sticky;
  top:105px;
}

.article-back-link{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:var(--afya-primary);
  font-weight:750;
}

.article-tools-card{
  padding:1.1rem;
  border-radius:20px;
  border:1px solid var(--afya-border);
  background:#fff;
  box-shadow:var(--afya-shadow-soft);
}

.article-toc{
  display:grid;
  gap:.25rem;
}

.article-toc a{
  display:block;
  padding:.55rem .65rem;
  border-radius:11px;
  color:#625a66;
  font-size:.88rem;
  line-height:1.35;
}

.article-toc a:hover{
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
}

.article-toc .toc-subitem{
  padding-left:1.15rem;
  font-size:.82rem;
}

.article-reading-card{
  padding:clamp(1.3rem,4vw,3.2rem);
  border-radius:30px;
  border:1px solid var(--afya-border);
  background:#fff;
  box-shadow:var(--afya-shadow-soft);
}

.article-content{
  max-width:780px;
  margin:0 auto;
  font-size:1.1rem;
  line-height:1.9;
}

.article-content > p:first-child{
  font-size:1.24rem;
  color:#2f2734;
}

.article-content h2{
  padding-top:.35rem;
  font-size:clamp(1.55rem,3vw,2.15rem);
  letter-spacing:-.025em;
}

.article-content h3{
  font-size:1.3rem;
}

.article-content ul,
.article-content ol{
  padding-left:1.35rem;
}

.article-content li{
  margin-bottom:.7rem;
  padding-left:.25rem;
}

.article-content blockquote{
  margin:2rem 0;
  padding:1.2rem 1.4rem;
  border-left:4px solid var(--afya-primary);
  border-radius:0 18px 18px 0;
  background:var(--afya-primary-soft);
  color:#413647;
}

.article-content a{
  color:var(--afya-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.article-key-note{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.2rem;
  border-radius:22px;
  background:#fff8e8;
  border:1px solid rgba(196,144,38,.18);
}

.article-key-note .icon-box{
  min-width:50px;
}

.article-related-section{
  background:linear-gradient(180deg,#fff,#f4eff7);
}

@media(max-width:1199.98px){
  .article-reading-tools{
    position:static;
  }

  .article-tools-card:first-of-type{
    display:none;
  }
}

@media(max-width:767.98px){
  .article-hero-premium{
    padding:7.5rem 0 4rem;
  }

  .article-hero-premium h1{
    font-size:2.55rem;
  }

  .article-summary{
    font-size:1.05rem;
  }

  .article-featured-cover{
    margin-top:-1.8rem!important;
    border-width:5px;
    border-radius:22px;
  }

  .article-reading-card{
    padding:1.2rem;
    border-radius:22px;
  }

  .article-content{
    font-size:1.02rem;
    line-height:1.78;
  }

  .article-content > p:first-child{
    font-size:1.1rem;
  }
}

@media print{
  .premium-topnav,
  .footer-premium,
  .article-actions,
  .article-reading-tools,
  .article-related-section,
  .reading-progress,
  .article-callout{
    display:none!important;
  }

  .article-hero-premium{
    padding:1rem 0;
    background:#fff!important;
    color:#000!important;
  }

  .article-summary,
  .article-breadcrumbs{
    color:#444!important;
  }

  .article-reading-card{
    border:0;
    box-shadow:none;
    padding:0;
  }
}


/* v29 premium article hero refinement */
.article-hero-premium{
  position:relative;
  overflow:hidden;
  padding:9.6rem 0 5.5rem;
  background:
    radial-gradient(circle at 78% 12%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 94% 68%, rgba(239,122,168,.24), transparent 22%),
    linear-gradient(135deg,#130d19 0%,#30153a 42%,#6d287d 100%);
}

.article-hero-premium:before{
  content:"";
  position:absolute;
  inset:auto -140px -220px auto;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:
    0 0 0 55px rgba(255,255,255,.025),
    0 0 0 110px rgba(255,255,255,.018);
}

.article-hero-premium:after{
  content:"";
  position:absolute;
  top:120px;
  left:-90px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.025);
  filter:blur(2px);
}

.article-hero-premium .container{
  position:relative;
  z-index:2;
}

.article-kicker-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
}

.article-kicker,
.article-category-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border-radius:999px;
  padding:.55rem .85rem;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.02em;
}

.article-kicker{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(12px);
}

.article-category-pill{
  background:#fff;
  color:var(--afya-primary);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.article-meta-panel{
  display:grid;
  gap:.8rem;
  padding:1rem;
  border-radius:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.11);
  backdrop-filter:blur(16px);
  box-shadow:0 22px 50px rgba(0,0,0,.14);
}

.article-meta-item{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:.9rem;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.07);
}

.article-meta-icon{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--afya-primary);
  font-size:1rem;
}

.article-meta-item small{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:.72rem;
  margin-bottom:.12rem;
}

.article-meta-item strong{
  color:#fff;
  font-size:.95rem;
}

.article-hero-premium h1{
  text-wrap:balance;
  max-width:930px;
}

.article-summary{
  max-width:790px;
}

@media(max-width:1199.98px){
  .article-meta-panel{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .article-meta-item{
    align-items:flex-start;
  }
}

@media(max-width:767.98px){
  .article-hero-premium{
    padding:7.6rem 0 4.3rem;
  }

  .article-meta-panel{
    grid-template-columns:1fr;
    margin-top:.5rem;
  }

  .article-kicker-row{
    margin-bottom:1rem!important;
  }

  .article-kicker,
  .article-category-pill{
    font-size:.72rem;
  }
}


/* v30 homepage featured articles */
.featured-library-section{
  background:
    radial-gradient(circle at 92% 12%, rgba(239,122,168,.08), transparent 22%),
    linear-gradient(180deg,#fff,#f8f4fa);
}

.home-article-card{
  height:100%;
  background:#fff;
  border:1px solid var(--afya-border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--afya-shadow-soft);
  transition:.24s ease;
}

.home-article-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--afya-shadow);
}

.home-article-image-wrap{
  position:relative;
  display:block;
  overflow:hidden;
}

.home-article-image{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:.4s ease;
}

.home-article-card:hover .home-article-image{
  transform:scale(1.045);
}

.home-article-placeholder{
  width:100%;
  aspect-ratio:16/10;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 80% 20%, rgba(239,122,168,.18), transparent 24%),
    linear-gradient(135deg,#f0e4f3,#faf5fb);
  color:var(--afya-primary);
  font-size:3rem;
}

.home-article-category{
  position:absolute;
  left:1rem;
  bottom:1rem;
  padding:.48rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.93);
  color:var(--afya-primary);
  font-size:.76rem;
  font-weight:800;
  box-shadow:0 8px 22px rgba(30,15,38,.12);
  backdrop-filter:blur(10px);
}

.home-article-body{
  padding:1.35rem;
}

.home-article-meta{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:.8rem;
  color:var(--afya-muted);
  font-size:.8rem;
}

.home-article-body h5{
  line-height:1.35;
}

.home-article-body h5 a{
  color:var(--afya-deep);
}

.home-article-body h5 a:hover{
  color:var(--afya-primary);
}

.home-article-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--afya-primary);
  font-weight:800;
}

.home-article-link i{
  transition:.2s ease;
}

.home-article-link:hover i{
  transform:translateX(4px);
}


/* v31 public chatbot and hero actions */
.hero-action-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
}

.hero-primary-action{
  min-width:min(100%,390px);
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:.9rem 1rem;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 38px rgba(123,45,143,.34);
  transition:.22s ease;
}

.hero-primary-action:hover{
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 24px 48px rgba(123,45,143,.42);
}

.hero-action-icon{
  width:48px;
  height:48px;
  min-width:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,.16);
  font-size:1.15rem;
}

.hero-primary-action strong,
.hero-primary-action small{
  display:block;
}

.hero-primary-action strong{
  font-size:1rem;
}

.hero-primary-action small{
  color:rgba(255,255,255,.76);
  font-size:.76rem;
  margin-top:.12rem;
}

.hero-action-arrow{
  margin-left:auto;
}

.hero-secondary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:.8rem 1.15rem;
  border-radius:18px;
  color:#fff;
  font-weight:800;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
}

.hero-secondary-action:hover{
  color:#fff;
  background:rgba(255,255,255,.17);
  transform:translateY(-2px);
}

.hero-account-note{
  margin-top:1rem;
  color:rgba(255,255,255,.64);
  font-size:.84rem;
}

.hero-account-note a{
  color:#fff;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

.hero-chat-launch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem .9rem;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--afya-border);
  color:#8b8190;
  box-shadow:var(--afya-shadow-soft);
}

.hero-chat-launch i{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-primary-2));
}

.nav-chat-link{
  background:rgba(123,45,143,.08);
}

.public-chat-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 90% 15%,rgba(239,122,168,.08),transparent 22%),
    linear-gradient(180deg,#f8f4fa,#fdfbfd);
}

.public-chat-hero{
  padding:8.2rem 0 4rem;
  color:#fff;
  background:
    radial-gradient(circle at 88% 20%,rgba(239,122,168,.2),transparent 24%),
    linear-gradient(135deg,#17101e,#682677);
}

.public-chat-hero h1{
  max-width:850px;
  margin-top:1rem;
  font-size:clamp(2.4rem,5vw,4.5rem);
  font-weight:850;
  letter-spacing:-.05em;
  line-height:1.04;
}

.public-chat-hero p{
  max-width:760px;
  color:rgba(255,255,255,.75);
  font-size:1.08rem;
}

.public-chat-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  font-weight:800;
  font-size:.8rem;
}

.public-chat-workspace{
  padding:0 0 5rem;
}

.public-chat-layout{
  position:relative;
  margin-top:-2rem;
  z-index:4;
}

.public-chat-main{
  height:min(760px,78vh);
  border-radius:30px;
  box-shadow:0 28px 80px rgba(42,18,53,.18);
}

.guest-chat-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background:#eaf8ef;
  color:#267347;
  font-size:.78rem;
  font-weight:800;
}

.guest-privacy-note{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.75rem .85rem;
  margin-bottom:.75rem;
  border-radius:15px;
  background:#f6f1f8;
  color:#655a69;
  font-size:.78rem;
}

.guest-privacy-note i{
  color:var(--afya-primary);
  margin-top:.05rem;
}

@media(max-width:767.98px){
  .hero-action-group{
    align-items:stretch;
  }

  .hero-primary-action,
  .hero-secondary-action{
    width:100%;
  }

  .public-chat-hero{
    padding:7.2rem 0 3.4rem;
  }

  .public-chat-main{
    height:74vh;
    border-radius:22px;
  }
}


/* v32 always-public chat layout */
.public-chat-page .chat-sidebar{
  height:min(760px,78vh);
  border-radius:30px;
  box-shadow:0 28px 80px rgba(42,18,53,.12);
}

.public-chat-page .conversation-link{
  background:#fff;
}

.public-chat-page .conversation-link.active{
  background:var(--afya-primary-soft);
}

@media(max-width:1199.98px){
  .public-chat-page .chat-sidebar{
    height:auto;
    max-height:260px;
  }
}


/* v33 simplified premium navigation */
.premium-topnav .container{
  min-height:68px;
}

.premium-nav-links{
  gap:.25rem;
}

.premium-nav-links .nav-link{
  padding:.68rem .82rem!important;
}

.premium-nav-dropdown{
  min-width:320px;
  padding:.65rem;
  border:1px solid var(--afya-border);
  border-radius:20px;
  box-shadow:var(--afya-shadow);
}

.premium-nav-dropdown .dropdown-item{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  padding:.85rem;
  border-radius:14px;
  white-space:normal;
}

.premium-nav-dropdown .dropdown-item:hover{
  background:var(--afya-primary-soft);
}

.premium-nav-dropdown .dropdown-item i{
  width:38px;
  height:38px;
  min-width:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(123,45,143,.08);
  color:var(--afya-primary);
}

.premium-nav-dropdown .dropdown-item strong,
.premium-nav-dropdown .dropdown-item small{
  display:block;
}

.premium-nav-dropdown .dropdown-item strong{
  color:var(--afya-deep);
  font-size:.9rem;
}

.premium-nav-dropdown .dropdown-item small{
  margin-top:.15rem;
  color:var(--afya-muted);
  font-size:.72rem;
}

.nav-chat-cta{
  padding:.72rem 1rem;
}

.account-menu-btn,
.nav-language-btn{
  padding:.72rem .9rem;
}

.nav-language-btn{
  width:44px;
  min-width:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.premium-account-dropdown{
  min-width:210px;
  padding:.55rem;
  border:1px solid var(--afya-border);
  border-radius:16px;
  box-shadow:var(--afya-shadow);
}

.premium-account-dropdown .dropdown-item{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.72rem .8rem;
  border-radius:11px;
}

@media(max-width:1199.98px) and (min-width:992px){
  .brand-copy small{
    display:none;
  }

  .premium-nav-links .nav-link{
    font-size:.82rem;
    padding:.62rem .62rem!important;
  }

  .nav-actions{
    gap:.4rem!important;
  }

  .nav-actions .btn{
    font-size:.82rem;
    padding:.65rem .75rem;
  }
}

@media(max-width:991.98px){
  .premium-nav-dropdown,
  .premium-account-dropdown{
    min-width:100%;
    box-shadow:none;
    border-radius:14px;
    margin-top:.35rem;
  }

  .nav-actions{
    gap:.55rem!important;
  }

  .nav-language-btn{
    width:100%;
  }
}


/* v34 refined chatbot welcome card */
.chat-welcome-card{
  max-width:760px;
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.2rem;
  margin-bottom:1.1rem;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 12%,rgba(239,122,168,.09),transparent 24%),
    linear-gradient(180deg,#fff,#fcf9fd);
  border:1px solid rgba(123,45,143,.13);
  box-shadow:0 14px 34px rgba(42,18,53,.07);
}

.chat-welcome-avatar{
  width:50px;
  height:50px;
  min-width:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  color:#fff;
  font-size:1.15rem;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  box-shadow:0 12px 26px rgba(123,45,143,.24);
}

.chat-welcome-content{
  min-width:0;
}

.chat-welcome-label{
  margin-bottom:.25rem;
  color:var(--afya-primary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.chat-welcome-content h5{
  margin:0 0 .35rem;
  color:var(--afya-deep);
  font-size:1.2rem;
  font-weight:850;
}

.chat-welcome-content p{
  max-width:620px;
  margin:0;
  color:#4f4653;
  font-size:.98rem;
  line-height:1.6;
}

.chat-welcome-note{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  margin-top:.8rem;
  padding:.65rem .75rem;
  border-radius:14px;
  background:rgba(123,45,143,.055);
  color:#6d6270;
  font-size:.8rem;
  line-height:1.45;
}

.chat-welcome-note i{
  color:var(--afya-primary);
  margin-top:.08rem;
}

@media(max-width:575.98px){
  .chat-welcome-card{
    gap:.75rem;
    padding:1rem;
    border-radius:20px;
  }

  .chat-welcome-avatar{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:14px;
  }

  .chat-welcome-content h5{
    font-size:1.05rem;
  }

  .chat-welcome-content p{
    font-size:.9rem;
  }
}




/* v37 public nearby-care access + home hero image */
.hero{
  position:relative;
  overflow:hidden;
  padding:7.9rem 0 5.8rem;
  background:
    linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.90) 34%, rgba(255,255,255,.70) 58%, rgba(255,255,255,.40) 100%),
    url('../img/hero-home-lady.webp') center right / cover no-repeat !important;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(132,56,157,.10), transparent 24%),
    radial-gradient(circle at 82% 22%, rgba(239,122,168,.12), transparent 18%);
  pointer-events:none;
}

.hero > .container{
  position:relative;
  z-index:2;
}

.hero-panel{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 22px 55px rgba(56,26,70,.12);
}

.chat-emergency-panel{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem;
  border-radius:18px;
  background:linear-gradient(180deg,#fff7df,#fff2c9);
  border:1px solid rgba(215,171,40,.45);
  margin-bottom:.85rem;
}

.chat-emergency-copy{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  color:#7a5b0a;
  font-size:.88rem;
}

.chat-emergency-copy strong{
  color:#6b4f06;
  font-size:.92rem;
}

.chat-emergency-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}

.btn-emergency-action{
  background:linear-gradient(135deg,var(--afya-primary),#a84bb4);
  color:#fff;
  border-radius:14px;
  font-weight:700;
  padding:.74rem 1rem;
  box-shadow:0 10px 24px rgba(132,56,157,.22);
}

.btn-emergency-action:hover{
  color:#fff;
}

.chat-floating-care-cta{
  position:fixed;
  left:18px;
  bottom:22px;
  z-index:1100;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.86rem 1rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  box-shadow:0 18px 38px rgba(123,45,143,.34);
}

.chat-floating-care-cta:hover{
  color:#fff;
  transform:translateY(-2px);
}

.public-care-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 90% 15%,rgba(239,122,168,.08),transparent 22%),
    linear-gradient(180deg,#f8f4fa,#fdfbfd);
}

.public-care-hero{
  padding:8.2rem 0 4rem;
  color:#fff;
  background:
    radial-gradient(circle at 88% 20%,rgba(239,122,168,.2),transparent 24%),
    linear-gradient(135deg,#17101e,#682677);
}

.public-care-hero h1{
  max-width:900px;
  margin-top:1rem;
  font-size:clamp(2.3rem,5vw,4.4rem);
  font-weight:850;
  letter-spacing:-.05em;
  line-height:1.04;
}

.public-care-hero p{
  max-width:760px;
  color:rgba(255,255,255,.77);
  font-size:1.08rem;
}

.public-care-workspace{
  padding:0 0 5rem;
}

.care-filter-panel{
  margin-top:-2rem;
  position:relative;
  z-index:4;
  padding:1.1rem;
  border-radius:26px;
  background:#fff;
  box-shadow:0 24px 55px rgba(42,18,53,.12);
  border:1px solid var(--afya-border);
}

.public-care-notice{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  padding:.95rem 1rem;
  border-radius:18px;
  color:#5d5960;
  background:#f8f2fa;
  border:1px solid rgba(132,56,157,.11);
}

.public-care-notice i{
  color:var(--afya-primary);
  margin-top:.08rem;
}

.public-facility-card{
  display:flex;
  flex-direction:column;
}

.facility-distance{
  display:inline-flex;
  align-items:center;
  color:var(--afya-primary);
  font-size:.8rem;
  font-weight:800;
}

.facility-tag-danger{
  background:#fff0f0;
  color:#bb3a3a;
  border:1px solid rgba(187,58,58,.18);
}

@media(max-width:991.98px){
  .hero{
    background:
      linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.88) 45%, rgba(255,255,255,.78) 100%),
      url('../img/hero-home-lady.webp') 72% center / cover no-repeat !important;
  }

  .public-care-hero{
    padding:7.1rem 0 3.5rem;
  }
}

@media(max-width:767.98px){
  .chat-emergency-panel{
    padding:.9rem;
  }

  .chat-emergency-actions,
  .chat-emergency-actions .btn{
    width:100%;
  }

  .chat-floating-care-cta{
    left:14px;
    right:14px;
    bottom:14px;
    justify-content:center;
  }

  .care-filter-panel{
    margin-top:-1.5rem;
    padding:1rem;
    border-radius:22px;
  }
}


/* v38 hero CTA readability refinement */
.hero{
  min-height:820px;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.975) 0%,
      rgba(255,255,255,.955) 27%,
      rgba(255,255,255,.86) 52%,
      rgba(255,255,255,.60) 74%,
      rgba(255,255,255,.38) 100%
    ),
    url('../img/hero-home-lady.webp') left center / cover no-repeat !important;
}

.hero:before{
  background:
    radial-gradient(circle at 16% 22%, rgba(132,56,157,.11), transparent 24%),
    radial-gradient(circle at 75% 18%, rgba(239,122,168,.10), transparent 18%);
}

.hero h1{
  max-width:760px;
  color:var(--afya-dark) !important;
  text-shadow:0 2px 12px rgba(255,255,255,.18);
}

.hero h1 span{
  color:#ef7aa8 !important;
}

.hero p,
.hero .small,
.hero .text-secondary{
  color:#5f5866 !important;
}

.hero-panel{
  background:rgba(255,255,255,.93);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 26px 60px rgba(56,26,70,.14);
}

.hero-secondary-action{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.75);
  color:var(--afya-dark);
  box-shadow:0 10px 24px rgba(56,26,70,.06);
}

.hero-secondary-action:hover{
  color:var(--afya-dark);
  background:rgba(255,255,255,.8);
}

.hero-account-note{
  color:#655d6d;
}

.hero-account-note a{
  color:var(--afya-primary);
}

.hero-badge-pill{
  background:rgba(255,255,255,.72);
  color:var(--afya-dark);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 10px 22px rgba(56,26,70,.05);
}

@media(max-width:1199.98px){
  .hero{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.97) 0%,
        rgba(255,255,255,.94) 35%,
        rgba(255,255,255,.82) 58%,
        rgba(255,255,255,.55) 100%
      ),
      url('../img/hero-home-lady.webp') 20% center / cover no-repeat !important;
  }
}

@media(max-width:991.98px){
  .hero{
    min-height:auto;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.92) 38%,
        rgba(255,255,255,.82) 100%
      ),
      url('../img/hero-home-lady.webp') 26% center / cover no-repeat !important;
  }

  .hero h1{
    max-width:640px;
  }
}

@media(max-width:767.98px){
  .hero{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.94) 42%,
        rgba(255,255,255,.88) 100%
      ),
      url('../img/hero-home-lady.webp') 30% center / cover no-repeat !important;
  }

  .hero-secondary-action{
    background:rgba(255,255,255,.8);
  }
}


/* v39 hero image visibility rebalance */
.hero{
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.93) 28%,
      rgba(255,255,255,.72) 49%,
      rgba(255,255,255,.30) 68%,
      rgba(255,255,255,.08) 100%
    ),
    url('../img/hero-home-lady.webp') left center / cover no-repeat !important;
}

.hero:before{
  background:
    radial-gradient(circle at 14% 24%, rgba(132,56,157,.10), transparent 25%),
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 58%);
}

.hero-panel{
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 24px 55px rgba(56,26,70,.13);
}

@media(max-width:1199.98px){
  .hero{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.91) 34%,
        rgba(255,255,255,.66) 56%,
        rgba(255,255,255,.24) 78%,
        rgba(255,255,255,.08) 100%
      ),
      url('../img/hero-home-lady.webp') 20% center / cover no-repeat !important;
  }
}

@media(max-width:991.98px){
  .hero{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.93) 0%,
        rgba(255,255,255,.88) 40%,
        rgba(255,255,255,.58) 72%,
        rgba(255,255,255,.28) 100%
      ),
      url('../img/hero-home-lady.webp') 30% center / cover no-repeat !important;
  }

  .hero-panel{
    background:rgba(255,255,255,.88);
  }
}

@media(max-width:767.98px){
  .hero{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.94) 0%,
        rgba(255,255,255,.90) 45%,
        rgba(255,255,255,.68) 76%,
        rgba(255,255,255,.40) 100%
      ),
      url('../img/hero-home-lady.webp') 34% center / cover no-repeat !important;
  }
}


/* v40 hero photo-first composition */
.hero{
  min-height:820px;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.22) 0%,
      rgba(255,255,255,.12) 38%,
      rgba(255,255,255,.04) 62%,
      rgba(255,255,255,0) 100%
    ),
    url('../img/hero-home-lady.webp') left center / cover no-repeat !important;
}

.hero:before{
  background:
    radial-gradient(circle at 12% 18%, rgba(132,56,157,.08), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(239,122,168,.06), transparent 18%);
}

.hero-copy-panel{
  position:relative;
  max-width:760px;
  padding:1.6rem 1.7rem;
  border-radius:30px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.90),
      rgba(255,255,255,.76)
    );
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 24px 60px rgba(42,18,53,.12);
  backdrop-filter:blur(8px);
}

.hero-copy-panel h1{
  margin-top:0 !important;
}

.hero-copy-panel p,
.hero-copy-panel .hero-account-note{
  color:#4d4652 !important;
}

.hero-panel{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.60);
  box-shadow:0 24px 58px rgba(42,18,53,.14);
}

.hero-badge-pill{
  background:rgba(255,255,255,.82);
}

@media(max-width:1199.98px){
  .hero{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.30) 0%,
        rgba(255,255,255,.16) 44%,
        rgba(255,255,255,.04) 72%,
        rgba(255,255,255,0) 100%
      ),
      url('../img/hero-home-lady.webp') 20% center / cover no-repeat !important;
  }

  .hero-copy-panel{
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,.92),
        rgba(255,255,255,.78)
      );
  }
}

@media(max-width:991.98px){
  .hero{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.30) 0%,
        rgba(255,255,255,.16) 46%,
        rgba(255,255,255,.06) 100%
      ),
      url('../img/hero-home-lady.webp') 30% center / cover no-repeat !important;
  }

  .hero-copy-panel{
    padding:1.35rem;
    border-radius:24px;
  }

  .hero-panel{
    background:rgba(255,255,255,.86);
  }
}

@media(max-width:767.98px){
  .hero{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.38) 0%,
        rgba(255,255,255,.20) 52%,
        rgba(255,255,255,.08) 100%
      ),
      url('../img/hero-home-lady.webp') 34% center / cover no-repeat !important;
  }

  .hero-copy-panel{
    background:rgba(255,255,255,.90);
    backdrop-filter:blur(6px);
  }
}


/* v41 serious hero rebuild: photo fully visible */
.hero.hero-split{
  min-height:820px;
  padding:8rem 0 6rem;
  background:
    radial-gradient(circle at 8% 15%, rgba(132,56,157,.08), transparent 24%),
    radial-gradient(circle at 92% 18%, rgba(239,122,168,.10), transparent 20%),
    linear-gradient(180deg,#fff,#f8f3fa) !important;
}

.hero.hero-split:before,
.hero.hero-split:after{
  display:none;
}

.hero-copy-clean{
  max-width:690px;
}

.hero-copy-clean h1{
  margin:0;
  color:var(--afya-dark) !important;
  font-size:clamp(3rem,5.5vw,5.7rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
}

.hero-copy-clean h1 span{
  color:#ef6da5 !important;
}

.hero-copy-clean p{
  margin-top:1.5rem;
  color:#5f5866 !important;
  font-size:1.08rem;
  line-height:1.7;
}

.hero-secondary-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.hero-secondary-row .hero-secondary-action{
  background:#fff;
  color:var(--afya-dark);
  border:1px solid var(--afya-border);
  box-shadow:0 10px 25px rgba(42,18,53,.06);
}

.hero-secondary-row .hero-secondary-action:hover{
  color:var(--afya-primary);
  background:#fff;
}

.hero-visual-stage{
  position:relative;
  min-height:690px;
  border-radius:36px;
  overflow:visible;
}

.hero-woman-image{
  width:100%;
  height:690px;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:36px;
  box-shadow:0 28px 75px rgba(42,18,53,.15);
}

.hero-panel-floating{
  position:absolute;
  left:-70px;
  bottom:-34px;
  width:min(470px,92%);
  padding:1.25rem;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 26px 70px rgba(42,18,53,.20);
}

.compact-chat-preview{
  min-height:auto;
}

.compact-chat-preview .bot-bubble,
.compact-chat-preview .user-bubble{
  font-size:.84rem;
  padding:.7rem .82rem;
}

.hero-badge-row{
  margin-top:1.5rem;
}

.hero-badge-pill{
  background:#fff;
  color:var(--afya-dark);
  border:1px solid var(--afya-border);
}

@media(max-width:1199.98px){
  .hero-visual-stage{
    min-height:630px;
  }

  .hero-woman-image{
    height:630px;
  }

  .hero-panel-floating{
    left:-35px;
    width:min(430px,92%);
  }
}

@media(max-width:991.98px){
  .hero.hero-split{
    min-height:auto;
    padding:7rem 0 4.5rem;
  }

  .hero-copy-clean{
    max-width:none;
  }

  .hero-visual-stage{
    min-height:auto;
    margin-top:1rem;
  }

  .hero-woman-image{
    height:620px;
    object-position:center top;
  }

  .hero-panel-floating{
    position:relative;
    left:auto;
    bottom:auto;
    width:calc(100% - 2rem);
    margin:-105px auto 0;
  }
}

@media(max-width:767.98px){
  .hero-copy-clean h1{
    font-size:clamp(2.7rem,13vw,4.2rem);
  }

  .hero-primary-action,
  .hero-secondary-row .hero-secondary-action{
    width:100%;
  }

  .hero-secondary-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-woman-image{
    height:520px;
    border-radius:26px;
  }

  .hero-visual-stage{
    border-radius:26px;
  }

  .hero-panel-floating{
    width:calc(100% - 1rem);
    margin:-70px auto 0;
    border-radius:24px;
  }
}


/* v42 find-care card action cleanup */
.facility-actions{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.facility-utility-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.75rem;
}

.facility-utility-btn{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  font-weight:800;
  white-space:nowrap;
}

.facility-utility-actions .facility-utility-btn:only-child{
  grid-column:1 / -1;
}

.facility-primary-btn{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  font-size:1rem;
  font-weight:850;
}

@media(max-width:575.98px){
  .facility-utility-actions{
    grid-template-columns:1fr;
  }

  .facility-utility-btn,
  .facility-primary-btn{
    min-height:56px;
  }
}


/* v43 urgent floating Find Care panel */
.chat-floating-care-panel{
  position:fixed;
  left:20px;
  bottom:22px;
  z-index:1150;
  width:min(430px,calc(100vw - 40px));
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.85rem;
  align-items:start;
  padding:1rem;
  border-radius:24px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(187,58,58,.16);
  box-shadow:0 24px 60px rgba(42,18,53,.20);
  backdrop-filter:blur(16px);
}

.chat-floating-care-close{
  position:absolute;
  top:.7rem;
  right:.7rem;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:#f8f2fa;
  color:#6f6878;
}

.chat-floating-care-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  color:#b93a45;
  background:#fff0f1;
  font-size:1.1rem;
}

.chat-floating-care-copy{
  padding-right:1.7rem;
}

.chat-floating-care-copy strong,
.chat-floating-care-copy span{
  display:block;
}

.chat-floating-care-copy strong{
  margin-bottom:.25rem;
  color:#842c38;
  font-size:.95rem;
  font-weight:850;
}

.chat-floating-care-copy span{
  color:#5f5866;
  font-size:.8rem;
  line-height:1.45;
}

.chat-floating-care-button{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:48px;
  padding:.72rem 1rem;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  font-weight:850;
  box-shadow:0 12px 26px rgba(123,45,143,.24);
}

.chat-floating-care-button:hover{
  color:#fff;
  transform:translateY(-1px);
}

.chat-floating-care-panel.is-hidden{
  display:none;
}

@media(max-width:767.98px){
  .chat-floating-care-panel{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    border-radius:20px;
    padding:.9rem;
  }

  .chat-floating-care-icon{
    width:42px;
    height:42px;
  }

  .chat-floating-care-copy span{
    font-size:.76rem;
  }
}


/* v44 global urgent-care floating panel */
body{
  padding-bottom:0;
}

@media(max-width:767.98px){
  body{
    padding-bottom:145px;
  }

  .footer-premium{
    margin-bottom:0;
  }
}


/* =========================================================
   v45 unified AfyaShujaa button system
   Final overrides after full site button audit
   ========================================================= */

/* Base Bootstrap-style buttons */
.btn:not(.btn-close){
  --afya-btn-height:48px;
  min-height:var(--afya-btn-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.7rem 1rem;
  border-radius:14px;
  font-size:.9rem;
  font-weight:750;
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.btn:not(.btn-close) i{
  flex:0 0 auto;
  margin:0 !important;
  font-size:1rem;
  line-height:1;
}

.btn:not(.btn-close):hover{
  transform:translateY(-1px);
}

.btn:not(.btn-close):active{
  transform:translateY(0);
}

.btn:not(.btn-close):focus-visible{
  outline:3px solid rgba(132,56,157,.18);
  outline-offset:2px;
  box-shadow:none;
}

.btn.btn-sm{
  --afya-btn-height:40px;
  padding:.52rem .8rem;
  border-radius:12px;
  font-size:.8rem;
}

.btn.btn-lg{
  --afya-btn-height:56px;
  padding:.82rem 1.25rem;
  border-radius:16px;
  font-size:.96rem;
}

/* Primary */
.btn-afya{
  border:1px solid transparent;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),#a84bb4);
  box-shadow:0 10px 24px rgba(123,45,143,.20);
}

.btn-afya:hover,
.btn-afya:focus{
  color:#fff;
  box-shadow:0 14px 30px rgba(123,45,143,.27);
}

/* Soft / secondary */
.btn-soft{
  color:var(--afya-primary);
  background:#fff;
  border:1px solid rgba(132,56,157,.16);
  box-shadow:0 6px 16px rgba(42,18,53,.04);
}

.btn-soft:hover,
.btn-soft:focus{
  color:var(--afya-primary-dark);
  background:var(--afya-primary-soft);
  border-color:rgba(132,56,157,.25);
  box-shadow:0 9px 20px rgba(42,18,53,.07);
}

/* Light buttons used over dark heroes */
.btn-light{
  color:var(--afya-dark);
  background:#fff;
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 8px 20px rgba(18,10,24,.08);
}

.btn-outline-light{
  color:#fff;
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.06);
}

.btn-outline-light:hover{
  color:var(--afya-dark);
  background:#fff;
  border-color:#fff;
}

/* Danger outline */
.btn-outline-danger{
  color:#b23b48;
  border-color:rgba(178,59,72,.28);
  background:#fff;
}

.btn-outline-danger:hover{
  color:#fff;
  background:#b23b48;
  border-color:#b23b48;
}

/* Input-group buttons should join cleanly */
.input-group > .btn:not(:first-child),
.input-group > :not(:first-child) .btn{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}

.input-group > .form-control + .btn,
.input-group > .form-select + .btn{
  min-width:52px;
}

/* Hero custom CTAs */
.hero-primary-action,
.hero-secondary-action{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  border-radius:18px;
  line-height:1.2;
}

.hero-secondary-row .hero-secondary-action{
  padding:.82rem 1rem;
  font-size:.88rem;
  font-weight:800;
}

/* Chat emergency actions */
.chat-emergency-panel{
  align-items:center;
}

.chat-emergency-actions{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  width:min(100%,440px);
}

.chat-emergency-btn{
  width:100%;
  min-height:46px !important;
  padding:.62rem .85rem !important;
  border-radius:14px !important;
  font-size:.84rem !important;
  font-weight:800 !important;
  line-height:1.15;
}

.chat-emergency-btn i{
  font-size:.98rem !important;
}

.btn-emergency-action{
  border:1px solid transparent;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),#a84bb4);
  box-shadow:0 9px 20px rgba(132,56,157,.20);
}

.btn-emergency-action:hover,
.btn-emergency-action:focus{
  color:#fff;
  box-shadow:0 12px 26px rgba(132,56,157,.28);
}

/* Facility cards */
.facility-utility-btn{
  min-height:48px !important;
  border-radius:14px !important;
  padding:.62rem .8rem !important;
  font-size:.84rem !important;
}

.facility-primary-btn{
  min-height:52px !important;
  border-radius:16px !important;
  padding:.72rem 1rem !important;
  font-size:.9rem !important;
}

/* Chat response actions */
.chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.8rem;
}

.chat-action{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .75rem;
  border-radius:12px;
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
  border:1px solid rgba(132,56,157,.12);
  font-size:.78rem;
  font-weight:800;
  line-height:1.1;
}

.chat-action:hover{
  color:var(--afya-primary-dark);
  background:#efe2f3;
}

/* Starter chips */
.starter-chip{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .8rem;
  border-radius:999px;
  border:1px solid rgba(132,56,157,.16);
  background:#fff;
  color:var(--afya-primary);
  font-size:.8rem;
  font-weight:800;
  line-height:1.15;
  transition:.18s ease;
}

.starter-chip:hover{
  background:var(--afya-primary-soft);
  transform:translateY(-1px);
}

/* Floating urgent-care panel */
.chat-floating-care-button{
  min-height:46px;
  padding:.65rem .9rem;
  border-radius:14px;
  font-size:.84rem;
  font-weight:850;
}

/* Navigation */
.nav-actions .btn{
  min-height:44px;
}

.premium-topnav .nav-chat-cta{
  min-height:44px;
  padding:.62rem .9rem;
}

/* Avoid distorted disabled buttons */
.btn:disabled,
.btn.disabled{
  opacity:.62;
  transform:none !important;
  box-shadow:none !important;
  cursor:not-allowed;
}

/* Mobile button behavior */
@media(max-width:767.98px){
  .chat-emergency-actions{
    grid-template-columns:1fr;
    width:100%;
  }

  .chat-emergency-btn{
    min-height:44px !important;
  }

  .facility-utility-actions{
    grid-template-columns:1fr;
  }

  .hero-primary-action,
  .hero-secondary-action{
    width:100%;
  }

  .btn:not(.btn-close){
    white-space:normal;
  }
}


/* v46 Shujaa Stories */
.stories-page,
.story-detail-page,
.story-submit-page{
  background:linear-gradient(180deg,#fbf7fc,#fff);
}

.stories-hero,
.story-submit-hero{
  padding:8.2rem 0 4.5rem;
  color:#fff;
  background:
    radial-gradient(circle at 88% 15%,rgba(239,122,168,.22),transparent 24%),
    linear-gradient(135deg,#17101e,#682677);
}

.stories-hero h1,
.story-submit-hero h1{
  margin-top:1rem;
  max-width:900px;
  font-size:clamp(2.5rem,5vw,4.8rem);
  font-weight:900;
  letter-spacing:-.05em;
  line-height:1.02;
}

.stories-hero p,
.story-submit-hero p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:1.08rem;
}

.story-card{
  height:100%;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow-soft);
  transition:.22s ease;
}

.story-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--afya-shadow);
}

.story-cover{
  width:100%;
  aspect-ratio:16/10;
  display:block;
  object-fit:cover;
}

.story-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--afya-primary);
  font-size:3rem;
  background:
    radial-gradient(circle at 80% 20%,rgba(239,122,168,.18),transparent 24%),
    linear-gradient(135deg,#f1e5f4,#fbf7fc);
}

.story-card-body{
  padding:1.35rem;
}

.story-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
  color:var(--afya-muted);
  font-size:.76rem;
}

.story-category{
  display:inline-flex;
  align-items:center;
  padding:.42rem .68rem;
  border-radius:999px;
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
  font-weight:800;
}

.story-card h5 a,
.story-card h5{
  color:var(--afya-deep);
}

.story-author{
  display:flex;
  align-items:center;
  gap:.65rem;
}

.story-author-avatar{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  font-weight:850;
}

.story-author strong,
.story-author small{
  display:block;
}

.story-author small{
  color:var(--afya-muted);
  font-size:.72rem;
}

.story-read-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--afya-primary);
  font-weight:850;
}

.story-detail-hero{
  padding:8.7rem 0 5.2rem;
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(239,122,168,.20),transparent 24%),
    linear-gradient(135deg,#17101e,#5b216a 65%,#7b2d8f);
}

.story-detail-inner{
  max-width:900px;
}

.story-detail-hero h1{
  font-size:clamp(2.7rem,5vw,5rem);
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:900;
}

.story-detail-hero p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:1.15rem;
}

.story-author-light strong{
  color:#fff;
}

.story-author-light small{
  color:rgba(255,255,255,.65);
}

.story-reading-layout{
  max-width:900px;
  margin:0 auto;
}

.story-detail-image{
  width:100%;
  max-height:580px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--afya-shadow);
  margin-bottom:2rem;
}

.story-content{
  padding:clamp(1.4rem,4vw,3rem);
  border-radius:28px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow-soft);
  color:#423a46;
  font-size:1.08rem;
  line-height:1.9;
}

.story-safety-note,
.story-submit-notice{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:#f7f1f9;
  border:1px solid rgba(132,56,157,.12);
}

.story-safety-note i,
.story-submit-notice i{
  color:var(--afya-primary);
  margin-top:.1rem;
}

.story-share-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1.2rem;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow-soft);
}

.story-submit-card{
  padding:clamp(1.4rem,4vw,2.6rem);
  border-radius:28px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow);
}

.story-review-image{
  width:100%;
  max-height:420px;
  object-fit:cover;
  border-radius:22px;
}

.home-stories-section{
  background:
    radial-gradient(circle at 90% 15%,rgba(239,122,168,.08),transparent 22%),
    linear-gradient(180deg,#fff,#faf6fb);
}

@media(max-width:767.98px){
  .stories-hero,
  .story-submit-hero{
    padding:7.2rem 0 3.8rem;
  }

  .story-share-cta{
    flex-direction:column;
    align-items:stretch;
  }
}


/* v48 Shujaa Stories success experience */
.story-success-modal .modal-dialog{
  max-width:620px;
}

.story-success-modal .modal-content{
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:32px;
  background:
    radial-gradient(circle at 85% 10%,rgba(239,122,168,.14),transparent 25%),
    linear-gradient(180deg,#fff,#fbf7fc);
  box-shadow:0 34px 90px rgba(42,18,53,.24);
}

.story-success-close{
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:4;
  padding:.7rem;
  border-radius:12px;
  background-color:rgba(255,255,255,.86);
  box-shadow:0 8px 18px rgba(42,18,53,.08);
}

.story-success-visual{
  position:relative;
  height:155px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at center,rgba(255,255,255,.18),transparent 42%),
    linear-gradient(135deg,#54205f,#84389d 58%,#ef7aa8);
}

.story-success-glow{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  box-shadow:
    0 0 0 24px rgba(255,255,255,.05),
    0 0 0 48px rgba(255,255,255,.025);
}

.story-success-icon{
  position:relative;
  z-index:2;
  width:78px;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:26px;
  color:#ef7aa8;
  background:#fff;
  font-size:2rem;
  box-shadow:0 18px 40px rgba(31,10,39,.24);
}

.story-success-spark{
  position:absolute;
  z-index:2;
  color:#fff;
  opacity:.85;
}

.story-success-spark-one{
  top:35px;
  left:32%;
  font-size:1.1rem;
}

.story-success-spark-two{
  right:30%;
  bottom:28px;
  font-size:.8rem;
}

.story-success-modal .modal-body{
  padding:2rem 2.2rem 2.3rem;
}

.story-success-kicker{
  display:inline-flex;
  padding:.45rem .7rem;
  border-radius:999px;
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.story-success-modal h2{
  color:var(--afya-deep);
  letter-spacing:-.03em;
}

.story-success-message{
  max-width:510px;
  margin:1rem auto 0;
  color:#665d6b;
  line-height:1.65;
}

.story-success-timeline{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:start;
  margin:1.8rem 0;
  padding:1rem;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--afya-border);
}

.story-success-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.55rem;
  text-align:center;
}

.story-success-step > span{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
}

.story-success-step.active > span{
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
  box-shadow:0 10px 22px rgba(132,56,157,.22);
}

.story-success-step strong,
.story-success-step small{
  display:block;
}

.story-success-step strong{
  color:var(--afya-deep);
  font-size:.82rem;
}

.story-success-step small{
  margin-top:.15rem;
  color:var(--afya-muted);
  font-size:.67rem;
  line-height:1.3;
}

.story-success-line{
  width:36px;
  height:2px;
  margin-top:21px;
  background:linear-gradient(90deg,rgba(132,56,157,.30),rgba(132,56,157,.10));
}

.story-success-note{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  padding:.85rem .95rem;
  border-radius:16px;
  color:#665d6b;
  background:#f6f1f8;
  font-size:.8rem;
  text-align:left;
}

.story-success-note i{
  color:var(--afya-primary);
  margin-top:.06rem;
}

.story-success-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  margin-top:1.4rem;
}

.premium-nav-dropdown .dropdown-item i.bi-person-hearts{
  font-size:1rem;
}

@media(max-width:575.98px){
  .story-success-modal .modal-dialog{
    margin:.75rem;
  }

  .story-success-modal .modal-content{
    border-radius:24px;
  }

  .story-success-modal .modal-body{
    padding:1.5rem 1rem 1.3rem;
  }

  .story-success-timeline{
    grid-template-columns:1fr;
    gap:.75rem;
  }

  .story-success-step{
    flex-direction:row;
    text-align:left;
  }

  .story-success-line{
    display:none;
  }

  .story-success-actions{
    grid-template-columns:1fr;
  }
}


/* v49 Shujaa Stories admin publishing workflow */
.story-admin-status{
  display:inline-flex;
  align-items:center;
  padding:.42rem .7rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:850;
}

.story-status-published{
  color:#267347;
  background:#eaf8ef;
}

.story-status-pending{
  color:#8a6413;
  background:#fff4d8;
}

.story-status-rejected{
  color:#a63d4a;
  background:#fde9ec;
}

.admin-story-modal .modal-dialog{
  max-width:1180px;
}

.admin-story-modal .modal-content{
  border:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(26,12,33,.25);
}

.admin-story-modal-header{
  padding:1.2rem 1.4rem;
  border-bottom:1px solid var(--afya-border);
  background:linear-gradient(180deg,#fff,#fbf8fc);
}

.admin-story-preview{
  padding:1.2rem;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--afya-border);
}

.admin-story-preview-image{
  width:100%;
  max-height:350px;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:1rem;
}

.admin-story-excerpt{
  color:#625969;
  font-size:1.02rem;
  line-height:1.65;
}

.admin-story-full-content{
  margin-top:1.3rem;
  padding-top:1.3rem;
  border-top:1px solid var(--afya-border);
  color:#403747;
  font-size:.98rem;
  line-height:1.8;
  white-space:pre-line;
}

.admin-story-side-card{
  padding:1rem;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--afya-border);
}

.admin-story-detail-row{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid rgba(132,56,157,.08);
  font-size:.84rem;
}

.admin-story-detail-row:last-child{
  border-bottom:0;
}

.admin-story-detail-row span{
  color:var(--afya-muted);
}

.admin-story-detail-row strong{
  text-align:right;
  overflow-wrap:anywhere;
}

.admin-review-check{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.5rem 0;
  color:#615867;
  font-size:.8rem;
}

.admin-review-check i{
  color:#2d7a4f;
  margin-top:.05rem;
}

.admin-story-modal-footer{
  flex-wrap:wrap;
  gap:.65rem;
  padding:1rem 1.3rem;
  background:#fbf8fc;
  border-top:1px solid var(--afya-border);
}

.admin-story-modal-footer .story-admin-feedback{
  min-width:250px;
  padding:.7rem .85rem;
  font-size:.82rem;
}

@media(max-width:991.98px){
  .admin-story-modal .modal-dialog{
    margin:.65rem;
  }

  .admin-story-modal-footer .btn{
    flex:1 1 calc(50% - .65rem);
  }

  .admin-story-modal-footer .story-admin-feedback{
    flex-basis:100%;
  }
}

@media(max-width:575.98px){
  .admin-story-modal .modal-content{
    border-radius:20px;
  }

  .admin-story-modal-footer .btn{
    flex-basis:100%;
  }
}


/* v50 premium Shujaa Story reader */
.story-reading-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:2000;
  width:0;
  height:4px;
  background:linear-gradient(90deg,var(--afya-primary),var(--afya-accent));
  transition:width .08s linear;
}

.story-reader-premium{
  background:linear-gradient(180deg,#f8f3fa,#fff 35%,#f8f3fa);
}

.story-reader-hero{
  position:relative;
  overflow:hidden;
  padding:9rem 0 5.5rem;
  color:#fff;
  background:
    radial-gradient(circle at 86% 14%,rgba(239,122,168,.22),transparent 22%),
    radial-gradient(circle at 8% 88%,rgba(255,255,255,.05),transparent 26%),
    linear-gradient(135deg,#150e1b,#4f1e5b 58%,#792c8b);
}

.story-reader-hero:after{
  content:"";
  position:absolute;
  right:-140px;
  bottom:-220px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 0 58px rgba(255,255,255,.025),
    0 0 0 116px rgba(255,255,255,.015);
}

.story-reader-hero .container{
  position:relative;
  z-index:2;
}

.story-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
  margin-bottom:2.2rem;
  color:rgba(255,255,255,.60);
  font-size:.82rem;
}

.story-breadcrumbs a{
  color:rgba(255,255,255,.80);
}

.story-reader-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1rem;
  align-items:center;
  color:rgba(255,255,255,.68);
  font-size:.8rem;
}

.story-reader-meta .story-category{
  color:var(--afya-primary);
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}

.story-reader-hero h1{
  max-width:900px;
  margin:0;
  font-size:clamp(2.8rem,5vw,5.2rem);
  line-height:1.01;
  letter-spacing:-.055em;
  font-weight:900;
  text-wrap:balance;
}

.story-reader-excerpt{
  max-width:820px;
  margin-top:1.4rem;
  color:rgba(255,255,255,.78);
  font-size:1.15rem;
  line-height:1.72;
}

.story-reader-author{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.story-reader-avatar{
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  color:var(--afya-primary);
  background:#fff;
  font-size:1.1rem;
  font-weight:900;
  box-shadow:0 12px 26px rgba(0,0,0,.14);
}

.story-reader-author small,
.story-reader-author strong{
  display:block;
}

.story-reader-author small{
  color:rgba(255,255,255,.58);
  font-size:.72rem;
}

.story-reader-author strong{
  color:#fff;
  font-size:.95rem;
}

.story-reader-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
}

.story-reader-visual{
  position:relative;
}

.story-reader-visual img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:30px;
  border:6px solid rgba(255,255,255,.12);
  box-shadow:0 26px 65px rgba(0,0,0,.22);
}

.story-reader-visual-badge{
  position:absolute;
  left:1.2rem;
  bottom:1.2rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.65rem .85rem;
  border-radius:999px;
  color:var(--afya-primary);
  background:rgba(255,255,255,.94);
  font-size:.78rem;
  font-weight:850;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.story-reader-body{
  padding:5rem 0;
}

.story-reader-sidebar{
  position:sticky;
  top:105px;
}

.story-reader-back{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--afya-primary);
  font-weight:800;
}

.story-reader-side-card{
  padding:1.1rem;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow-soft);
}

.story-reader-side-card p{
  color:var(--afya-muted);
  font-size:.84rem;
  line-height:1.55;
}

.story-reader-side-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  color:var(--afya-primary);
  background:var(--afya-primary-soft);
}

.story-reading-card{
  padding:clamp(1.4rem,4vw,3rem);
  border-radius:30px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:var(--afya-shadow-soft);
}

.story-reading-intro{
  position:relative;
  margin-bottom:2.3rem;
  padding:1.4rem 1.5rem 1.4rem 3rem;
  border-radius:22px;
  background:linear-gradient(135deg,#f7edf9,#fff7fb);
  border:1px solid rgba(132,56,157,.12);
}

.story-reading-quote-mark{
  position:absolute;
  left:1rem;
  top:.25rem;
  color:rgba(132,56,157,.25);
  font-family:Georgia,serif;
  font-size:4.5rem;
  line-height:1;
}

.story-reading-intro p{
  margin:0;
  color:#493f4d;
  font-size:1.08rem;
  line-height:1.7;
  font-weight:650;
}

.story-content-premium{
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
  font-size:1.08rem;
  line-height:1.95;
}

.story-content-premium p{
  margin-bottom:1.45rem;
}

.story-content-premium p:first-child::first-letter{
  float:left;
  margin:.1rem .5rem 0 0;
  color:var(--afya-primary);
  font-family:Georgia,serif;
  font-size:4rem;
  line-height:.8;
  font-weight:700;
}

.premium-story-note{
  display:flex;
  gap:.9rem;
  padding:1.1rem;
  border-radius:20px;
  background:#fff8e8;
  border:1px solid rgba(196,144,38,.18);
}

.premium-story-note > span{
  width:46px;
  height:46px;
  min-width:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  color:#8a6413;
  background:#fff0c8;
}

.story-reader-end-card{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.2rem;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f9f3fb);
  border:1px solid var(--afya-border);
}

.story-reader-end-icon{
  width:50px;
  height:50px;
  min-width:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(135deg,var(--afya-primary),var(--afya-accent));
}

.related-stories-section{
  background:linear-gradient(180deg,#fff,#f4edf7);
}

@media(max-width:1199.98px){
  .story-reader-sidebar{
    position:static;
  }

  .story-reader-visual img{
    height:440px;
  }
}

@media(max-width:767.98px){
  .story-reader-hero{
    padding:7.4rem 0 4.2rem;
  }

  .story-reader-hero h1{
    font-size:2.7rem;
  }

  .story-reader-excerpt{
    font-size:1rem;
  }

  .story-reader-visual img{
    height:380px;
    border-radius:24px;
  }

  .story-reading-card{
    padding:1.15rem;
    border-radius:22px;
  }

  .story-reading-intro{
    padding:1.15rem 1rem 1.15rem 2.6rem;
  }

  .story-reader-end-card{
    align-items:flex-start;
  }
}

@media print{
  .premium-topnav,
  .footer-premium,
  .story-reader-actions,
  .story-reader-sidebar,
  .related-stories-section,
  .story-reading-progress,
  .chat-floating-care-panel{
    display:none!important;
  }

  .story-reader-hero{
    padding:1rem 0;
    background:#fff!important;
    color:#000!important;
  }

  .story-reader-hero h1,
  .story-reader-author strong{
    color:#000!important;
  }

  .story-reader-excerpt,
  .story-reader-author small,
  .story-reader-meta{
    color:#444!important;
  }

  .story-reading-card{
    border:0;
    box-shadow:none;
    padding:0;
  }
}


/* v51 homepage hero without photography */
.hero.hero-split{
  min-height:800px;
  padding:8rem 0 5.5rem;
  background:
    radial-gradient(circle at 12% 18%,rgba(132,56,157,.09),transparent 28%),
    radial-gradient(circle at 88% 16%,rgba(239,122,168,.13),transparent 24%),
    linear-gradient(135deg,#fff 0%,#fbf7fc 48%,#f4eaf7 100%) !important;
}

.hero-visual-abstract{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:40px;
  background:
    radial-gradient(circle at 70% 18%,rgba(255,255,255,.55),transparent 22%),
    linear-gradient(145deg,#6f287f,#84389d 48%,#ef7aa8);
  box-shadow:0 30px 80px rgba(74,25,83,.20);
}

.hero-visual-abstract:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(255,255,255,.10),transparent 42%),
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,.025) 0,
      rgba(255,255,255,.025) 1px,
      transparent 1px,
      transparent 18px
    );
}

.hero-visual-glow{
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  filter:blur(2px);
}

.hero-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
}

.hero-orbit-one{
  width:520px;
  height:520px;
  right:-170px;
  top:-150px;
  box-shadow:
    0 0 0 55px rgba(255,255,255,.035),
    0 0 0 110px rgba(255,255,255,.02);
}

.hero-orbit-two{
  width:280px;
  height:280px;
  left:-90px;
  bottom:-70px;
  box-shadow:0 0 0 42px rgba(255,255,255,.025);
}

.hero-panel-centered{
  position:relative;
  z-index:2;
  width:min(520px,calc(100% - 3rem));
  padding:1.45rem;
  border-radius:30px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 28px 70px rgba(38,14,47,.24);
}

.hero-panel-kicker{
  display:block;
  margin-bottom:.35rem;
  color:var(--afya-primary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.hero-health-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem;
}

.hero-health-card{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  min-height:112px;
  padding:.95rem;
  box-shadow:none;
}

.hero-live-pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .6rem;
  border-radius:999px;
  color:#267347;
  background:#eaf8ef;
  font-size:.7rem;
  font-weight:850;
}

.hero-live-pill span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#35a36a;
  box-shadow:0 0 0 4px rgba(53,163,106,.12);
}

.hero-woman-image,
.hero-panel-floating{
  display:none !important;
}

@media(max-width:1199.98px){
  .hero-visual-abstract{
    min-height:610px;
  }
}

@media(max-width:991.98px){
  .hero.hero-split{
    min-height:auto;
    padding:7rem 0 4.5rem;
  }

  .hero-visual-abstract{
    min-height:590px;
    margin-top:1rem;
  }
}

@media(max-width:575.98px){
  .hero-visual-abstract{
    min-height:570px;
    border-radius:28px;
  }

  .hero-panel-centered{
    width:calc(100% - 1.2rem);
    padding:1rem;
    border-radius:24px;
  }

  .hero-health-grid{
    grid-template-columns:1fr;
  }

  .hero-health-card{
    min-height:auto;
  }
}


/* v52 homepage body image section */
.homepage-image-section{
  padding-top:0;
}

.homepage-image-band{
  position:relative;
  overflow:hidden;
  padding:clamp(1.2rem,3vw,2rem);
  border-radius:36px;
  color:#fff;
  background:
    url('../img/homepage-women-care.webp') center center / cover no-repeat;
  box-shadow:0 28px 80px rgba(57,20,67,.18);
}

.homepage-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(24,15,31,.88) 0%, rgba(56,24,70,.76) 42%, rgba(96,42,112,.44) 100%);
}

.homepage-image-band .row{
  z-index:2;
}

.eyebrow-light{
  color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}

.homepage-image-title{
  max-width:760px;
  margin:0;
  font-size:clamp(2rem,4.1vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.045em;
  font-weight:900;
  text-wrap:balance;
}

.homepage-image-text{
  max-width:690px;
  margin-top:1rem;
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.75;
}

.homepage-image-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.homepage-image-stats{
  display:grid;
  gap:.9rem;
}

.homepage-image-stat-card{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  box-shadow:0 16px 40px rgba(22,8,28,.14);
}

.homepage-image-stat-card .icon-box{
  background:rgba(255,255,255,.18);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.homepage-image-stat-card strong{
  display:block;
  color:#fff;
  font-size:.98rem;
  margin-bottom:.25rem;
}

.homepage-image-stat-card p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.84rem;
  line-height:1.55;
}

@media(max-width:991.98px){
  .homepage-image-overlay{
    background:
      linear-gradient(180deg, rgba(24,15,31,.84) 0%, rgba(56,24,70,.70) 45%, rgba(96,42,112,.52) 100%);
  }

  .homepage-image-band{
    border-radius:28px;
  }
}

@media(max-width:575.98px){
  .homepage-image-band{
    padding:1rem;
    border-radius:24px;
  }

  .homepage-image-title{
    font-size:2rem;
  }

  .homepage-image-actions .btn{
    width:100%;
  }
}


/* v53 official AfyaShujaa logo integration */
.brand-logo{
  width:46px;
  height:46px;
  min-width:46px;
  display:block;
  object-fit:contain;
}

.brand-logo-footer{
  width:68px;
  height:68px;
  min-width:68px;
  padding:.35rem;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(42,18,53,.12);
}

.premium-topnav .navbar-brand{
  min-width:max-content;
}

.premium-topnav .brand-logo{
  width:48px;
  height:48px;
}

.admin-sidebar .brand-logo{
  width:44px;
  height:44px;
  padding:.3rem;
  border-radius:14px;
  background:#fff;
}

.auth-card .brand-logo,
.auth-shell .brand-logo{
  width:56px;
  height:56px;
}

.client-sidebar .brand-logo{
  width:46px;
  height:46px;
  padding:.25rem;
  border-radius:14px;
  background:#fff;
}

@media(max-width:575.98px){
  .premium-topnav .brand-logo{
    width:42px;
    height:42px;
    min-width:42px;
  }

  .brand-logo-footer{
    width:58px;
    height:58px;
    min-width:58px;
  }
}


/* v54 admin facility CRUD */
.facility-admin-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.45rem;
  min-width:265px;
}

.facility-admin-actions .btn{
  min-height:38px;
}

#facilityModal .modal-content{
  max-height:92vh;
  overflow-y:auto;
}

@media(max-width:767.98px){
  .facility-admin-actions{
    min-width:210px;
  }

  .facility-admin-actions .btn{
    flex:1 1 calc(50% - .45rem);
  }
}


/* v55 admin facility map search */
.facility-map-search{
  position:relative;
}

.facility-search-results{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + .55rem);
  z-index:1200;
  max-height:320px;
  overflow-y:auto;
  padding:.5rem;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--afya-border);
  box-shadow:0 20px 50px rgba(42,18,53,.16);
}

.facility-search-result{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.8rem;
  border:0;
  border-radius:14px;
  background:#fff;
  text-align:left;
  transition:.18s ease;
}

.facility-search-result:hover{
  background:var(--afya-primary-soft);
}

.facility-search-result-icon{
  width:38px;
  height:38px;
  min-width:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:var(--afya-primary);
  background:rgba(132,56,157,.08);
}

.facility-search-result-copy{
  min-width:0;
}

.facility-search-result-copy strong,
.facility-search-result-copy small{
  display:block;
}

.facility-search-result-copy strong{
  color:var(--afya-deep);
  font-size:.86rem;
}

.facility-search-result-copy small{
  margin-top:.2rem;
  color:var(--afya-muted);
  font-size:.72rem;
  line-height:1.4;
}

.facility-search-status{
  min-height:1rem;
}

@media(max-width:575.98px){
  .facility-map-search .input-group{
    display:grid;
    grid-template-columns:1fr;
    gap:.55rem;
  }

  .facility-map-search .input-group > .form-control,
  .facility-map-search .input-group > .btn{
    width:100%;
    border-radius:14px !important;
  }
}
