/* ==========================================================================
   Inspero Itinerary - CSS (v1.8.0)
   ========================================================================== */

.inspero-itinerary-wrapper {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: var(--color-content-text, inherit);
    font-family: var(--font-family, inherit);
}

.inspero-itinerary-map iframe {
    width: 100%;
    height: var(--inspero-map-height, 400px);
    border: 0;
    border-radius: var(--site-border-radius, 4px);
}

.inspero-timeline { position: relative; padding-left: 8px; margin-top: 2rem; }

.inspero-timeline-group {
    --inspero-group-pl: 2rem;
    position: relative;
    padding-left: var(--inspero-group-pl);
    padding-bottom: 3rem;
    border-left: var(--inspero-line-width, 1px) solid var(--inspero-line-color, #dedcce);
}

.inspero-timeline-group:last-child { padding-bottom: 0; }

.inspero-timeline-group.inspero-hidden { display: none; }
.inspero-timeline-group.inspero-revealed { display: block; animation: insperoFade 0.5s ease; }

@keyframes insperoFade { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.inspero-timeline-dot {
    position: absolute;
    /* Φέρνει την τελεία ακριβώς στο κέντρο της κάθετης γραμμής */
    left: calc( -4.5px - (var(--inspero-line-width, 1px) / 2) );
    top: 12px; /* Μπορείς να το παίξεις πάνω/κάτω 1-2px για να ευθυγραμμιστεί τέλεια με το κέντρο του H3 σου */
    width: 9px; 
    height: 9px;
    background-color: var(--inspero-line-color, currentColor);
    border-radius: 50%;
}

.inspero-timeline-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.inspero-location-title { margin: 0; font-size: 1.5em; font-weight: bold; line-height: 1; }
.inspero-location-nights-divider { width: 1px; height: 1.4em; background-color: var(--inspero-line-color); }
.inspero-location-nights { color: var(--color-content-faded); font-size: 1.1em; line-height: 1; }

.inspero-day-item { margin-bottom: 2.5rem; }
.inspero-day-title { margin: 0 0 0.75rem; font-size: 1.2em; font-weight: bold; }
.inspero-day-meals { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; font-size: 0.9em; font-weight: bold; }
.inspero-day-description { line-height: 1.6; }

/* Free Time Suggestions Style */
.inspero-free-time { margin-top: 1.5rem; padding: 1rem; background: rgba(0,0,0,0.03); border-radius: 4px; }
.inspero-free-time-header { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8em; font-weight: bold; letter-spacing: 1px; margin-bottom: 0.5rem; }

/* Route Visualizer [inspero_route] */
.inspero-route-visualizer { font-weight: bold; color: var(--color-content-primary); margin: 1rem 0; }
.route-arrow { color: var(--color-content-faded); padding: 0 5px; }

/* Toggle Link */
.inspero-itinerary-action { margin-top: 2rem; padding-left: 2rem; }
.inspero-simple-toggle { font-weight: bold; text-decoration: underline; cursor: pointer; color: var(--color-content-primary); }

@media (max-width: 768px) { .inspero-timeline-group { --inspero-group-pl: 1.5rem; } }