
/* Agenda da Semana — versão premium 2026-08-23 */
.agenda-route .public-page .directory-wrap{
  max-width:1240px;
  padding:2rem 1.5rem 5rem;
}
.agenda-route .public-page .directory-wrap .back{
  display:inline-flex;align-items:center;gap:.5rem;color:#245f58;font-weight:800;
  text-decoration:none;margin:.25rem 0 1.25rem;
}
.agenda-route .public-page .directory-hero{
  position:relative;overflow:hidden;border:1px solid rgba(22,92,78,.14);
  background:linear-gradient(135deg,#f8fffc 0%,#eef8f5 55%,#e6f3ef 100%);
  border-radius:30px;margin:0 0 3rem;padding:2.4rem 2.6rem;
  box-shadow:0 18px 55px rgba(14,63,54,.08);
}
.agenda-route .public-page .directory-hero:after{
  content:"";position:absolute;right:-90px;top:-120px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(54,185,151,.18),rgba(54,185,151,0) 68%);pointer-events:none;
}
.agenda-route .public-page .directory-hero .eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;color:#0d745f;background:#e4f5ef;
  border:1px solid #c8e9df;border-radius:999px;padding:.5rem .8rem;font-size:.72rem;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;
}
.agenda-route .public-page .directory-hero h1{
  max-width:820px;margin:.85rem 0 .7rem;font-size:clamp(2.25rem,4vw,3.85rem);line-height:1.02;
}
.agenda-route .public-page .directory-hero p{max-width:760px;margin:0;color:#55706d;font-size:1rem;line-height:1.7;}
.agenda-route .public-page .schedule-block{
  position:relative;margin:2.2rem 0 3rem;padding:2rem;border:1px solid rgba(19,83,72,.10);
  border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#fbfefd 100%);
  box-shadow:0 16px 48px rgba(19,69,59,.06);
}
.agenda-route .public-page .schedule-block .section-head.left{margin:0 0 1.5rem;max-width:none;}
.agenda-route .public-page .schedule-block .section-head>span{
  display:inline-block;color:#0a735e;background:#e9f7f2;border-radius:999px;padding:.42rem .72rem;
  letter-spacing:.08em;font-size:.68rem;font-weight:900;
}
.agenda-route .public-page .schedule-block .section-head h2{
  margin:.65rem 0 0;color:#123832;font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.045em;
}
.agenda-route .public-page .schedule-block .card-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch;
}
.agenda-route .public-page .schedule-card{
  position:relative;overflow:hidden;min-height:100%;padding:1.45rem 1.35rem 1.3rem;
  border:1px solid #dbe9e5;border-radius:22px;background:#fff;
  box-shadow:0 12px 34px rgba(15,64,55,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.agenda-route .public-page .schedule-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#0d6f5b,#24a886,#9ed7a8);
}
.agenda-route .public-page .schedule-card:hover{
  transform:translateY(-4px);border-color:#c3ded6;box-shadow:0 18px 44px rgba(15,64,55,.12);
}
.agenda-route .public-page .schedule-card>svg{
  width:42px;height:42px;padding:9px;color:#0a725e;background:linear-gradient(135deg,#e2f5ef,#eef9f6);
  border:1px solid #cfe9e1;border-radius:13px;
}
.agenda-route .public-page .schedule-card h3{
  color:#173d37;margin:1rem 0 .7rem;font-size:1.48rem;line-height:1.18;letter-spacing:-.025em;
}
.agenda-route .public-page .agenda-premium-section .schedule-card h3{font-size:1.34rem;}
.agenda-route .public-page .entries{
  gap:.7rem;margin:1.1rem 0 1.25rem;
}
.agenda-route .public-page .entries>div{
  position:relative;grid-template-columns:minmax(88px,110px) 1fr;align-items:center;gap:.8rem;
  min-height:62px;padding:.75rem .8rem;border:1px solid #e4efec;border-radius:14px;
  background:linear-gradient(180deg,#fbfefd,#f5faf8);
}
.agenda-route .public-page .entries>div:after{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:99px;background:#6fc4ad;
}
.agenda-route .public-page .entries span{
  display:inline-flex;justify-content:center;align-items:center;min-height:32px;padding:.35rem .55rem;
  color:#0b6857;background:#e4f4ef;border:1px solid #cae7df;border-radius:999px;
  font-size:.76rem;font-weight:900;line-height:1.1;text-align:center;
}
.agenda-route .public-page .entries strong{
  color:#203f3a;font-size:.92rem;font-weight:800;line-height:1.35;
}
.agenda-route .public-page .schedule-card .btn{
  min-height:46px;margin-top:auto;border-radius:13px;font-size:.8rem;font-weight:900;letter-spacing:.01em;
  box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.agenda-route .public-page .schedule-card .btn.primary{
  color:#fff;background:linear-gradient(135deg,#0e735f,#139177);border-color:transparent;
  box-shadow:0 9px 22px rgba(14,115,95,.20);
}
.agenda-route .public-page .schedule-card .btn.secondary{
  color:#0c6c59;background:#ecf8f4;border:1px solid #cce8df;
}
.agenda-route .public-page .schedule-card .btn:hover{filter:saturate(1.05);transform:translateY(-1px);}
.agenda-route .public-page .exam-premium-section .card-grid.three{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
}
.agenda-route .public-page .exam-premium-section .schedule-card{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-template-rows:auto auto auto auto;
  column-gap:1rem;align-items:center;min-height:235px;padding:1.6rem;
}
.agenda-route .public-page .exam-premium-section .schedule-card>svg{grid-column:1;grid-row:1/5;align-self:start;}
.agenda-route .public-page .exam-premium-section .schedule-card h3{grid-column:2;grid-row:1;margin:0 0 .35rem;font-size:1.65rem;}
.agenda-route .public-page .exam-premium-section .schedule-card p{grid-column:2;margin:.22rem 0;color:#5b7470;font-size:.82rem;line-height:1.55;}
.agenda-route .public-page .exam-premium-section .schedule-card p strong{color:#2b524b;}
.agenda-route .public-page .exam-premium-section .schedule-card>.btn{grid-column:3;grid-row:1/5;align-self:center;min-width:190px;margin:0;}
.agenda-route .public-page .promo-box{
  border:1px solid rgba(255,255,255,.12);border-radius:24px;
  background:linear-gradient(135deg,#0c4f45 0%,#0d6b5a 55%,#178879 100%);
  box-shadow:0 18px 45px rgba(11,76,65,.16);padding:2rem 2.2rem;
}
.agenda-route .public-page .promo-box>svg{background:rgba(255,255,255,.15);}
@media (max-width:980px){
  .agenda-route .public-page .schedule-block .card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .agenda-route .public-page .directory-wrap{padding:1.1rem .9rem 3.5rem;}
  .agenda-route .public-page .directory-hero{border-radius:22px;padding:1.55rem 1.25rem;margin-bottom:1.8rem;}
  .agenda-route .public-page .directory-hero h1{font-size:clamp(2rem,10vw,2.75rem);}
  .agenda-route .public-page .schedule-block{padding:1rem;border-radius:20px;margin:1.4rem 0 2rem;}
  .agenda-route .public-page .schedule-block .card-grid.three{grid-template-columns:1fr;gap:1rem;}
  .agenda-route .public-page .schedule-card{border-radius:18px;padding:1.2rem;}
  .agenda-route .public-page .entries>div{grid-template-columns:96px 1fr;min-height:58px;}
  .agenda-route .public-page .exam-premium-section .schedule-card{display:flex;align-items:stretch;min-height:0;}
  .agenda-route .public-page .exam-premium-section .schedule-card>svg{align-self:flex-start;}
  .agenda-route .public-page .exam-premium-section .schedule-card h3{margin:.85rem 0 .3rem;}
  .agenda-route .public-page .exam-premium-section .schedule-card>.btn{width:100%;min-width:0;margin-top:1rem;}
  .agenda-route .public-page .promo-box{grid-template-columns:1fr;padding:1.4rem;border-radius:20px;}
}
@media (max-width:420px){
  .agenda-route .public-page .entries>div{grid-template-columns:1fr;gap:.42rem;}
  .agenda-route .public-page .entries span{justify-self:start;}
}
@media (prefers-reduced-motion:reduce){
  .agenda-route .public-page .schedule-card,.agenda-route .public-page .schedule-card .btn{transition:none;}
  .agenda-route .public-page .schedule-card:hover{transform:none;}
}

/* Correção estrutural dos cards de exames — premium v2 */
.agenda-route .public-page .exam-premium-section .card-grid.three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  align-items:stretch;
}
.agenda-route .public-page .exam-premium-section .schedule-card.exam-premium-card{
  display:flex !important;
  flex-direction:column;
  align-items:stretch !important;
  justify-content:flex-start;
  min-width:0;
  min-height:360px;
  height:100%;
  padding:1.5rem 1.45rem 1.35rem;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card>svg{
  flex:0 0 auto;
  align-self:flex-start;
  width:44px;
  height:44px;
  margin:0 0 .9rem;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card h3{
  width:100%;
  margin:0 0 1rem;
  font-size:1.55rem;
  line-height:1.15;
  overflow-wrap:normal;
  word-break:normal;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card p{
  width:100%;
  margin:.32rem 0;
  color:#526d68;
  font-size:.86rem;
  line-height:1.55;
  overflow-wrap:break-word;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card p:first-of-type{
  margin:.1rem 0 .75rem;
  padding:.8rem .9rem;
  border:1px solid #e1eeea;
  border-radius:13px;
  background:#f7fbfa;
  line-height:1.75;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card p:first-of-type strong{
  display:block;
  margin-bottom:.18rem;
  color:#1d4e45;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card p:nth-of-type(2),
.agenda-route .public-page .exam-premium-section .exam-premium-card p:nth-of-type(3){
  padding:.58rem .7rem;
  border-radius:11px;
  background:#fbfdfc;
}
.agenda-route .public-page .exam-premium-section .exam-premium-card>.btn{
  width:100%;
  min-width:0 !important;
  margin-top:auto !important;
  align-self:stretch !important;
  justify-content:center;
}
@media (max-width:980px){
  .agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .agenda-route .public-page .exam-premium-section .schedule-card.exam-premium-card{min-height:330px;}
}
@media (max-width:720px){
  .agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:1fr;}
  .agenda-route .public-page .exam-premium-section .schedule-card.exam-premium-card{min-height:0;height:auto;padding:1.2rem;}
  .agenda-route .public-page .exam-premium-section .exam-premium-card h3{font-size:1.35rem;}
  .agenda-route .public-page .exam-premium-section .exam-premium-card>.btn{margin-top:1rem !important;}
}

/* Separação definitiva: Agenda de Exames por dia / Agenda da Semana somente consultas */
.agenda-route .public-page .exam-day-card,.agenda-route .public-page .medical-day-confirmed{display:flex!important;flex-direction:column!important;min-height:100%!important;height:auto!important;}
.agenda-route .public-page .exam-day-head,.agenda-route .public-page .medical-day-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;padding:.15rem 0 .9rem;border-bottom:1px solid #e4efec;}
.agenda-route .public-page .exam-day-name,.agenda-route .public-page .medical-day-name{color:#0d6f5b;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:950;}
.agenda-route .public-page .exam-day-date,.agenda-route .public-page .medical-day-date{color:#173d37;font-size:1.08rem;font-weight:900;white-space:nowrap;}
.agenda-route .public-page .exam-day-card .entries,.agenda-route .public-page .medical-day-confirmed .entries{flex:1;margin:1rem 0 1.2rem;}
.agenda-route .public-page .exam-day-card .btn,.agenda-route .public-page .medical-day-confirmed .btn{margin-top:auto!important;width:100%;justify-content:center;}
.agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;}
.agenda-route .public-page .exam-premium-section .exam-day-card{padding:1.25rem!important;min-height:280px!important;}
@media(max-width:980px){.agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:720px){.agenda-route .public-page .exam-premium-section .card-grid.three{grid-template-columns:1fr!important}.agenda-route .public-page .exam-premium-section .exam-day-card{min-height:0!important}.agenda-route .public-page .exam-day-head,.agenda-route .public-page .medical-day-head{align-items:flex-start;flex-direction:column;gap:.25rem}.agenda-route .public-page .exam-day-date,.agenda-route .public-page .medical-day-date{font-size:1rem}}

/* Restauração do menu completo em telas menores */
@media (max-width:900px){
  .agenda-route .public-page .public-nav{flex-wrap:wrap;align-items:center;gap:.7rem;padding:.75rem 1rem 1rem;}
  .agenda-route .public-page .public-nav>nav{display:flex!important;width:100%;gap:.5rem;overflow-x:auto;padding:.2rem 0 .15rem;scrollbar-width:none;}
  .agenda-route .public-page .public-nav>nav::-webkit-scrollbar{display:none;}
  .agenda-route .public-page .public-nav nav a:not(.nav-login){display:inline-flex!important;align-items:center;white-space:nowrap;padding:.58rem .78rem;border:1px solid #d8e9e4;border-radius:999px;background:#f5faf8;color:#245b53;font-size:.74rem;font-weight:800;}
  .agenda-route .public-page .public-nav .nav-login{display:inline-flex!important;white-space:nowrap;flex:0 0 auto;}
}

/* Menu público completo — restauração global, sem alterar o restante do site */
@media (max-width:900px){
  .public-page .public-nav{flex-wrap:wrap;align-items:center;gap:.7rem;padding:.75rem 1rem 1rem;}
  .public-page .public-nav>nav{display:flex!important;width:100%;gap:.5rem;overflow-x:auto;padding:.2rem 0 .15rem;scrollbar-width:none;}
  .public-page .public-nav>nav::-webkit-scrollbar{display:none;}
  .public-page .public-nav nav a:not(.nav-login){display:inline-flex!important;align-items:center;white-space:nowrap;padding:.58rem .78rem;border:1px solid #d8e9e4;border-radius:999px;background:#f5faf8;color:#245b53;font-size:.74rem;font-weight:800;}
  .public-page .public-nav .nav-login{display:inline-flex!important;white-space:nowrap;flex:0 0 auto;}
}
