/* Calendar uses the shared product-page shell and its violet identity. */
.calendar-product .calendar-shell { width:calc(100% - 3rem); max-width:72rem; margin-inline:auto; }
.calendar-product .calendar-identity { display:flex; justify-content:center; align-items:center; gap:.8rem; }
.calendar-product .calendar-identity img { object-fit:contain; }
.calendar-product .calendar-lead { max-width:48rem; margin:1.7rem auto 0; }
.calendar-product .calendar-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.calendar-product .calendar-primary,.calendar-product .calendar-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:3.2rem; padding:.8rem 1.6rem; border-radius:999px; border:1px solid #7c35ff; color:#f5f0fc; line-height:1.4; }
.calendar-product .calendar-primary { background:#7c35ff; }
.calendar-product .calendar-primary:hover { background:#6824e6; }
.calendar-product .calendar-secondary { background:#16101f; border-color:#44334f; }
.calendar-product .calendar-secondary:hover { border-color:#7c35ff; }
.calendar-product #top .calendar-release { font-size:.86rem; color:#bcb5ca; margin-top:1.4rem; }
.calendar-product .calendar-concept { width:100%; max-width:64rem; margin:0 auto; padding:2rem; background:#100d18; border:1px solid #7c35ff40; border-radius:1.5rem; text-align:left; box-shadow:0 24px 80px #0004; }
.calendar-concept-heading { display:flex; justify-content:space-between; align-items:center; font-size:1.2rem; margin-bottom:1.5rem; font-weight:600; }
.calendar-concept-label { font-size:.75rem; color:#bcb5ca; font-weight:400; }
.calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border:1px solid #302737; border-radius:.8rem; overflow:hidden; }
.calendar-day { min-height:12rem; padding:.9rem .5rem; border-right:1px solid #302737; background:linear-gradient(transparent 48%,#30273780 49%,transparent 50%); }
.calendar-day:last-child { border:0; }
.calendar-day>span { display:block; font-size:.75rem; color:#bcb5ca; text-align:center; }
.calendar-day>strong { display:block; text-align:center; font-size:1.4rem; font-weight:500; margin:.3rem 0 1.5rem; }
.calendar-event { font-size:.73rem; background:#7c35ff26; border-left:2px solid #7c35ff; border-radius:.3rem; padding:.6rem .4rem; overflow-wrap:anywhere; }
.calendar-event--task { margin-top:2rem; }
.calendar-concept figcaption { margin-top:1rem; color:#bcb5ca; text-align:center; font-size:.78rem; }
.calendar-section-intro { max-width:48rem; margin:0 auto 3rem; text-align:center; }
.calendar-section-intro p { margin-top:1.2rem; }
.calendar-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.calendar-feature-grid article { padding:1.8rem; border-top:1px solid #7c35ff55; }
.calendar-feature-grid svg { color:#7c35ff; margin-bottom:1rem; }
.calendar-feature-grid h3 { margin-bottom:.8rem; }
.calendar-product .calendar-connect { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; }
.calendar-connect p { margin:1.5rem 0; }
.calendar-text-link { color:#7c35ff; font-weight:600; }
.calendar-connection-icons { display:flex; align-items:center; justify-content:center; gap:2rem; }
.calendar-connection-icons img { width:6rem; height:6rem; object-fit:contain; }
.calendar-connection-icons span { color:#7c35ff; font-size:2rem; }
.calendar-product .calendar-development { text-align:center; border-top:1px solid #302737; border-bottom:1px solid #302737; }
.calendar-development p { max-width:46rem; margin:1.5rem auto 2rem; }
@media(max-width:760px) {
 .calendar-product .calendar-shell { width:calc(100% - 2.5rem); }
 .calendar-product .calendar-concept { padding:1rem; border-radius:1rem; }
 .calendar-day { min-height:9rem; padding:.7rem .18rem; }
 .calendar-day>strong { font-size:1.05rem; }
 .calendar-event { font-size:.55rem; padding:.4rem .18rem; }
 .calendar-product .calendar-feature-grid,.calendar-product .calendar-connect { grid-template-columns:1fr; gap:1.5rem; }
 .calendar-feature-grid article { padding:1.5rem .3rem; }
 .calendar-product .calendar-connect { text-align:center; }
 .calendar-connection-icons { margin-top:1rem; }
}
