.itinerary-table {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    background-color: #fff; /* White background like original */
}
.itinerary-table th, .itinerary-table td {
    vertical-align: top;
    padding: 10px; /* Reduced padding for compactness */
    border: none; /* Borderless for clean look */
}
.itinerary-table thead th {
    background-color: #f5f5f5; /* Light gray header */
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #ddd; /* Subtle bottom border */
    color: #6c757d; /* Muted gray like original */
}
.itinerary-table tbody tr {
    border-bottom: 1px solid #eee; /* Light row separators */
}
.itinerary-table h2 {
    margin: 0 0 5px 0; /* Tighter margins */
    font-size: 20px; /* Slightly smaller for balance */
    color: #198754; /* Teal for dates, inspired by screenshot */
}
.activity-block {
    display: block; /* Block for stacking */
    margin-bottom: 15px; /* Space between time blocks */
}
.time-header {
    font-size: 16px; /* Smaller than dates */
    color: #343a40; /* Darker for emphasis */
    text-align: left; /* Right-align times */
    margin: 0 0 5px 0;
    display: block;
}
.itinerary-table ul {
    margin: 0 0 0 0; /* Remove left margin for flush alignment */
    padding: 0;
    list-style-position: inside; /* Bullets inside */
}
.itinerary-table ul li {
    margin-bottom: 3px;
    font-size: 14px;
    line-height: 1.4;
    color: #495057; /* Subtle dark gray */
    list-style-type: disc;
    padding-left: 10px; /* Light indent */
}
.itinerary-table em {
    font-style: italic;
}
.date-col {
    width: 20%;
    font-weight: bold;
}
.activity-col {
    width: 80%;
}
/* Improved responsive adjustments for better mobile view */
@media (max-width: 768px) {
    .itinerary-table thead {
        display: none; /* Hide headers on mobile for cleaner view */
    }
    .date-col, .activity-col {
        width: 100%;
        display: block !important; /* Ensure block display */
        padding: 8px; /* Slightly less padding on mobile */
    }
    .time-header {
        text-align: left; /* Stack times on mobile for natural reading */
        font-size: 18px; /* Larger times for touch screens */
    }
    .itinerary-table {
        border: none; /* Remove any borders on mobile */
    }
    .itinerary-table tbody tr {
        display: block !important; /* Stack rows as blocks */
        margin-bottom: 20px; /* More space between days */
        padding: 10px; /* Add padding around each day block */
        background-color: #f9f9f9; /* Light background for card-like feel */
        border-radius: 8px; /* Rounded corners for modern mobile look */
        box-shadow: 0 1px 3px rgba(0,0,0,0.1); /* Subtle shadow */
    }
    .itinerary-table td {
        display: block !important;
        border: none;
    }
    .itinerary-table h2 {
        font-size: 22px; /* Larger date headers on mobile */
        text-align: left; /* Center dates for better visual appeal */
        margin-bottom: 10px; /* Space below date */
    }
    .itinerary-table ul li {
        font-size: 16px; /* Larger text for readability on small screens */
    }
    .activity-block {
        margin-bottom: 20px; /* More space between activities */
    }
}