/* Trip-specific layout; shared home components keep their existing geometry. */
.gd-trip-page .gd-container { width:calc(100% - 80px); max-width:1240px; }
.gd-trip-page .gd-section { padding:28px 0; }
.gd-trip-page .gd-section-heading { margin-bottom:24px; }
.gd-trip-page .gd-section-heading h2 { font-size:28px; }
.gd-trip-page .gd-richtext { font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.gd-trip-page .gd-richtext p+p { margin-top:14px; }
.gd-trip-page .gd-richtext ul,.gd-trip-page .gd-richtext ol { padding-left:20px; }
.gd-trip-page .gd-richtext img { max-width:100%; height:auto; }
.gd-trip-hero { display:grid; grid-template-columns:32.9167% 1fr; min-height:568px; background:var(--gd-ink); color:white; }
.gd-trip-hero-copy { position:relative; padding:96px 36px 36px 5.14vw; display:flex; flex-direction:column; justify-content:center; gap:24px; min-width:0; }
.gd-trip-hero-mark { position:absolute; top:28px; left:5.14vw; width:111px; height:44px; object-fit:contain; margin:0; }
.gd-trip-hero h1 { font-size:39px; line-height:1.2; text-transform:uppercase; overflow-wrap:break-word; }
.gd-trip-lead { font-size:19px; line-height:1.3; }
.gd-trip-hero-photo { min-width:0; position:relative; }
.gd-trip-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gd-trip-strengths { padding:32px 0; }
.gd-trip-strength-buttons { display:flex; justify-content:center; gap:24px; overflow-x:auto; scrollbar-width:none; }
.gd-trip-strength { display:flex; align-items:center; gap:12px; padding:12px 0; min-width:110px; max-width:175px; flex:1 0 110px; background:none; border:0; color:var(--gd-ink); text-transform:uppercase; font:700 12px/1.3 'Zalando Sans Expanded',sans-serif; text-align:center; justify-content:center; }
.gd-trip-gallery { margin:0 0 54px; }
.gd-trip-page .gd-trip-about .gd-richtext { text-align:center; }
.gd-workshop-single .gd-trip-about>.gd-container {width:calc(100% - 40px);max-width:900px;padding:32px 40px;background:#fff;border-radius:16px}
.gd-workshop-single .gd-trip-about .gd-richtext {text-align:left;font-size:16px}
.gd-workshop-single .gd-trip-about .gd-section-heading {margin-bottom:24px}
body.gd-workshop-single .gd-trip-story-copy .gd-richtext,body.gd-workshop-single .gd-trip-team-grid .gd-richtext {font-family:Montserrat,sans-serif;font-size:16px;line-height:1.7}
.gd-workshop-bio summary {display:inline-block;cursor:pointer;color:var(--gd-peach);font:700 12px/1.4 'Zalando Sans Expanded',sans-serif;text-transform:uppercase;margin-top:16px;list-style:none}
.gd-workshop-bio summary::-webkit-details-marker {display:none}
.gd-workshop-bio .gd-bio-less,.gd-workshop-bio:has(details[open])>.gd-bio-preview,.gd-workshop-bio details[open] .gd-bio-more {display:none}
.gd-workshop-bio details[open] .gd-bio-less {display:inline}
.gd-workshop-bio details[open] .gd-richtext {margin-top:16px}
@media(max-width:600px){.gd-workshop-single .gd-trip-about>.gd-container {padding:24px}}
.gd-trip-page .gd-intro { font-size:16px; }
.gd-trip-level-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.gd-trip-level-grid article { padding:26px; border-radius:8px; background:white; }
.gd-trip-level-badge { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; margin-bottom:12px; border-radius:30px; background:var(--gd-green); font-size:14px; font-weight:700; }
.gd-trip-level-grid h3 { font-size:14px; margin-bottom:12px; text-transform:uppercase; }
.gd-trip-level-grid p { font-size:14px; line-height:1.7; }
.gd-trip-schedule-grid { display:grid; grid-template-columns:1fr 1fr; background:white; border-radius:20px; overflow:hidden; }
.gd-trip-schedule-grid>ol { margin:0; padding:36px; list-style:none; }
.gd-trip-schedule-grid li { display:grid; grid-template-columns:70px 1fr; gap:18px; padding-bottom:24px; }
.gd-trip-schedule-grid li:last-child { padding:0; }
.gd-trip-schedule-grid time { color:var(--gd-peach); font-weight:700; }
.gd-trip-schedule-grid h3 { font-size:16px; margin-bottom:8px; }
.gd-trip-schedule-grid p { font-size:13px; line-height:1.6; }
.gd-trip-schedule-grid>img { width:100%; height:100%; object-fit:cover; }
.gd-trip-program-track { display:flex; gap:16px; padding:0 0 8px; }
.gd-trip-day { flex:0 0 100%; display:grid; grid-template-columns:29% 71%; background:white; border-radius:20px; box-shadow:0 3px 3px #0002; overflow:hidden; min-width:0; scroll-snap-align:start; }
.gd-trip-day-photo { position:relative; min-height:270px; }
.gd-trip-day-photo>img { width:100%; height:100%; position:absolute; object-fit:cover; }
.gd-trip-day-photo>span { position:absolute; top:14px; left:24px; color:white; font:700 64px/1.1 'Zalando Sans Expanded',sans-serif; }
.gd-trip-day-copy { padding:30px; }
.gd-trip-day-copy h3 { font-size:22px; line-height:1.3; margin:12px 0; }
.gd-trip-tag { display:inline-block; padding:5px 12px; border-radius:5px; background:#ffdd86; font:700 12px/1.3 'Zalando Sans Expanded',sans-serif; text-transform:uppercase; }
.gd-trip-includes { align-items:start; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.gd-trip-includes details { background:white; border-radius:8px; }
.gd-trip-includes details.czego_cena_nie_uwzglednia { background:var(--gd-ink); color:white; }
.gd-trip-includes details.polecane_loty { grid-column:1/-1; }
.gd-trip-includes summary { display:flex; gap:14px; align-items:center; padding:24px; list-style:none; cursor:pointer; font:700 12px/1.4 'Zalando Sans Expanded',sans-serif; text-transform:uppercase; }
.gd-trip-includes summary::-webkit-details-marker { display:none; }
.gd-trip-inclusion-icon { display:flex; justify-content:center; align-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:var(--gd-green); color:white; }
.czego_cena_nie_uwzglednia .gd-trip-inclusion-icon { background:var(--gd-paper); color:var(--gd-ink); }
.polecane_loty .gd-trip-inclusion-icon { background:#75b8dc; }
.gd-trip-inclusion-icon img { width:20px; height:20px; }
.gd-trip-plus { margin-left:auto; color:var(--gd-peach); }
.gd-trip-includes details[open] .gd-trip-plus { transform:rotate(45deg); }
.gd-trip-includes .gd-richtext { padding:0 24px 24px; }
.gd-trip-addendum { margin-top:20px; }
.gd-trip-story-card { display:grid; grid-template-columns:43% 57%; border-radius:20px; background:white; box-shadow:0 3px 3px #0002; overflow:hidden; }
.gd-trip-story-media { min-width:0; position:relative; display:flex; flex-direction:column; }
.gd-trip-story-track { display:flex; gap:0; flex:1; min-height:343px; }
.gd-trip-story-track>div { position:relative; flex:0 0 100%; min-width:0; }
.gd-trip-story-track img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.gd-trip-story-media .gd-carousel-controls { position:absolute; bottom:8px; left:0; width:100%; margin:0; background:#faf7f2e6; padding:6px; }
.gd-trip-story-media video { width:100%; }
.gd-trip-story-copy { padding:26px 32px; }
.gd-trip-story-copy .gd-trip-tag { background:#75b8dc; margin-bottom:14px; }
.gd-trip-story-reverse .gd-trip-story-card { grid-template-columns:57% 43%; }
.gd-trip-story-reverse .gd-trip-story-media { order:2; }
.gd-trip-story-reverse .gd-trip-tag { background:var(--gd-green); }
#food .gd-trip-tag { background:#ffdd86; }
.gd-trip-text-only { display:block!important; }
.gd-trip-team-grid { display:grid; grid-template-columns:repeat(var(--gd-team-columns),minmax(0,1fr)); gap:20px; }
.gd-trip-team-grid>article { min-width:0; background:white; border-radius:8px; overflow:hidden; }
.gd-trip-team-grid>article>img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.gd-trip-team-grid>article>div { padding:18px; }
.gd-trip-team-grid h3 { font-size:18px; }
.gd-trip-team-role { margin:8px 0!important; font-size:12px; }
.gd-trip-page .gd-trip-team-grid .gd-richtext { font-size:12px; }
.gd-trip-page .gd-trip-reviews { background:var(--gd-ink); color:white; padding:64px 0 48px; }
.gd-trip-page .gd-trip-reviews .gd-review-track { margin-inline:38px; padding:0; }
.gd-trip-page .gd-trip-reviews .gd-review-card { padding:32px 24px; min-height:0; color:var(--gd-ink); }
.gd-trip-page .gd-trip-reviews .gd-review-card-stars { width:110px; height:19px; margin-bottom:20px; }
.gd-trip-page .gd-trip-reviews .gd-review-card blockquote { font-size:14px; }
.gd-trip-page .gd-trip-reviews .gd-review-card>p { font-size:12px; }
.gd-trip-vibe-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); aspect-ratio:32/9; gap:4px; }
.gd-trip-vibe-grid>button { position:relative; padding:0; border:0; background:var(--gd-ink); cursor:pointer; min-width:0; overflow:hidden; }
.gd-trip-vibe-grid>button:first-child { grid-row:1/3; }
.gd-trip-vibe-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gd-trip-photo-count { position:absolute; inset:0; background:#1d1d1bcc; display:flex; flex-direction:column; align-items:center; justify-content:center; color:white; font:700 26px/1.4 'Zalando Sans Expanded',sans-serif; }
.gd-trip-photo-count small { font-size:12px; }
.gd-trip-photo-caption { position:absolute; left:14px; bottom:14px; color:white; text-shadow:0 1px 3px #000; font-size:12px; }
.gd-trip-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; padding:30px 64px; margin:0; border:0; background:#141413f5; color:white; }
.gd-trip-lightbox::backdrop { background:#111e; }
.gd-trip-lightbox[open] { display:flex; align-items:center; justify-content:center; }
.gd-trip-lightbox figure { margin:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.gd-trip-lightbox figure img { max-height:calc(100% - 50px); width:100%; object-fit:contain; touch-action:pan-y; }
.gd-trip-lightbox figcaption { font-size:13px; text-align:center; }
.gd-trip-lightbox>button { position:absolute; color:white; background:transparent; border:0; font-size:40px; width:48px; height:48px; cursor:pointer; z-index:1; }
.gd-trip-lightbox-close { top:12px; right:12px; }
.gd-trip-lightbox-prev { left:8px; }
.gd-trip-lightbox-next { right:8px; }
@media (max-width:359px) {
 .gd-trip-page .wpcf7-recaptcha { display:block; zoom:.85; }
}
@media(max-width:1100px) {

 .gd-trip-hero-copy { padding:96px 24px 28px; }
 .gd-trip-hero-mark { left:24px; }
 .gd-trip-hero h1 { font-size:32px; }
 .gd-trip-team-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
}
@media(max-width:700px) {
 .gd-trip-page .gd-container { width:calc(100% - 40px); }
 .gd-trip-page .gd-section { padding:24px 0; }
 .gd-trip-page .gd-section-heading h2 { font-size:25px; }
 .gd-trip-page .gd-section-heading { margin-bottom:22px; }


 .gd-trip-hero-copy { padding:24px 22px 30px; gap:20px; }
 .gd-trip-page .gd-trip-hero-mark { display:none; }
 .gd-trip-hero h1 { font-size:25px; }
 .gd-trip-lead { font-size:16px; }
 .gd-trip-strengths { padding:20px 0; }
 .gd-trip-strength-buttons { justify-content:flex-start; gap:28px; }
 .gd-trip-strength { font-size:10px; flex-basis:125px; }
 .gd-trip-strength-panel { padding:20px; }
 .gd-trip-gallery { margin-bottom:16px; }
 .gd-trip-level-grid { grid-template-columns:1fr; gap:12px; }
 .gd-trip-level-grid article { padding:22px; }
 .gd-trip-schedule-grid { display:block; }
 .gd-trip-schedule-grid>ol { padding:24px; }
 .gd-trip-schedule-grid li { grid-template-columns:54px 1fr; gap:14px; }
 .gd-trip-schedule-grid>img { display:none; }
 .gd-trip-program-track { margin-inline:-20px; width:calc(100% + 40px); padding-inline:max(20px,calc((100% + 40px - min(319px,80vw))/2)); gap:12px; box-sizing:border-box; }
 .gd-trip-day { flex:0 0 min(319px,80vw); display:flex; flex-direction:column; scroll-snap-align:center; }
 .gd-trip-day-photo { min-height:220px; }
 .gd-trip-day-photo>span { font-size:58px; }
 .gd-trip-day-copy { padding:24px; }
 .gd-trip-day-copy h3 { font-size:20px; }
 .gd-trip-program .gd-carousel-controls>[data-prev],.gd-trip-program .gd-carousel-controls>[data-next] { display:none; }
 .gd-trip-includes { grid-template-columns:1fr; }
 .gd-trip-includes summary { padding:24px 20px; }
 .gd-trip-story-card,.gd-trip-story-reverse .gd-trip-story-card { display:flex; flex-direction:column; }
 .gd-trip-story-reverse .gd-trip-story-media { order:0; }
 .gd-trip-story-track { min-height:210px; }
 .gd-trip-story-copy { padding:24px; }
 .gd-trip-team-grid { grid-template-columns:1fr; }
 .gd-trip-page .gd-trip-reviews { background:var(--gd-ink); color:white; }
 .gd-trip-page .gd-trip-reviews .gd-review-card { color:var(--gd-ink); }
 .gd-trip-page .gd-trip-reviews .gd-review-card-stars { margin-bottom:0; }
 .gd-trip-vibe-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; aspect-ratio:auto; }
 .gd-trip-vibe-grid>button:first-child { grid-row:auto; grid-column:1/-1; }
 .gd-trip-lightbox { padding:55px 40px; }
}
@media(prefers-reduced-motion:reduce) { .gd-trip-page * { scroll-behavior:auto!important; } }

@media(min-width:1600px) { .gd-trip-hero { min-height:calc(44.5833vw - 74px); } }
@media(min-width:601px) and (max-width:900px) { .gd-trip-hero { grid-template-columns:40% 60%; } }
@media(max-width:600px) {
 .gd-trip-hero { display:flex; flex-direction:column; min-height:0; }
 .gd-trip-hero-photo { order:-1; height:121.5vw; max-height:620px; }
 .gd-trip-hero-copy { min-height:341px; }
}

.gd-trip-strength-separator {flex:0 0 auto;align-self:center;color:var(--gd-peach);font:700 18px/1 Montserrat,sans-serif}
.gd-trip-standards {max-width:none;display:block}
.gd-trip-standards .gd-trip-strength-buttons > :is(.gd-standard-button,details) {flex:1 0 110px;min-width:110px;max-width:175px;justify-content:center}
.gd-trip-standards .gd-standard-panel:not([hidden]) {margin-top:28px}
.gd-trip-standards .gd-standard-panel {grid-row:auto}
.gd-trip-standards .gd-standard-static {cursor:default}
.gd-trip-level-grid .gd-trip-requirements {background:white}
.gd-trip-story-track {scroll-snap-type:x mandatory}
.gd-trip-story-track>div {scroll-snap-align:start;scroll-snap-stop:always}
.gd-trip-lodging-slider {position:relative}
.gd-trip-lodging-track {display:flex;gap:24px;padding-bottom:6px;scroll-snap-type:x mandatory}
.gd-trip-lodging-track>.gd-trip-story-card {flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.gd-trip-story-copy h3 {font-size:22px;line-height:1.3;margin-bottom:16px}
.gd-trip-lodging-slider>.gd-carousel-controls {margin-top:20px}
.gd-trip-lodging-slider>.gd-carousel-controls>[data-prev],.gd-trip-lodging-slider>.gd-carousel-controls>[data-next] {position:absolute;top:calc((100% - 58px)/2);z-index:2;transform:translateY(-50%)}
.gd-trip-lodging-slider>.gd-carousel-controls>[data-prev] {left:-14px}
.gd-trip-lodging-slider>.gd-carousel-controls>[data-next] {right:-14px}
.gd-trip-lodgings .gd-trip-story-media,#food .gd-trip-story-media {min-height:343px}
.gd-trip-lodgings .gd-trip-story-media>img,#food .gd-trip-story-media>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gd-trip-lodgings .gd-trip-story-media>.plyr,#food .gd-trip-story-media>.plyr {height:100%;min-height:343px;--plyr-color-main:#9fe0ae}
.gd-trip-lodgings .plyr__video-wrapper,#food .plyr__video-wrapper {height:100%}
.gd-trip-page .gd-trip-reviews .gd-section-heading {margin-bottom:32px}
.gd-trip-page .gd-blog-card>a:first-child {display:block;aspect-ratio:404/216;overflow:hidden;flex-shrink:0}
.gd-trip-page .gd-blog-card>a:first-child>img {display:block;width:100%;height:100%;object-fit:cover}
.gd-trip-blog-all {display:flex;justify-content:center;margin-top:32px}
.gd-trip-page .gd-bottom-sections .gd-partners {padding-top:56px}
@media(max-width:700px) {
 .gd-trip-vibe-grid>button {aspect-ratio:16/9}
 .gd-trip-page .gd-trip-reviews {padding:36px 0}
 .gd-trip-page .gd-trip-reviews .gd-review-track {margin-inline:0}
 .gd-trip-lodgings .gd-trip-story-media,#food .gd-trip-story-media {min-height:0;aspect-ratio:4/3}
 .gd-trip-page .gd-bottom-sections .gd-partners {padding-top:40px}
}

/* Detail refinements from the trip design. */
.gd-trip-requirements-icon {display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:12px;border-radius:50%;background:#faf7f2;color:#777776;font:800 14px/1 Montserrat,sans-serif}
.gd-trip-schedule-grid li {grid-template-columns:62px 2px minmax(0,1fr);gap:20px}
.gd-trip-timeline {position:relative;display:block;width:2px;align-self:stretch}
.gd-trip-timeline::before {content:'';position:absolute;left:-4px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--gd-peach);z-index:1}
.gd-trip-timeline::after {content:'';position:absolute;left:0;top:4px;width:2px;height:calc(100% + 24px);background:#f0ede8}
.gd-trip-schedule-grid li:last-child .gd-trip-timeline::after {display:none}
.gd-trip-page .gd-trip-team {padding-bottom:56px}
.gd-trip-page main>section:has(+.gd-trip-reviews) {padding-bottom:56px}
.gd-trip-page .gd-trip-reviews .gd-review-card {gap:16px}
.gd-trip-page .gd-trip-reviews .gd-review-card-stars {margin-bottom:0}
.gd-trip-page .gd-faq .gd-container {max-width:1000px}
@media(max-width:700px) {
 .gd-trip-schedule-grid li {grid-template-columns:48px 2px minmax(0,1fr);gap:14px}
 .gd-trip-page .gd-trip-team {padding-bottom:48px}
 .gd-trip-page main>section:has(+.gd-trip-reviews) {padding-bottom:48px}
}

.gd-trip-page .gd-blog .gd-section-heading {margin-bottom:42px}
.gd-trip-page .gd-blog-card .gd-card-body {padding:10px 24px 24px;min-height:0;gap:10px}
.gd-trip-page .gd-blog-card h3 {margin:0;min-height:2.6em;line-height:1.3}
.gd-trip-page .gd-blog-card .gd-post-meta {margin:0!important}
.gd-trip-page .gd-blog-card .gd-read-more {margin:0;padding:8px 0 0}
.gd-trip-page .gd-trip-blog-all {margin-top:42px;order:3}
.gd-trip-page .gd-trip-blog-all .gd-button {background:transparent;border:2px solid var(--gd-ink);border-radius:24px;color:var(--gd-ink);padding:12px 24px;font-size:14px}
.gd-trip-page .gd-trip-blog-all .gd-button::after {content:' →'}
.gd-trip-page .gd-trip-blog-all .gd-button:hover {color:var(--gd-peach);border-color:var(--gd-peach)}
.gd-trip-team .gd-carousel-controls {display:none}
@media(max-width:700px) {
 .gd-trip-team-grid {display:flex;grid-template-columns:none;gap:16px;width:calc(100% + 40px);margin-inline:-20px;padding:0 20px 6px;scroll-padding-inline:20px;scroll-snap-type:x mandatory;box-sizing:border-box}
 .gd-trip-team-grid>article {flex:0 0 calc(100% - 24px);scroll-snap-align:start;scroll-snap-stop:always}
 .gd-trip-team .gd-carousel-controls {display:flex}
 .gd-trip-team .gd-carousel-controls>[data-prev],.gd-trip-team .gd-carousel-controls>[data-next] {display:none}
 .gd-trip-page .gd-faq-grid .gd-richtext {padding-left:24px;padding-right:24px}
}
