/* Stili per tabella orari messe responsive */
.orari-messe-container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.orari-messe-table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.6;
}

.orari-messe-table thead th {
    padding: 15px 8px;
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid #ff9900;
}

.orari-messe-table td {
    padding: 15px 8px;
    text-align: center;
    border-bottom: 1px solid #ff9900;
}

.orari-messe-table td:first-child {
    width: 60px;
}

.orari-messe-table td:nth-child(2) {
    text-align: left;
}

.orari-messe-table td:nth-child(2) strong {
    display: block;
    margin-bottom: 5px;
}

.orari-church-logo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
}

/* Mobile responsive */
@media screen and (max-width: 768px) {
    .orari-messe-table thead {
        display: none;
    }
    
    .orari-messe-table,
    .orari-messe-table tbody,
    .orari-messe-table tr,
    .orari-messe-table td {
        display: block;
        width: 100%;
    }
    
    .orari-messe-table tr {
        margin-bottom: 20px;
        border: 1px solid #ff9900;
        border-radius: 8px;
        padding: 15px;
        background-color: #fff;
    }
    
    .orari-messe-table td {
        border-bottom: none;
        padding: 8px 0;
        text-align: left !important;
        position: relative;
        padding-left: 50%;
    }
    
    .orari-messe-table td:first-child {
        width: 100%;
        text-align: center !important;
        padding-left: 0;
        margin-bottom: 10px;
    }
    
    .orari-messe-table td:nth-child(2) {
        padding-left: 0;
        text-align: center !important;
        font-size: 1.1em;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #ff9900;
    }
    
    .orari-messe-table td:not(:first-child):not(:nth-child(2)):before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 45%;
        padding-right: 10px;
        font-weight: bold;
        text-align: left;
    }
}