/* r34.50.156 — Discovery choice actions and always-visible Bookmark.
 * r145 Bookmark's single toggle/CSRF/synchronization logic is unchanged.
 * Never alter Google Maps InfoWindow wrappers, auto-pan or marker lifecycle.
 * Preserve existing r155 Spot detail/SEO improvements. */

/* Same hierarchy for KAGETORA details, Google Maps and the official site. */
.public-map-card .public-map-card-actions{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:6px!important;margin-top:12px!important;
}
.public-map-card .public-map-card-actions:has(> a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}
.public-map-card .public-map-card-actions:has(> a:only-child){grid-template-columns:1fr!important}
.public-map-card .public-map-card-actions a,
.public-map-card .public-map-card-actions a.primary{
 display:flex!important;align-items:center;justify-content:center;
 box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:40px;
 margin:0;padding:7px 3px;border:1px solid #c4d2c8!important;
 border-radius:9px;background:#fffefa!important;color:#315d4b!important;
 font-size:11px;font-weight:750;line-height:1.25;
 text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;
}
.public-map-card .public-map-card-actions a:hover,
.public-map-card .public-map-card-actions a:focus-visible{
 background:#eaf3ec!important;border-color:#89aa96!important;color:#244c3a!important;
}

/* Cards always expose saving at the upper-right. With no cover photo the
 * title/metadata leaves a clear touch zone; the rest of the card stays full width. */
.public-map-card{position:relative}
.public-map-card .public-map-card-corner-bookmark{
 position:absolute;top:25px;right:25px;z-index:4;
 display:inline-flex!important;align-items:center;justify-content:center;
 width:40px;height:40px;min-width:40px;min-height:40px;padding:0!important;
 background:rgba(255,254,250,.97);border:1px solid #c9d7ce;
 border-radius:12px;box-shadow:0 2px 9px rgba(24,44,30,.13);
 font-size:18px;line-height:1;cursor:pointer;
}
.public-map-card .public-map-card-corner-bookmark .favorite-icon{display:inline-block!important;width:20px;height:20px}
.public-map-card .public-map-card-corner-bookmark.is-favorite{background:#e8f2e9;border-color:#95b29f}
.public-map-card .public-map-card-corner-bookmark:focus-visible{outline:3px solid #6f9b7e;outline-offset:2px}
.public-map-card:not(.has-cover) .public-map-card-meta,
.public-map-card:not(.has-cover) .public-map-card-title{padding-right:48px}
@media(max-width:700px){
 .public-map-card .public-map-card-corner-bookmark{top:24px;right:24px;min-height:42px;height:42px;width:42px}
}

/* The popup Bookmark is always in the first visible row, overlaying the photo.
 * Without a cover, it lives inside the preview content away from Google's X. */
.gm-style .public-map-marker-preview{position:relative}
.gm-style .public-map-marker-preview .public-map-marker-preview-bookmark{
 position:absolute;top:5px;right:35px;left:auto;z-index:3;
 display:inline-flex!important;align-items:center;justify-content:center;
 box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;
 padding:0!important;border:1px solid #c9d7ce;border-radius:9px;
 background:rgba(255,254,250,.97);box-shadow:0 2px 8px rgba(24,44,30,.13);
 font-size:17px;line-height:1;cursor:pointer;
}
.gm-style .public-map-marker-preview .public-map-marker-preview-bookmark .favorite-icon{display:inline-block!important;width:19px;height:19px}
.gm-style .public-map-marker-preview .public-map-marker-preview-bookmark.is-favorite{background:#e8f2e9;border-color:#95b29f}
.gm-style .public-map-marker-preview .public-map-marker-preview-bookmark:focus-visible{outline:3px solid #6f9b7e;outline-offset:2px}
.gm-style .public-map-marker-preview:not(:has(> .public-map-marker-preview-photo)) > .public-map-marker-preview-head{padding-right:65px}
.gm-style .public-map-marker-preview:has(> .public-map-marker-preview-photo) > .public-map-marker-preview-bookmark{
 top:5px;right:auto;left:calc(42% - 43px);
}

.gm-style .public-map-marker-preview .public-map-marker-preview-actions,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions.has-official{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:5px!important;margin:7px 0 4px!important;min-width:0;
}
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(> a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(> a:only-child){grid-template-columns:1fr!important}
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.primary{
 grid-column:auto!important;grid-row:auto!important;
 display:flex!important;align-items:center;justify-content:center;
 box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:36px;
 margin:0;padding:5px 2px;border:1px solid #c4d2c8!important;border-radius:8px;
 background:#fffefa!important;color:#315d4b!important;
 font-size:11px!important;font-weight:750;line-height:1.3;
 text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere;
}
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a:hover,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a:focus-visible{
 background:#eaf3ec!important;border-color:#89aa96!important;color:#244c3a!important;
}


/* r34.50.164-FIX1 — Explicit, solid CTA fills (not pastel outlines).
   This stylesheet is loaded AFTER app.css: final computed appearance must
   match the requested role colors on both Discovery card and Google popup.
   Keep the existing CTA class names, targets, layout and Bookmark controls. */
.public-map-card .public-map-card-actions a.public-map-detail-action,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action{
  background-color:#376b4f!important;
  border-color:#376b4f!important;
  color:#fff!important;
  font-weight:850!important;
  box-shadow:0 2px 6px rgba(22,56,39,.18);
}
.public-map-card .public-map-card-actions a.public-map-google-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google{
  /* Google-inspired yellow: genuine accent, with readable indigo labeling. */
  background-color:#fabb05!important;
  background-image:linear-gradient(145deg,#ffca43 0%,#fabb05 100%)!important;
  border-color:#e3a40b!important;
  color:#173b68!important;
  font-weight:850!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 2px 7px rgba(135,94,0,.21);
}
.public-map-card .public-map-card-actions a.public-map-official-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official{
  background-color:#2868ad!important;
  border-color:#2868ad!important;
  color:#fff!important;
  font-weight:850!important;
  box-shadow:0 2px 6px rgba(25,60,105,.16);
}
/* More explicit specificity than legacy global hover rules. */
.public-map-card .public-map-card-actions a.public-map-detail-action:hover,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action:hover{
  background-color:#28543d!important;border-color:#28543d!important;color:#fff!important;
}
.public-map-card .public-map-card-actions a.public-map-google-cta:hover,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google:hover{
  background-color:#e8a500!important;
  background-image:linear-gradient(145deg,#ffc436 0%,#e8a500 100%)!important;
  border-color:#b78300!important;color:#173b68!important;
}
.public-map-card .public-map-card-actions a.public-map-official-cta:hover,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official:hover{
  background-color:#1d538d!important;border-color:#1d538d!important;color:#fff!important;
}
.public-map-card .public-map-card-actions a:focus-visible,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a:focus-visible{
  outline:3px solid #263f34!important;outline-offset:3px;
}

/* r34.50.164-FIX2 — A miniature Google-color map pin on the GOLD Google Maps CTA.
   Pure CSS and aria-hidden decoration (generated content); accessible anchor text,
   URL, click behavior, dimensions and three-across layout are unchanged.
   Color-wheel sectors reference Google's blue/red/yellow/green visual language,
   without importing trademarks, icon assets or network requests. */
.public-map-card .public-map-card-actions a.public-map-google-cta::before,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before{
  content:"";
  display:inline-block;
  flex:0 0 13px;
  width:13px;height:15px;
  margin-right:4px;
  background:
    radial-gradient(circle at 51% 41%,#fff 0 2.5px,transparent 2.7px),
    conic-gradient(from 14deg at 50% 50%,
      #4285f4 0 28%,#34a853 28% 52%,#fbbc05 52% 75%,#ea4335 75% 100%);
  clip-path:polygon(50% 100%,14% 56%,6% 42%,8% 25%,23% 9%,42% 1%,58% 1%,77% 9%,92% 25%,94% 42%,86% 56%);
  filter:drop-shadow(0 1px 1px rgba(20,49,91,.16));
}
@media(max-width:390px){
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before{
    flex-basis:11px;width:11px;height:13px;margin-right:3px;
  }
}


/* r34.50.166 — Google-inspired bright accents and shared CTA typography.
 * Exact Google four-color family (green, yellow, blue) with high-contrast
 * charcoal labels: the #4285F4 and #34A853 backgrounds are too light for
 * 11px white text. Keep all existing action URLs, bookmarks and Map events.
 * Popup / desktop card / mobile card must render "Google Maps" on ONE line. */
.public-map-card .public-map-card-actions,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions.has-official{
  grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr)!important;
  gap:5px!important;
}
/* For 1-2 available links, retain the previous single/two-column behavior. */
.public-map-card .public-map-card-actions:has(>a:nth-child(2):last-child),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(>a:nth-child(2):last-child){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.public-map-card .public-map-card-actions:has(>a:only-child),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(>a:only-child){
  grid-template-columns:1fr!important;
}
.public-map-card .public-map-card-actions a,
.public-map-card .public-map-card-actions a.primary,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  padding:5px 2px!important;
  min-height:40px!important;
  line-height:1.2!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  letter-spacing:0!important;
  box-sizing:border-box!important;
}
.public-map-card .public-map-card-actions a.public-map-detail-action,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action{
  background:#34A853!important;background-image:none!important;
  border-color:#34A853!important;color:#202124!important;
  box-shadow:0 2px 6px rgba(25,90,46,.15)!important;
}
.public-map-card .public-map-card-actions a.public-map-google-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google{
  background:#FBBC05!important;background-image:none!important;
  border-color:#FBBC05!important;color:#202124!important;
  box-shadow:0 2px 6px rgba(117,82,0,.16)!important;
}
.public-map-card .public-map-card-actions a.public-map-official-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official{
  background:#4285F4!important;background-image:none!important;
  border-color:#4285F4!important;color:#202124!important;
  box-shadow:0 2px 6px rgba(20,72,156,.15)!important;
}
.public-map-card .public-map-card-actions a.public-map-detail-action:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action:is(:hover,:focus-visible){
  background:#2E994A!important;background-image:none!important;border-color:#2E994A!important;color:#202124!important;
}
.public-map-card .public-map-card-actions a.public-map-google-cta:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google:is(:hover,:focus-visible){
  background:#EAAF00!important;background-image:none!important;border-color:#EAAF00!important;color:#202124!important;
}
.public-map-card .public-map-card-actions a.public-map-official-cta:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official:is(:hover,:focus-visible){
  background:#3779E5!important;background-image:none!important;border-color:#3779E5!important;color:#202124!important;
}
.public-map-card .public-map-card-actions a.public-map-google-cta::before,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before{
  flex:0 0 12px!important;width:12px!important;height:14px!important;
  margin-right:3px!important;
}
@media(max-width:375px){
 .public-map-card .public-map-card-actions a,
 .public-map-card .public-map-card-actions a.primary,
 .gm-style .public-map-marker-preview .public-map-marker-preview-actions a,
 .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.primary{
   font-size:10px!important;
   padding:5px 1px!important;
 }
 .public-map-card .public-map-card-actions a.public-map-google-cta::before,
 .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before{
   flex-basis:10px!important;width:10px!important;height:12px!important;margin-right:2px!important;
 }
}


/* r34.50.167: Discovery CTA final visual alignment; layout-only, no API changes.
 * Google-associated palette, equal 3-column widths and one-line labels.
 * Typography parity on InfoWindow and the right-hand card. */
.public-map-card .public-map-card-actions,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions.has-official {
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  gap: 5px!important;
}
/* Keep 1- and 2-action cards naturally full width. */
.public-map-card .public-map-card-actions:has(>a:nth-child(2):last-child),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(>a:nth-child(2):last-child){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.public-map-card .public-map-card-actions:has(>a:only-child),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions:has(>a:only-child){
  grid-template-columns:1fr!important;
}
.public-map-card .public-map-card-actions a,
.public-map-card .public-map-card-actions a.primary,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.primary {
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:40px!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.25!important;
  padding:6px 2px!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  display:inline-flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
}
/* Slightly deeper tones improve white-text contrast while preserving brightness. */
.public-map-card .public-map-card-actions a.public-map-detail-action,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action{
 background:#188038!important;background-image:none!important;border-color:#188038!important;
 color:#fff!important;
}
.public-map-card .public-map-card-actions a.public-map-google-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google{
 background:#FBBC05!important;background-image:none!important;border-color:#FBBC05!important;
 color:#202124!important;
}
.public-map-card .public-map-card-actions a.public-map-official-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official{
 background:#1A73E8!important;background-image:none!important;border-color:#1A73E8!important;
 color:#fff!important;
}
.public-map-card .public-map-card-actions a.public-map-detail-action:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action:is(:hover,:focus-visible){background:#137032!important;border-color:#137032!important;color:#fff!important}
.public-map-card .public-map-card-actions a.public-map-google-cta:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google:is(:hover,:focus-visible){background:#EAAF00!important;border-color:#EAAF00!important;color:#202124!important}
.public-map-card .public-map-card-actions a.public-map-official-cta:is(:hover,:focus-visible),
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official:is(:hover,:focus-visible){background:#1465D3!important;border-color:#1465D3!important;color:#fff!important}
/* Harmonize title size and weight; list previously appeared heavier/larger. */
.public-map-card .public-map-card-title strong,
.gm-style .public-map-marker-preview .public-map-marker-preview-name{
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  color:#28352F!important;
}
.public-map-card .public-map-card-short-intro,
.gm-style .public-map-marker-preview .public-map-marker-short-intro {
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.55!important;
}
@media(max-width:375px){
 .public-map-card .public-map-card-actions a,
 .public-map-card .public-map-card-actions a.primary,
 .gm-style .public-map-marker-preview .public-map-marker-preview-actions a,
 .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.primary{
  font-size:10px!important;padding:5px 1px!important;
 }
}

/* Final class-specific typography override; earlier r164 rules use heavier specificity. */
.public-map-card .public-map-card-actions a.public-map-detail-action,
.public-map-card .public-map-card-actions a.public-map-google-cta,
.public-map-card .public-map-card-actions a.public-map-official-cta,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-detail-action,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google,
.gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-official {
  font-weight:700!important;
}
@media(max-width:375px){
  .public-map-card .public-map-card-actions a.public-map-google-cta::before,
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before {
    width:8px!important;height:10px!important;flex-basis:8px!important;margin-right:1px!important;
  }
  .public-map-card .public-map-card-actions a.public-map-google-cta,
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google {
    font-size:9.5px!important;
  }
}


/* r34.50.168 — readable mobile CTA without widening the r167 equal columns.
 * Preserve the confirmed r167 colors, labels, link destinations and no-wrap.
 * On very narrow devices 12.5px is preferable to text clipping. */
@media (max-width:959px){
  .public-map-card .public-map-card-actions a:is(.public-map-detail-action,.public-map-google-cta,.public-map-official-cta),
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a:is(.public-map-marker-preview-detail-action,.public-map-marker-preview-google,.public-map-marker-preview-official){
    font-size:14px!important;font-weight:750!important;min-height:46px!important;
    padding:8px 1px!important;white-space:nowrap!important;
  }
  .public-map-card .public-map-card-actions a.public-map-google-cta::before,
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a.public-map-marker-preview-google::before{
    content:none!important;display:none!important;
  }
  /* The existing results status is sticky. Keep its existing DOM and controls;
   * pin only the adjacent Map/List switch under it or the tablet search dock. */
  .public-map-mobile-tabs{
    position:sticky!important;
    top:var(--kgt-map-tab-sticky-top,80px)!important;
    z-index:54!important;
    width:100%!important;
    box-sizing:border-box!important;
    background:#f3f5f2;
    box-shadow:0 3px 10px rgba(31,49,40,.08);
  }
}
/* The mobile Google Maps InfoWindow is intentionally narrower than a card
 * (at 320px its content is ~230px), so keep its 3 labels within the popup. */
@media (max-width:700px){
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a:is(.public-map-marker-preview-detail-action,.public-map-marker-preview-google,.public-map-marker-preview-official){
    font-size:13px!important;
  }
}
@media (max-width:350px){
  .public-map-card .public-map-card-actions a:is(.public-map-detail-action,.public-map-google-cta,.public-map-official-cta),
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a:is(.public-map-marker-preview-detail-action,.public-map-marker-preview-google,.public-map-marker-preview-official){
    font-size:12.5px!important;
  }
  .gm-style .public-map-marker-preview .public-map-marker-preview-actions a:is(.public-map-marker-preview-detail-action,.public-map-marker-preview-google,.public-map-marker-preview-official){
    font-size:11px!important;
  }
}
