/* Blog posts (2026-10-07): layout, booking CTA boxes and related posts. */
.blog-layout { display: flex; gap: 3rem; align-items: flex-start; }
.blog-article { flex: 1; min-width: 0; max-width: 760px; }
.blog-sidebar { flex: 0 0 300px; position: sticky; top: 90px; }
.blog-cta { border-radius: var(--radius-lg); margin: 2rem 0; }
.blog-cta--mid { background: var(--accent-gold-light); padding: 1.25rem 1.5rem; }
.blog-cta--end { background: var(--color-0); border: 1px solid var(--color-3); padding: 1.75rem 1.5rem; margin-top: 3rem; }
.blog-cta-title { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; color: var(--color-9); margin: 0 0 .9rem; }
.blog-cta-heading { font-family: var(--font-display); font-size: 1.3rem; color: var(--color-9); margin: 0 0 1rem; }
.blog-cta-heading:not(:first-child) { margin-top: 1.75rem; }
.blog-cta-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.blog-cta-buttons .btn { padding: .7rem 1.2rem; }
.blog-cta-trust { font-size: .85rem; color: var(--color-6); margin: .9rem 0 0; padding-left: 1.4rem; position: relative; line-height: 1.5; }
.blog-cta-trust::before { content: '✓'; position: absolute; left: 0; color: #136c3a; font-weight: 700; }
.blog-cta-top { display: flex; flex-wrap: wrap; gap: .5rem; margin: -1rem 0 1.5rem; }
.blog-cta-top .btn { min-height: 44px; }
.blog-cta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
/* Hotel cards are a horizontal list by default; stack them like .hotels-grid--cards. */
.blog-cta-grid .hotel-card-inner { flex-direction: column; }
.blog-cta-grid .hotel-card-img-wrap { width: 100%; height: 160px; min-height: 0; }
.blog-cta-more { display: inline-block; margin-top: .9rem; font-weight: 600; color: var(--color-9); text-decoration: underline; text-decoration-color: var(--accent-gold); text-underline-offset: 3px; }
.blog-cta-destinations { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.blog-cta-destinations a { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--color-3); border-radius: var(--radius-full); background: #fff; color: var(--color-8); font-weight: 600; font-size: .9rem; text-decoration: none; }
.blog-cta-destinations a:hover { border-color: var(--accent-gold); }
.blog-cta--search .search-bar { box-shadow: none; }
.blog-side-box { background: #fff; border-radius: var(--radius-lg); padding: 1.35rem 1.4rem; box-shadow: var(--shadow-xs); margin-bottom: 1.25rem; }
.blog-side-title { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--color-6); margin: 0 0 .75rem; }
.blog-side-links, .blog-side-posts { list-style: none; padding: 0; margin: 0; }
.blog-side-links a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: .35rem 0; border-bottom: 1px solid var(--color-1); color: var(--color-9); font-weight: 600; text-decoration: none; }
.blog-side-links li:last-child a { border-bottom: 0; }
.blog-side-links a::after { content: '→'; color: var(--accent-gold); transition: transform .15s ease; }
.blog-side-links a:hover::after { transform: translateX(3px); }
.blog-side-posts li + li { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--color-1); }
.blog-side-posts a { display: block; color: var(--color-9); font-weight: 600; font-size: .92rem; line-height: 1.4; text-decoration: none; }
.blog-side-posts a:hover { text-decoration: underline; text-decoration-color: var(--accent-gold); }
.blog-side-box .blog-cta-more { font-size: .9rem; }
.blog-related { margin-top: 3rem; }
.blog-related-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.blog-related-list a { color: var(--color-9); font-weight: 600; text-decoration: none; }
.blog-related-list a:hover { text-decoration: underline; text-decoration-color: var(--accent-gold); }
.entry-content h2 { font-family: var(--font-display); color: var(--color-9); font-size: 1.45rem; margin: 2rem 0 .75rem; line-height: 1.25; }
.entry-content h3 { color: var(--color-9); font-size: 1.15rem; margin: 1.5rem 0 .5rem; }
.entry-content a { color: var(--color-9); text-decoration: underline; text-decoration-color: var(--accent-gold); text-underline-offset: 3px; }
@media (max-width: 900px) {
	.blog-cta-grid { grid-template-columns: 1fr; }
	.blog-layout { flex-direction: column; gap: 2rem; }
	.blog-article { max-width: 100%; }
	.blog-sidebar { position: static; flex: none; width: 100%; }
}

/* Hero photo with Wikimedia Commons attribution (2026-10-07). */
.blog-hero { margin: 0 0 2.5rem; }
.blog-hero-credit { margin-top: 0.4rem; font-size: 0.75rem; line-height: 1.4; color: var(--color-6); text-align: right; }
.blog-hero-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
