#google-places { width: min(1088px, calc(100% - 32px)); margin: 28px auto; padding: 24px; border: 1px solid #64677a; border-radius: 18px; background: #1c2030; color: var(--ink); }
#google-places[hidden] { display: none; }
.explore-link { font-size: 13px; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px 20px; }
.explore-link a { color: var(--dim); text-underline-offset: 4px; }
.google-places-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; }
.google-places-header h2 { font-size: 18px; margin: 0; }
.google-places-header img { box-sizing: content-box; height: 18px; width: auto; padding: 10px 10px 5px; }
.google-places-note, #google-place-selection { font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.google-places-note { color: var(--dim); }
#google-places-list { list-style: none; padding: 0; margin: 18px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
#google-places-list li { min-width: 0; display: flex; flex-direction: column; }
#google-places-list li[data-photo-pending] { visibility: hidden; }
#google-places-list .google-place-select { width: 100%; flex: 1; text-align: left; padding: 0 0 16px; border: 1px solid #52586c; border-radius: 14px; overflow: hidden; background: #252b3e; color: var(--ink); font: inherit; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; display: flex; flex-direction: column; }
.google-place-photo { position: relative; width: 100%; aspect-ratio: 16/10; flex-shrink: 0; display: grid; place-items: center; color: #bfc4d2; background: linear-gradient(135deg,#303c54,#202537); font-size: 13px; }
.google-place-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.google-place-title { display: block; margin: 14px 16px 4px; font-weight: 700; font-size: 17px; }
.google-place-address { display: block; margin: 0 16px; color: #bfc4d2; font-size: 13px; }
.google-photo-credit { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 11px; line-height: 1.6; padding: 8px 4px; overflow-wrap: anywhere; }
.google-photo-credit a { color: #c9c9c4; text-underline-offset: 3px; }
.google-photo-credit span { color: #c9c9c4; }
#google-places-list .google-place-select:hover, #google-places-list .google-place-select[aria-pressed=true] { background: #343b50; border-color: var(--accent); }
#google-places button:focus-visible, #google-places a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.google-places-policies { display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: 12px; }
.google-places-policies a { color: var(--dim); text-underline-offset: 3px; }
@media (max-width: 600px) { #google-places { padding: 18px; margin: 24px auto; } }
@media (max-width: 900px) { #google-places-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { #google-places-list { grid-template-columns: 1fr; gap: 22px; } }
