/* Google Maps/reviews section. Uses the existing FAS design tokens.
   No remote image, font, or iframe is fetched by this stylesheet. */
.fas-google-presence {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: start;
}
.fas-google-copy h3 { margin-bottom: 12px; }
.fas-google-copy p { max-width: 58ch; }
.fas-google-services {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 18px 0 28px;
}
.fas-google-services a,
.fas-google-links a,
.fas-google-privacy a {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.fas-google-reviews {
  border-top: 1px solid var(--hair, #d6d1c9);
  padding-top: 24px;
}
.fas-google-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}
.fas-google-actions .btn { padding-inline: 21px; }
.fas-google-map {
  min-width: 0;
  border: 1px solid var(--hair, #d6d1c9);
  border-radius: var(--radius-lg, 14px);
  overflow: hidden;
  background: var(--paper-3, #fbf8f1);
}
.fas-google-map-screen {
  min-height: 360px;
  background: var(--paper-2, #ede2ce);
}
.fas-google-map-intro {
  min-height: 360px;
  padding: 36px clamp(24px, 4vw, 44px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.fas-google-map-mark {
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  color: var(--rust-text, #8e3d14);
}
.fas-google-map-intro h3 { margin-bottom: 12px; }
.fas-google-map-intro p { margin-bottom: 0; }
.fas-google-map iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: 0;
  background: var(--paper-3, #fbf8f1);
}
.fas-google-map-tools { padding: 20px 24px; }
.fas-google-map-tools .btn { margin-bottom: 16px; }
.fas-google-links { margin: 0 0 12px; }
.fas-google-map .fas-google-privacy,
.fas-google-map .fas-google-status {
  font-size: .82rem;
  line-height: 1.55;
  color: var(--ink-soft, #4b5563);
  margin: 0;
}
.fas-google-map .fas-google-status:not(:empty) { margin-bottom: 12px; }
.fas-google-map [hidden],
.fas-google-review-feed [hidden] { display: none !important; }
.fas-google-presence a:focus-visible,
.fas-google-presence button:focus-visible,
.fas-google-review-feed a:focus-visible,
.fas-google-review-feed button:focus-visible {
  outline: 3px solid var(--rust-deep, #8e3d14);
  outline-offset: 4px;
}
.fas-google-review-feed {
  margin-top: 32px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--hair, #d6d1c9);
  border-radius: var(--radius-lg, 14px);
  background: var(--paper-3, #fbf8f1);
}
.fas-google-review-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 32px;
}
.fas-google-review-intro h3 { margin-bottom: 10px; }
.fas-google-review-intro p { margin-bottom: 0; }
.fas-google-review-intro .btn { flex-shrink: 0; }
.fas-google-review-feed a {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.fas-google-review-feed button:disabled { opacity: .65; cursor: wait; }
.fas-google-review-screen { margin-top: 24px; }
.fas-google-review-screen iframe { display: block; border: 0; min-height: 200px; }
.fas-google-review-feed .fas-google-privacy,
.fas-google-review-feed .fas-google-status {
  font-size: .82rem;
  line-height: 1.55;
  color: var(--ink-soft, #4b5563);
  margin: 16px 0 0;
}
.fas-google-review-feed .fas-google-status:empty { display: none; }
@media (max-width: 800px) {
  .fas-google-presence { grid-template-columns: minmax(0, 1fr); }
  .fas-google-map-screen,
  .fas-google-map-intro { min-height: 340px; }
  .fas-google-map iframe { height: 340px; }
}
@media (max-width: 400px) {
  .fas-google-actions { flex-direction: column; align-items: stretch; }
  .fas-google-map-tools { padding-inline: 18px; }
  .fas-google-map-intro { padding-inline: 24px; }
}
@media print {
  .fas-google-presence { display: block; }
  .fas-google-map-screen,
  .fas-google-map-tools button,
  .fas-google-review-screen,
  .fas-google-review-feed button,
  .fas-google-privacy,
  .fas-google-status { display: none !important; }
  .fas-google-map { margin-top: 20px; }
}
