/* RCUK Tracks Finder — scoped styles */
.rcuk-tf-wrap { max-width: 1200px; margin: 0 auto; padding: 1.5rem 1rem; }
.rcuk-tf-wrap h1 { margin: 0 0 .5rem; font-size: 1.8rem; }
.rcuk-tf-intro { color: #555; margin: 0 0 1.25rem; max-width: 65ch; }

.rcuk-tf-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; align-items: center; }
.rcuk-tf-toolbar select,
.rcuk-tf-toolbar input[type='text'] { padding: .45rem .6rem; border: 1px solid #ccc; border-radius: 4px; font-size: .9rem; }
.rcuk-tf-toolbar .rcuk-tf-count { margin-left: auto; color: #666; font-size: .9rem; }

#rcuk-tf-map { width: 100%; height: 560px; border-radius: 6px; border: 1px solid #ddd; margin-bottom: 1.25rem; }
#rcuk-tf-map.rcuk-tf-single-map { height: 320px; }

.rcuk-tf-grid { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.rcuk-tf-card { border: 1px solid #e3e3e3; border-radius: 6px; padding: 1rem; background: #fff; }
.rcuk-tf-card h3 { margin: 0 0 .4rem; font-size: 1.05rem; line-height: 1.25; }
.rcuk-tf-card h3 a { color: #0a1f44; text-decoration: none; }
.rcuk-tf-card h3 a:hover { text-decoration: underline; }
.rcuk-tf-card .rcuk-tf-meta { color: #666; font-size: .85rem; margin: 0 0 .4rem; }
.rcuk-tf-chips { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .5rem; }
.rcuk-tf-chip { display: inline-block; padding: .15rem .5rem; background: #f1f3f6; border-radius: 999px; font-size: .75rem; color: #333; }
.rcuk-tf-chip--surface { background: #e6f0ff; color: #0a4a99; }
.rcuk-tf-chip--venue   { background: #fff3e0; color: #8a4b00; }

.rcuk-tf-single { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 900px) {
    .rcuk-tf-single { grid-template-columns: 2fr 1fr; }
}
.rcuk-tf-single .rcuk-tf-details dt { font-weight: 600; color: #333; margin-top: .6rem; }
.rcuk-tf-single .rcuk-tf-details dd { margin: 0 0 .25rem; }
.rcuk-tf-sidebar { border: 1px solid #e3e3e3; border-radius: 6px; padding: 1rem; background: #fafafa; }
.rcuk-tf-sidebar h3 { margin-top: 0; font-size: 1rem; }
.rcuk-tf-cta { display: block; margin-top: .75rem; padding: .65rem 1rem; background: #cc0000; color: #fff; text-decoration: none; border-radius: 4px; text-align: center; font-weight: 600; }
.rcuk-tf-cta:hover { background: #a30000; }
.rcuk-tf-fd-banner { background: #fff7e6; border: 1px solid #ffd591; color: #8a4b00; padding: .55rem .75rem; border-radius: 4px; font-size: .85rem; margin-top: .75rem; text-align: center; }

.rcuk-tf-pagination { margin: 1.5rem 0; text-align: center; }
.rcuk-tf-pagination .page-numbers { display: inline-block; padding: .35rem .65rem; margin: 0 .15rem; border: 1px solid #ccc; border-radius: 3px; text-decoration: none; color: #333; }
.rcuk-tf-pagination .page-numbers.current { background: #0a1f44; color: #fff; border-color: #0a1f44; }

/* Distance badge shown when proximity search is active */
.rcuk-tf-dist { color: #cc0000; font-weight: 600; }

/* The JS switches the grid to flex when sorting so order: works.
   Cards keep similar widths via the grid-template (still applies on flex with width). */
.rcuk-tf-grid > .rcuk-tf-card { flex: 1 1 280px; max-width: 360px; }

/* Places Autocomplete dropdown stacking — keep it above the toolbar */
.pac-container { z-index: 2147483647 !important; }

/* Make the whole card click through to the single page */
.rcuk-tf-card { position: relative; transition: box-shadow .15s ease, transform .15s ease; }
.rcuk-tf-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.08); transform: translateY(-2px); }
.rcuk-tf-card h3 a::before { content: ''; position: absolute; inset: 0; z-index: 1; }
.rcuk-tf-card h3 a:hover { text-decoration: none; }

/* Hero photo (featured image or Street View fallback) */
.rcuk-tf-hero { margin: 0 0 1rem; border-radius: 8px; overflow: hidden; max-height: 420px; }
.rcuk-tf-hero img.rcuk-tf-hero__img { width: 100%; height: auto; display: block; object-fit: cover; }
.rcuk-tf-chip--discipline { background: #ede7f6; color: #4a148c; }

/* Related products section */
.rcuk-tf-products { margin: 2rem 0 1rem; }
.rcuk-tf-products__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .75rem; }
.rcuk-tf-products__head h2 { margin: 0; font-size: 1.25rem; }
.rcuk-tf-products__more { color: #0a4a99; text-decoration: none; font-size: .9rem; }
.rcuk-tf-products__more:hover { text-decoration: underline; }
.rcuk-tf-products__grid { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.rcuk-tf-product { display: flex; flex-direction: column; padding: .6rem; border: 1px solid #e8e8e8; border-radius: 6px; background: #fff; text-decoration: none; color: inherit; transition: box-shadow .15s ease, transform .15s ease; }
.rcuk-tf-product:hover { box-shadow: 0 4px 14px rgba(0,0,0,.07); transform: translateY(-2px); text-decoration: none; }
.rcuk-tf-product__imgwrap { aspect-ratio: 1/1; overflow: hidden; border-radius: 4px; background: #f5f5f5; }
.rcuk-tf-product__img { width: 100%; height: 100%; object-fit: cover; }
.rcuk-tf-product__noimg { display: block; width: 100%; height: 100%; background: #f0f0f0; }
.rcuk-tf-product__title { font-size: .85rem; margin: .5rem 0 .25rem; line-height: 1.3; color: #0a1f44; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rcuk-tf-product__price { font-weight: 600; font-size: .9rem; margin-top: auto; color: #cc0000; }
.rcuk-tf-product__price del { color: #888; font-weight: 400; margin-right: .25rem; }

/* --- single-page top row: map + sidebar share one grid row, same height --- */
.rcuk-tf-toprow { display: grid; gap: 1.5rem; grid-template-columns: 1fr; margin-bottom: 1.5rem; }
@media (min-width: 900px) {
    .rcuk-tf-toprow { grid-template-columns: 2fr 1fr; align-items: stretch; }
}
.rcuk-tf-toprow #rcuk-tf-map.rcuk-tf-single-map { height: 100%; min-height: 360px; margin-bottom: 0; }
.rcuk-tf-toprow .rcuk-tf-sidebar { margin: 0; display: flex; flex-direction: column; justify-content: center; }
.rcuk-tf-sidebar--full { margin: 0 0 1.5rem; }

/* Body + details are now full-width below the top row */
.rcuk-tf-body { margin-bottom: 1rem; }
.rcuk-tf-details { margin-bottom: 1.5rem; }

/* Override the old two-column rule that was wrapping everything */
.rcuk-tf-single { display: block; }

/* Country chip (added with international launch) */
.rcuk-tf-chip--country { background: #e0f2f1; color: #00504a; font-weight: 600; }

/* Sky banners — copied from existing /rc-club-rc-track-finder-uk/ side columns */
.rcuk-sky { width:160px; flex-shrink:0; background:#fff; box-shadow:0 3px 16px rgba(0,0,0,.15); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; align-self:flex-start; }
.rcuk-sky-logo { background:#000; padding:10px; text-align:center; }
.rcuk-sky-logo img { width:130px; height:auto; display:block; margin:0 auto; }
.rcuk-sky-label { background:#000; color:#7eb8f7; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-align:center; padding:4px 6px 8px; }
.rcuk-sky-product { display:block; padding:7px 8px; border-top:1px solid #eee; text-decoration:none; color:#222; transition:background .15s; }
.rcuk-sky-product:hover { background:#f0f5ff; }
.rcuk-sky-product img { width:100%; height:90px; object-fit:cover; border-radius:5px; display:block; }
.rcuk-sky-name { font-size:10.5px; font-weight:600; margin:4px 0 2px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#1a1a2e; }
.rcuk-sky-price { font-size:12px; color:#c0392b; font-weight:700; }

#rcuk-banner-wrap { display:flex; align-items:flex-start; width:100%; gap:1rem; margin-top:1rem; }
#rcuk-banner-wrap > .rcuk-main-col { flex:1; min-width:0; }

@media (max-width: 1100px) {
    #rcuk-banner-wrap > .rcuk-sky { display:none; }
}
