.xts-travel-trip-layout { display: grid; gap: var(--wp--preset--spacing--40); align-items: start; }
.xts-travel-trip-layout > * { min-width: 0; }
.xts-travel-trip-expired { margin-block-end: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30); border-inline-start: 4px solid var(--wp--preset--color--accent-1); background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast); overflow-wrap: anywhere; }
.xts-travel-trip-expired p { margin-block: 0 var(--wp--preset--spacing--20); }
.xts-travel-trip-expired .wp-element-button { display: inline-block; box-sizing: border-box; max-width: 100%; min-height: 44px; }
.xts-travel-trip-expired :focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 3px; }
.xts-travel-trip-contact { scroll-margin-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + 130px); }
.xts-travel-trip-prices.xts-travel-trip-prices-expired strong { color: var(--wp--preset--color--contrast); }
.xts-travel-trip-gallery { position: relative; }
.xts-travel-trip-slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 0; scrollbar-width: none; }
.xts-travel-trip-slides::-webkit-scrollbar { display: none; }
.xts-travel-trip-slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; }
.xts-travel-trip-slide img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.xts-travel-trip-thumbnails { display: flex; gap: 8px; overflow-x: auto; padding: 0; margin-top: 8px; scroll-snap-type: x proximity; }
.xts-travel-trip-thumbnails a { flex: 0 0 100px; border-radius: 0; overflow: hidden; scroll-snap-align: start; }
.xts-travel-trip-thumbnails img { display: block; width: 100%; height: 76px; object-fit: cover; }
.xts-travel-trip-thumbnails [aria-current="true"] { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: -3px; }
.xts-travel-trip-main-photo { position: relative; }
.xts-travel-trip-controls { position: absolute; inset: 0; display: flex; justify-content: space-between; align-items: center; padding-inline: 12px; pointer-events: none; }
.xts-travel-trip-controls[hidden] { display: none; }
.xts-travel-trip-controls button { min-width: 48px; min-height: 48px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 0; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); cursor: pointer; font-size: 32px; line-height: 1; pointer-events: auto; transition: background-color .2s, opacity .2s; }
.xts-travel-trip-controls button:hover { background: var(--wp--preset--color--accent-5); }
.xts-travel-trip-counter { position: absolute; inset-block-end: 12px; inset-inline-start: 50%; transform: translateX(-50%); padding: 4px 10px; background: var(--wp--preset--color--base); font-size: .875rem; color: var(--wp--preset--color--accent-4); font-variant-numeric: tabular-nums; }
.xts-travel-trip-layout :focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 3px; }
.xts-travel-trip-information { padding: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--accent-6); border-radius: 0; background: var(--wp--preset--color--base); }
.xts-travel-trip-code { margin-block: 0 12px; color: var(--wp--preset--color--contrast); font-size: .875rem; font-weight: 700; text-transform: none; }
.xts-travel-trip-information .xts-travel-trip-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; width: 100%; margin-block-end: 12px; }
.xts-travel-trip-meta .xts-travel-trip-code { margin: 0; }
.xts-travel-trip-information .xts-travel-trip-views { margin-inline-start: auto; text-align: right; color: var(--wp--preset--color--accent-4); font-size: .8125rem; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.xts-travel-trip-information,
.xts-travel-trip-information h1,
.xts-travel-trip-information h2,
.xts-travel-trip-information p { text-align: left; }
.xts-travel-trip-code span { color: var(--wp--preset--color--accent-1); }
.xts-travel-trip-information h1 { font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.15; margin-block: 0 12px; overflow-wrap: anywhere; }
.xts-travel-trip-stars { display: inline-block; white-space: nowrap; color: var(--wp--preset--color--accent-2); font-size: .65em; vertical-align: top; }
.xts-travel-trip-information .xts-travel-trip-location { margin-block: 0 24px; font-size: .9375rem; text-align: left; }
.xts-travel-trip-information .xts-travel-trip-location a { text-decoration: none; }
.xts-travel-trip-section-title { margin-block: 0 12px; font-size: 1.125rem; line-height: 1.4; }
.xts-travel-trip-details { margin: 0; font-size: .9375rem; }
.xts-travel-trip-details + .xts-travel-trip-section-title { margin-block-start: var(--wp--preset--spacing--30, 20px); }
.xts-travel-trip-details > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 16px; padding-block: 10px; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.xts-travel-trip-details dt { display: flex; align-items: baseline; gap: 10px; color: var(--wp--preset--color--accent-4); overflow-wrap: anywhere; }
.xts-travel-trip-detail-icon { flex: 0 0 18px; width: 18px; text-align: center; color: var(--wp--preset--color--accent-2); }
.xts-travel-trip-details dd { margin: 0; overflow-wrap: anywhere; font-weight: 500; }
.xts-travel-trip-journeys > div { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; padding-block: 3px; align-items: baseline; border-bottom: 0; }
.xts-travel-trip-journeys > .xts-travel-trip-journey-pair-end { padding-block-end: 8px; margin-block-end: 8px; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.xts-travel-trip-journeys dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.xts-travel-trip-journey-date { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: inherit; color: var(--wp--preset--color--contrast); }
.xts-travel-trip-journey-route { min-width: 0; }
.xts-travel-trip-icon-return { transform: scaleX(-1); }
.xts-travel-trip-prices { padding: var(--wp--preset--spacing--30); margin-top: 24px; background: var(--wp--preset--color--accent-5); border-radius: 0; }
.xts-travel-trip-prices p { margin-block: 0 10px; }
.xts-travel-trip-prices p:last-child { margin-bottom: 0; }
.xts-travel-trip-prices strong { font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.3; color: var(--wp--preset--color--accent-1); }
.xts-travel-trip-price-note { color: var(--wp--preset--color--accent-4); font-size: .8125rem; }
.xts-travel-trip-prices .xts-travel-trip-price-note:not(:last-child) { margin-block-end: 4px; }
.xts-travel-trip-price-note time { font-weight: 500; }
.xts-travel-trip-departure { font-size: .875rem; }
.xts-travel-trip-contact { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--accent-6); }
.xts-travel-trip-contact > p { font-size: .9375rem; margin-block: 0 16px; color: var(--wp--preset--color--accent-4); }
.xts-travel-trip-contact .xts-tour-request-inline-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.xts-travel-trip-contact .xts-tour-request-inline-fields p { margin: 0; }
.xts-travel-trip-contact .xts-tour-request-inline-fields input { box-sizing: border-box; width: 100%; min-height: 48px; }
.xts-travel-trip-contact .xts-tour-request-inline-consent { font-size: .8125rem; }
@media (min-width: 1024px) {
 .xts-travel-trip-layout { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
 .xts-travel-trip-gallery { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 110px); }
 .xts-travel-trip-information { padding: var(--wp--preset--spacing--40); }
}
@media (prefers-reduced-motion: reduce) {
 .xts-travel-trip-controls button { transition: none; }
}

.xts-travel-trip-contact .xts-tour-request-inline-fields input:not([type="submit"]) { padding: 12px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 0; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font: inherit; font-size: 1rem; }
.xts-travel-trip-contact .xts-tour-request-inline-fields .wpcf7-submit { border: 0; border-radius: 0; background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--base); font: inherit; font-weight: 600; cursor: pointer; }
.xts-travel-trip-contact .xts-tour-request-inline-fields .wpcf7-submit:hover { background: var(--wp--preset--color--accent-2); }
.xts-travel-trip-contact .xts-tour-request-inline-fields .wpcf7-submit:disabled { opacity: .6; cursor: default; }
@media (hover: hover) and (pointer: fine) {
 .xts-travel-trip-controls button { opacity: 0; pointer-events: none; }
 .xts-travel-trip-gallery:hover .xts-travel-trip-controls button,
 .xts-travel-trip-gallery:focus-within .xts-travel-trip-controls button { opacity: 1; pointer-events: auto; }
}
.xts-travel-trip-thumbnails a:focus-visible { outline-offset: -3px; }
