/* Styles for the Experience Tour Details (Tabs) Widget */
.etc-tour-details { margin-top: 30px; }
.details-tabs-nav { display: flex; border-bottom: 1px solid #dcdcdc; margin-bottom: 25px; }
.details-tabs-nav .tab-link { padding: 12px 25px; margin: 0 5px -1px 0; border: 1px solid #dcdcdc; border-bottom: none; background-color: #f1f1f1; color: #555; font-weight: 600; text-decoration: none; transition: all 0.3s ease; border-radius: 8px 8px 0 0; position: relative; }
.details-tabs-nav .tab-link:hover { background-color: #e9e9e9; color: #111; }
.details-tabs-nav .tab-link.active { background-color: #fff; color: #0073e6; border-color: #dcdcdc; border-bottom: 1px solid #fff; }
.details-tab-content { display: none; animation: fadeIn 0.5s; padding: 10px; }
.details-tab-content.active { display: block; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.itinerary-list { list-style: none; padding-left: 0; position: relative; border-left: 2px solid #0073e6; }
.itinerary-item { padding-left: 30px; margin-bottom: 25px; position: relative; }
.itinerary-item::before { content: ''; position: absolute; left: -9px; top: 5px; width: 16px; height: 16px; border-radius: 50%; background-color: #fff; border: 3px solid #0073e6; }
.itinerary-title { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.include-exclude-container { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.list-column h4 { font-size: 20px; margin-bottom: 15px; }
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { padding-left: 30px; position: relative; margin-bottom: 10px; }
.checklist li::before { font-family: 'FontAwesome'; position: absolute; left: 0; top: 1px; font-size: 18px; }
.checklist.included li::before { content: '\f00c'; color: #28a745; }
.checklist.excluded li::before { content: '\f00d'; color: #dc3545; }
.map-wrapper iframe { width: 100%; height: 400px; border: 0; border-radius: 8px; }
.faq-accordion { border-top: 1px solid #eee; }
.faq-item { border-bottom: 1px solid #eee; }
.faq-question { padding: 20px; font-size: 18px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-answer { padding: 0 20px 20px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out, padding 0.4s ease; }
.faq-item.active .faq-answer { max-height: 500px; transition: max-height 0.5s ease-in; }
.faq-icon { transition: transform 0.4s ease; }
.faq-item.active .faq-icon { transform: rotate(180deg); }