/* Shared homepage centre cards, scoped for every page layout. */
.aveya-centres { margin: 0; background: var(--aveya-surface); color: var(--aveya-text); font: var(--aveya-text-body)/var(--aveya-leading-body) var(--aveya-font-body); -webkit-text-size-adjust: 100%; }
.aveya-centres *, .aveya-centres *::before, .aveya-centres *::after { box-sizing: border-box; }
.aveya-centres h1, .aveya-centres h2, .aveya-centres h3, .aveya-centres p, .aveya-centres figure { margin: 0; }
.aveya-centres h1, .aveya-centres h2, .aveya-centres h3 { color: var(--aveya-heading); font-family: var(--aveya-font-heading); font-weight: 400; line-height: var(--aveya-leading-heading); letter-spacing: -.035em; }
.aveya-centres h2 { font-size: var(--aveya-heading-section); text-wrap: balance; }
.aveya-centres h3 { font-size: var(--aveya-heading-card); }
.aveya-centres a { color: inherit; text-decoration: none; text-underline-offset: 5px; }
.aveya-centres a:hover { color: var(--aveya-action-hover); }
.aveya-centres a:focus-visible, .aveya-centres button:focus-visible, .aveya-centres summary:focus-visible, .aveya-centres input:focus-visible { outline: 3px solid var(--aveya-focus); outline-offset: 5px; }
.aveya-centres img { display: block; max-width: 100%; height: auto; }
.aveya-centres .home-wrap { width: min(var(--aveya-content-width), calc(100% - var(--aveya-page-gutter) * 2)); margin-inline: auto; }
.aveya-centres .home-section { padding-block: var(--aveya-section-space); }
.aveya-centres .home-eyebrow { display: block; margin-bottom: var(--aveya-space-4); color: var(--aveya-brand); font-size: .75rem; font-weight: 600; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; }
.aveya-centres .home-link { display: inline-flex; align-items: center; gap: var(--aveya-space-3); min-height: 44px; color: var(--aveya-action); font-weight: 500; }
.aveya-centres .home-link span:first-child { text-decoration: underline; }
.aveya-centres .home-link .home-arrow { transition: transform var(--aveya-transition); }
.aveya-centres .home-link:hover .home-arrow { transform: translateX(4px); }
.aveya-centres .home-icon { display: inline-block; flex: 0 0 auto; width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; color: var(--aveya-brand); }
.aveya-centres .home-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--aveya-space-5); margin-bottom: var(--aveya-space-6); }
.aveya-centres .home-section-header .home-eyebrow { margin-bottom: var(--aveya-space-3); }
.aveya-centres .home-map-link { display: inline-flex; align-items: center; justify-content: center; float: right; width: 44px; height: 44px; margin: -8px -8px var(--aveya-space-2) var(--aveya-space-2); border: 1px solid var(--aveya-border); border-radius: var(--aveya-radius-small); }
.aveya-centres .home-map-link .home-icon { width: 24px; height: 24px; }
.aveya-centres .home-map-link:hover { background: var(--aveya-surface-soft); }
.aveya-centres .home-locations { padding-top: 0; }
.aveya-centres .home-centres { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--aveya-space-5); }
.aveya-centres .home-centre { display: grid; grid-template-columns: 42% 1fr; border: 1px solid var(--aveya-border); border-radius: var(--aveya-radius-panel); overflow: hidden; }
.aveya-centres .home-centre > img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; }
.aveya-centres .home-centre-copy { padding: var(--aveya-space-5); }
.aveya-centres .home-centre-copy h3 { margin-bottom: var(--aveya-space-2); font-size: 1.625rem; }
.aveya-centres .home-centre-copy > p { color: var(--aveya-text-muted); font-size: var(--aveya-text-small); }
.aveya-centres .home-centre-copy address { margin-top: var(--aveya-space-3); color: var(--aveya-text-muted); font-size: var(--aveya-text-small); font-style: normal; }
@media (max-width: 1050px) {
  .aveya-centres .home-centre { grid-template-columns: 1fr; }
  .aveya-centres .home-centre > img { height: 220px; min-height: 0; }
}
@media (max-width: 600px) {
   .aveya-centres .home-centres { grid-template-columns: 1fr; }
  .aveya-centres .home-section-header { align-items: flex-start; flex-direction: column; gap: var(--aveya-space-3); }
  .aveya-centres .home-centre > img { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .aveya-centres *, .aveya-centres *::before, .aveya-centres *::after { scroll-behavior: auto; transition: none; }
}
