/* Contact page only; AZ owns the shared header, footer, typography and contact data. */
.az-child-contact { background:var(--az-color-page,#f0f0f0); color:var(--az-color-muted,#777); font-size:var(--az-body-size,16px); line-height:var(--az-body-line-height,1.65); }
.az-child-contact__container { padding-block:10px 24px; }
.az-child-contact :is(h1,h2) { font-family:var(--az-font-heading,sans-serif); line-height:var(--az-heading-line-height,1.3); font-weight:var(--az-heading-weight,500); }
.az-child-contact :is(a,button,select):focus-visible { outline:2px solid var(--az-color-primary,#00a5df); outline-offset:4px; }
.az-child-contact :is(a,button,select) { font:inherit; }
.az-child-contact a { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.az-child-contact a:hover { text-decoration:underline; }
.az-child-contact [id] { scroll-margin-top:100px; }
.az-child-contact [hidden] { display:none !important; }
.az-child-contact__hero,.az-child-contact__company { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:32px; }
.az-child-contact :is(.az-child-contact__hero,.az-child-contact__company).is-text-only { grid-template-columns:minmax(0,1fr); }
.az-child-contact__hero { margin-bottom:36px; }
.az-child-contact__hero > div { padding-block:40px; }
.az-child-contact__hero h1 { margin:0 0 36px; font-size:calc(var(--az-h1-size,48px) * 1.25); color:var(--az-color-accent,#23395f); }
.az-child-contact__hero h1::before { content:''; display:block; width:120px; height:4px; margin-bottom:8px; background:var(--az-color-primary,#00a5df); }
.az-child-contact figure { margin:0; min-width:0; }
.az-child-contact figure img { display:block; width:100%; height:auto; }
.az-child-contact__hero img { aspect-ratio:1; object-fit:cover; }
.az-child-contact__details { list-style:none; padding:0; margin:0; }
.az-child-contact__details li { display:flex; align-items:flex-start; gap:6px; margin:0 0 6px; min-width:0; }
.az-child-contact__details li > span { min-width:0; overflow-wrap:anywhere; }
.az-child-contact__details svg { flex:0 0 18px; width:18px; height:18px; margin-top:.25em; }
.az-child-contact__hero .az-child-contact__details { color:var(--az-color-accent,#23395f); font-size:1.2em; }
.az-child-contact__company { background:var(--az-color-surface,#fff); padding:14px 14px 14px 28px; margin-bottom:20px; }
.az-child-contact__info { padding-block:36px; min-width:0; }
.az-child-contact__info h2 { margin:0 0 20px; color:var(--az-color-primary,#00a5df); font-size:calc(var(--az-h2-size,34px) * .82); overflow-wrap:anywhere; }
.az-child-contact__info .az-child-contact__details { font-size:.9em; }
.az-child-contact__divided { border-top:1px solid var(--az-color-border,#eee); margin-top:24px; padding-top:18px; }
.az-child-contact__description { margin:22px 0 0; font-size:.9em; overflow-wrap:anywhere; }
.az-child-contact__poster img { object-fit:contain; }
.az-child-contact__stores { padding:14px; background:var(--az-color-surface,#fff); }
.az-child-contact__filters { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto; align-items:center; gap:16px; padding:18px 16px 28px; background:var(--az-color-page,#f0f0f0); }
.az-child-contact__filters h2 { margin:0; font-size:1.05em; color:var(--az-color-heading,#444); }
.az-child-contact__filters select { width:100%; min-width:0; min-height:40px; padding:8px 30px 8px 10px; border:1px solid var(--az-color-border,#ddd); border-radius:2px; background:var(--az-color-surface,#fff); color:var(--az-color-text,#555); font-size:.85em; }
.az-child-contact__filters button[type=submit] { border:0; border-radius:3px; min-height:42px; padding:9px 18px; background:var(--az-color-accent,#522078); color:#fff; cursor:pointer; }
.az-child-contact__filters .az-child-contact__nearby { grid-column:2 / -1; justify-self:start; border:0; padding:6px 0; background:transparent; color:var(--az-color-muted,#777); cursor:pointer; text-align:left; font-size:.9em; }
.az-child-contact__filters button:disabled { opacity:.6; cursor:wait; }
.az-child-contact__filter-note { grid-column:2 / -1; margin:0; font-size:.75em; }
.az-child-contact__locator-grid { display:grid; grid-template-columns:minmax(220px,.85fr) minmax(0,2.15fr); min-height:440px; }
.az-child-contact__store-list { background:var(--az-color-page,#f7f7f7); min-width:0; }
.az-child-contact__store-list ul { padding:0; margin:0; list-style:none; max-height:520px; overflow:auto; }
.az-child-contact__result { margin:0; padding:12px; font-size:.85em; color:var(--az-color-heading,#444); }
.az-child-contact__store-list li { margin:0; padding:16px 12px; border-top:1px solid var(--az-color-border,#eee); }
.az-child-contact__store-list li.is-active { background:var(--az-color-surface,#fff); box-shadow:inset 3px 0 var(--az-color-primary,#00a5df); }
.az-child-contact__store-list button { border:0; background:transparent; padding:0; color:var(--az-color-primary,#00a5df); text-align:left; font-size:.9em; font-weight:600; cursor:pointer; }
.az-child-contact__store-list p { margin:6px 0; font-size:.85em; overflow-wrap:anywhere; }
.az-child-contact__store-list a { font-size:.85em; color:var(--az-color-accent,#23395f); }
.az-child-contact__map { min-width:0; min-height:440px; background:var(--az-color-border,#e8eaed); }
.az-child-contact__map iframe { display:block; width:100%; height:100%; min-height:440px; border:0; }
.az-child-contact__map-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:440px; padding:32px; text-align:center; }
.az-child-contact__map-empty p { margin:0 0 18px; }
.az-child-contact__map-empty a { color:var(--az-color-primary,#00a5df); }
.az-child-contact .az-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:960px) {
 .az-child-contact__filters { grid-template-columns:1fr 1fr auto; }
 .az-child-contact__filters h2 { grid-column:1 / -1; }
 .az-child-contact__filter-note,.az-child-contact__filters .az-child-contact__nearby { grid-column:1 / -1; }
 .az-child-contact__hero h1 { font-size:var(--az-h1-size,42px); }
}
@media(max-width:782px) {
 .az-child-contact__hero,.az-child-contact__company { grid-template-columns:minmax(0,1fr); gap:24px; }
 .az-child-contact__hero > div { padding-block:24px 0; }
 .az-child-contact__hero h1 { margin-bottom:24px; }
 .az-child-contact__hero img { max-height:480px; }
 .az-child-contact__company { padding:22px; }
 .az-child-contact__info { padding-block:10px; }
 .az-child-contact__locator-grid { grid-template-columns:minmax(0,1fr); }
 .az-child-contact__store-list ul { max-height:300px; }
 .az-child-contact__map,.az-child-contact__map iframe,.az-child-contact__map-empty { min-height:340px; }
}
@media(max-width:520px) {
 .az-child-contact__filters { grid-template-columns:minmax(0,1fr); padding:18px 12px; }
 .az-child-contact__stores { padding:10px; }
 .az-child-contact__hero .az-child-contact__details { font-size:1em; }
 .az-child-contact__hero h1 { font-size:var(--az-h1-size,36px); }
}
