/* =============================================
   Travel Table Builder — Frontend CSS
   ============================================= */

.ttb-front-wrapper {
    margin: 20px 0;
}

.ttb-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.ttb-front-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 320px;
}

/* Header cells */
.ttb-front-table th.ttb-cell {
    background-color: #2a7db5;
    color: #fff;
    padding: 10px 14px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    border: 1px solid rgba(255,255,255,0.2);
    letter-spacing: .3px;
}

.ttb-front-table th.ttb-header-accent {
    background-color: #4da6d8;
}

/* Data cells */
.ttb-front-table td.ttb-cell {
    padding: 9px 14px;
    text-align: center;
    border: 1px solid #dde6ef;
    color: #333;
    vertical-align: middle;
}

/* Header cell usato come td (es. colonna laterale) */
.ttb-front-table td.ttb-header-primary {
    background-color: #2a7db5;
    color: #fff;
    font-weight: 600;
}
.ttb-front-table td.ttb-header-accent {
    background-color: #4da6d8;
    color: #fff;
    font-weight: 600;
}

/* Righe alternate */
.ttb-front-table tbody tr:nth-child(odd)  td.ttb-cell:not(.ttb-header-primary):not(.ttb-header-accent) { background: #f0f7fc; }
.ttb-front-table tbody tr:nth-child(even) td.ttb-cell:not(.ttb-header-primary):not(.ttb-header-accent) { background: #ffffff; }

.ttb-front-table tbody tr:hover td.ttb-cell:not(.ttb-header-primary):not(.ttb-header-accent) {
    background: #ddeef8;
    transition: background .15s;
}

/* Messaggio no tabella */
.ttb-no-table {
    color: #888;
    font-style: italic;
    padding: 12px 0;
}

/* Responsive */
@media (max-width: 600px) {
    .ttb-front-table {
        font-size: 12px;
    }
    .ttb-front-table th.ttb-cell,
    .ttb-front-table td.ttb-cell {
        padding: 7px 8px;
    }
}
