.iais-calendar{
    direction: rtl;
    background: #ffffff;
    border: 1px solid #dbeaf7;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(21, 70, 120, 0.08);
}

.iais-calendar *{
    box-sizing: border-box;
}

.iais-calendar-header{
    background: #eef6ff;
    color: #1f4f82;
    padding: 16px 18px;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border: 1px solid #d6e8fb;
}

.calendar-title{
    font-size: 18px;
    font-weight: 700;
    color: #1a4370;
}

.iais-calendar-toolbar{
    display: flex;
    justify-content: flex-start;
    margin: 14px 0 16px;
}

.month-btn,
.all-events-btn{
    background: #ffffff;
    color: #31608f;
    border: 1px solid #cfe3f8;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s ease;
    font-weight: 600;
}

.month-btn:hover,
.all-events-btn:hover,
.month-btn:focus,
.all-events-btn:focus{
    background: #dff0ff;
    color: #173f6b;
    border-color: #bdd9f6;
    outline: none;
}

.iais-grid{
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.weekday{
    background: #dff0ff;
    color: #285684;
    padding: 12px 8px;
    text-align: center;
    border-radius: 10px;
    font-weight: 700;
    border: 1px solid #d1e6fb;
}

.day,
.empty{
    min-height: 98px;
    border-radius: 14px;
}

.day{
    border: 1px solid #dbe7f4;
    background: #ffffff;
    padding: 10px;
    transition: all .18s ease;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
}

.day:hover,
.day:focus{
    background: #f3f9ff;
    border-color: #b8d8f7;
    outline: none;
}

.empty{
    background: #f9fbfe;
    border: 1px dashed #ebf1f7;
}

.day-number{
    font-weight: 800;
    color: #234f7b;
}

.day.today{
    background: #eef7ff;
    border-color: #8abef1;
}

.day.has-event{
    box-shadow: inset 0 0 0 1px #d7ebff;
}

.event-badges{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.event-chip,
.event-chip:visited{
    display: block;
    text-decoration: none;
    background: #e5f2ff;
    color: #245481;
    border-radius: 8px;
    padding: 5px 8px;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-more{
    color: #4773a0;
    font-size: 12px;
    font-weight: 700;
}

.iais-all-events-panel,
.iais-day-events-panel{
    margin-top: 16px;
    background: #f8fbff;
    border: 1px solid #dbeaf8;
    border-radius: 16px;
    padding: 16px;
}

.panel-title,
.all-events-date{
    color: #1b4976;
    font-weight: 800;
    margin-bottom: 12px;
}

.panel-events,
.all-events-group{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.all-events-group + .all-events-group{
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e4edf8;
}

.panel-event-card,
.all-event-item{
    background: #ffffff;
    border: 1px solid #e2ebf6;
    border-radius: 12px;
    padding: 12px;
}

.panel-event-title,
.all-event-title,
.panel-event-title:visited,
.all-event-title:visited{
    color: #204d7a;
    font-weight: 700;
    text-decoration: none;
}

.event-meta-row{
    margin-top: 6px;
    color: #557191;
    font-size: 13px;
}

.event-meta-label{
    font-weight: 700;
    color: #315f8d;
}

.empty-message{
    color: #637f9d;
}

@media (max-width: 768px){
    .iais-calendar{
        padding: 14px;
    }

    .iais-calendar-header{
        flex-wrap: wrap;
    }

    .calendar-title{
        width: 100%;
        text-align: center;
        order: -1;
    }

    .month-btn{
        flex: 1 1 calc(50% - 6px);
    }

    .iais-grid{
        gap: 6px;
    }

    .weekday{
        font-size: 12px;
        padding: 10px 4px;
    }

    .day,
    .empty{
        min-height: 84px;
    }

    .day{
        padding: 8px;
    }
}
.event-chip{cursor:pointer;}

.iais-ticket-btn{display:inline-block;margin-top:20px;background:#2d7dd2;color:#fff!important;padding:12px 28px;border-radius:10px;text-decoration:none;font-weight:700}
.iais-ticket-btn:hover{background:#1f5fa8}

.iais-event-single{
    max-width:1000px;
    margin:40px auto;
    padding:25px;
    background:#fff;
    border-radius:20px;
}
.iais-event-thumb img{
    width:100%;
    border-radius:18px;
    margin-bottom:25px;
}
.iais-event-single h1{
    color:#173f6b;
    margin-bottom:20px;
}
.iais-event-meta-box{
    display:grid;
    gap:10px;
    background:#eef6ff;
    padding:20px;
    border-radius:15px;
    color:#285684;
}
.iais-event-content{
    margin-top:30px;
    line-height:2;
}
.iais-ticket-box{
    margin-top:35px;
    padding:25px;
    background:#f7fbff;
    border:1px solid #d9eaf8;
    border-radius:18px;
}
.iais-ticket-btn{
    display:inline-block;
    margin-top:15px;
    background:#2d75b9;
    color:#fff;
    padding:12px 30px;
    border-radius:12px;
    text-decoration:none;
}
.iais-event-single{max-width:1100px;margin:40px auto;padding:24px;background:#fff;border-radius:18px;border:1px solid #dbeaf7}
.iais-event-thumb img{width:100%;border-radius:16px}
.iais-event-single h1{color:#1f4f82;margin:20px 0}
.iais-event-meta-box{background:#eef6ff;padding:18px;border-radius:14px;display:flex;flex-wrap:wrap;gap:12px}
.iais-event-content{margin:25px 0;line-height:2;color:#333}
.iais-ticket-box{background:#f5faff;border:1px solid #cfe3f8;padding:20px;border-radius:15px}
.iais-ticket-btn{display:inline-block;margin-top:15px;background:#2d6da3;color:#fff!important;padding:12px 25px;border-radius:10px;text-decoration:none}


/* v1.8.4 event cards ui */
.iais-day-events-panel,
.iais-all-events-panel{
    margin-top:22px;
    direction:rtl;
}
.panel-title{
    font-size:20px;
    font-weight:800;
    color:#174b80;
    margin-bottom:14px;
}
.panel-events,
.all-events-group{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.panel-event-card,
.all-events-group{
    background:#fff;
    border:1px solid #dbe7f4;
    border-radius:16px;
    padding:16px;
    box-shadow:0 8px 22px rgba(20,70,120,.06);
}
.panel-event-title{
    color:#1f4f82;
    font-size:17px;
    font-weight:700;
    text-decoration:none;
}
.panel-event-title:hover{
    color:#0d6efd;
}
.event-meta-row{
    margin-top:8px;
    color:#5f6f82;
    font-size:14px;
}
.day.today{
    border:2px solid #1f73c9;
    background:#eef7ff;
}

/* Registration styles are scoped to avoid affecting the calendar or the theme. */
.iais-registration { max-width:760px; margin:40px auto; padding:28px; background:#fff; color:#24364b; border:1px solid #dde5ee; border-radius:16px; text-align:right; line-height:1.9; box-sizing:border-box; }
.iais-registration h2 { font-size:26px; line-height:1.6; margin:16px 0; }
.iais-registration-fields { display:grid; gap:18px; }
.iais-registration-fields label { display:grid; gap:7px; font-size:16px; }
.iais-registration-fields select { width:100%; padding:12px; border:1px solid #b9c8d9; border-radius:10px; font:inherit; background:#fff; color:#172b43; }
.iais-registration-fields input:not([type="hidden"]) { width:100%; min-width:0; padding:12px 14px; border:1px solid #b9c8d9; border-radius:10px; background:#fff; color:#172b43; font:inherit; box-sizing:border-box; }
.iais-registration-fields input[type="tel"], .iais-registration-fields input[type="email"] { direction:ltr; text-align:left; }
.iais-registration-fields input:focus-visible, .iais-registration a:focus-visible, .iais-registration button:focus-visible { outline:3px solid #408bda; outline-offset:3px; }
.iais-registration-fields .iais-ticket-btn { background:#165aa0; color:#fff; border:0; padding:13px 20px; border-radius:10px; font:inherit; cursor:pointer; }
.iais-registration-error { background:#fff1f1; color:#9b2424; padding:12px; border-radius:8px; }
.iais-ticket-card { border:1px solid #c7d9eb; border-right:5px solid #165aa0; padding:20px; margin:20px 0; border-radius:12px; overflow-wrap:anywhere; background:#f7fbff; color:#24364b; }
@media(max-width:600px) { .iais-registration { margin:20px 12px; padding:18px; } .iais-registration h2 { font-size:22px; } }
