.full__banner img {
  width: 100%;
}

.full__banner,
.full__title,
.full__breadcrumbs {
  margin-bottom: var(--spacing-large);
}

.full__page-top > * + *,
.full__page-top > .field--name-localgov-event-location > article > * + * {
  margin-top: var(--spacing-large);
}

.full .field--name-localgov-directory-standfirst,
.full .field--name-localgov-page-summary {
  padding-bottom: var(--spacing-large);
  font-size: var(--font-size-h3);
}

.full .field--name-body,
.full .field--name-localgov-page-summary,
.full .field--name-localgov-directory-standfirst,
.full .field--name-localgov-text,
.full .field--name-body {
  max-width: var(--width-restricted-width-section);
}

.layout {
  gap: 0 var(--spacing-larger);

  @media (max-width: 48rem) {
    overflow: hidden;
  }
}

@media screen and (min-width: 40rem) {
  .layout--twocol > .layout__region--first,
  .layout--twocol > .layout__region--second {
    flex: 1 1 calc(50% - var(--spacing-larger) * 2);
  }
}

@media screen and (min-width: 40rem) {
  .layout--threecol-33-34-33 > .layout__region--first,
  .layout--threecol-33-34-33 > .layout__region--second,
  .layout--threecol-33-34-33 > .layout__region--third {
    flex: 1 1 calc(calc(100% / 3) - var(--spacing-larger) * 3);
  }
}

.layout__region > * {
  margin-bottom: var(--spacing-larger);
}

/* Probably move to a directory css file (esp if we add any more CSS for directories */
.full .field--name-localgov-directory-files {
  margin-bottom: var(--spacing-larger);
}

.full__page-top .field--name-localgov-news-categories,
.full__page-top .field--name-localgov-event-categories {
  display: flex;
  gap: var(--spacing);
}

.field__label {
  font-weight: var(--label-font-weight);
}

fieldset .field + .field {
  margin-top: var(--spacing);
}

.full--localgov-news-article .full__related {
  margin-top: var(--spacing-largest);
}

.full
  .field--name-localgov-news-related
  > .field__items
  > .field__item
  + .field__item {
  margin-top: var(--spacing);
}

.node--view-mode-full {
  &.full--guide {
    .lgd-container {
      padding-inline: var(--spacing-medium);
      margin-block: var(--spacing-medium);
    }

    > div.node--theme {
      position: relative;
      display: flex;
      justify-content: center;
      inline-size: 100%;

      @media (min-width: 64rem) {
        min-block-size: 38.4375rem;
        padding: var(--spacing-mega);
      }

      @media (max-width: 64rem) {
        padding: 0;
      }
    }

    .node--theme-theme_a {
      background-color: var(--color-white);
      color: var(--color-page-section-text-color);
    }

    .node--theme-guide_page_theme {
      background-color: var(--color-page-section-background-guide-node);
      color: var(--color-page-section-background-guide-node-text-colour);
    }

    .top__content {
      position: relative;
      inline-size: 100%;
      max-inline-size: var(--width-mega);
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;

      @media (max-width: 64rem) {
        flex-direction: column-reverse;
      }
    }

    .top__content > div {
      position: relative;
      inline-size: var(--width-mega);
      max-inline-size: calc(var(--width-mega) / 2);

      @media (max-width: 64rem) {
        inline-size: 100%;
        max-inline-size: 100%;
      }
    }

    .top__content .block-text {
      position: relative;
      inline-size: 100%;
      block-size: 100%;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;

      @media (min-width: 64rem) {
        padding: 0;
      }

      @media (max-width: 64rem) {
        text-align: start;
        padding: var(--spacing-medium);
      }

      h1 {
        font-family: var(--font-family-primary), sans-serif;
        font-size: var(--font-size-h2-l);
        line-height: normal;

        @media (max-width: 64rem) {
          font-size: var(--font-size-xl);
          border-block: 2px solid var(--color-black);
        }
      }

      p {
        font-family: var(--font-family-primary), sans-serif;
        font-size: var(--font-size-p);
        margin-block-end: 0;
        line-height: normal;
      }
    }

    .top__content .block-image {
      position: relative;
      inline-size: 100%;
      block-size: 100%;
      inset-block-start: 0;
      display: block;

      @media (min-width: 64rem) {
      }

      .field--name-localgov-event-image {
        display: flex;
        flex-direction: column;
        align-items: flex-end;

        @media (max-width: 64rem) {
          inline-size: 100%;
          max-inline-size: 100%;
          align-items: flex-start;
        }
      }

      .field--type-image {
        position: relative;

        @media (max-width: 64rem) {
          inline-size: 100%;
          max-inline-size: 100%;
        }

        img {
          inline-size: 100%;

          @media (max-width: 64rem) {
            inline-size: 100dvw;
            block-size: auto;
          }
        }
      }

      .field--name-field-image-credit {
        text-align: end;
        font-size: var(--font-size-p);
        font-family: var(--font-family-primary), sans-serif;
        margin-block-start: 0.625rem;

        @media (max-width: 64rem) {
          text-align: start;
          padding-inline: var(--spacing-medium);
        }
      }
    }

    .guide-events {
      background-color: transparent;
      inline-size: 100%;
      position: relative;
      display: block;
      margin-block: 1.875rem;

      /* Target the same "grid-owning element" predicate that card.css uses so
         this 2-column rule wins on specificity over the site-wide 4-column
         default. With views_infinite_scroll enabled, the wrapper is the row
         parent; without it, .view-content is. Only one of the two selectors
         matches at a time per render. */
      .view-content:has(> .views-row > .lgd-card),
      .views-infinite-scroll-content-wrapper:has(> .views-row > .lgd-card),
      .manual-events-container {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-large);

        @media (min-width: 64rem) {
          grid-template-columns: repeat(2, 1fr);
        }

        @media (max-width: 48rem) {
          grid-template-columns: repeat(1, 1fr);

          .lgd-card__image img {
            aspect-ratio: auto;
          }
        }
      }
    }
  }
}

.trafford-media-image-credit {
  margin-block-start: 0;
  color: var(--color-white);
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size-base);
  line-height: 1.1;
}

.trafford-media-image-credit--desktop {
  position: absolute;
  z-index: 2;
  inset-block-end: var(--spacing-smaller);
  inset-inline-end: var(--spacing-smaller);
  text-align: end;
  text-shadow: var(--color-black) 1px 0 8px;
}

/* Area node hero markup is now provided by templates/includes/_hero-overlay.html.twig.
 * Sizing, padding, and image overlay live with the .trafford-hero component in
 * css/components/banner.css and the --hero-* tokens in css/base/variables.css.
 * Wrapper rule kept because node--area--full.html.twig still wraps the article
 * in a .node--theme container.
 */
.node--view-mode-full.full--area > .node--theme {
  position: relative;
  inline-size: 100%;
  margin: 0;
}

.lgd-region__inner--content > .block + .block {
  margin-top: 1.875rem;
}

.lgd-region__inner--banner {
  position: relative;
  inline-size: 100dvw;
  block-size: 100%;
}

/* ── Event detail page ───────────────────────────────────────────── */

.node--view-mode-full.full--localgov-event .event-hero {
  background-color: var(--color-accent-3);
  display: flex;
  justify-content: center;
  inline-size: 100%;
  padding: var(--spacing-mega);
}

.node--view-mode-full.full--localgov-event .event-hero .top__content {
  display: flex;
  gap: var(--spacing-mega);
  max-width: var(--width-xxl);
}

.node--view-mode-full.full--localgov-event .event-hero__col-left,
.node--view-mode-full.full--localgov-event .event-hero__col-right {
  flex: 1;
}

.node--view-mode-full.full--localgov-event .event-hero__col-left {
  margin-top: calc(
    var(--header-logo-height) - var(--header-block-size) + var(--spacing-smallest)
  );
}

@media (max-width: 64rem) {
  .node--view-mode-full.full--localgov-event .event-hero__col-left {
    margin-top: 0;
  }
}

.node--view-mode-full.full--localgov-event .event-hero__sub-row {
  display: flex;
  justify-content: space-between;
  margin-block-start: var(--spacing);
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-event .event-hero__divider,
.node--view-mode-full.full--localgov-event .event-hero__cta-mobile {
  display: none;
}

.node--view-mode-full.full--localgov-event .event-hero .block-text h1 {
  font-size: var(--font-size-h2-l);
}

.node--view-mode-full.full--localgov-event .event-hero__description,
.node--view-mode-full.full--localgov-event .event-hero__meta {
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-event .event-hero__description {
  line-height: normal;
  margin-block-end: var(--spacing);
}

.node--view-mode-full.full--localgov-event .event-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-small);
  color: var(--color-accent-2);
  background-color: var(--color-black);
  border-radius: 41px;
  padding: 2px 2px 2px 10px;
  text-decoration: none;
  margin-block-start: var(--spacing);
}

.node--view-mode-full.full--localgov-event .event-hero__cta svg {
  background-color: var(--color-accent-2);
  border-radius: 50%;
  padding: 2px;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.node--view-mode-full.full--localgov-event .event-hero__cta:hover {
  color: var(--color-accent);
}

.node--view-mode-full.full--localgov-event .event-hero__cta:hover svg {
  background-color: var(--color-accent);
}

.node--view-mode-full.full--localgov-event .event-hero .block-image img {
  inline-size: 100%;
  display: block;
}

.node--view-mode-full.full--localgov-event .event-hero__info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

.node--view-mode-full.full--localgov-event .event-hero__info dd {
  margin: 0;
}

.node--view-mode-full.full--localgov-event .event-hero__venue-label {
  display: block;
  font-weight: 400;
}

.node--view-mode-full.full--localgov-event .event-hero__venue a {
  font-weight: 700;
  color: var(--color-black);
  text-decoration-line: underline;
}

.node--view-mode-full.full--localgov-event .event-hero__date,
.node--view-mode-full.full--localgov-event .event-hero__time,
.node--view-mode-full.full--localgov-event .event-hero__where-held,
.node--view-mode-full.full--localgov-event .event-hero__age-range,
.node--view-mode-full.full--localgov-event .event-hero__price,
.node--view-mode-full.full--localgov-event .event-hero__sessions {
  font-weight: 700;
}

.node--view-mode-full.full--localgov-event .event-hero__sessions-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0;
  margin: 0.25rem 0 0;
  list-style: none;
}

.node--view-mode-full.full--localgov-event .event-hero__sessions-list li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
}

.node--view-mode-full.full--localgov-event .event-hero__session-time {
  font-weight: 400;
}

.node--view-mode-full.full--localgov-event .event-hero__sessions-more {
  margin: 0.5rem 0 0;
  font-weight: 400;
}

.node--view-mode-full.full--localgov-event .event-hero__credit {
  text-align: end;
  align-self: start;
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-event
  .event-hero
  .trafford-media-image-credit {
  display: none;
}

.node--view-mode-full.full--localgov-event .event-hero__placeholder {
  inline-size: 100%;
  aspect-ratio: 7 / 3;
  object-fit: contain;
  display: block;
}

/* ── Event sessions ─────────────────────────────────────────────── */

.node--view-mode-full.full--localgov-event .event-sessions-section {
  padding-block: var(--spacing-padding-block);
}

.node--view-mode-full.full--localgov-event .event-sessions-section__list {
  display: grid;
  gap: var(--spacing-small);
  list-style: none;
  margin: 0;
  padding: 0;
}

.node--view-mode-full.full--localgov-event .event-sessions-section__item {
  border-block-end: 1px solid var(--color-black);
  display: flex;
  gap: var(--spacing-medium);
  justify-content: space-between;
  padding-block: var(--spacing-small);
}

.node--view-mode-full.full--localgov-event .event-sessions-section__more {
  margin-block-end: 0;
}

@media (max-width: 40rem) {
  .node--view-mode-full.full--localgov-event .event-sessions-section__item {
    flex-direction: column;
    gap: 0;
  }
}

/* ── Event venue map ────────────────────────────────────────────── */

.node--view-mode-full.full--localgov-event .event-map-section {
  margin-block: var(--spacing-larger);
}

/*
  The map block ships with margin-block-end on its wrapper (intended for
  standalone use). Inside the event-map-section composition we want the
  map and the contact footer to sit flush, per Figma. Zero the wrapper's
  bottom margin in this context.
*/
.node--view-mode-full.full--localgov-event .event-map-section__map .trafford-venue-map-wrapper {
  margin-block-end: 0;
}

.node--view-mode-full.full--localgov-event .event-map-section__footer {
  background-color: var(--color-white);
  padding: var(--spacing-medium);
}

.node--view-mode-full.full--localgov-event .event-map-section__contact {
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-medium);
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-event .event-map-section__address-col a {
  font-size: var(--font-size-p);
  font-weight: 700;
  color: var(--color-black);
  text-decoration-line: underline;
}

.node--view-mode-full.full--localgov-event .event-map-section__address {
  margin: var(--spacing-small) 0 0;
  font-size: var(--font-size-p);
  line-height: 1.6;
}

.node--view-mode-full.full--localgov-event .event-map-section__contact-col {
  text-align: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-small);
}

.node--view-mode-full.full--localgov-event .event-map-section__phone,
.node--view-mode-full.full--localgov-event .event-map-section__email {
  margin: 0;
}

.node--view-mode-full.full--localgov-event .event-map-section__email a {
  color: var(--color-black);
  text-decoration-line: underline;
}

.node--view-mode-full.full--localgov-event .event-map-section__social {
  margin-top: var(--spacing-small);
}

/* ── Event info section (map + facilities tabs) ─────────────────── */

.node--view-mode-full.full--localgov-event .event-info-section {
  background-color: var(--color-page-section-background);
  padding: var(--spacing-larger) var(--spacing-mega);
  display: flex;
  justify-content: center;
}

.node--view-mode-full.full--localgov-event .event-info-section__inner {
  display: flex;
  gap: var(--spacing-mega);
  max-width: var(--width-xxl);
  inline-size: 100%;
  align-items: stretch;
}

.node--view-mode-full.full--localgov-event .event-info-section__tabs {
  flex: 0 0 auto;
  inline-size: 22rem;
  display: flex;
  flex-direction: column;
}

.node--view-mode-full.full--localgov-event .event-info-section__tabs .venue-tabs {
  display: flex;
  flex-direction: column;
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
}

.node--view-mode-full.full--localgov-event .event-info-section__map-col {
  flex: 1;
  min-inline-size: 0;
}

.node--view-mode-full.full--localgov-event .event-info-section__map-col .event-map-section {
  margin-block: 0;
}

/* ── Event sections ─────────────────────────────────────────────── */

.node--view-mode-full.full--localgov-event .event-related-section {
  background-color: var(--color-accent-3);
  padding-block: var(--spacing-padding-block);
}

.node--view-mode-full.full--localgov-event .event-nearby-section {
  padding-block: var(--spacing-padding-block);
}

/* ── Event detail responsive ────────────────────────────────────── */

@media (max-width: 64rem) {
  .node--view-mode-full.full--localgov-event .event-hero {
    padding: 0;
  }

  .node--view-mode-full.full--localgov-event .event-hero .top__content {
    flex-direction: column;
    gap: 0;
  }

  /* Flatten wrappers so children participate in flex ordering */
  .node--view-mode-full.full--localgov-event .event-hero__col-left,
  .node--view-mode-full.full--localgov-event .event-hero__col-right,
  .node--view-mode-full.full--localgov-event .event-hero__sub-row {
    display: contents;
  }

  /* Mobile order:
     1. image
     2. credit
     3. divider (after credit)
     4. category + title + book btn (block-text)
     5. divider (after text)
     6. location / date / time / price (info)
     7. description
     8. book btn (below description)
  */
  .node--view-mode-full.full--localgov-event .event-hero .block-image {
    order: 1;
  }

  .node--view-mode-full.full--localgov-event .event-hero__credit {
    order: 2;
    text-align: start;
    padding-inline: var(--spacing-medium);
    padding-block: var(--spacing-small);
    font-size: var(--font-size-p);
  }

  .node--view-mode-full.full--localgov-event
    .event-hero__divider--after-credit {
    order: 3;
  }

  .node--view-mode-full.full--localgov-event .event-hero .block-text {
    order: 4;
    padding: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-hero__divider--after-text {
    order: 5;
  }

  .node--view-mode-full.full--localgov-event .event-hero__info {
    order: 6;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-hero__description {
    order: 7;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-hero__cta-mobile {
    display: block;
    padding: 0;
  }

  .node--view-mode-full.full--localgov-event .event-hero__cta-block {
    display: block;
    order: 8;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-hero .block-text h1 {
    font-size: var(--font-size-xl);
  }

  .node--view-mode-full.full--localgov-event .event-hero__divider {
    display: block;
    border: none;
    border-block-start: 1px solid var(--color-black);
    margin-inline: var(--spacing-medium);
  }

  /* Event info section responsive */
  .node--view-mode-full.full--localgov-event .event-info-section {
    padding: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-info-section__inner {
    flex-direction: column;
    gap: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-info-section__tabs {
    inline-size: 100%;
    order: 2;
  }

  .node--view-mode-full.full--localgov-event .event-info-section__map-col {
    order: 1;
  }

  .node--view-mode-full.full--localgov-event .event-map-section__contact {
    flex-direction: column;
    gap: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-event .event-map-section__contact-col {
    text-align: start;
    align-items: flex-start;
  }
}

/* ── Venue detail page ──────────────────────────────────────────── */

.node--view-mode-full.full--localgov-directories-venue .venue-hero {
  background-color: var(--color-venue-bg);
  display: flex;
  justify-content: center;
  inline-size: 100%;
  padding: var(--spacing-mega);
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__inner {
  display: flex;
  gap: var(--spacing-mega);
  max-width: var(--width-xxl);
  inline-size: 100%;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__col-left,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__col-right {
  flex: 1;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__col-left {
  display: flex;
  flex-direction: column;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__text h1 {
  font-size: var(--font-size-h2-l);
  line-height: 1.375;
}

@media (min-width: 64.0625rem) {
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__text h1 {
    margin-block-start: calc(
      var(--header-logo-height) - var(--header-block-size) - var(--spacing-mega)
    );
  }
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__description {
  color: var(--color-black);
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size-p);
  margin-block: var(--spacing);
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__description :where(.field, .field__item, p, span),
.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__description-mobile :where(.field, .field__item, p, span),
.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__directions :where(.field, .field__item, p, span),
.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__directions-mobile :where(.field, .field__item, p, span) {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-small);
  color: var(--color-accent-2);
  background-color: var(--color-black);
  border-radius: 41px;
  padding: 2px 2px 2px 10px;
  text-decoration: none;
  margin-block-start: var(--spacing);
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__cta svg {
  background-color: var(--color-accent-2);
  border-radius: 50%;
  padding: 2px;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__cta:hover {
  color: var(--color-accent);
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__cta:hover
  svg {
  background-color: var(--color-accent);
}

/* Asana 1215326922994523: ensure the hero CTA on event and venue detail pages
   has a visible focus indicator (the browser default only partially applies and
   doesn't meet 3:1 / 2px).
   The box-shadow reset clears the localgov_base a:focus highlight (2px yellow
   above + 4px black below via box-shadow) which would otherwise show through
   alongside our outline. See web/themes/contrib/localgov_base/css/base/base.css. */
.node--view-mode-full.full--localgov-event .event-hero__cta:focus,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__cta:focus {
  box-shadow: none;
}

.node--view-mode-full.full--localgov-event .event-hero__cta:focus-visible,
.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__cta:focus-visible {
  outline: 2px solid var(--color-black);
  outline-offset: 2px;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__image {
  inline-size: 100%;
  aspect-ratio: var(--venue-hero-image-aspect-ratio);
  overflow: hidden;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__image .field,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__image .field__item,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__image .contextual-region,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__image picture {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__image img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__placeholder {
  inline-size: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  display: block;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__sub-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    ".    credit"
    "meta .     ";
  column-gap: var(--spacing-large);
  margin-block-start: var(--spacing);
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__sub-row
  .venue-hero__meta {
  grid-area: meta;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__categories {
  margin: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-list {
  display: grid;
  gap: var(--spacing);
  margin: 0;
  padding: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-item {
  margin: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-item dd {
  margin: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-heading {
  color: var(--color-black);
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size-p);
  margin: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-heading,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-mobile .venue-hero__categories,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-mobile .venue-hero__opening-hours {
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__opening-hours {
  margin: 0;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__opening-hours .field__label {
  display: none;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__price-value,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__parent-value {
  font-weight: var(--heading-font-weight);
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__credit {
  grid-area: credit;
  text-align: end;
  align-self: start;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__divider,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__cta-mobile,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__meta-mobile,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__directions-mobile,
.node--view-mode-full.full--localgov-directories-venue
  .venue-hero__description-mobile {
  display: none;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-hero
  .trafford-media-image-credit {
  display: none;
}

/* ── Venue info section (map + facilities) ──────────────────────── */

.node--view-mode-full.full--localgov-directories-venue .venue-info-section {
  background-color: var(--color-page-section-background);
  padding: var(--spacing-larger) var(--spacing-mega);
  display: flex;
  justify-content: center;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__inner {
  display: flex;
  gap: var(--spacing-mega);
  max-width: var(--width-xxl);
  inline-size: 100%;
  align-items: stretch;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__tabs {
  flex: 0 0 auto;
  inline-size: 22rem;
  display: flex;
  flex-direction: column;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__map-col {
  flex: 1;
  min-inline-size: 0;
}

/* ── Venue tabs (shared by venue + event pages) ─────────────────── */

.node--view-mode-full .venue-tabs {
  display: flex;
  flex-direction: column;
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
}

.node--view-mode-full .venue-tabs__nav {
  display: flex;
}

.node--view-mode-full .venue-tabs__btn {
  flex: 1;
  padding: 0.75rem 1.5rem;
  border: none;
  border-bottom: 4px solid var(--color-grey-dark);
  border-radius: 0;
  background: var(--color-white);
  font-size: var(--font-size-p);
  font-weight: 600;
  cursor: pointer;
}

.node--view-mode-full .venue-tabs__btn:hover {
  border: none;
  border-bottom: 4px solid var(--color-grey-dark);
}

.node--view-mode-full .venue-tabs__btn:focus-visible {
  outline: 2px solid var(--color-black);
  outline-offset: 2px;
}

.node--view-mode-full .venue-tabs__btn--active,
.node--view-mode-full .venue-tabs__btn--active:hover,
.node--view-mode-full .venue-tabs__btn--active:focus {
  color: var(--color-black);
  font-weight: 700;
  border: none;
  border-bottom: 4px solid var(--color-black);
}

.node--view-mode-full .venue-tabs__panel {
  display: none;
  background: var(--color-white);
  padding: 1rem 1.5rem;
  border: none;
  border-radius: 0;
}

.node--view-mode-full .venue-tabs__panel--active {
  display: block;
  flex: 1;
}

.node--view-mode-full .venue-tabs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
  font-size: var(--font-size-p);
}

/* ── Venue map + contact ────────────────────────────────────────── */

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__map {
  position: relative;
  z-index: 1;
  block-size: 23.375rem;
  overflow: hidden;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__map
  .trafford-venue-map {
  block-size: 100%;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__contact {
  background-color: var(--color-white);
  padding: var(--spacing-medium) 1.875rem;
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-p);
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__address {
  margin: var(--spacing-small) 0 0;
  line-height: 1.6;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__contact-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__contact-details {
  align-self: flex-start;
  text-align: start;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__social-wrap {
  align-self: flex-end;
  margin-block-start: auto;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__phone,
.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__email {
  margin: 0 0 var(--spacing-small);
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__email
  a {
  color: var(--color-black);
  text-decoration: none;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__email
  a:hover {
  text-decoration: underline;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__social {
  margin-top: var(--spacing-small);
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__social-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__social-list
  a {
  color: var(--color-black);
  font-weight: bold;
  text-decoration: none;
}

.node--view-mode-full.full--localgov-directories-venue
  .venue-info-section__social-list
  a:hover {
  text-decoration: underline;
}

/* ── Venue related sections ─────────────────────────────────────── */

.node--view-mode-full.full--localgov-directories-venue .venue-related-section {
  background-color: var(--color-venue-bg);
  padding-block: var(--spacing-padding-block);
}

.node--view-mode-full.full--localgov-directories-venue .venue-nearby-section {
  padding-block: var(--spacing-padding-block);
}

/* ── Venue detail responsive ────────────────────────────────────── */

@media (max-width: 64rem) {
  .node--view-mode-full.full--localgov-directories-venue .venue-hero {
    padding: 0;
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__inner {
    flex-direction: column;
    gap: 0;
  }

  /* Flatten wrappers so children participate in flex ordering. */
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__col-left,
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__col-right,
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__sub-row {
    display: contents;
  }

  /* Mobile order:
     1. image
     2. credit
     3. divider (after credit)
     4. title + CTA (text block)
     5. divider (after text)
     6. categories / meta (mobile)
     7. description (mobile)
     8. CTA (mobile duplicate)
  */
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__image {
    order: 1;
    width: 100%;
    height: auto;
    aspect-ratio: var(--venue-hero-image-aspect-ratio);
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__credit {
    order: 2;
    text-align: start;
    padding-inline: var(--spacing-medium);
    padding-block: var(--spacing-small);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__divider--after-credit {
    order: 3;
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__text {
    order: 4;
    padding: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__text
    .venue-hero__description {
    display: none;
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__divider--after-text {
    order: 5;
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__meta-mobile {
    display: flex;
    flex-direction: column;
    order: 6;
    gap: var(--spacing-medium);
    font-family: var(--font-family-primary), sans-serif;
    font-size: var(--font-size-p);
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__description-mobile {
    display: block;
    order: 7;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
    color: var(--color-black);
    font-family: var(--font-family-primary), sans-serif;
    font-size: var(--font-size-p);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__directions-mobile {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    order: 8;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
    font-family: var(--font-family-primary), sans-serif;
    font-size: var(--font-size-p);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-hero__cta-mobile {
    display: block;
    order: 9;
    padding-inline: var(--spacing-medium);
    padding-block-end: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__meta {
    display: none;
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__text h1 {
    font-size: var(--font-size-xl);
  }

  .node--view-mode-full.full--localgov-directories-venue .venue-hero__divider {
    display: block;
    border: none;
    border-block-start: 1px solid var(--color-black);
    margin-inline: var(--spacing-medium);
  }

  /* Info section responsive */
  .node--view-mode-full.full--localgov-directories-venue .venue-info-section {
    padding: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__inner {
    flex-direction: column;
    gap: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__tabs {
    inline-size: 100%;
    order: 2;
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__map-col {
    order: 1;
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__contact {
    flex-direction: column;
    gap: var(--spacing-medium);
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__contact-col {
    text-align: start;
    align-items: flex-start;
  }

  .node--view-mode-full.full--localgov-directories-venue
    .venue-info-section__social-wrap {
    align-self: flex-start;
    margin-block-start: 0;
  }
}


.node--view-mode-full.full--localgov-directories-venue .venue-hero__directions {
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size-p);
  margin-block: var(--spacing-large);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.node--view-mode-full.full--localgov-directories-venue .venue-hero__directions .field__label,
.node--view-mode-full.full--localgov-directories-venue .venue-hero__directions-mobile .field__label {
  font-weight: 600;
}

@media (max-width: 64rem) {
  .node--view-mode-full.full--localgov-directories-venue .venue-hero__directions {
    display: none;
  }
}
