/* css */
:root {
    --bs-primary-bg-subtle: rgba(207, 226, 255, 0.62);
    --bs-secondary-color: #6c757d;
    --bs-tertiary-bg: #f8f9fa;
    --color-primary: #539f67;
}

#main-calendar{
    margin:10px 0;
    position: relative;
}

/* Typography */
.font-chalk {
    font-family: "Love Ya Like A Sister", cursive;
    font-weight: 400;
    font-style: normal;
}
.font-chalk.color-secondary-2{
    color: #b78540!important;
}
.display-month {
    color: var(--color-primary);
    font-size:4em;
    line-height: 1em;
    margin-top:10px;
}


.calendar-tr{
    font-size:1.4em;
}
#lower-block a, #calendar-footer a{
    text-decoration: underline;
}

/* Calendar cells */
.day-cell {
    min-height: 7rem;
    vertical-align: top;
    width: 14.28%;
    padding: 10px 20px;
    color: var(--color-primary);
}

.ac-calendar .day-number {
    font-weight: 600;
    margin-bottom: .25rem;
    text-align: right;
}

.ac-calendar .today {
    background: var(--bs-primary-bg-subtle);
}

.ac-calendar .extra-start,
.ac-calendar .extra-end {
    background: var(--bs-tertiary-bg);
    color: #666f76;
    font-size: .8em;
    line-height: 1.3em;
}

.ac-calendar .event-title {
    font-size: .925rem;
    line-height: 1.25;
    text-align: center;
}

.ac-calendar .event-title a {
    font-weight: bold;
    display: block;
}

.ac-calendar .event-title a:hover {
    text-decoration: underline;
    animation: jello 2s;
}

.ac-calendar .event-sub {
    font-size: .8rem;
    color: var(--bs-secondary-color);
}

/* Sticker */
.sticker {
    position: absolute;
    bottom: -35px;
    right: -35px;
    z-index: 10;
}

.sticker img {
    width: 75px;
}

.sticker:hover {
    animation: swing 2s;
}

/*!* Print button *!*/
/*#btn-print {*/
/*    width: 175px;*/
/*    height: 45px;*/
/*    background: url(/theme/assets/img/calendar/brush-button-background.png);*/
/*    font-weight: bold;*/
/*    border: none;*/
/*}*/

#btn-print span {
    display: inline-block;
    width: 20px;
}

/* Card / quote */
.card {
    border: 2px solid var(--color-primary);
    box-shadow: 3px 3px 10px rgba(0,0,0,.1);
}

.card h2 {
    color: #CE2127;
    text-align: center;
    font-size: 2em;
}

.quote {
    text-align: center;
    font-size: 2em;
    line-height: 1.2em;
    font-style: italic;
    color: var(--color-primary);
}

.attribution {
    text-align: center;
    font-size: .8em;
    text-transform: uppercase;
    font-weight: bold;
    color: #7c7c7c;
    padding-top: 20px;
}

#quote-blk {
    padding: 50px 100px;
}

/* Print-specific rules */
@media print {
    body { font-size: 10px !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    header, footer { display: none !important; }

    @page {
        size: landscape;
        margin: 0.5in;
    }

    .table-responsive { overflow: visible !important; }
    thead { display: table-header-group !important; }
    tfoot { display: table-footer-group !important; }

    table, thead, tbody, tfoot, tr, th, td {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .table td, .table th { padding: .35rem !important; }
    .ac-calendar { page-break-inside: avoid !important; break-inside: avoid-page !important; }
    .table thead.sticky-top, .sticky-top { position: static !important; }
}

#iframe-calendar .gtranslate_wrapper{
    position:absolute;
    top: 10px;
    right:280px;
}
@media (max-width: 768px) {
    .gtranslate_wrapper {
        right: 10px;
    }


}

.gt_selector {
    border:1px solid var(--color-primary);
    height:38px;
    color:var(--color-primary);
    border-radius:4px;
}
/* print/pdf mode shared rules */
.pdf-mode .row > [class*="col"],
.print-mode .row > [class*="col"] {
    display: inline-block !important;
    vertical-align: top;
    width: 48% !important;
}
.pdf-mode .row,
.print-mode .row { text-align: justify; }

.pdf-mode .modal,
.print-mode .modal { display: none; }

.pdf-mode .hidePdf,
.print-mode .hidePdf {
    display: none;
}

.pdf-mode ul,
.print-mode ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pdf-mode li,
.print-mode li { padding: 0; margin: 0; }

.pdf-mode .day-cell,
.print-mode .day-cell {
    font-size: 12px;
    border: 1px solid #ccc;
    margin: 0;
    padding: 2px !important;
    position: relative;
}

.pdf-mode .ac-calendar .event-title,
.print-mode .ac-calendar .event-title {
    font-size: 12px;
    line-height: 12px !important;
    text-align: center;
    color: #000;
}

.print-mode .ac-calendar .event-title {
    font-size: 10px;
    line-height: 10px !important;
}



/* fixed selector: added missing dot before ac-calendar and added print-mode equivalents */
.pdf-mode .ac-calendar .event-title a,
.print-mode .ac-calendar .event-title a,
.pdf-mode .a,
.print-mode .a {
    color: inherit !important;
    font-weight: normal;
}

.pdf-mode a,
.print-mode a { text-decoration: none; }

.pdf-mode #top-left-image,
.print-mode #top-left-image {
    /* position: absolute; */
    /* top: 0px; */
    /* left: 0; */
}

.pdf-mode #month-headline,
.print-mode #month-headline {
    position: absolute;
    top: 19px;
    left: 133px;
    display: block;
    font-size: 55px;
}

.pdf-mode #calendar-title,
.print-mode #calendar-title {
    position: absolute;
    top: 77px;
    left: 100px;
    display: block;
}

.pdf-mode #top-right-logos,
.print-mode #top-right-logos {
    position: absolute;
    top: 0;
    right: 10px;
}
.pdf-mode #top-right-logos img,
.print-mode #top-right-logos img {
    max-width: 75px;
}

.pdf-mode .ac-calendar .extra-start,
.print-mode .ac-calendar .extra-start,
.pdf-mode .ac-calendar .extra-end,
.print-mode .ac-calendar .extra-end {
    font-size: 12px;
    line-height: 12px;
}

.pdf-mode .ac-calendar,
.print-mode .ac-calendar {margin-top: 47px;}

.pdf-mode td.day-cell,
.print-mode td.day-cell,
.pdf-mode .extra-start,
.print-mode .extra-start,
.pdf-mode .extra-end,
.print-mode .extra-end,
.pdf-mode .calendar-tr,
.print-mode .calendar-tr {
    border: 1px solid #a5a5a5 !important;
}

.pdf-mode,
.pdf-mode body,
.print-mode,
.print-mode body {
    margin: 0 !important;
    padding: 0 !important;
}

.pdf-mode .calendar-section,
.print-mode .calendar-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Kid‑friendly quote styling */
#quote-blk.quote-card,
#lower-column-card-left,
#lower-column-card-right
{
    --bg: #fff7d6;
    --ink: #222;
    position: relative;
    max-width: 900px;
    margin: auto;
    padding: 1.25rem 1.5rem 1.5rem 3.25rem;
    color: var(--ink);
    background: radial-gradient(120% 120% at 10% 0%, #fffdf2 0%, var(--bg) 60%);
    border: 4px dashed var(--color-primary);
    border-radius: 18px;
    box-shadow: 0 8px 0 rgba(0,0,0,.08), 0 2px 12px rgba(0,0,0,.08);
}

.print-mode #lower-column-card-left,
.print-mode #lower-column-card-right,
.pdf-mode #lower-column-card-left,
.pdf-mode #lower-column-card-right,
.print-mode .kid-card,
.pdf-mode .kid-card
{
    font-size:10px;
    line-height:1.2;
}

.print-mode .calendar-title,
.pdf-mode .calendar-title {
    width: 484px;
    line-height: 1em;
    position: absolute;
    top: 83px;
    left: 137px;
    text-align: left;
}

.print-mode .calendar-title p,
.pdf-mode .calendar-title p{
    font-size:12px;
}

#quote-blk.quote-card{
    rotate:1deg;
}
#lower-column-card-left{
    rotate:-.5deg;
}
#lower-column-card-right{
    rotate:1.2deg;
}

#quote-blk.quote-card{
    margin-top:20px;
}

#quote-blk.quote-card::before,
#quote-blk.quote-card::after,
#lower-column-card-left::before,
#lower-column-card-left::after,
#lower-column-card-right::before,
#lower-column-card-right::after{
    content: "";
    position: absolute;
    width: 70px; height: 16px;
    background: #ffe5a3;
    opacity: .85;
    top: -10px;
    transform: rotate(-6deg);
    border-radius: 3px;
    box-shadow: 0 2px 0 rgba(0,0,0,.05);
}

#quote-blk.quote-card::before{ left: 24px; }

#quote-blk.quote-card::after,
#lower-column-card-left::after,
#lower-column-card-right::after
{ right: 24px; transform: rotate(8deg); }
#quote-blk .quote-text{
    font-size: clamp(1.15rem, 1.1vw + 1rem, 1.7rem);
    line-height: 1.35;
    letter-spacing: .2px;
    text-align: center;
}
#quote-blk .quote-attrib{
    margin-top: .75rem;
    font-weight: 700;
    color: color-mix(in oklab, var(--accent) 70%, black);
    letter-spacing: .3px;
    text-align: center;
}

@media(max-width:1640px)
{
    #iframe-calendar .gtranslate_wrapper {
        top: 25px;
    }
}


/*!* Print/PDF safety: remove purely decorative bits *!*/
/*@media print{*/
/*    .kid-card--tape::before,*/
/*    .kid-card--tape::after,*/
/*    .kid-card--scallop::after,*/
/*    .kid-card--notebook::before,*/
/*    .kid-card--ribbon::before,*/
/*    .kid-card--ribbon::after,*/
/*    .quote-card--bubble::after,*/
/*    .hr-wavy{ display:none !important; }*/
/*}*/
/*.pdf-mode .kid-card--tape::before,*/
/*.pdf-mode .kid-card--tape::after,*/
/*.pdf-mode .kid-card--scallop::after,*/
/*.pdf-mode .kid-card--notebook::before,*/
/*.pdf-mode .kid-card--ribbon::before,*/
/*.pdf-mode .kid-card--ribbon::after,*/
/*.pdf-mode .quote-card--bubble::after,*/
/*.pdf-mode .hr-wavy{ display:none !important; }*/