/* Islamic Prayer Timings - Elementor Widget Styles */

.ipt-timetable-widget {
    width: 100%;
}

.ipt-timetable-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #1a5f2a;
}

.ipt-timetable-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ipt-timetable {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e0e0e0;
    font-size: 14px;
}

.ipt-timetable th,
.ipt-timetable td {
    padding: 10px 8px;
    border: 1px solid #e0e0e0;
    text-align: center;
    white-space: nowrap;
}

.ipt-timetable thead th {
    background-color: #1a5f2a;
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
}

.ipt-timetable thead tr.ipt-subheader th {
    background-color: #2d8a3e;
    font-size: 11px;
    font-weight: 500;
    padding: 6px 8px;
}

.ipt-timetable tbody td {
    background-color: #ffffff;
    color: #333333;
}

.ipt-timetable tbody tr:nth-child(even) td {
    background-color: #f9f9f9;
}

.ipt-timetable tbody tr:hover td {
    background-color: #f0f6fc;
}

/* Today highlight */
.ipt-timetable tbody tr.ipt-today td {
    background-color: #fff3cd !important;
    color: #856404 !important;
    font-weight: 700;
}

.ipt-timetable tbody tr.ipt-today td:first-child {
    border-left: 3px solid #ffc107;
}

/* No data message */
.ipt-no-data {
    background: #f6f7f7;
    padding: 30px;
    text-align: center;
    border-radius: 8px;
    color: #666;
    font-style: italic;
    border: 1px dashed #ccc;
}

/* Responsive - Horizontal Scroll */
.ipt-responsive-scroll .ipt-timetable-wrapper {
    overflow-x: auto;
}

/* Responsive - Stack Mode */
@media (max-width: 768px) {
    .ipt-responsive-stack .ipt-timetable,
    .ipt-responsive-stack .ipt-timetable thead,
    .ipt-responsive-stack .ipt-timetable tbody,
    .ipt-responsive-stack .ipt-timetable th,
    .ipt-responsive-stack .ipt-timetable td,
    .ipt-responsive-stack .ipt-timetable tr {
        display: block;
    }

    .ipt-responsive-stack .ipt-timetable thead {
        display: none;
    }

    .ipt-responsive-stack .ipt-timetable tbody tr {
        margin-bottom: 15px;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        overflow: hidden;
    }

    .ipt-responsive-stack .ipt-timetable tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid #eee;
        text-align: right;
    }

    .ipt-responsive-stack .ipt-timetable tbody td:last-child {
        border-bottom: none;
    }

    .ipt-responsive-stack .ipt-timetable tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #1a5f2a;
        text-align: left;
    }

    .ipt-responsive-stack .ipt-timetable tbody tr.ipt-today {
        border-color: #ffc107;
        box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
    }
}

/* Print styles */
@media print {
    .ipt-timetable-widget {
        page-break-inside: avoid;
    }

    .ipt-timetable {
        font-size: 10px;
    }

    .ipt-timetable th,
    .ipt-timetable td {
        padding: 4px 6px;
    }

    .ipt-timetable thead th {
        background-color: #333 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .ipt-timetable tbody tr.ipt-today td {
        background-color: #fffde7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
