/*
 * TravelAzores Core — structural fallbacks so blocks remain usable with any theme.
 * The TravelAzores theme provides the full visual design.
 */
.ta-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.ta-grid--list { grid-template-columns: 1fr; }
.ta-card { position: relative; }
.ta-card__media img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 2; object-fit: cover; }
.ta-card__meta, .ta-hero__meta, .ta-share__list, .ta-map__list, .ta-strip__groups, .ta-strip__islands { list-style: none; padding: 0; }
.ta-card__meta, .ta-share__list { display: flex; flex-wrap: wrap; gap: .25rem .75rem; }
.ta-strip__groups { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.ta-video__frame { position: relative; aspect-ratio: 16 / 9; background: #202a2b; overflow: hidden; }
.ta-video__frame video, .ta-video__iframe, .ta-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.ta-video__play { position: absolute; inset: 0; width: 100%; cursor: pointer; }
.ta-map__canvas { height: 24rem; }
.ta-hero__media img { width: 100%; max-height: 34rem; object-fit: cover; display: block; }
.ta-facts__row dd { margin: 0 0 .5rem; }
.ta-demo-notice { border: 2px dashed #7e91c8; padding: .75rem 1rem; font-weight: 700; }
.ta-sitemap { columns: 2 18rem; column-gap: 2.5rem; }
.ta-sitemap__section { break-inside: avoid; margin-bottom: 1.5rem; }
.ta-sitemap__section h2 { margin-top: 0; }
