/* Calendário Vivo 2026 — acabamento visual 4.0.3 */
.cv402{max-width:1150px;margin:28px auto;padding:0 18px;font-family:Arial,Helvetica,sans-serif;color:#24313a;box-sizing:border-box}
.cv402 *{box-sizing:border-box}
.cv402-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;border-bottom:2px solid #f3e4d8;padding:0 0 16px;margin-bottom:18px}
.cv402-header h2{margin:0 0 6px;font-size:30px;line-height:1.15;color:#26343d;letter-spacing:-.3px}
.cv402-subtitle{color:#68737a;font-size:14px}
.cv402-count{color:#a05a25;font-size:13px;font-weight:700;padding:8px 0}
.cv402-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 12px;padding:14px 16px;background:#fffaf6;border:1px solid #f1dfd0;border-radius:12px}
.cv402-picker label{color:#38454d}
.cv402-picker input[type=date]{padding:10px 12px;border:1px solid #d9c7b8;border-radius:8px;font-size:15px;color:#27343b;background:#fff;min-height:42px}
.cv402-picker input[type=date]:focus{outline:2px solid rgba(242,105,20,.22);border-color:#f26a14}
.cv402-picker button{padding:10px 16px;border:1px solid #e15f0d;background:#f26a14;color:#fff;border-radius:8px;cursor:pointer;font-weight:700;min-height:42px;box-shadow:0 2px 5px rgba(83,52,31,.12)}
.cv402-picker button:hover{background:#dc5c0e}
.cv402-months{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 20px}
.cv402-months a{padding:9px 13px;border:1px solid #ddd3cb;border-radius:9px;text-decoration:none;color:#39464d;background:#fff;font-size:14px;font-weight:600;transition:all .15s ease}
.cv402-months a:hover{border-color:#f29a62;color:#d95808;background:#fffaf6}
.cv402-months a.active{font-weight:800;color:#fff;background:#f26a14;border-color:#f26a14;padding:9px 13px;box-shadow:0 3px 8px rgba(242,106,20,.2)}
.cv402-month-title{font-size:24px;font-weight:800;color:#26343d;margin:16px 0 11px}
.cv402-grid-wrap{width:100%;overflow-x:auto;padding-bottom:4px}
.cv402-week,.cv402-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:6px;min-width:785px}
.cv402-week span{text-align:center;font-weight:800;padding:10px 6px;background:#f8f4f1;color:#5b4d43;border:1px solid #eadfd7;border-radius:7px}
.cv402-empty{min-height:96px}
.cv402-day{display:block;min-height:96px;padding:9px;border:1px solid #ddd6d0;border-radius:9px;background:#fff;text-decoration:none;color:#24313a;transition:all .15s ease}
.cv402-day:hover{border-color:#f19a68;box-shadow:0 3px 10px rgba(65,45,30,.08);transform:translateY(-1px)}
.cv402-day.today{outline:2px solid #f26a14;outline-offset:-2px;background:#fffaf6}
.cv402-number{display:block;font-size:20px;font-weight:800;color:#26343d;margin-bottom:8px}
.cv402-dotline,.cv402-profline{display:block;font-size:11px;line-height:1.35;color:#68737a;margin-top:3px}
.cv402-profline{color:#2f8b43;font-weight:700}
.cv402-content{margin-top:28px}
.cv402-content h3{font-size:25px;margin:0 0 12px;color:#26343d}
.cv402-content h4{font-size:20px;margin:20px 0 9px;color:#26343d}
.cv402-today{display:inline-block;padding:5px 10px;border-radius:999px;border:1px solid #f1b38e;background:#fff4ec;color:#c9560b;font-weight:800;font-size:12px;margin-bottom:8px}
.cv402-card{border:1px solid #e4ddd7;border-radius:11px;padding:16px;margin:9px 0;background:#fff;box-shadow:0 2px 8px rgba(55,40,28,.04)}
.cv402-card h5{margin:0 0 8px;font-size:17px;color:#26343d}
.cv402-card p{margin:7px 0;line-height:1.5}
.cv402-prof-card{border-left:4px solid #f26a14;background:#fffaf6}
.cv402-empty-message{padding:16px;border:1px dashed #d8c9bd;border-radius:9px;color:#68737a;background:#fffaf6}
@media(max-width:760px){.cv402{padding:0 12px}.cv402-header{flex-direction:column;align-items:flex-start}.cv402-header h2{font-size:25px}.cv402-picker{align-items:stretch}.cv402-picker input[type=date],.cv402-picker button{width:100%}.cv402-empty,.cv402-day{min-height:75px}.cv402-number{font-size:18px}.cv402-months a{font-size:13px;padding:8px 10px}.cv402-months a.active{padding:8px 10px}}

.cv402-group{margin-top:24px}.cv402-group h4{padding-bottom:7px;border-bottom:1px solid #eee2d8}.cv402-group-prof{margin-top:18px}.cv402-card a{color:#d95808;font-weight:700;text-decoration:underline}.cv402-card a:hover{text-decoration:none}

.cv402-sources{margin-top:12px;padding-top:10px;border-top:1px solid #f0e3da;font-size:13px;color:#68737a}.cv402-sources ul{margin:7px 0 0 18px;padding:0}.cv402-sources li{margin:4px 0}.cv402-sources a{color:#d95808;font-weight:700}.cv402-sources span{color:#8a817b;font-size:12px}

/* 4.0.9 — destaque leve e legível para a data selecionada */
.cv402-day.today{outline:none;background:#fff}
.cv402-day.selected{
  background:#FFF4EC;
  border:2px solid #F26A21;
  color:#26343d;
  box-shadow:inset 4px 0 0 #F26A21,0 2px 6px rgba(242,106,33,.12);
  transform:none
}
.cv402-day.selected:hover{
  background:#FFF1E6;
  border-color:#F26A21;
  color:#26343d;
  transform:translateY(-1px);
  box-shadow:inset 4px 0 0 #F26A21,0 3px 8px rgba(242,106,33,.16)
}
.cv402-day.selected .cv402-number{color:#C9560B}
.cv402-day.selected .cv402-dotline{color:#68737a}
.cv402-day.selected .cv402-profline{color:#2F8B43}

/* 4.1.1 — indicador discreto integrado à barra laranja; conteúdo preservado */
.cv402-accordion{margin-top:18px;padding:0;overflow:hidden;border:1px solid #e5ddd6;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(55,40,28,.035)}
.cv402-accordion summary{position:relative;list-style:none;display:flex;align-items:center;gap:14px;padding:14px 18px 14px 16px;cursor:pointer;font-size:19px;font-weight:800;color:#26343d;background:#fff1e6;border:1px solid #f1c8aa;border-bottom-color:#f1c8aa;user-select:none;overflow:hidden}
.cv402-accordion summary::-webkit-details-marker{display:none}
.cv402-accordion summary:focus-visible{outline:2px solid #F26A21;outline-offset:-2px}
.cv402-accordion summary::before{content:"";width:7px;height:30px;border-radius:3px;background:#F26A21;flex:0 0 auto;transition:all .15s ease}
.cv402-accordion summary::after{content:"";position:absolute;left:42px;top:50%;width:8px;height:8px;border-right:2px solid #F26A21;border-bottom:2px solid #F26A21;transform:translateY(-65%) rotate(-45deg);transition:transform .15s ease}
.cv402-accordion[open] summary::after{transform:translateY(-35%) rotate(45deg)}
.cv402-accordion summary span:first-child{flex:1;margin-left:18px}
.cv402-accordion[open] summary{border-bottom-color:#eadfd7}
.cv402-accordion .cv402-card{margin:10px 14px}
.cv402-accordion > .cv402-card:last-child{margin-bottom:14px}
.cv402-group-prof.cv402-accordion{margin-top:18px}

.cv402-group-prof .cv402-card{border-left:4px solid #F26A21;background:#fffaf6}
@media(max-width:760px){.cv402-accordion summary{font-size:17px;padding:13px 14px 13px 14px}.cv402-accordion summary::before{width:6px;height:25px}.cv402-accordion summary::after{left:36px;width:7px;height:7px}.cv402-accordion summary span:first-child{margin-left:16px}.cv402-accordion .cv402-card{margin-left:10px;margin-right:10px}}
