/* Guide pages: travel styles, budgets and practical information. Builds on css/beach.css. Brand colours only. */
.gd-intro .bc-text a, .gd-section-text a, .bc-faq p a, .pi-body a { color: var(--bc-brown); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--bc-gold); }
.gd-intro .bc-text a:hover, .gd-section-text a:hover, .bc-faq p a:hover, .pi-body a:hover { color: var(--bc-dark); }
.gd-section-text p { margin-top: 8px; font-size: .94rem; line-height: 1.75; color: var(--bc-muted); }
.gd-sections { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }

/* Expert box */
.gd-expert { padding: 56px 0; background: var(--bc-dark); color: #fff; }
.gd-expert .bc-h2 { color: #fff; }
.gd-expert .bc-text { color: rgba(255, 255, 255, .8); }
.gd-expert-inner { display: grid; gap: 28px; align-items: center; }
@media (min-width: 960px) { .gd-expert-inner { grid-template-columns: 1fr auto; gap: 48px; } }
.gd-expert-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.gd-expert-line { display: flex; flex-direction: column; color: #fff; text-decoration: none; }
.gd-expert-line span { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--bc-gold); }
.gd-expert-line strong { margin-top: 4px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-weight: 500; }
.gd-expert-line:hover strong { text-decoration: underline; text-decoration-color: var(--bc-gold); text-underline-offset: 4px; }

/* Links to related pages */
.gd-others-sec { padding-top: 64px; padding-bottom: 64px; }
.gd-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.gd-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--bc-line); border-radius: 999px; font-size: .9rem; color: var(--bc-dark); text-decoration: none; transition: border-color .25s, background .25s; }
.gd-chips a:hover { border-color: var(--bc-gold); background: var(--bc-paper); }

/* Practical information hub */
.pi-topics { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.pi-topic a { display: flex; gap: 14px; height: 100%; padding: 18px 18px 20px; border: 1px solid var(--bc-line); border-radius: 4px; background: #fff; color: var(--bc-dark); text-decoration: none; transition: transform .35s var(--bc-ease), box-shadow .35s var(--bc-ease), border-color .25s; }
.pi-topic a:hover { transform: translateY(-2px); border-color: var(--bc-gold); box-shadow: 0 18px 32px -26px rgba(43, 30, 18, .45); }
.pi-topic svg { flex: none; width: 26px; height: 26px; color: var(--bc-gold); }
.pi-topic strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 1.12rem; font-weight: 500; line-height: 1.3; }
.pi-topic small { display: block; margin-top: 4px; font-size: .84rem; line-height: 1.55; color: var(--bc-muted); }

.pi-layout { display: grid; gap: 40px; }
@media (min-width: 1024px) { .pi-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 64px; } }
.pi-toc { display: none; }
@media (min-width: 1024px) { .pi-toc { display: block; position: sticky; top: 110px; align-self: start; } }
.pi-toc p { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--bc-brown); }
.pi-toc ol { margin: 14px 0 0; padding: 0; list-style: none; border-left: 1px solid var(--bc-line); }
.pi-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: .9rem; color: var(--bc-muted); text-decoration: none; }
.pi-toc a:hover, .pi-toc a.is-active { border-left-color: var(--bc-gold); color: var(--bc-dark); }

.pi-section { padding: 0 0 48px; margin-bottom: 48px; border-bottom: 1px solid var(--bc-line); scroll-margin-top: 110px; }
.pi-section:last-child { border-bottom: 0; margin-bottom: 0; }
.pi-section header { display: flex; align-items: center; gap: 14px; }
.pi-section header svg { flex: none; width: 34px; height: 34px; color: var(--bc-gold); }
.pi-body { margin-top: 14px; }
.pi-body p { margin-top: 14px; font-size: 1rem; line-height: 1.8; color: var(--bc-muted); }
.pi-body ul { margin: 14px 0 0; padding-left: 20px; }
.pi-body li { margin-top: 8px; line-height: 1.7; color: var(--bc-muted); list-style: disc; }
.pi-body strong { color: var(--bc-dark); }
.pi-body h3 { margin-top: 24px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; font-weight: 500; }
.pi-more { display: inline-block; margin-top: 18px; }
.pi-figure { margin: 22px 0 0; overflow: hidden; border-radius: 4px; aspect-ratio: 16 / 9; background: var(--bc-cream); }
.pi-figure img { width: 100%; height: 100%; object-fit: cover; }
.pi-weather { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 18px; background: var(--bc-line); border: 1px solid var(--bc-line); }
@media (min-width: 700px) { .pi-weather { grid-template-columns: repeat(4, 1fr); } }
.pi-weather div { padding: 16px; background: #fff; }
.pi-weather span { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bc-brown); }
.pi-weather strong { display: block; margin-top: 6px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.05rem; font-weight: 500; }
.pi-weather em { display: block; margin-top: 4px; font-style: normal; font-size: .84rem; line-height: 1.5; color: var(--bc-muted); }
.pi-help { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.pi-help a { display: block; height: 100%; padding: 22px; border-radius: 4px; background: #fff; border: 1px solid var(--bc-line); color: var(--bc-dark); text-decoration: none; }
.pi-help a:hover { border-color: var(--bc-gold); }
.pi-help strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; font-weight: 500; }
.pi-help small { display: block; margin-top: 6px; font-size: .88rem; line-height: 1.6; color: var(--bc-muted); }

/* Destination guide */
.gd-save { display: inline-flex; align-items: center; color: #fff; }
.gd-best-text p { margin-top: 10px; }
.gd-best-text p:first-child { margin-top: 0; }
.gd .bc-stone .gd-best-link { align-self: flex-start; margin-top: 22px; color: var(--bc-gold); }
.gd-best .bc-h2 { color: #fff; }
.gd-best .gd-best-text, .gd-best .gd-best-text p { color: rgba(255, 255, 255, .85); }
