/* ===========================
   COLOR OVERRIDES
   =========================== */
.notification.is-warning {
    background-color: #ffe7b0;
}

.notification.is-warning.is-light {
    background-color: #fffbf5;
}

/* ===========================
   GLOBAL STYLES
   =========================== */
header              { margin-bottom: 3.25rem;}
/* footer              { position: fixed; bottom:0; width: 100%;} */
.errorlist > li     { color: red; }
.notification-container       { position: fixed; z-index: 31; width: 400px; right: 20px; top: 80px; }

/* Navbar dropdown z-index */
.navbar-dropdown {
    z-index: 40 !important;
}

.htmx-indicator {
    position: fixed; 
    background-color: rgba(0, 0, 0, .7);
    width: 0%; 
    height: 0%; 
    z-index: 100; 
    top:0; bottom:0; 
    overflow: hidden; 
    text-align: center;
    transition: 500ms;
}

.htmx-indicator > figure { position: absolute; top: 48%; left:48%;}

.htmx-request .htmx-indicator{display: inline;width: 100%; height: 100%;  }
.htmx-request.htmx-indicator{display: inline;width: 100%; height: 100%;  }
.iti { display: block;}

/* ===========================
   TYPOGRAPHY
   =========================== */
.t-gurmukhi { 
    font-family: 'Noto Serif Gurmukhi', serif; 
}

/* ===========================
   LAYOUT SWITCHES
   =========================== */
.layout-switch + label::before { 
    background: #b5b5b5 !important;
}

#line-by-line, #side-by-side {
    -webkit-transition: all 1s linear;
    -moz-transition: all 1s linear;
    -o-transition: all 1s linear;
    transition: all 1s linear;
}

/* ===========================
   HOME PAGE - HERO
   =========================== */
.hero-home { 
    background: url("../img/gwara-prop.7bbdfb785752.jpg"), 
        linear-gradient(180deg, rgba(174,212,232,1) 0%, rgba(193,224,234,1) 15%, rgba(232,236,220,1) 55%, rgba(220,201,177,1) 67%, rgba(134,142,132,1) 80%, rgba(134,142,132,1) 83%, rgba(102,126,50,1) 86%, rgba(53,84,15,1) 100%);
    background-size: contain; 
    background-repeat: no-repeat; 
    background-position: center; 
}

/* ===========================
   HOME PAGE - EVENTS SECTION
   =========================== */
.events-section {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    padding: 2rem 0;
}

/* Masonry layout for event cards */
.events-grid {
    column-count: 3;
    column-gap: 1rem;
}

@media screen and (max-width: 1023px) {
    .events-grid {
        column-count: 2;
    }
}

@media screen and (max-width: 768px) {
    .events-grid {
        column-count: 1;
    }
}

.event-card-wrapper {
    break-inside: avoid;
    margin-bottom: 1rem;
    display: inline-block;
    width: 100%;
}

.event-item {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(5px);
    border-radius: 8px;
    padding: 1rem;
    transition: all 0.3s ease;
    display: flex;
    gap: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.event-item:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.date-box {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.3);
    position: relative;
}

.date-box-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.date-box .month {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.95;
    color: white;
}

.date-box .day {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    margin: 2px 0;
    color: white;
}

.date-box .weekday {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.9;
    letter-spacing: 0.5px;
    color: white;
}

.date-box .year {
    position: absolute;
    right: -1px;
    top: 50%;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    opacity: 0.85;
    color: white;
}

.event-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.35rem;
    min-width: 0;
}

.event-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: white;
}

.event-details {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.3rem;
}

.event-details > div {
    display: flex;
    align-items: center;
    line-height: 1;
}

.event-details .icon {
    font-size: 0.75rem;
    margin-right: 0.35rem;
    line-height: 1;
    height: 1rem;
    width: 1rem;
}

.multi-day-badge {
    background: rgba(255, 255, 255, 0.25);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    display: inline-block;
    margin-top: 0.25rem;
    width: fit-content;
}

.event-past {
    opacity: 0.5;
}

/* ===========================
   BULLETIN DETAIL PAGE
   =========================== */
.has-bg-image { 
    background: url("../img/sss-receipt.4b869aa42b55.svg"), 
        radial-gradient(circle, rgba(160,139,110,1) 0%, rgba(120,119,114,1) 37%, rgba(160,139,110,1) 100%); 
    background-size: contain; 
    background-repeat: no-repeat; 
    background-position: center; 
}

/* ===========================
   HUKAM SIGNAGE PAGE
   =========================== */
.hukam-signage-page { 
    margin: 0; 
    padding: 0; 
    overflow: hidden;
}

.hukam-signage-page { 
    height: 1080px; 
    background: url("../img/hukam-bg.e091ab40c099.png") #000; 
    color: #e7e7e7;
}

.hukam-signage-page .hukam-container { 
    width: 1800px; 
    margin: 0 auto; 
    height: 1055px;
}

.hukam-signage-page .t-gurmukhi { 
    font-family: 'Noto Serif Gurmukhi', serif; 
    line-height: 1.7em;
}

.hukam-signage-page .main-title { 
    font-size: 60px; 
    color: rgb(22, 22, 22); 
    position: relative; 
    top: -2px;
}

.hukam-signage-page .verses { 
    overflow: hidden;
}

.hukam-signage-page #progress-bar { 
    background: rgb(244, 154, 0); 
    height: 3px; 
    position: absolute; 
    bottom: 0px;
    -webkit-transition: 1000ms linear;
    -moz-transition: 1000ms linear;
    -o-transition: 1000ms linear;
    -ms-transition: 1000ms linear;
    transition: 1000ms linear;
}

.hukam-signage-page .error { 
    position: relative; 
    top: 100px; 
    color: maroon;
}

.hukam-signage-page table {
    margin: 0; 
    padding: 0; 
    border: 0; 
    width: 100%;
}

.hukam-signage-page tr { 
    margin: 0; 
    padding: 0; 
    border: 0; 
}

.hukam-signage-page td { 
    padding: 0px; 
    border: 0; 
    vertical-align: top; 
    margin: 0px; 
    width: 33%;
}

.hukam-signage-page .site-url {
    position: absolute;
    top: 78px;
    left: 140px;
    font-size: 19px;
}

.hukam-signage-page .page {
    position: absolute;
    top: 75px;
    left: 1577px;
    min-width: 185px;
}

.hukam-signage-page .translation {
    padding: 10px;
    border-top: 1px solid #e7e7e7;
}

.hukam-signage-page .punjabi {
    border-right: 1px solid #e7e7e7;
}

/* ===========================
   DAILY SCHEDULE PAGE
   =========================== */
#calendar {
    font-family: inherit;
}

.fc-event-location {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===========================
   FULLCALENDAR CUSTOMIZATIONS
   =========================== */
.fc .fc-button-primary {
    background-color: #3e8ed0;
    border-color: #3e8ed0;
}

.fc .fc-button-primary:hover {
    background-color: #296fa8;
    border-color: #296fa8;
}

.fc .fc-button-primary:disabled {
    background-color: #3e8ed0;
    border-color: #3e8ed0;
    opacity: 0.5;
}

.fc-event {
    cursor: pointer;
}

.fc-event-title {
    font-weight: 500;
}

/* For day/week view - ensure location is visible */
.fc-timegrid-event .fc-event-location {
    font-size: 0.8em;
    margin-top: 2px;
}

/* For month view - smaller, more compact */
.fc-daygrid-event .fc-event-location {
    font-size: 0.75em;
    margin-top: 1px;
}

/* List view location styling */
.fc-list-event-location {
    display: flex;
    align-items: center;
    margin-top: 2px;
}

/* Make all-day events slightly different */
.fc-daygrid-event.fc-event-allday {
    opacity: 0.85;
}

/* Booking Calendar Specific Styles */
.modal-card-head {
    margin-bottom: 0 !important;
}

#datePicker {
    cursor: pointer;
}

#jumpToToday {
    font-weight: 600;
}

#monthSelect, #yearSelect {
    min-width: 120px;
}

#monthSelect:hover, #yearSelect:hover, #datePicker:hover {
    border-color: #3e8ed0;
}
/* ===========================
   CKEDITOR CONTENT STYLES
   =========================== */
/* Make CKEditor content look like published content (Bulma styling) */
.ck-content {
    font-size: 1.25rem;
    line-height: 1.6;
}
.ck-content h1 {
    font-size: 2em;
    margin-bottom: 0.5em;
    font-weight: 600;
    line-height: 1.125;
}
.ck-content h2 {
    font-size: 1.75em;
    margin-bottom: 0.5714em;
    font-weight: 600;
    line-height: 1.1428;
}
.ck-content h3 {
    font-size: 1.5em;
    margin-bottom: 0.6666em;
    font-weight: 600;
    line-height: 1.1666;
}
.ck-content p {
    margin-bottom: 1em;
}
.ck-content ul, .ck-content ol {
    margin-left: 2em;
    margin-top: 1em;
    margin-bottom: 1em;
}
.ck-content li {
    margin-bottom: 0.5em;
}
.ck-content blockquote {
    background-color: #f5f5f5;
    border-left: 5px solid #dbdbdb;
    padding: 1.25em 1.5em;
    margin-bottom: 1em;
}
.ck-content a {
    color: #3273dc;
    text-decoration: none;
}
.ck-content a:hover {
    color: #363636;
}
.ck-content table {
    margin-bottom: 1em;
}
.ck-content img {
    height: auto;
    max-width: 100%;
}
