/* Homepage sections measured against Figma 307:16 / 391:16.
 * Real editorial content remains fluid; reference heights are not clipping limits. */
.gd-destinations .gd-intro { line-height:1.3; }
.gd-destinations .gd-pills { gap:40px; }
.gd-gallery-section { position:relative; padding:33px 0 28px; }
.gd-gallery>div { flex-basis:20%; }
.gd-gallery img { height:auto; aspect-ratio:3/4; object-fit:cover; }
.gd-gallery-section .gd-carousel-controls { padding:20px 0 10px; }
.gd-gallery-section .gd-carousel-controls>[data-prev],
.gd-gallery-section .gd-carousel-controls>[data-next] {
  position:absolute; top:calc((100vw / 5 * 4 / 3) / 2 + 19px); z-index:1;
}
.gd-gallery-section [data-prev] { left:16px; }
.gd-gallery-section [data-next] { right:16px; }
@media(min-width:901px) {
  /* The dots occupy the lower band instead of adding to its height. */
  .gd-gallery-section {padding:48px 0 0}
  .gd-gallery-section .gd-carousel-controls {height:48px;padding:0}
  .gd-gallery-section .gd-carousel-controls>[data-prev],.gd-gallery-section .gd-carousel-controls>[data-next] {top:calc((100vw / 5 * 4 / 3) / 2 + 34px)}
  .gd-redesign #main-content .gd-section {padding-block:48px}
  /* One 48px gap between visible blocks, without stacked section padding. */
  .home #main-content .gd-standards + .gd-trips,
  .gd-redesign #main-content :is(.gd-faq,.gd-faq-directory) + .gd-blog {padding-top:0}
  .home .gd-standards .gd-section-heading {margin-bottom:48px}
  .home .gd-standards .gd-standard-button {padding-block:0}
  .gd-redesign #main-content :is(.gd-faq,.gd-blog) .gd-section-heading {margin-bottom:48px}
  .gd-redesign #main-content :is(.gd-faq,.gd-blog) .gd-section-link,
  .gd-redesign #main-content .gd-trip-blog-all,
  .gd-redesign #main-content .gd-faq-more:not([hidden]) {margin-top:48px}
}
.gd-carousel-controls>[data-prev],.gd-carousel-controls>[data-next] {
  width:28px; height:28px; padding:0; font-size:0; background:transparent url('../assets/figma-sections/gallery-imgArrow3.svg') center/28px 28px no-repeat;
}
.gd-carousel-controls>[data-next] { transform:rotate(180deg); }
.gd-carousel-dots { gap:8px; }
.gd-standards { padding-block:62px; }
.gd-standards-grid { max-width:953px; margin:auto; gap:40px; }
.gd-standards-grid summary { min-height:98px; }
.gd-standards-grid summary img { width:72px; height:50px; margin-bottom:16px; }
.gd-trips { padding-top:30px; }
.gd-trips .gd-section-heading { margin-bottom:16px; }
.gd-trips .gd-intro { max-width:925px; font-size:19px; line-height:1.3; }
.gd-filter-label { color:#777776; text-transform:uppercase; letter-spacing:.16em; font-weight:700; margin-bottom:22px!important; }
.gd-months { gap:16px; margin-bottom:42px; }
.gd-months .gd-button { font-size:14px; min-height:45px; padding:10px 22px; flex-shrink:0; }
.gd-trip-grid,.gd-blog-grid { gap:24px 16px; }
.gd-trip-card,.gd-blog-card { border-radius:20px; box-shadow:0 4px 2px #0000001a; }
.gd-trip-image { aspect-ratio:404/216; }
.gd-trip-image>div { flex-direction:column; gap:8px; background:rgb(0 0 0 / 38%); transition:background .2s; }
.gd-trip-image:is(:hover,:focus-visible)>div { background:rgb(0 0 0 / 26%); }
.gd-trip-country { font-size:22px; line-height:1.3; }
.gd-trip-place { font-size:39px; line-height:1.2; max-width:100%; overflow-wrap:anywhere; }
.gd-trip-place.gd-trip-place-long { font-size:25px; }
.gd-trip-card { display:flex; flex-direction:column; }
.gd-trip-card .gd-card-body { flex:1; display:flex; flex-direction:column; padding:24px; }
.gd-trip-card h3,.gd-blog-card h3 { font-size:22px; }
.gd-trip-card .gd-button { font-size:14px; min-height:45px; margin-top:auto; }
.gd-price-row { margin:10px 0 24px; }
.gd-price-row strong { font-size:22px; }
.gd-level { font:700 10px/1.3 'Zalando Sans Expanded',sans-serif; min-height:24px; padding:4px 8px; border-radius:5px; text-transform:uppercase; display:inline-flex; align-items:center; justify-content:center; }
.gd-pagination { margin-top:32px; }
.gd-pagination button { position:relative; width:24px; height:28px; padding:0; font-size:0; background:transparent; }
.gd-pagination button::before { content:''; position:absolute; width:8px; height:8px; border-radius:50%; background:#777776; top:10px; left:8px; }
.gd-pagination [aria-current=page] { background:transparent; }
.gd-pagination [aria-current=page]::before { background:var(--gd-peach); }
.gd-reviews { position:relative; padding-block:64px 32px; }
.gd-reviews .gd-container { position:relative; }
.gd-reviews .gd-section-heading { position:relative; z-index:1; margin-bottom:32px; }
.gd-review-decoration { position:absolute; top:-35px; right:12%; width:190px; height:190px!important; object-fit:contain; pointer-events:none; filter:brightness(0) invert(1); }
.gd-review-card { padding:32px 24px; border-radius:6px; gap:24px; }
.gd-review-card blockquote { font-size:12px; line-height:1.7; margin:0; }
.gd-review-card>p { font:700 14px/1.3 'Zalando Sans Expanded',sans-serif; letter-spacing:.16em; }
.gd-review-card .gd-stars { font-size:26px; line-height:1; color:#ffdd86; }
.gd-review-card .gd-stars:empty { display:none; }
.gd-faq-grid { background:white; border-radius:8px; box-shadow:0 1px 3px #0000000f; overflow:hidden; }
.gd-faq-grid summary { font-size:16px; font-weight:700; line-height:1.3; padding:20px 24px; }
.gd-faq-grid summary span { flex-shrink:0; font:700 18px/1.3 Montserrat,sans-serif; }
.gd-blog-card>a { aspect-ratio:404/216; }
.gd-blog-card .gd-card-body { padding:10px 24px 24px; min-height:226px; }
.gd-category { min-width:135px; min-height:33px; text-align:center; padding:8px 16px; background:#ffe49e; font:700 12px/1.3 'Zalando Sans Expanded',sans-serif; margin-bottom:10px; }
.gd-redesign :is(.gd-category,.gd-blog-category) { display:inline-flex; align-items:center; justify-content:center; text-align:center; }
.gd-blog-card:nth-child(2) .gd-category { background:#b2e6be; }
.gd-blog-card:nth-child(3) .gd-category { background:#c8e3f1; }
.gd-post-meta { margin-top:10px!important; }
.gd-read-more { font-size:14px; padding-top:28px; }
@media(prefers-reduced-motion:no-preference) {
  .gd-read-more { transition:transform .18s; }
  .gd-read-more:is(:hover,:focus-visible) { transform:translateY(-2px); }
}
.gd-bottom-sections { background:#fff8e7; }
.gd-instagram-heading { margin-bottom:42px; }
.gd-instagram .gd-section-heading { margin-bottom:0; }
.gd-instagram .gd-intro { margin-left:0; text-align:left; }
.gd-instagram-grid { gap:41px; }
.gd-instagram-grid img { aspect-ratio:216/270; border-radius:20px; }
.gd-seo { padding-bottom:62px; }
.gd-seo h2 { font-size:28px; }
.gd-seo .gd-richtext { font-size:12px; line-height:1.7; column-gap:54px; }
.gd-partners { padding-bottom:40px; }
.gd-partners>.gd-eyebrow { font-size:14px; margin-bottom:42px!important; }
.gd-partners>div { gap:35px; }
.gd-partners img { height:65px; max-height:65px; width:auto; }
@media(max-width:1100px) {
  .gd-trip-card h3,.gd-blog-card h3,.gd-price-row strong { font-size:19px; }
  .gd-level { font-size:10px; padding-inline:6px; }
  .gd-instagram-grid { gap:20px; }
  .gd-partners>div { overflow-x:auto; padding-bottom:8px; }
  .gd-partners a { flex-shrink:0; }
}
@media(max-width:900px) {
  .gd-standards-grid { max-width:560px; gap:24px; }
  .gd-gallery>div { flex-basis:25%; }
  .gd-gallery-section .gd-carousel-controls>[data-prev],.gd-gallery-section .gd-carousel-controls>[data-next] { top:calc((100vw / 4 * 4 / 3) / 2 + 19px); }
  .gd-faq-grid summary { font-size:13px; }
  .gd-review-decoration { right:2%; width:140px; height:140px!important; }
}
@media(max-width:600px) {
  .gd-section .gd-eyebrow { font-size:12px; line-height:1.3; margin-bottom:8px!important; }
  .gd-section .gd-section-heading { margin-bottom:24px; }
  .gd-destinations { padding:32px 0 34px; }
  .gd-destinations .gd-intro { font-size:16px; margin-top:24px; }
  .gd-destinations .gd-pills { gap:10px; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:4px 0; scrollbar-width:none; }
  .gd-destinations .gd-pills .gd-button { flex-shrink:0; min-height:32px; padding:5px 12px; font-size:11px; line-height:18px; }
  .gd-gallery-section { padding:7px 0 0; }
  .gd-gallery>div { flex-basis:35.5%; }
  .gd-gallery img { aspect-ratio:143/186; height:auto; }
  .gd-gallery-section .gd-carousel-controls { padding:20px 0 16px; }
  .gd-gallery-section .gd-carousel-controls>[data-prev],.gd-gallery-section .gd-carousel-controls>[data-next] { top:calc((100vw * .355 * 186 / 143) / 2 - 7px); }
  .gd-standards { padding:32px 0; }
  .gd-standards-grid { max-width:360px; gap:18px 12px; }
  .gd-standards-grid summary { font-size:10px; min-height:77px; }
  .gd-standards-grid summary img { width:51px; height:35px; margin-bottom:16px; }
  .gd-trips { padding:32px 0; }
  .gd-trips .gd-intro { font-size:16px; line-height:1.3; margin-top:24px; }
  .gd-filter-label { font-size:16px; letter-spacing:0; text-transform:none; margin-bottom:16px!important; }
  .gd-months { margin-bottom:24px; padding-bottom:4px; }
  .gd-months .gd-button { min-height:45px; font-size:14px; padding:10px 24px; }
  .gd-trip-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:18px; margin-right:-20px; padding:0 20px 6px 0; scrollbar-width:none; }
  .gd-trip-card { flex:0 0 min(319px,calc(100vw - 64px)); scroll-snap-align:start; }
  .gd-trip-image { aspect-ratio:319/195; }
  .gd-trip-image>div { font-size:16px; gap:6px; }
  .gd-trip-place { font-size:28px; line-height:1.2; }
  .gd-trip-place.gd-trip-place-long { font-size:18px; line-height:1.3; }
  .gd-trip-card .gd-card-body { padding:12px 24px 16px; }
  .gd-trip-card h3,.gd-price-row strong { font-size:19px; }
  .gd-level { font-size:10px; max-width:45%; }
  .gd-price-row { gap:6px; margin-bottom:20px; }
  .gd-trip-card .gd-button { font-size:14px; min-height:45px; }
  .gd-reviews { padding:28px 0 24px; }
  .gd-review-decoration { top:26px; right:0; width:100px; height:100px!important; }
  .gd-review-track { display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:100%; gap:8px 16px; margin-right:0; padding:0; }
  .gd-review-card { width:100%; padding:32px 24px; gap:24px; }
  .gd-review-card>p { font-size:12px; }
  .gd-faq { padding:28px 0 24px; }
  .gd-faq>.gd-container { display:flex; flex-direction:column; }
  .gd-faq .gd-section-heading { order:0; }
  .gd-faq .gd-section-heading h2 { font-size:19px; }
  .gd-faq .gd-section-link { order:1; margin:0 0 24px; }
  .gd-faq-grid { order:2; }
  .gd-faq-grid summary { font-size:12px; padding:20px 24px; min-height:63px; }
  .gd-section-link .gd-button { font-size:14px; min-height:45px; padding:10px 20px; }
  .gd-blog { padding:28px 0 36px; }
  .gd-blog>.gd-container { display:flex; flex-direction:column; }
  .gd-blog .gd-section-link { order:1; margin:0 0 24px; }
  .gd-blog-grid { order:2; scrollbar-width:none; gap:18px; }
  .gd-blog-card { flex-basis:min(319px,calc(100vw - 64px)); }
  .gd-blog-card>a { aspect-ratio:319/184; }
  .gd-blog-card .gd-card-body { padding:10px 24px 18px; min-height:220px; }
  .gd-blog-card h3 { font-size:19px; }
  .gd-instagram { padding:42px 0 32px; }
  .gd-instagram>.gd-container { display:flex; flex-direction:column; gap:24px; }
  .gd-instagram-heading { display:contents; }
  .gd-instagram .gd-section-heading { text-align:center; margin:0; }
  .gd-instagram .gd-intro { text-align:center; font-size:12px; line-height:1.7; margin-top:8px; }
  .gd-instagram-heading>.gd-button { order:2; width:min(319px,100%); margin:0 auto; min-height:45px; font-size:14px; }
  .gd-instagram-grid { order:1; display:flex; gap:12px; width:100%; margin:0; padding:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .gd-instagram-grid>a,.gd-instagram-grid>button { flex:0 0 calc((100% - 24px)/3); scroll-snap-align:start; }
  .gd-instagram-grid img { aspect-ratio:98/130; border-radius:10px; }
  .gd-seo { padding:0 0 36px; }
  .gd-seo h2 { font-size:19px; text-transform:none; line-height:1.3; }
  .gd-seo .gd-richtext { font-size:12px; columns:1; line-height:1.5; }
  .gd-partners { padding:0 0 26px; }
  .gd-partners>.gd-eyebrow { font-size:12px; margin-bottom:18px!important; }
  .gd-partners>div { flex-wrap:nowrap; justify-content:flex-start; gap:36px; }
  .gd-partners img { height:35px; max-height:35px; max-width:none; }
}

@media(max-width:600px) {
  .gd-destinations .gd-section-heading h2 { margin-inline:-20px; }
}
.gd-review-card .gd-review-source { color:#777776; font-size:11px; letter-spacing:.1em; }
