/* Scoped catalogue and blog layout; shared site features remain untouched. */
body.fg-premium.fg-catalogue-refined { background: #fff; }
body.fg-premium.fg-catalogue-refined .editorial-page { padding-top: 24px; }
body.fg-premium.fg-catalogue-refined :is(h1,h2,h3), body.fg-blog-article :is(h1,h2,h3) { font-family: 'Bricolage Grotesque',Poppins,sans-serif; letter-spacing: 0; }
body.fg-premium.fg-catalogue-refined .editorial-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 460px; padding: 48px; margin: 0; border: 0; border-radius: 8px; box-shadow: none; background: #173f4b; }
body.fg-premium.fg-catalogue-refined .editorial-hero::after { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: rgba(12,36,40,.62); z-index: -1; }
body.fg-premium.fg-catalogue-refined .catalogue-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
body.fg-premium.fg-catalogue-refined .editorial-hero > div { max-width: 780px; padding: 0; }
body.fg-premium.fg-catalogue-refined .editorial-hero h1 { font-size: 52px; line-height: 1.08; margin: 14px 0 20px; color: #fff; }
body.fg-premium.fg-catalogue-refined .editorial-hero p { font-size: 16px; line-height: 1.8; max-width: 680px; color: #fff; }
body.fg-premium.fg-catalogue-refined .editorial-hero .catalogue-hero-lead { font-size: 22px; line-height: 1.5; margin: 0 0 12px; }
body.fg-premium.fg-catalogue-refined .kicker { font-size: 12px; letter-spacing: 0; font-weight: 600; }
body.fg-premium.fg-catalogue-refined .editorial-hero .kicker { color: #f8d46b; }
body.fg-premium.fg-catalogue-refined .catalogue-intro { display: block; padding: 28px 0; margin: 0; border-bottom: 1px solid #dde7e3; }
body.fg-premium.fg-catalogue-refined .catalogue-intro h2 { color: #173f4b; font-size: 30px; line-height: 1.25; margin: 0 0 10px; }
body.fg-premium.fg-catalogue-refined .catalogue-intro p { font-size: 14px; line-height: 1.8; color: #536b71; margin: 8px 0; }
body.fg-premium.fg-catalogue-refined .catalogue-intro details { padding: 10px 0; }
body.fg-premium.fg-catalogue-refined .catalogue-intro summary { font-size: 13px; line-height: 1.7; color: #173f4b; cursor: pointer; min-height: 32px; }
body.fg-premium.fg-catalogue-refined .blog-filter-panel { padding: 28px 0 16px; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.fg-premium.fg-catalogue-refined .blog-filter-head .kicker { display: none; }
body.fg-premium.fg-catalogue-refined .blog-filter-head h2 { font-size: 16px; line-height: 1.5; margin: 0 0 16px; }
body.fg-premium.fg-catalogue-refined .blog-filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
body.fg-premium.fg-catalogue-refined .blog-filter-buttons button { min-height: 44px; padding: 10px 14px; border: 1px solid #d7e3df; border-radius: 6px; background: #fff; color: #173f4b; box-shadow: none; font-size: 13px; font-weight: 500; line-height: 1.5; }
body.fg-premium.fg-catalogue-refined .blog-filter-buttons button.is-active { background: #173f4b; border-color: #173f4b; color: #fff; }
body.fg-premium.fg-catalogue-refined .blog-result-count { font-size: 13px; color: #536b71; margin: 0 0 24px; }
body.fg-premium.fg-catalogue-refined .editorial-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 32px 0 48px; }
body.fg-premium.fg-catalogue-refined .editorial-card { display: flex; flex-direction: column; border: 1px solid #dde7e3; border-radius: 8px; box-shadow: none; color: #173f4b; text-decoration: none; min-width: 0; }
body.fg-premium.fg-catalogue-refined .editorial-card[hidden] { display: none; }
body.fg-premium.fg-catalogue-refined .editorial-card > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 8; object-fit: cover; }
body.fg-premium.fg-catalogue-refined .editorial-card > div { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 24px; background: #fff; }
body.fg-premium.fg-catalogue-refined .editorial-card:nth-child(4n+2) > div { background: #eff7f3; }
body.fg-premium.fg-catalogue-refined .editorial-card:nth-child(4n+3) > div { background: #fff9e7; }
body.fg-premium.fg-catalogue-refined .editorial-card:nth-child(4n+4) > div { background: #fff1ed; }
body.fg-premium.fg-catalogue-refined .editorial-card h3 { font-size: 24px; line-height: 1.3; font-weight: 700; color: #173f4b; margin: 0; overflow-wrap: anywhere; }
body.fg-premium.fg-catalogue-refined .editorial-card p { font-size: 14px; line-height: 1.8; color: #536b71; margin: 0; }
body.fg-premium.fg-catalogue-refined .editorial-card :is(.editorial-tag,.editorial-date) { font-size: 12px; font-weight: 500; line-height: 1.6; }
body.fg-premium.fg-catalogue-refined .editorial-card .editorial-tag { display: inline-flex; align-self: flex-start; align-items: center; flex: 0 0 auto; width: fit-content; max-width: 100%; min-height: 28px; padding: 4px 10px; border-radius: 6px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; letter-spacing: 0; box-shadow: none; }
body.fg-premium.fg-catalogue-refined .editorial-card .catalogue-read-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; margin-top: auto; padding-top: 16px; border-top: 1px solid #dce5e1; color: #173f4b; font-size: 14px; font-weight: 600; line-height: 1.5; text-transform: none; letter-spacing: 0; }
body.fg-premium.fg-catalogue-refined .editorial-card .catalogue-read-link span { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #f7d56a; color: #173f4b; font-size: 18px; line-height: 1; }
body.fg-premium.fg-catalogue-refined .editorial-cta { margin: 0 0 32px; border-radius: 8px; }
body.fg-premium.fg-catalogue-refined .editorial-cta h2 { font-size: 28px; line-height: 1.3; }
body.fg-premium.fg-catalogue-refined :is(summary,button,.editorial-card):focus-visible { outline: 3px solid #d9a516; outline-offset: 4px; }

body.fg-premium.fg-premium-detail.fg-blog-article .editorial-page > section:not(.editorial-hero):not(.editorial-cta):not(.editorial-links) { padding: 32px 0; margin: 0; border: 0; border-bottom: 1px solid #e1e8e5; border-radius: 0; background: transparent; box-shadow: none; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.4fr); gap: 24px; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-content aside { padding: 22px; border: 0; border-left: 3px solid #e6bf4d; border-radius: 0; background: #fff9e7; box-shadow: none; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-page > section h2 { font-size: 30px; line-height: 1.25; color: #173f4b; scroll-margin-top: 24px; }
body.fg-premium.fg-premium-detail.fg-blog-article .destination-section-header { padding: 0; margin-bottom: 24px; }
body.fg-premium.fg-premium-detail.fg-blog-article .destination-section-header p { max-width: 780px; font-size: 14px; color: #536b71; line-height: 1.8; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.free-activities-grid,.free-budget-grid,.travel-city-app-grid,.destination-age-grid,.disney-duration-grid,.travel-app-category-grid,.heat-day-rhythm-grid,.micro-tips-grid,.editorial-columns) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.free-activity-card,.free-budget-card,.travel-city-app-card,.destination-age-card,.disney-duration-card,.heat-day-card,.editorial-columns > article) { min-width: 0; border: 1px solid #dde7e3; border-radius: 8px; box-shadow: none; overflow: hidden; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.free-activity-card,.travel-city-app-card,.destination-age-card) > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.free-activity-body,.travel-city-app-body) { padding: 22px; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.free-activity-card,.free-budget-card,.travel-city-app-card,.destination-age-card,.disney-duration-card,.heat-day-card) :is(h2,h3) { font-size: 21px; line-height: 1.35; color: #173f4b; margin: 0 0 12px; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-page section :is(p,li) { font-size: 14px; line-height: 1.85; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-hero.detail p { color: #fff; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-hero.detail :is(.eyebrow,.kicker) { color: #f8d46b; font-size: 12px; font-weight: 600; letter-spacing: 0; }
body.fg-premium.fg-premium-detail.fg-blog-article .article-date { color: #fff; font-size: 12px; font-weight: 500; margin: 12px 0; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-pills span { font-size: 11px; padding: 6px 10px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); color: #fff; box-shadow: none; }
body.fg-premium.fg-premium-detail.fg-blog-article :is(.europe-choice-table-wrap,.budget-table-wrap) { overflow-x: auto; max-width: 100%; }
body.fg-premium.fg-premium-detail.fg-blog-article .travel-app-item { box-shadow: none; border-radius: 4px; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-links { margin: 28px 0; padding: 20px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.fg-premium.fg-premium-detail.fg-blog-article .editorial-cta h2 { color: #fff; }
@media(max-width:760px) {
  body.fg-premium.fg-catalogue-refined .editorial-page { padding-top: 16px; }
  body.fg-premium.fg-catalogue-refined .editorial-hero { min-height: 360px; padding: 30px 24px; }
  body.fg-premium.fg-catalogue-refined .editorial-hero h1 { font-size: 36px; line-height: 1.12; }
  body.fg-premium.fg-catalogue-refined .editorial-hero p { font-size: 14px; }
  body.fg-premium.fg-catalogue-refined .editorial-hero .catalogue-hero-lead { font-size: 18px; }
  body.fg-premium.fg-catalogue-refined .catalogue-intro { grid-template-columns: 1fr; padding: 26px 0; gap: 6px; }
  body.fg-premium.fg-catalogue-refined .catalogue-intro h2 { font-size: 26px; }
  body.fg-premium.fg-catalogue-refined .editorial-list { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  body.fg-premium.fg-catalogue-refined .editorial-card > img { aspect-ratio: 16 / 9; }
  body.fg-premium.fg-catalogue-refined .editorial-card > div { padding: 22px; }
  body.fg-premium.fg-catalogue-refined .editorial-card h3 { font-size: 22px; }
  body.fg-premium.fg-catalogue-refined .editorial-cta h2 { font-size: 24px; }
  body.fg-premium.fg-premium-detail.fg-blog-article :is(.editorial-content,.free-activities-grid,.free-budget-grid,.travel-city-app-grid,.destination-age-grid,.disney-duration-grid,.travel-app-category-grid,.heat-day-rhythm-grid,.micro-tips-grid,.editorial-columns) { grid-template-columns: 1fr; }
  body.fg-premium.fg-premium-detail.fg-blog-article .editorial-page > section h2 { font-size: 25px; }
  body.fg-premium.fg-premium-detail.fg-blog-article .editorial-hero.detail h1 { font-size: 30px; }
}
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 28px 32px; background: #eff7f3; border: 0; border-top: 1px solid #dce5e1; border-radius: 6px; box-shadow: none; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta > div > span { color: #52736b; font-size: 11px; font-weight: 500; letter-spacing: 0; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta h2 { margin: 8px 0 10px; color: #173f4b; font-size: 24px; font-weight: 600; line-height: 1.35; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta p { margin: 0; max-width: 680px; color: #536b71; font-size: 14px; font-weight: 400; line-height: 1.75; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-cta .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 1px solid #d7ae31; border-radius: 6px; background: #f7d56a; color: #173f4b; font-size: 13px; font-weight: 500; line-height: 1.5; box-shadow: none; white-space: normal; text-align: center; }
body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-cta .button.ghost { background: transparent; border-color: #b8ccc5; color: #173f4b; }
@media(max-width:1000px) {
  body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta { grid-template-columns: 1fr; }
}
@media(max-width:760px) {
  body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta { padding: 24px 22px; gap: 20px; }
  body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-page .editorial-cta h2 { font-size: 22px; }
  body.fg-premium:is(.fg-catalogue-refined,.fg-blog-article) .editorial-cta-actions { display: grid; grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:no-preference) {
  body.fg-catalogue-refined .editorial-hero > div { animation: catalogue-enter .4s ease-out; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body.fg-premium.fg-catalogue-refined .editorial-card { overflow: hidden; transition: translate .25s ease, box-shadow .25s ease; }
  body.fg-premium.fg-catalogue-refined .editorial-card > img { transition: transform .35s ease; }
  body.fg-premium.fg-catalogue-refined .editorial-card .catalogue-read-link span { transition: transform .25s ease; }
  body.fg-premium.fg-catalogue-refined .editorial-card:is(:hover,:focus-visible) { translate: 0 -3px; box-shadow: 0 8px 24px rgba(23,63,75,.09); }
  body.fg-premium.fg-catalogue-refined .editorial-card:is(:hover,:focus-visible) > img { transform: scale(1.03); }
  body.fg-premium.fg-catalogue-refined .editorial-card:is(:hover,:focus-visible) .catalogue-read-link span { transform: translateX(3px); }
}
@keyframes catalogue-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
