/* Directory layout only. The installed venue theme supplies Montserrat, its
 * heading weights and the existing header/footer. Palette values below are
 * taken from the active public themes, verified 16 October 2026. */
#fcg-locations {
  --fcg-accent: #009999;
  --fcg-dark: #131e28;
  --fcg-ink: #333;
  --fcg-line: #e7e7e7;
  --fcg-title-size: 40px;
  max-width: 1240px;
  margin: auto;
  padding: 44px 28px 70px;
  background: #fff;
  color: var(--fcg-ink);
  font-family: inherit;
  line-height: 1.6;
}
body.wp-theme-freedog #fcg-locations { --fcg-accent: #cc3366; --fcg-dark: #1a1a1a; --fcg-title-size: 32px; }
body.wp-theme-redpoint-theme #fcg-locations { --fcg-accent: #bd2f27; }
body.wp-theme-crazyclimb-theme #fcg-locations { --fcg-accent: #2274b6; --fcg-dark: #1a1a1a; --fcg-title-size: 38px; }
#fcg-locations * { box-sizing: border-box; }
#fcg-locations h1, #fcg-locations h2, #fcg-locations h3 { color: var(--fcg-ink); line-height: 1.2; text-transform: uppercase; }
#fcg-locations h1 { font-size: var(--fcg-title-size); letter-spacing: 1px; max-width: 1000px; margin: 16px 0 24px; }
#fcg-locations h2 { margin: 8px 0; }
#fcg-locations h3 { margin: 8px 0 16px; }
#fcg-locations p { line-height: 1.6; margin: 0 0 18px; }
#fcg-locations a { color: var(--fcg-accent); text-underline-offset: 4px; }
#fcg-locations a:hover { text-decoration-thickness: 2px; }
#fcg-locations a:focus-visible, #fcg-locations summary:focus-visible { outline: 3px solid var(--fcg-accent); outline-offset: 5px; }
#fcg-locations img { display: block; width: 100%; height: auto; object-fit: cover; }
#fcg-locations .fcg-eyebrow { font-size: 12px !important; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 10px; color: var(--fcg-accent); }
#fcg-locations .fcg-intro > p:not(.fcg-eyebrow) { max-width: 900px; }
/* Legacy themes give every header element a fixed masthead height. */
#fcg-locations .fcg-intro { height: auto; min-height: 0; position: static; }
#fcg-locations .fcg-city-nav { display: flex; flex-wrap: wrap; gap: 12px 25px; margin: 24px 0 40px; padding: 20px 0; border-top: 1px solid var(--fcg-line); border-bottom: 1px solid var(--fcg-line); }
#fcg-locations .fcg-city-nav a { text-decoration: none; font-size: 14px; text-transform: uppercase; font-weight: 900; }
#fcg-locations .fcg-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 0 0 22px; }
#fcg-locations .fcg-section-heading > span { font-size: 13px; white-space: nowrap; }
#fcg-locations .fcg-current-label { border: 2px solid var(--fcg-accent); color: var(--fcg-ink); padding: 8px 14px; font-weight: 800; text-transform: uppercase; }
#fcg-locations .fcg-feature { display: grid; grid-template-columns: 1.1fr 1fr; background: #fff; border-top: 5px solid var(--fcg-accent); border-bottom: 1px solid var(--fcg-line); }
#fcg-locations .fcg-feature-image { height: 100%; min-height: 440px; }
#fcg-locations .fcg-feature > .fcg-business { padding: 34px; }
#fcg-locations .fcg-tags { list-style: none; padding: 0; margin: 18px 0; display: flex; flex-wrap: wrap; gap: 7px; }
#fcg-locations .fcg-tags li { font-size: 12px !important; font-weight: 700; background: #e7e7e7; color: #000; padding: 5px 9px; }
#fcg-locations .fcg-address { font-size: 14px !important; line-height: 1.6; }
#fcg-locations .fcg-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
#fcg-locations .fcg-actions > a:not(.link-button) { font-size: 16px; }
#fcg-locations .fcg-actions .link-button { position: static; max-width: 100%; width: fit-content; text-decoration: none; border-radius: 0; line-height: 1.4; }
#fcg-locations .link-button:hover { opacity: .9; }
#fcg-locations .fcg-contact { font-size: 13px; border-top: 1px solid var(--fcg-line); padding-top: 12px; }
#fcg-locations .fcg-contact summary { cursor: pointer; }
#fcg-locations .fcg-contact a { display: block; overflow-wrap: anywhere; margin: 8px 0; }
#fcg-locations .fcg-also { display: grid; grid-template-columns: 260px 1fr; gap: 30px; background: #f5f5f5; padding: 28px; margin-top: 3px; }
#fcg-locations .fcg-also img { aspect-ratio: 3/2; }
#fcg-locations .fcg-city { margin-top: 68px; scroll-margin-top: 24px; }
#fcg-locations .fcg-city-intro { max-width: 850px; }
#fcg-locations .fcg-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
#fcg-locations .fcg-card { background: #fff; border: 1px solid var(--fcg-line); overflow: hidden; }
#fcg-locations .fcg-card > img { aspect-ratio: 16/9; }
#fcg-locations .fcg-card-body { padding: 26px; }
#fcg-locations .fcg-place-label { font-size: 13px !important; font-weight: 800; text-transform: uppercase; border-bottom: 1px solid var(--fcg-line); padding-bottom: 14px; margin-bottom: 22px; }
#fcg-locations .fcg-co-label { border-top: 1px solid var(--fcg-line); padding-top: 24px; margin-top: 28px; font-size: 12px !important; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
#fcg-locations .fcg-cards:has(> .fcg-card:only-child) { grid-template-columns: 1fr; }
#fcg-locations .fcg-cards > .fcg-card:only-child { display: grid; grid-template-columns: .85fr 1.15fr; }
#fcg-locations .fcg-cards > .fcg-card:only-child > img { height: 100%; min-height: 380px; }
#fcg-locations .fcg-visit-note { padding: 36px; background: var(--fcg-dark); color: #fff; margin-top: 60px; border-top: 5px solid var(--fcg-accent); }
#fcg-locations .fcg-visit-note h2 { color: #fff; }
#fcg-locations .fcg-visit-note p { max-width: 800px; margin: 14px 0 0; }
#fcg-locations .fcg-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media (max-width: 760px) {
  #fcg-locations { padding: 32px 18px 44px; }
  #fcg-locations .fcg-section-heading { display: block; }
  #fcg-locations .fcg-section-heading > span { display: inline-block; margin-top: 12px; }
  #fcg-locations .fcg-feature, #fcg-locations .fcg-also, #fcg-locations .fcg-cards, #fcg-locations .fcg-cards > .fcg-card:only-child { display: block; }
  #fcg-locations .fcg-feature-image, #fcg-locations .fcg-cards > .fcg-card:only-child > img { min-height: 0; height: auto; aspect-ratio: 3/2; }
  #fcg-locations .fcg-feature > .fcg-business, #fcg-locations .fcg-card-body { padding: 22px; }
  #fcg-locations .fcg-also { padding: 22px; }
  #fcg-locations .fcg-also img { max-height: 240px; margin-bottom: 24px; }
  #fcg-locations .fcg-card { margin-bottom: 24px; }
  #fcg-locations .fcg-city { margin-top: 45px; }
  #fcg-locations .fcg-city-nav { gap: 15px 22px; }
  #fcg-locations .fcg-visit-note { padding: 26px; }
  #fcg-locations h1 { font-size: min(var(--fcg-title-size),32px); }
}

/* Native activity-card button declarations captured 16 October 2026.
 * The selector is scoped to the directory and absolute positioning is removed. */
/* https://crazyclimbswansea.com/ */
body.wp-theme-crazyclimb-theme #fcg-locations .link-button {  color: rgb(255, 255, 255); text-transform: uppercase; display: block;  font-weight: 900; text-align: center; padding: 8px 10px; }
/* https://freedogbristol.com/ */
body.wp-theme-freedog #fcg-locations .link-button {  color: rgb(255, 255, 255); text-transform: uppercase; display: block;  font-weight: bold; text-align: center; padding: 8px 10px; }
/* https://redpointbristol.co.uk/ */
body.wp-theme-redpoint-theme #fcg-locations .link-button {  color: rgb(255, 255, 255); text-transform: uppercase; display: block;  font-weight: bold; text-align: center; padding: 8px 10px;  }
/* https://flashpointtemple.com/ */
#fcg-locations .link-button {  color: rgb(255, 255, 255); text-transform: uppercase; display: block;  font-weight: 900; text-align: center; padding: 8px 10px; }
/* Temple-only review of the user's rebuilt layout. Shared site CSS is unchanged. */
body.fcg-locations-page { background: #f0f0f0; }
body.fcg-locations-page #fcg-locations { margin-top: 60px; padding: 28px; }
body.fcg-locations-page #fcg-locations h1 { margin: 0 0 24px; }
body.fcg-locations-page #fcg-locations .fcg-intro > p { margin-bottom: 0; }
body.fcg-locations-page #fcg-locations .fcg-current { margin-top: 0; border-top: 0; padding-top: 0; }
body.fcg-locations-page #fcg-locations .fcg-feature { border: 1px solid #e7e7e7; }
body.fcg-locations-page #fcg-locations .fcg-feature > .fcg-business { padding: 14px 34px; }
body.fcg-locations-page #fcg-locations .fcg-also { margin-top: 40px; }
body.fcg-locations-page #fcg-locations .fcg-card { position: relative; }
body.fcg-locations-page #fcg-locations .inset { position: absolute; top: 20px; left: 26px; z-index: 1; padding: 8px 10px;  color: #fff; font-size: 16px; font-weight: 500; line-height: 20px; text-transform: uppercase; }
body.fcg-locations-page #fcg-locations .fcg-city-primary { display: grid; grid-template-columns: 1.1fr 1fr; }
body.fcg-locations-page #fcg-locations .fcg-city-primary .fcg-card-body { padding: 14px 34px; }
body.fcg-locations-page #fcg-locations .fcg-card-media { position: relative; min-width: 0; }
body.fcg-locations-page #fcg-locations .fcg-card-media > img { height: 100%; min-height: 440px; object-fit: cover; }
body.fcg-locations-page #fcg-locations .fcg-business > p { line-height: 1.5; }
/* Live Temple uses Montserrat 20/30 for body copy, 800/900 for headings.
 * Contact information uses a compact 16/24 adaptation of that same typeface. */
body.fcg-locations-page #fcg-locations .fcg-contact-block { margin: 18px 0 0; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; color: #333; }
body.fcg-locations-page #fcg-locations .fcg-contact-block .fcg-address { margin: 0; font-family: inherit; font-size: 16px !important; font-weight: 400; line-height: 1.5; }
body.fcg-locations-page #fcg-locations .fcg-contact-lines { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 8px; }
body.fcg-locations-page #fcg-locations .fcg-contact-lines a { font-family: inherit; font-size: 16px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.fcg-locations-page #fcg-locations .fcg-business > .fcg-actions { margin: 20px 0 0; gap: 16px; align-items: center; }
body.fcg-locations-page #fcg-locations .fcg-actions .link-button { margin: 0; }
body.fcg-locations-page #fcg-locations .fcg-actions > a:not(.link-button) { font-weight: 500; line-height: 1.5; }
body.fcg-locations-page #fcg-locations .fcg-feature .fcg-actions { margin-bottom: 0; }
@media (max-width: 760px) {
  body.fcg-locations-page #fcg-locations { margin-top: 24px; padding: 28px 18px; }
  body.fcg-locations-page #fcg-locations .fcg-city-primary { display: block; }
  body.fcg-locations-page #fcg-locations .fcg-card-media > img { min-height: 0; height: auto; aspect-ratio: 3/2; }
  body.fcg-locations-page #fcg-locations .fcg-feature > .fcg-business,
  body.fcg-locations-page #fcg-locations .fcg-city-primary .fcg-card-body { padding: 14px 22px 22px; }
  body.fcg-locations-page #fcg-locations .fcg-also { margin-top: 24px; }
  body.fcg-locations-page #fcg-locations .fcg-city-place .fcg-card { margin-bottom: 0; }
  body.fcg-locations-page #fcg-locations .inset { top: 16px; left: 18px; font-size: 14px; }
}
/* Approved typography and brand buttons, independent of theme selector order. */
#fcg-locations h1 { font-weight:900; }
#fcg-locations h2 { font-size:24px; font-weight:800; }
#fcg-locations h3 { font-size:26px; font-weight:800; }
#fcg-locations .fcg-business > p { font-size:20px; }
#fcg-locations .fcg-business { min-width:0; }
#fcg-locations .fcg-card:not(.fcg-city-primary) .fcg-card-media > img { aspect-ratio:16/9; min-height:0; height:auto; }
#fcg-locations .fcg-city > .fcg-city-place + .fcg-cards { margin-top:40px; }
#fcg-locations .fcg-cards-single { grid-template-columns:1fr; }
#fcg-locations [data-business] .link-button {  color:#fff; font-weight:900; }
/* The text sets a horizontal card's height, including for portrait source photos. */
body.fcg-locations-page #fcg-locations .fcg-feature-media,
body.fcg-locations-page #fcg-locations .fcg-city-primary .fcg-card-media { position:relative; min-height:440px; }
body.fcg-locations-page #fcg-locations .fcg-feature-media > img,
body.fcg-locations-page #fcg-locations .fcg-city-primary .fcg-card-media > img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; }
@media (max-width:760px) {
  body.fcg-locations-page #fcg-locations .fcg-feature-media,
  body.fcg-locations-page #fcg-locations .fcg-city-primary .fcg-card-media { min-height:0; aspect-ratio:3/2; }
  #fcg-locations .fcg-city > .fcg-city-place + .fcg-cards { margin-top:24px; }
  #fcg-locations .fcg-cards > .fcg-city-place + .fcg-city-place { margin-top:24px; }
}

/* Shared-building panels: one-third image, two-thirds text; branded photo inset. */
body.fcg-locations-page #fcg-locations .fcg-also { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
body.fcg-locations-page #fcg-locations .fcg-also-media { position:relative; min-width:0; min-height:240px; }
body.fcg-locations-page #fcg-locations .fcg-also-media > img { position:absolute; inset:0; width:100%; height:100%; min-height:0; max-height:none; margin:0; aspect-ratio:auto; object-fit:cover; }
body.fcg-locations-page #fcg-locations .fcg-also .inset { top:16px; left:16px; max-width:calc(100% - 32px); font-size:16px; font-weight:500; line-height:20px; }
body.fcg-locations-page #fcg-locations .fcg-city > .fcg-city-place + .fcg-city-place { margin-top:40px; }
@media (max-width:760px) {
  body.fcg-locations-page #fcg-locations .fcg-also-media { min-height:0; aspect-ratio:3/2; margin-bottom:24px; }
  body.fcg-locations-page #fcg-locations .fcg-city > .fcg-city-place + .fcg-city-place { margin-top:24px; }
}

/* A card's brand owns both its image badge and Explore button on every site. */
#fcg-locations [data-card-business],
#fcg-locations [data-colocated],
#fcg-locations [data-business] { --fcg-card-brand:#009999; }
#fcg-locations [data-card-business="redpoint"],
#fcg-locations [data-colocated="redpoint"],
#fcg-locations [data-business="redpoint"] { --fcg-card-brand:#bd2f27; }
#fcg-locations [data-card-business="freedog"],
#fcg-locations [data-colocated="freedog"],
#fcg-locations [data-business="freedog"] { --fcg-card-brand:#cc3366; }
#fcg-locations [data-card-business="crazy"],
#fcg-locations [data-colocated="crazy"],
#fcg-locations [data-business="crazy"],
#fcg-locations [data-card-business="crazy-bristol"],
#fcg-locations [data-colocated="crazy-bristol"],
#fcg-locations [data-business="crazy-bristol"] { --fcg-card-brand:#2274b6; }
#fcg-locations [data-card-business="clip-easton"],
#fcg-locations [data-colocated="clip-easton"],
#fcg-locations [data-business="clip-easton"] { --fcg-card-brand:#7533a0; }
body.fcg-locations-page #fcg-locations [data-business] .link-button,
body.fcg-locations-page #fcg-locations .inset { background:var(--fcg-card-brand,#009999); }
