/* ===== Injection 002: calendar width, title and controls ===== */:root {
 --calendar-red: #df151d;
 --calendar-red-dark: #9e0a11;
 --calendar-border: #c6d8bb;
}

html {
 scroll-padding-top: 76px;
}

body.page-calendar-2026 {
 background: #eef3ea !important;
}.page-calendar-2026.lite-page-content {
 width: min(1540px, calc(100% - 14px)) !important;
 max-width: none !important;
 margin: 7px auto 24px !important;
}.page-calendar-2026.screen-help {
 position: sticky !important;
 top: 0 !important;
 z-index: 100 !important;
 display: flex !important;
 align-items: center !important;
 gap: 9px !important;
 flex-wrap: wrap !important;
 min-height: 48px !important;
 margin: 0 0 12px !important;
 padding: 7px 9px !important;
 background: linear-gradient(135deg, #9e0a11, #bc1017) !important;
 border: 0 !important;
 border-radius: 10px !important;
 box-shadow: 0 7px 20px rgba(93,4,10,.2) !important;
 color: #fff !important;
}.page-calendar-2026.screen-help.hint {
 flex: 1 1 430px !important;
 margin: 0 !important;
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
 font-size: 12px !important;
 font-weight: 900 !important;
 line-height: 1.35 !important;
}.page-calendar-2026.screen-help a,.page-calendar-2026.screen-help button {
 appearance: none !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 min-width: 88px !important;
 min-height: 34px !important;
 margin: 0 !important;
 padding: 7px 12px !important;
 background: #fff !important;
 border: 2px solid #fff !important;
 border-radius: 8px !important;
 box-shadow: 0 2px 7px rgba(0,0,0,.16) !important;
 color: var(--calendar-red-dark) !important;
 -webkit-text-fill-color: var(--calendar-red-dark) !important;
 opacity: 1 !important;
 visibility: visible !important;
 text-indent: 0 !important;
 text-decoration: none !important;
 font-family: Arial, "Helvetica Neue", sans-serif !important;
 font-size: 13px !important;
 font-weight: 900 !important;
 line-height: 1 !important;
 white-space: nowrap !important;
 cursor: pointer !important;
}.page-calendar-2026.screen-help a:hover,.page-calendar-2026.screen-help button:hover {
 transform: translateY(-1px) !important;
 box-shadow: 0 5px 13px rgba(0,0,0,.22) !important;
}.page-calendar-2026.screen-help a.is-active {
 background: #6f0509 !important;
 border-color: #fff !important;
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
}.page-calendar-2026.sheet {
 scroll-margin-top: 70px !important;
 border-color: var(--calendar-border) !important;
 box-shadow: 0 8px 25px rgba(45,76,38,.12) !important;
}.page-calendar-2026.title-box {
 grid-template-columns: 112px minmax(0, 1fr) 112px !important;
 min-height: 92px !important;
 padding: 11px 13px !important;
 background: linear-gradient(135deg, #df151d, #d61018) !important;
}.page-calendar-2026.title-box h1 {
 max-width: 1000px !important;
 margin: 0 auto !important;
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
 font-size: clamp(24px, 2.45vw, 36px) !important;
 font-weight: 1000 !important;
 line-height: 1.04 !important;
 letter-spacing: -.025em !important;
 text-wrap: balance !important;
}.page-calendar-2026.month-title {
 background: #df151d !important;
}.page-calendar-2026.month {
 cursor: zoom-in !important;
 transition: transform.15s ease, box-shadow.15s ease !important;
}.page-calendar-2026.month:hover {
 position: relative !important;
 z-index: 3 !important;
 box-shadow: 0 6px 18px rgba(37,63,32,.17) !important;
}.page-calendar-2026.month.is-zoomed {
 position: fixed !important;
 inset: 76px 18px 18px !important;
 z-index: 500 !important;
 overflow: auto !important;
 border: 3px solid #df151d !important;
 border-radius: 15px !important;
 background: #fff !important;
 box-shadow: 0 24px 70px rgba(0,0,0,.35) !important;
 cursor: zoom-out !important;
}.page-calendar-2026.month.is-zoomed.month-title {
 padding: 12px !important;
 font-size: 22px !important;
}.page-calendar-2026.month.is-zoomed.month-grid {
 font-size: clamp(15px, 2vw, 24px) !important;
}.page-calendar-2026.month.is-zoomed.month-grid th,.page-calendar-2026.month.is-zoomed.month-grid td {
 height: clamp(43px, 8vh, 72px) !important;
}

body.calendar-zoom-open {
 overflow: hidden !important;
}

@media (max-width: 980px) {.page-calendar-2026.months {
 grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
 }.page-calendar-2026.month:nth-child(4n) {
 border-right: 1px solid #c7d8bd !important;
 }.page-calendar-2026.month:nth-child(2n) {
 border-right: 0 !important;
 }.page-calendar-2026.title-box h1 {
 font-size: clamp(23px, 4vw, 33px) !important;
 }
}

@media (max-width: 620px) {.page-calendar-2026.screen-help {
 position: relative !important;
 }.page-calendar-2026.screen-help.hint {
 flex-basis: 100% !important;
 }.page-calendar-2026.screen-help a,.page-calendar-2026.screen-help button {
 flex: 1 1 88px !important;
 }.page-calendar-2026.title-box {
 grid-template-columns: 1fr !important;
 }.page-calendar-2026 .title-box .logo {
 display: none !important;
 }.page-calendar-2026.months {
 grid-template-columns: 1fr !important;
 }.page-calendar-2026.month,.page-calendar-2026.month:nth-child(4n),.page-calendar-2026.month:nth-child(2n) {
 border-right: 0 !important;
 }.page-calendar-2026.month-grid {
 font-size: 12px !important;
 }.page-calendar-2026.month-grid th,.page-calendar-2026.month-grid td {
 height: 27px !important;
 }.page-calendar-2026.month.is-zoomed {
 inset: 8px !important;
 }
}

@media print {.page-calendar-2026.screen-help {
 display: none !important;
 }.page-calendar-2026.lite-page-content {
 width: 100% !important;
 margin: 0 !important;
 }.page-calendar-2026.sheet {
 box-shadow: none !important;
 }.page-calendar-2026.months {
 grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
 }
}
