        :root {
            --bg-color: #f4f7f6;
            --border-color: #000000;
            --primary-accent: #3498db;
            --text-main: #333;
        }

        body {
            font-family: Arial, Helvetica, sans-serif;
            background-color: var(--bg-color);
            margin: 20px;
            color: var(--text-main);
        }

        .calendar-container {
            margin: 0 auto;
            border:1px solid #ffffff;
            background: white;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .calendar-header {
            padding: 30px;
            text-align: center;
            background: var(--primary-accent);
            color: white;
            font-size: 1.5rem;
            font-weight: bold;
        }

        div.calprev, div.calnext {
           vertical-align: middle;
           text-align:center;
           background-color: black;
       }


        /* --- Desktop View (Grid) --- */
        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0,1fr));
        }


        div.calprev {
            border-right: 1px solid white;
            padding: 1rem;
        }

        div.calnext {
            border-left: 1px solid white;
            padding: 1rem;
        }

        .day-label {
            background: #87cefa;
            padding: 4px;
            text-align: center;
            font-weight: bold;
            color: black;
            font-size:14pt;
            font-family: Arial, Helvetica;
            border-right: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color);
        }
        .day-label:nth-child(7n) { border-right: none; }


        .day {
            min-height: 100px;
            padding: 10px;
            border-right: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color);
            transition: background 0.2s;
        }

        .day:nth-child(7n) { border-right: none; }

        .date-number {
            font-size: 16px;
            font-weight: 700;
            margin-bottom: 5px;
            color: black;
        }
        .daynumber{
           color: black;
           font-size: 16px;
           font-family: Arial, Helvetica;
           font-weight: 700;
         }

        .daynumber_today{
           color: red;
           font-size: 16px;
           font-family: Arial, Helvetica;
           font-weight: 800;
        }
        .event {
            color: black;
            padding: 0px 0px;
            font-size: 10pt;
            margin-bottom: 4px;
        }

        /* --- Mobile View (Stacked Rows) --- */
        @media (max-width: 768px) {


        .calendar-container {
            margin: 0 auto;
            border: none;
            background: black;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            overflow: hidden;
        }

            .calendar-grid {
                display: block; /* Remove grid */
                background-color:black ;
            }

            .day-label {
                display: none; /* Hide Sun/Mon/Tue labels */
            }


            .cublogo {
                padding-right:3rem !important;
            }
            .day {
                background-color: white;
                display: flex;
                flex-direction: row;
                align-items: center;
                min-height: auto;
                padding: 15px;
                border-width: 1px;
                border-radius: 15px;
                margin-bottom: 0.7rem;
            }

            /* Hide empty days on mobile to focus on events */
            .day:not(:has(.event)) {
                display: none;
            }

           div.calprev { 
               padding:1rem;
               border: 2px solid white;
               margin-bottom: 1rem;
            } 
           div.calnext {
               border: 2px solid white;
               padding:1rem;
            }


            div.dtop, div.fb_iframe_widget, div.fb-like, div.canceled, .navMenu{
               display: none;
            }

            .date-number {
                min-width: 10px;
                font-weight: bold;
                font-size: 4rem;
                color: var(--primary-accent);
                margin-bottom: 0;
                margin-right: 9px;
            }
            .daynumber {
                font-size: 32px;;
                padding: 10px;
            }

            .event-list {
                flex-grow: 1;
                border-left: 1px solid blue;
            }

            .event {
                font-size: 1rem;
                padding: 10px;
            }
            .title-div, .page-title {
                margin-top: 0.5rem;
                font-size: 1.3rem;
                text-align: center;
            }
            h1.title {
                font-size: 1.2rem !important;
            }
   
        }
