/* Shared BIG calendar styles — loaded with exactly one selected theme.
   Do not add theme-specific selectors to this base.
   Big Classic has no new overrides; legacy big_1_*.css still applies. */

#miraBigCal:not(.bigCal-theme-1) {
    --big-header: #ffffff; --big-header-text:#263241;
    --big-surface:#ffffff; --big-text:#293642; --big-muted:#53606d;
    --big-border:#d6dbe0; --big-weekhead:#f2f5f7;
    --big-event-bg:#e6f1fb; --big-event-edge:#28658c;
    --big-holiday-bg:#f1e8f5; --big-holiday-edge:#805c99;
    --big-today-bg:#ba421d; --big-today-text:#fff;
    --big-radius:.65rem; --big-shadow:none;
    color:var(--big-text); background:var(--big-surface);
    border:0; border-radius:0;
    box-shadow:none; padding:0; width:100%; min-width:0;
    box-sizing:border-box;
}

#miraBigCal:not(.bigCal-theme-1) *,
#miraBigCal:not(.bigCal-theme-1) *::before,
#miraBigCal:not(.bigCal-theme-1) *::after {box-sizing:border-box;}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar {
    width:100%; background:var(--big-header); border-collapse:collapse;
    margin:.2rem 0 .65rem!important; border-radius:var(--big-radius);
}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigationArrows {height:3rem; width:24%; padding:.25rem .65rem;}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigationArrows:first-child {text-align:left;}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigationArrows:last-child {text-align:right;}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigationArrows a {
    color:var(--big-header-text); background:transparent; font-size:1rem;
    font-weight:600; text-decoration:none; display:inline-block; padding:.35rem;
}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigationArrows a:hover {text-decoration:underline;}

#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar .calNavigation .calendarevent {
    background:var(--big-header)!important; color:var(--big-header-text)!important;
    font-size:1.4rem!important; font-style:normal; line-height:1.4;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells {
    width:100%; background:var(--big-surface); table-layout:fixed;
    border-collapse:collapse; box-shadow:none;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calWeekdayHeaders {
    background:var(--big-weekhead)!important; color:var(--big-weekday-text, var(--big-header-text))!important;
    font-weight:700; font-size:clamp(.73rem, 1.05vw, .96rem);
    padding:.55rem .15rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td {
    background:var(--big-surface)!important; color:var(--big-text);
    height:6.5rem; padding:.25rem; vertical-align:top;
    border:1px solid var(--big-border); overflow-wrap:anywhere;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td.calDayCell.calDaySpecialEvent {
    background:var(--big-event-bg)!important;
    box-shadow:inset 0 0 0 2px var(--big-event-edge);
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td.calDayCell.calDayHoliday {
    background:var(--big-holiday-bg)!important;
    box-shadow:inset 0 0 0 2px var(--big-holiday-edge);
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td.calDayCell.calDayToday {
    background:var(--big-today-bg)!important; color:var(--big-today-text);
    box-shadow:inset 0 0 0 2px var(--big-border);
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td.calDaySpecialEvent.calDayHoliday:not(.calDayToday) {
    box-shadow:inset 0 0 0 2px var(--big-holiday-edge), inset 0 0 0 4px var(--big-event-edge);
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows td.calDayToday.calDayHoliday {
    box-shadow:inset 0 0 0 2px var(--big-holiday-edge), inset 0 0 0 4px var(--big-border);
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calDayCell.calDayToday > div:first-child a,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calDayCell.calDayToday > div:first-child span {color:var(--big-today-text);}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows .calDayCell > div:first-child a,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calBodyRows .calDayCell > div:first-child span {
    font-style:normal!important; font-weight:600; background:transparent;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calItemBaseContainer {max-width:100%; text-decoration:none; overflow-wrap:anywhere;}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells img {max-width:100%; height:auto;}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .tooltip {max-width:100%;}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .popToolTip {font-style:normal;}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegend {
    display:flex; flex-wrap:nowrap; gap:1.1rem; align-items:center;
    white-space:nowrap; overflow-x:auto; overflow-y:hidden;
    border-top:1px solid var(--big-border); margin:.75rem 0 0;
    padding:.6rem .2rem .1rem; scrollbar-width:thin;
    color:var(--big-muted); font-size:.85rem;
}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegend > span {display:inline-flex; gap:.35rem; align-items:center; flex:0 0 auto;}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegend i {display:inline-block; flex:0 0 .75rem; width:.75rem; height:.75rem; border-radius:.2rem;}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegendEvent {background:var(--big-event-edge);}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegendHoliday {background:var(--big-holiday-edge); border-radius:50%;}

#miraBigCal:not(.bigCal-theme-1) .bigCalLegendToday {background:var(--big-today-bg); box-shadow:inset 0 0 0 1px var(--big-header-text);}

#miraBigCal:not(.bigCal-theme-1) a:focus-visible {outline:3px solid #005fcc; outline-offset:2px;}

@media  (max-width:770px) {
#miraBigCal:not(.bigCal-theme-1) {overflow-x:auto; padding:.4rem;}
#miraBigCal:not(.bigCal-theme-1) #full-miraCalendar,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells {min-width:680px;}
}

@media  (forced-colors:active)  {
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calDayCell.calDayToday,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calDayCell.calDayHoliday,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells .calDayCell.calDaySpecialEvent {
        forced-color-adjust:auto; border:2px solid CanvasText;
    }
}

#miraBigCal:not(.bigCal-theme-1) .bigCalViewSwitch {
    display:flex; justify-content:flex-end; align-items:center;
    margin:0 0 .3rem; font-size:1rem!important; line-height:1.25;
}

#miraBigCal:not(.bigCal-theme-1) .bigCalViewLink {
    display:inline-flex; align-items:center; gap:.3rem;
    padding:.38rem .55rem; border-radius:.35rem;
    background:transparent!important; color:var(--big-header-text)!important;
    border:1px solid transparent; font-size:1rem; font-weight:650;
    text-decoration:none;
}

#miraBigCal:not(.bigCal-theme-1) .bigCalViewLink .bigCalViewLabel {
    background:transparent!important; color:inherit!important;
}

#miraBigCal:not(.bigCal-theme-1) .bigCalViewLink:hover,
#miraBigCal:not(.bigCal-theme-1) .bigCalViewLink:focus-visible {
    text-decoration:underline; text-underline-offset:3px;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child {
    display:block!important; width:100%!important; min-width:0;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child {
    display:flex!important; flex-direction:row!important;
    justify-content:space-between; align-items:flex-start; gap:.2rem;
    min-width:0; width:100%;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:first-child {
    display:block!important; flex:0 0 auto!important;
    width:auto!important; min-width:2ch!important; max-width:none!important;
    padding:0!important; white-space:nowrap!important;
    overflow-wrap:normal!important; word-break:normal!important;
    line-height:1.25;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:first-child > a,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:first-child > span {
    display:inline-block!important; padding:0!important; margin:0!important;
    white-space:nowrap!important; word-break:keep-all!important;
    overflow-wrap:normal!important; font-size:1.1rem!important;
    line-height:1.25!important; font-style:normal!important;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:nth-child(2) {
    display:flex!important; flex:1 1 auto!important; min-width:0!important;
    width:auto!important; justify-content:flex-end; align-items:flex-start;
    gap:3px; flex-wrap:wrap; padding:0!important;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:nth-child(2) .tooltip {
    flex:0 1 auto; min-width:0; max-width:100%;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell > div:first-child > div:first-child > div:nth-child(2) img {
    display:block; max-width:min(100%, 3.15rem); max-height:3.15rem;
    width:auto; height:auto; object-fit:contain; margin:0 0 0 auto;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell.calDayToday > div:first-child > div:first-child > div:first-child > a,
#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell.calDayToday > div:first-child > div:first-child > div:first-child > span {
    color:var(--big-today-text)!important;
}

#miraBigCal:not(.bigCal-theme-1) #calCalendarCells td.calDayCell:is(.calDaySpecialEvent, .calDayHoliday, .calDayToday)
> div:first-child > div:first-child > div:first-child {
    padding:3px 0 0 5px!important;
}

#miraBigCal #calCalendarCells .bigCalEvent,
#miraBigCal #calCalendarCells .bigCalHoliday {
    position: relative;
}

#miraBigCal #calCalendarCells .bigCalEventLink {
    position: relative;
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

#miraBigCal #calCalendarCells .bigCalHoliday {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
    cursor: help;
}

#miraBigCal #calCalendarCells .bigCalTooltip {
    position: absolute;
    z-index: 1000;
    left: 50%;
    bottom: calc(100% + .35rem);
    top: auto;
    transform: translateX(-50%);
    display: block;
    box-sizing: border-box;
    width: max-content;
    min-width: min(9rem, calc(100vw - 1.5rem));
    max-width: min(17rem, calc(100vw - 1.5rem));
    padding: .6rem .75rem;
    background: #fff !important;
    color: #1c2834 !important;
    border: 1px solid #8c96a3;
    border-radius: .4rem;
    box-shadow: 0 .25rem 1rem rgba(0,0,0,.18);
    font-family: inherit;
    font-size: .875rem;
    font-weight: 400;
    font-style: normal !important;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

#miraBigCal #calCalendarCells .bigCalTooltip strong {
    color: #142536;
    display: block;
    font-weight: 700;
    margin-bottom: .15rem;
}

#miraBigCal #calCalendarCells .bigCalTooltipText {display: block; font-weight: 400;}

#miraBigCal #calCalendarCells .bigCalEventLink:not([data-bigcal-dismissed]):is(:hover, :focus, :focus-visible) > .bigCalTooltip,
#miraBigCal #calCalendarCells .bigCalHoliday:not([data-bigcal-dismissed]):is(:hover, :focus, :focus-visible) > .bigCalTooltip {
    visibility: visible;
    opacity: 1;
    pointer-events: none;
}

#miraBigCal #calCalendarCells .bigCalEventLink.bigCalTooltipKeepOpen:not([data-bigcal-dismissed]) > .bigCalTooltip,
#miraBigCal #calCalendarCells .bigCalHoliday.bigCalTooltipKeepOpen:not([data-bigcal-dismissed]) > .bigCalTooltip {
    visibility: visible;
    opacity: 1;
    pointer-events: none;
}

#miraBigCal #calCalendarCells .bigCalEventLink::before,
#miraBigCal #calCalendarCells .bigCalHoliday::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -.4rem;
    height: .4rem;
    pointer-events: none;
}

#miraBigCal #calCalendarCells .bigCalEventLink.bigCalTooltipBelow::before,
#miraBigCal #calCalendarCells .bigCalHoliday.bigCalTooltipBelow::before {
    top: 100%;
}

#miraBigCal #calCalendarCells .bigCalTooltipBelow > .bigCalTooltip {
    top: calc(100% + .35rem);
    bottom: auto;
}

#miraBigCal #calCalendarCells td.bigCalTooltipCellActive {
    position: relative;
    z-index: 30;
}

@media  (hover: none) and (pointer: coarse)  {
#miraBigCal #calCalendarCells .bigCalEventLink:not(:focus) > .bigCalTooltip,
#miraBigCal #calCalendarCells .bigCalHoliday:not(:focus) > .bigCalTooltip {
        visibility: hidden;
        pointer-events: none;
    }
}

#miraBigCal.bigCalTooltipPortalReady #calCalendarCells .bigCalEventLink > .bigCalTooltip,
#miraBigCal.bigCalTooltipPortalReady #calCalendarCells .bigCalHoliday > .bigCalTooltip {
    display: none !important;
}

body > .miraBigCalFloatingTooltip {
    pointer-events: none !important;
    text-decoration: none !important;
    font-family: inherit;
}

body > .miraBigCalFloatingTooltip > strong {
    display: block;
    margin-bottom: 2px;
    color: #142536;
    font-weight: 700;
}

body > .miraBigCalFloatingTooltip .bigCalTooltipText {display:block;}

#miraBigCal #calCalendarCells .bigCalTooltip,
body > .miraBigCalFloatingTooltip {
    box-sizing:border-box;
    width:20rem;
    max-width:min(20rem,calc(100vw - 1.5rem));
    min-width:0;
    padding:0;
    border:1px solid rgb(168 178 190);
    border-radius:.65rem;
    background:rgb(255 255 255);
    color:rgb(28 40 52);
    box-shadow:0 10px 30px rgb(0 0 0 / .18),0 2px 7px rgb(0 0 0 / .08);
    overflow-y:auto;
    max-height:min(22rem,calc(100dvh - 1.5rem));
    line-height:1.45;
    font-size:.875rem;
    text-align:left;
    text-decoration:none;
    font-style:normal;
}

#miraBigCal .bigCalTooltip :is(.bigCalTipHeader,.bigCalTipItems,.bigCalTipItem,.bigCalTipHeading,.bigCalTipSub,.bigCalTipTitle,.bigCalTipTeaser,.bigCalTipStart,.bigCalTipType,.bigCalTipFooter),
body > .miraBigCalFloatingTooltip :is(.bigCalTipHeader,.bigCalTipItems,.bigCalTipItem,.bigCalTipHeading,.bigCalTipSub,.bigCalTipTitle,.bigCalTipTeaser,.bigCalTipStart,.bigCalTipType,.bigCalTipFooter) {display:block;}

#miraBigCal .bigCalTooltip .bigCalTipHeader,
body > .miraBigCalFloatingTooltip .bigCalTipHeader {
    background:rgb(244 247 250);padding:.7rem .85rem .6rem;
    border-bottom:1px solid rgb(218 225 233);border-radius:.65rem .65rem 0 0;
}

#miraBigCal .bigCalTooltip .bigCalTipHeading,
body > .miraBigCalFloatingTooltip .bigCalTipHeading {color:rgb(28 42 60);font-weight:750;font-size:.92rem;line-height:1.35;}

#miraBigCal .bigCalTooltip .bigCalTipSub,
body > .miraBigCalFloatingTooltip .bigCalTipSub {color:rgb(72 86 102);font-size:.75rem;margin-top:.12rem;}

#miraBigCal .bigCalTooltip .bigCalTipItems,
body > .miraBigCalFloatingTooltip .bigCalTipItems {padding:.1rem .85rem;}

#miraBigCal .bigCalTooltip .bigCalTipItem,
body > .miraBigCalFloatingTooltip .bigCalTipItem {padding:.7rem 0;}

#miraBigCal .bigCalTooltip .bigCalTipItem + .bigCalTipItem,
body > .miraBigCalFloatingTooltip .bigCalTipItem + .bigCalTipItem {border-top:1px solid rgb(227 231 236);}

#miraBigCal .bigCalTooltip .bigCalTipTitle,
body > .miraBigCalFloatingTooltip .bigCalTipTitle {color:rgb(25 43 65);font-weight:700;font-size:.88rem;line-height:1.42;}

#miraBigCal .bigCalTooltip .bigCalTipTeaser,
body > .miraBigCalFloatingTooltip .bigCalTipTeaser {margin-top:.22rem;color:rgb(67 79 94);font-size:.82rem;line-height:1.47;}

#miraBigCal .bigCalTooltip .bigCalTipStart,
body > .miraBigCalFloatingTooltip .bigCalTipStart {margin-top:.2rem;font-size:.75rem;color:rgb(78 89 101);}

#miraBigCal .bigCalTooltip .bigCalTipType,
body > .miraBigCalFloatingTooltip .bigCalTipType {font-size:.72rem;color:rgb(104 61 128);font-weight:700;margin-bottom:.12rem;}

#miraBigCal .bigCalTooltip .bigCalTipItemHoliday,
body > .miraBigCalFloatingTooltip .bigCalTipItemHoliday {border-left:3px solid rgb(139 82 160);padding-left:.5rem;}

#miraBigCal .bigCalTooltip .bigCalTipFooter,
body > .miraBigCalFloatingTooltip .bigCalTipFooter {
    padding:.52rem .85rem .6rem;border-top:1px solid rgb(218 225 233);
    color:rgb(37 79 116);font-weight:650;font-size:.75rem;
    background:rgb(248 250 252);border-radius:0 0 .65rem .65rem;
}
