body { --cdp-rail-w: 0px; --tool-body-max-width: 960px; }
@media (min-width: 1200px) {
    body:has(.cdp-tool-sidebar) { --cdp-rail-w: 352px; }
}
body:has(.cdp-tool-shift--article) { --tool-body-max-width: 1000px; }
body:has(.cdp-tool-shift--qst)     { --tool-body-max-width: 1160px; }

.cdp-tool-shift {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 16px;
    max-width: calc(var(--tool-body-max-width) + var(--cdp-rail-w) + 32px) !important;
}
.cdp-tool-body {
    min-width: 0;
    max-width: var(--tool-body-max-width);
    width: 100%;
}
@media (min-width: 1200px) {
    .cdp-tool-shift {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 32px;
        align-items: flex-start;
    }
    .cdp-tool-body {
        flex: 1 1 var(--tool-body-max-width);
        min-width: min(100%, var(--tool-body-max-width));
    }
    .cdp-tool-sidebar {
        flex: 0 0 320px;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
        align-self: flex-start;
    }
    .cdp-tool-sidebar--sticky {
        position: sticky;
        top: 116px;
    }
}
@media (max-width: 1199px) {
    .cdp-tool-sidebar {
        margin: 24px auto 0;
        max-width: 320px;
    }
}
.cdp-tool-sidebar {
    overflow: visible !important;
    box-sizing: border-box;
    min-height: 280px;
}
.cdp-tool-sidebar .adsbygoogle.ad-slot--sidebar-300x250,
.cdp-tool-sidebar .ad-slot--sidebar-300x250 {
    min-height: 250px;
    min-width: 300px;
    background: #fafafa;
    display: block;
}
body.dark-mode .cdp-tool-sidebar .adsbygoogle.ad-slot--sidebar-300x250,
body.dark-mode .cdp-tool-sidebar .ad-slot--sidebar-300x250 {
    background: rgba(255,255,255,0.04);
}
.cdp-ad-wrap {
    padding: 16px 0 24px;
    margin: 20px 0;
    text-align: center;
    contain: none;
    overflow: visible;
    width: 100%;
    box-sizing: border-box;
}
.cdp-ad-wrap:first-child { margin-top: 0; }
.cdp-ad-wrap:last-child { margin-bottom: 0; }
.cdp-tool-sidebar .ad-slot--sidebar-vertical-fixed,
.cdp-tool-sidebar .ad-slot--sidebar-300x250 {
    margin: 20px auto;
    contain: none;
    overflow: visible;
}
.cdp-tool-sidebar .ad-slot--sidebar-vertical-fixed:first-child,
.cdp-tool-sidebar .ad-slot--sidebar-300x250:first-child { margin-top: 0; }
.cdp-tool-sidebar .ad-slot--sidebar-vertical-fixed:last-child,
.cdp-tool-sidebar .ad-slot--sidebar-300x250:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
    .cdp-ad-wrap { margin: 16px 0; }
    .cdp-tool-sidebar .ad-slot--sidebar-vertical-fixed,
    .cdp-tool-sidebar .ad-slot--sidebar-300x250 { margin: 16px auto; }
}
.cdp-ad-label {
    display: block;
    color: #94a3b8;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    text-align: center;
    line-height: 1;
}
body.dark-mode .cdp-ad-label {
    color: #9ca3af;
}
#lpMultiCalendar .rmc-cal-day.holiday,
#lpMultiCalendar .rmc-cal-day.holiday.skipped,
.lp-multi-calendar .holiday,
.lp-multi-calendar .holiday.skipped {
    background: #ffe0e0 !important;
    color: #c00 !important;
    font-weight: 700;
}
body.dark-mode #lpMultiCalendar .rmc-cal-day.holiday,
body.dark-mode #lpMultiCalendar .rmc-cal-day.holiday.skipped,
body.dark-mode .lp-multi-calendar .holiday,
body.dark-mode .lp-multi-calendar .holiday.skipped {
    background: rgba(255, 69, 58, 0.18) !important;
    color: #ff9a94 !important;
}
@media print {
    .cdp-tool-shift {
        display: block !important;
    }
    .cdp-tool-sidebar,
    .cdp-ad-label {
        display: none !important;
    }
}

@media screen and (min-width: 664px) {
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)),
    body:has(.qdu-year-calendar-grid) {
        --cdp-rail-w: 352px;
    }
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)) .cdp-tool-shift,
    body:has(.qdu-year-calendar-grid) .cdp-tool-shift {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 32px;
        align-items: flex-start;
        max-width: min(calc(var(--tool-body-max-width) + var(--cdp-rail-w, 0px) + 32px), 1600px);
    }
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)) .cdp-tool-body,
    body:has(.qdu-year-calendar-grid) .cdp-tool-body {
        flex: 1 1 auto;
        min-width: 0;
        max-width: var(--tool-body-max-width);
    }
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)) .cdp-tool-sidebar,
    body:has(.qdu-year-calendar-grid) .cdp-tool-sidebar {
        flex: 0 0 320px;
        max-width: 320px;
        margin: 0 auto;
        align-self: flex-start;
    }
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)) .cdp-tool-sidebar--sticky,
    body:has(.qdu-year-calendar-grid) .cdp-tool-sidebar--sticky {
        position: sticky;
        top: 116px;
    }
}
@media screen and (max-width: 663px) {
    body:has(#annual-calendar-container:not([data-mode="imprimir"]):not([data-mode="pdf"]):not(.intent-static-mode)) .cdp-tool-sidebar,
    body:has(.qdu-year-calendar-grid) .cdp-tool-sidebar {
        margin: 24px auto 0;
        max-width: 320px;
    }
}
