/* /contact/ : page-only rules (blueprint C7, design-v2 B). Everything else comes from site.css. Europa 400/700 only. */

/* Text hero with the contact card in columns 9-12 */
.hero--contact .hero__copy{max-width:none}
.contact-card{order:2;background:#fff;border:1px solid var(--c-rule);border-radius:28px;box-shadow:var(--sh-lg);padding:var(--card-pad);font-variant-numeric:tabular-nums lining-nums;max-width:var(--w-form-card)}
.contact-card > * + *{margin-top:var(--s-3)}
.contact-card__name{margin-bottom:4px}
.contact-card__address{font-size:var(--t-h3);font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--c-navy)}
.contact-card__line{display:flex;align-items:center;gap:8px;font-size:var(--t-ui);line-height:1.4;color:var(--c-ink)}
.contact-card__line .icon{margin-top:0;color:var(--c-teal)}
.contact-card__mail{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--c-rule);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:var(--t-ui)}
.contact-card__mail span{font-size:var(--t-small);font-weight:700;color:var(--c-muted)}
.contact-card__mail a{font-weight:700;color:var(--c-navy);text-decoration-color:var(--c-teal-soft);overflow-wrap:anywhere}
.contact-card__actions{margin-top:var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-3)}
.contact-card .contact-hours{margin-top:var(--s-4)}
.contact-card__status:empty{display:none}
.contact-card__status{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s-3);padding:6px 12px 6px 10px;border-radius:var(--r-pill);background:var(--c-teal-tint);color:var(--c-teal-dark);font-size:var(--t-small);font-weight:700;line-height:1.3}
.contact-card__status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-teal);flex:none}
@media (min-width:1024px){
  .hero--contact .hero__grid{align-items:center}
  .hero--contact .hero__copy{grid-column:1 / 8}
  .contact-card{grid-column:9 / -1;margin-left:auto;width:100%}
}

/* Opening hours table (UI type, tabular figures) */
.contact-hours{font-size:var(--t-ui);line-height:1.4;font-variant-numeric:tabular-nums lining-nums;border-top:1px solid var(--c-rule)}
.contact-hours th,.contact-hours td{padding:10px 12px 10px 0;border-bottom:1px solid var(--c-rule);vertical-align:top}
.contact-hours th{font-weight:700;color:var(--c-navy);width:60%}
.contact-hours td{white-space:nowrap;color:var(--c-ink)}

/* 02: arrow link under the photo paragraph */
.fotos__link{margin-top:var(--s-4)}

/* Team photo band (cut-out on white in a rounded frame) */
.contact-team{padding-block:0 var(--section-pad)}
.contact-team__figure{max-width:960px}
.contact-team__figure .frame{background:#fff;border:1px solid var(--c-rule);box-shadow:var(--sh-card)}

/* 03: address, text and the map card (same card as the CTA band) */
.route .route__map{max-width:600px}
.route .map-card__art .map{border-radius:0;border:0}
.route .map-card__body{padding:20px 22px 22px}
@media (min-width:1024px){
  .route .route__map{justify-self:end;width:100%}
}

