/* Shared guide cards on home, catalogue, region and provider pages. */
.guide-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; border: 0; }
.ht-guide-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #dedfd4; border-radius: 16px; }
.ht-guide-cover { display: block; overflow: hidden; background: #e9ede3; text-decoration: none; }
.ht-guide-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1.7; object-fit: cover; transition: transform .25s ease; }
.ht-guide-cover:hover img { transform: scale(1.025); }
.ht-guide-body { flex: 1; display: flex; flex-direction: column; padding: 1.35rem 1.4rem 1.4rem; }
.ht-guide-body .ht-guide-label { margin: 0 0 .65rem; font: 700 .65rem/1.5 Arial,sans-serif; letter-spacing: .11em; text-transform: uppercase; color: #766340; }
.ht-guide-card .ht-guide-body h3 { margin: 0 0 .75rem; font: 400 clamp(1.35rem,2vw,1.7rem)/1.2 Georgia,serif; letter-spacing: -.025em; color: #173f38; overflow-wrap: break-word; }
.ht-guide-card .ht-guide-body h3 a { color: inherit; text-decoration: none; }
.ht-guide-card .ht-guide-body h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ht-guide-body > p:not(.ht-guide-label) { margin: 0 0 1.25rem; font-size: .9rem; line-height: 1.7; color: #53685e; }
.ht-guide-body .ht-guide-link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid #e5e7df; color: #173f38; font-size: .8rem; font-weight: 700; text-decoration: none; }
.ht-guide-link:hover { text-decoration: underline; }
.home-guides-section .guide-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-guides-section { padding-block: 4rem; }
.home-guides-section .section-head { margin-bottom: 1.75rem; }
.guide-list.compact { grid-template-columns: minmax(0,1fr); }
.guide-list.compact .ht-guide-card { display: grid; grid-template-columns: 145px minmax(0,1fr); }
.guide-list.compact .ht-guide-cover { height: 100%; }
.guide-list.compact .ht-guide-cover img { height: 100%; min-height: 200px; aspect-ratio: auto; }
.guide-list.compact .ht-guide-body { padding: 1.25rem; }
.guide-list.compact .ht-guide-body h3 { font-size: 1.45rem; }
.gl-grid .ht-guide-body h3 { font-size: 1.6rem; }
@media(max-width:1000px) { .home-guides-section .guide-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
  .guide-list, .home-guides-section .guide-list { grid-template-columns: minmax(0,1fr); }
  .home-guides-section { padding-block: 2.75rem; }
  .guide-list .ht-guide-card, .guide-list.compact .ht-guide-card { display: grid; grid-template-columns: 105px minmax(0,1fr); }
  .guide-list .ht-guide-cover img, .guide-list.compact .ht-guide-cover img { height: 100%; min-height: 190px; aspect-ratio: auto; object-fit: cover; }
  .guide-list .ht-guide-body { padding: 1rem; }
  .ht-guide-card .ht-guide-body h3, .guide-list.compact .ht-guide-body h3 { font-size: 1.25rem; }
  .ht-guide-body > p:not(.ht-guide-label) { font-size: .82rem; line-height: 1.6; }
  .gl-grid .ht-guide-cover img { aspect-ratio: 1.7; }
}
@media(prefers-reduced-motion:reduce) { .ht-guide-cover img { transition: none; } }
