.rf-google-maps-article .gm-store-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; align-items: center; }
.rf-google-maps-article .gm-store-links a { display: inline-flex; border-radius: 8px; }
.rf-google-maps-article .gm-store-links img { display: block; width: auto; height: 42px; }
.rf-google-maps-article .gm-summary { margin: 16px 0; padding: 16px 20px; border-left: 3px solid var(--cyan, #57dbff); background: rgba(87, 219, 255, .05); border-radius: 0 14px 14px 0; }
.rf-google-maps-article .gm-summary p { margin: 0; }
.rf-google-maps-article .gm-search { padding: 24px; border: 1px solid rgba(87, 219, 255, .24); border-radius: 20px; background: rgba(87, 219, 255, .04); margin: 24px 0 32px; scroll-margin-top: 110px; }
.rf-google-maps-article .gm-search h2 { margin-top: 0; }
.rf-google-maps-article .gm-search form { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 14px; align-items: end; margin: 20px 0 12px; }
.rf-google-maps-article .gm-search .gm-field { min-width: 0; }
.rf-google-maps-article .gm-field label { display: block; margin-bottom: 8px; font-weight: 600; }
.rf-google-maps-article .gm-field input, .rf-google-maps-article .gm-field select { width: 100%; min-height: 48px; margin: 0; padding: 12px; border: 1px solid rgba(158, 178, 200, .4); border-radius: 10px; background: #0c1a2d; color: #e7f0ff; font: inherit; box-sizing: border-box; }
.rf-google-maps-article .gm-field input::placeholder { color: #aebed0; }
.rf-google-maps-article .gm-search .btn { min-height: 48px; white-space: nowrap; }
.rf-google-maps-article .gm-search .fineprint { margin-bottom: 0; }
.rf-google-maps-article .gm-table-wrap { max-width: 100%; overflow-x: auto; margin: 20px 0; border: 1px solid rgba(158, 178, 200, .24); border-radius: 16px; }
.rf-google-maps-article .gm-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.rf-google-maps-article .gm-table caption { padding: 16px; text-align: left; color: #b9c9dd; }
.rf-google-maps-article .gm-table th, .rf-google-maps-article .gm-table td { padding: 16px; text-align: left; vertical-align: top; border-top: 1px solid rgba(158, 178, 200, .2); }
.rf-google-maps-article .gm-table th { color: #e7f0ff; }
.rf-google-maps-article .gm-steps { padding-left: 24px; }
.rf-google-maps-article .gm-steps li { padding: 0 0 16px 8px; }
.rf-google-maps-article .gm-steps li::marker { color: #57dbff; font-weight: 700; }
.rf-google-maps-article .gm-steps strong { color: #e7f0ff; }
.rf-google-maps-article .gm-cta { border-radius: 20px; padding: 24px; background: rgba(87, 219, 255, .05); border: 1px solid rgba(87, 219, 255, .2); margin-top: 28px; }
.rf-google-maps-article .gm-cta h2 { margin-top: 0; }
.rf-google-maps-article .rf-mobile-toc { display: none; }
.rf-google-maps-article .gm-hero-image img { max-height: 490px; width: auto; max-width: 100%; object-fit: contain; }
.rf-google-maps-article .rf-article { min-width: 0; }
.rf-google-maps-article a:focus-visible, .rf-google-maps-article button:focus-visible, .rf-google-maps-article input:focus-visible, .rf-google-maps-article select:focus-visible, .rf-google-maps-article summary:focus-visible { outline: 3px solid #57dbff; outline-offset: 4px; }
@media (max-width: 980px) {
  .rf-google-maps-article .rf-hero-shell.has-context-media, .rf-google-maps-article .rf-article-shell { grid-template-columns: minmax(0, 1fr); }
  .rf-google-maps-article .gm-search form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rf-google-maps-article .gm-search button { grid-column: 1 / -1; }
  .rf-google-maps-article .rf-mobile-toc { display: block; margin: 20px 0; padding: 12px 16px; border: 1px solid rgba(158, 178, 200, .25); border-radius: 12px; }
  .rf-google-maps-article .rf-mobile-toc summary { cursor: pointer; font-weight: 600; }
  .rf-google-maps-article .rf-mobile-toc nav { display: grid; gap: 12px; padding: 16px 0 4px; }
  .rf-google-maps-article .rf-toc { display: none; }
}
@media (max-width: 560px) {
  .rf-google-maps-article .gm-search { padding: 20px; }
  .rf-google-maps-article .gm-search form { grid-template-columns: minmax(0, 1fr); }
  .rf-google-maps-article .gm-table th, .rf-google-maps-article .gm-table td { padding: 12px; font-size: .88rem; }
  .rf-google-maps-article .gm-hero-image img { max-height: 340px; }
}

/* Reading hierarchy: show the answer before optional app imagery on mobile. */
.rf-google-maps-article .gm-app-example { display: none; }
.rf-google-maps-article .gm-savings-illustration { margin: 24px 0; }
.rf-google-maps-article .gm-savings-illustration img { display: block; width: 100%; height: auto; }
.rf-google-maps-article .gm-savings-illustration figcaption { margin-top: 8px; color: #b9c9dd; font-size: .88rem; }
.rf-google-maps-article [id] { scroll-margin-top: 100px; }
@media (max-width: 980px) {
 .rf-google-maps-article .gm-hero-image, .rf-google-maps-article .rf-article-hero .gm-store-links { display: none; }
 .rf-google-maps-article .gm-app-example { display: block; margin: 20px 0; }
 .rf-google-maps-article .gm-app-example summary { cursor: pointer; color: #a5fff0; text-decoration: underline; text-underline-offset: .2em; padding: 12px 0; min-height: 44px; }
 .rf-google-maps-article .gm-mobile-example-image { margin: 16px 0; }
 .rf-google-maps-article .gm-mobile-example-image img { max-height: 420px; width: auto; max-width: 100%; object-fit: contain; }
 .rf-google-maps-article [data-content-share] { display: flex; flex-wrap: wrap; gap: 8px; }
 .rf-google-maps-article [data-content-share] .btn { width: auto; min-height: 44px; flex: 0 0 auto; padding: 8px 14px; }
}
@media (max-width: 560px) {
 .rf-google-maps-article .gm-table-wrap { border: 0; border-radius: 0; overflow: visible; }
 .rf-google-maps-article .gm-table, .rf-google-maps-article .gm-table tbody { display: block; }
 .rf-google-maps-article .gm-table caption { display: block; padding: 0 0 12px; }
 .rf-google-maps-article .gm-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .rf-google-maps-article .gm-table tbody tr { display: block; padding: 16px 0; border-top: 1px solid rgba(158,178,200,.3); }
 .rf-google-maps-article .gm-table tbody th, .rf-google-maps-article .gm-table td { display: block; padding: 6px 0; border: 0; font-size: .95rem; }
 .rf-google-maps-article .gm-table td::before { content: attr(data-label); display: block; font-weight: 700; color: #a5fff0; margin-bottom: 4px; }
}
