/* WF Geocentric front-end components. Theme-neutral; accent via --wfgeo-accent. */

.wfgeo { margin: 1.25em 0; width: 100%; box-sizing: border-box; }
.wfgeo-title {
	margin: 0 0 0.6em;
	padding-bottom: 0.3em;
	border-bottom: 2px solid var(--wfgeo-accent, #f59e0b);
	display: inline-block;
}

.wfgeo-notice {
	padding: 10px 14px;
	border-left: 3px solid var(--wfgeo-accent, #f59e0b);
	background: rgba(245, 158, 11, 0.08);
	font-size: 0.9em;
}

/* Lists (neighborhoods, things to do, bus stops) */
.wfgeo-list { list-style: none; margin: 0; padding: 0; }
.wfgeo-list li { padding: 0.45em 0; border-bottom: 1px solid rgba(128, 128, 128, 0.18); }
.wfgeo-list li::before { content: "◆"; color: var(--wfgeo-accent, #f59e0b); margin-right: 0.55em; font-size: 0.7em; vertical-align: 1px; }
.wfgeo-list-addr { opacity: 0.65; font-size: 0.88em; margin-left: 0.4em; }

/* Weather */
.wfgeo-weather-now { display: flex; align-items: baseline; gap: 0.5em; }
.wfgeo-weather-emoji { font-size: 2.1em; line-height: 1; }
.wfgeo-weather-temp { font-size: 2.3em; font-weight: 700; }
.wfgeo-weather-label { font-size: 1.05em; opacity: 0.8; }
.wfgeo-weather-meta { margin-top: 0.35em; opacity: 0.7; font-size: 0.9em; }
.wfgeo-weather-days { display: flex; gap: 0.6em; margin-top: 0.9em; flex-wrap: wrap; }
.wfgeo-weather-day {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	padding: 0.5em 0.75em;
	border: 1px solid rgba(128, 128, 128, 0.2);
	border-radius: 8px;
	font-size: 0.85em;
	min-width: 3.4em;
}

/* Map + directions iframes */
.wfgeo-iframe { width: 100%; border: 0; border-radius: 8px; display: block; }

/* Reviews */
.wfgeo-reviews-summary { font-weight: 600; margin-bottom: 0.8em; }
.wfgeo-reviews-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.wfgeo-review { border: 1px solid rgba(128, 128, 128, 0.2); border-radius: 10px; padding: 12px 14px; }
.wfgeo-review-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.wfgeo-review-photo { border-radius: 50%; }
.wfgeo-review-author { font-weight: 600; }
.wfgeo-review-stars { color: var(--wfgeo-accent, #f59e0b); margin-left: auto; letter-spacing: 1px; }
.wfgeo-review-text { margin: 0 0 6px; font-size: 0.92em; }
.wfgeo-review-time { opacity: 0.6; font-size: 0.8em; }

@media (prefers-reduced-motion: no-preference) {
	.wfgeo-review { transition: border-color 0.15s ease; }
	.wfgeo-review:hover { border-color: var(--wfgeo-accent, #f59e0b); }
}

/* Linked list items */
.wfgeo-list-link { text-decoration: none; border-bottom: 1px solid var(--wfgeo-accent, #f59e0b); color: inherit; }
.wfgeo-list-link:hover { color: var(--wfgeo-accent, #f59e0b); }

/* Photo card grid (Top Sights style) */
.wfgeo-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.wfgeo-card { margin: 0; }
.wfgeo-card a { text-decoration: none; color: inherit; }
.wfgeo-card-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; }
.wfgeo-card figcaption { padding: 8px 2px 0; font-size: 1em; font-weight: 600; }
.wfgeo-card figcaption a:hover { color: var(--wfgeo-accent, #f59e0b); }
.wfgeo-card-rating { color: var(--wfgeo-accent, #f59e0b); font-weight: 600; margin-left: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .wfgeo-card-img { transition: transform 0.2s ease; }
  .wfgeo-card:hover .wfgeo-card-img { transform: scale(1.02); }
}

.wfgeo-reviews-more { margin-top: 0.8em; }
.wfgeo-reviews-more a { color: inherit; font-weight: 600; border-bottom: 2px solid var(--wfgeo-accent, #f59e0b); text-decoration: none; }
.wfgeo-reviews-more a:hover { color: var(--wfgeo-accent, #f59e0b); }

.wfgeo-write-review {
  display: inline-block; margin-left: 14px; padding: 6px 14px;
  background: var(--wfgeo-accent, #f59e0b); color: #16181d !important;
  border-radius: 999px; font-weight: 700; text-decoration: none; font-size: 0.9em;
  border-bottom: none !important;
}
.wfgeo-write-review:hover { filter: brightness(1.08); }

/* Content Block sections (text beside photo) */
.wfgeo-section-title { font-size: 1.6em; margin: 0 0 0.7em; }
.wfgeo-section-inner { display: flex; gap: 28px; align-items: flex-start; flex-wrap: wrap; }
.wfgeo-section-text { flex: 1 1 320px; min-width: 260px; }
.wfgeo-section-media { flex: 1 1 320px; min-width: 260px; }
.wfgeo-section-media img { width: 100%; border-radius: 10px; display: block; }
.wfgeo-section-img-left .wfgeo-section-media { order: -1; }

/* Layout width (uses theme alignwide/alignfull where supported) */
.wfgeo.wfgeo-w-wide { margin-left: auto; margin-right: auto; }
.wfgeo.wfgeo-w-full { box-sizing: border-box; }
.wfgeo.wfgeo-w-full .wfgeo-title, .wfgeo.wfgeo-w-full > * { max-width: none; }
