/*
 * Encore Venue Directory — Single Venue Styles
 * FILE: your-theme/assets/css/venue-single.css
 *
 * Design direction: Editorial luxury. Clean typographic hierarchy,
 * generous white space, bold section transitions, subtle motion.
 * Built on CSS custom properties so brand colors are a one-line swap.
 */

/* ── Design Tokens ──────────────────────────────────────────────────── */
:root {
    /* Encore brand palette — update these to match your brand guide */
    --enc-navy:        #1f1646;
    --enc-light-blue:  #00BFDE;
    --enc-dark-blue:   #1B75BC;
    --enc-purple:      #a7549f;
    --enc-white:       #ffffff;
    --enc-off-white:   #dedede;
    --enc-gray-100:    #f9f9f9;
    --enc-gray-200:    #e0e0dc;
    --enc-gray-400:    #9e9e9a;
    --enc-gray-600:    #5a5a56;
    --enc-text:        #1f1646;


    /* Spacing */
    --space-xs:  0.5rem;
    --space-sm:  1rem;
    --space-md:  2rem;
    --space-lg:  4rem;
    --space-xl:  7rem;

    /* Layout */
    --container-max: 1000px;
    --hero-height:   400px;

    /* Motion */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --duration: 0.55s;
}

/* ── Reset helpers ──────────────────────────────────────────────────── */
.venue-single *,
.venue-single *::before,
.venue-single *::after {
    box-sizing: border-box;
}

.venue-single {
    font-family: var(--font-body);
    color: var(--enc-text);
    line-height: 1.7;
    background: #fff;
    font-size: 16px;
}

.container {
padding: 0% !important;
}

.single .container--fluid {
  max-width: 1000px !important;
}

/* ── Container ──────────────────────────────────────────────────────── */
.venue-container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    xpadding-inline: clamp(1rem, 5vw, 3rem);
}

.venue-hero-wrap {
    position: relative;
    width: 100%;
    padding: 16px 16px 0 16px;
}



/* ── Section Title ──────────────────────────────────────────────────── */
.venue-section-title {
  font-size: 1.3rem;
  font-variation-settings: "wght" 500;
  color: var(--enc-navy);
  margin: 0px 0px 15px 0px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* ─────────────────────────────────────────────────────────────────────
   1. HERO
───────────────────────────────────────────────────────────────────── */
.venue-hero {
    position: relative;
    height: var(--hero-height);
    min-height: var(--hero-min);
    max-height: 400px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding-inline: 0;
}

.venue-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    z-index: 0;
    border-radius: 3px;
}

.venue-hero__overlay {
    position: absolute;
}

.venue-hero__content {
    position: relative;
    z-index: 2;
    padding: 15px 0px;
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    animation: heroFadeUp var(--duration) var(--ease-out) both;
}

.venue-hero__logo {
    display: inline-block;
    margin-bottom: var(--space-sm);
    background: #fff;
    border-radius: 3px;
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.venue-hero__logo {
    width: 230px;
    height: 230px;
}

.venue-hero__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.venue-hero__title {

    font-size: 2.8rem;
    font-variation-settings: "wght" 600;
    color: var(--enc-navy);
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.venue-hero__location {
    font-size: 12px;
    color: var(--enc-gray-400);
    margin: 0;
    font-variation-settings: "wght" 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.venue-hero__scroll-hint {
    position: absolute;
    bottom: 1.5rem;
    right: 2rem;
    z-index: 2;
    color: rgba(255,255,255,0.5);
    animation: scrollBob 2s ease-in-out infinite;
}

@keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes scrollBob {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(6px); }
}


/* ─────────────────────────────────────────────────────────────────────
   3. MAIN INFO STRIP
───────────────────────────────────────────────────────────────────── */
.venue-info-strip {
    padding: 0px 0px;
    background: var(--enc-white);
}

.venue-resources-section {
    background: #fff;
}

.venue-info-strip__grid {
    display: grid;
    grid-template-columns: 70fr 30fr;
    gap: var(--space-lg);
    align-items: start;
    margin-top: 60px;
}

.venue-info-strip__cta {
margin-bottom: 50px;
}

/* Tagline */
.venue-tagline {
    font-size: 18px;
    line-height: 1.2em;
    color: var(--enc-purple);
    font-variation-settings: "wght" 600;
    margin: 30px 0 var(--space-sm);
}

/* Description */
.venue-description {
    color: var(--enc-navy);
    margin-bottom: var(--space-md);
}

.venue-description strong {
    display: block;
    color: var(--enc-navy);
    font-variation-settings: "wght" 600;
    margin-top: var(--space-sm);
    margin-bottom: 0.25rem;
}

.venue-description a {
    color: var(--enc-dark-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Resources */
.venue-resources-section {
    background: #fff;
    padding: var(--space-lg) 0 0;
}

.venue-resources {
    max-width: 100%;
    margin: 0 auto 90px;
}

.venue-resources__heading {
    font-size: 1.3rem;
    font-variation-settings: "wght" 500;
    color: var(--enc-navy);
    margin: 0px 0px 15px 0px;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.venue-resources__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.venue-resources__pills li::before {
    display: none !important;
}

ul > li {
  padding-left: 15px !important;
}

.venue-resource-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--enc-purple);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-variation-settings: "wght" 600;
    padding: 12px 24px;
    border-radius: 999px;
    transition: background 200ms;
    line-height: 1;
}

.venue-resource-link svg {
    flex-shrink: 0;
}

.venue-resource-link:hover {
    background: #8f4388;
    color: #fff;
}

/* Resources — icon card grid (drop-in alternate to the pills above).
   Fixed card width via flex (not grid auto-fit/1fr) so a single resource
   stays a compact card instead of stretching to fill the row. */
.venue-resources__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.venue-resource-card {
    flex: 0 1 180px;
    min-width: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    background: var(--enc-gray-100);
    border: 1px solid var(--enc-gray-200);
    border-radius: 3px;
    padding: 28px 16px;
    text-decoration: none;
    transition: background 200ms, border-color 200ms;
}

.venue-resource-card:hover {
    background: #fff;
    border-color: var(--enc-purple);
}

.venue-resource-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--enc-purple);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.venue-resource-card__label {
    font-size: 13px;
    font-variation-settings: "wght" 600;
    color: var(--enc-navy);
    line-height: 1.3;
    word-break: break-word;
}

/* Address */
.venue-address {
    font-style: normal;
    font-size: 0.95rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    color: var(--enc-gray-600);
    margin-bottom: 0.75rem;
}

.venue-address strong {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--enc-navy);
    font-variation-settings: "wght" 700;
    margin-bottom: 0.15rem;
}

.venue-phone {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
    color: var(--enc-gray-600);
    margin: 0;
}

.venue-phone a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.venue-phone a:hover { color: var(--enc-dark-blue); }

/* CTA Card — Layout 1 / default. Unscoped, so this is what renders on
   single-venue.twig (no .venue-single--v2 ancestor). Values below are
   the original, pre-redesign design — do not change without confirming
   the change should apply to Layout 1. */
.venue-cta-card {
    background: var(--enc-navy);
    border-radius: 3px;
    padding: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.venue-info-strip__sidebar {
    position: sticky;
    top: 2rem;
}

.venue-cta-card__cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0px;
}

.venue-cta-card__text {
    color: #fff;
    line-height: 1.4;
    margin: 40px 0 1.25rem;
    font-style: italic;
    font-variation-settings: "wght" 700;
    text-align: center;
}

.venue-cta-button {
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    background: var(--enc-light-blue);
    color: var(--enc-white);
    padding: 0.4rem .4rem;
    border-radius: 3px;
    font-variation-settings: "wght" 700;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    font-size: .9em;
}

.venue-cta-card__divider--horizontal {
  width: 80%;
  height: 1px;
  background: rgba(255,255,255,0.5);
  margin: 30px 20px auto;
  }



.venue-cta-card__address {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 1.8rem 1.5rem 1.5rem 1.5rem;
}

.venue-cta-card__address-label {
font-size: 0.75rem;
  font-variation-settings: "wght" 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff;
  margin: 0 0 0.5rem;
  }

.venue-cta-card__address span:not(.venue-cta-card__address-label) {
    color: #fff;
    line-height: 1.2;
    display: block;
    font-size: 14px;
    font-variation-settings: "wght" 500;
}

.venue-cta-card__phone {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: #fff;
    text-decoration: none;
    margin-top: 0.5rem;
    font-size: 14px;
    font-variation-settings: "wght" 600;
}

.venue-cta-card__phone svg {
    flex-shrink: 0;
}

.venue-cta-card__phone:hover {
    color: var(--enc-light-blue);
}

.venue-cta-button:hover {
    background: var(--enc-dark-blue);
    transform: translateY(-1px);
    xbox-shadow: 0 8px 24px rgba(0, 180, 180, 0.45);
}

.venue-cta-button:active {
    transform: translateY(0);
}

/* ─────────────────────────────────────────────────────────────────────
   LAYOUT V2 ONLY — scoped under .venue-single--v2 (set on the <main>
   element in single-venue-v2.twig). Every rule below overrides the
   Layout-1 defaults above and only takes effect on Layout 2 pages.
   Keep new v2-only styling inside this block — Layout 1 depends on the
   unscoped rules above staying untouched.
───────────────────────────────────────────────────────────────────── */


/* CTA Box — outer wrapper. Holds the logo box (optional), the white CTA
   card, and the indigo infra-services footer (optional) as one unit so
   they share a single rounded box-shadow. */
.venue-single--v2 .venue-cta-box {
    width: 100%;
    background: #ffffff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(26, 20, 68, 0.15);
}


.venue-single--v2 .venue-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 140px;
    box-sizing: border-box;
}

.venue-single--v2 .venue-logo-box__img {
    max-height: 60%;
    max-width: 65%;
    width: auto;
    height: auto;
    object-fit: contain;
}


.venue-single--v2 .venue-cta-card {
    background: #ffffff;
    border-radius: 0;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 100%;
    margin-top: 0;
}

.venue-single--v2 .venue-cta-card__divider--horizontal {
  height: 0px;
  margin: 0px;
  }

.venue-single--v2 .venue-cta-card__infra-list li a {
color: #ffffff !important;
}

.venue-single--v2 .venue-cta-card__infra-list li a:hover {
text-decoration: underline;
}


.venue-single--v2 .venue-cta-button {
    width: 80%;
    background: var(--enc-purple);
}

.venue-cta-button:hover {
    background: var(--enc-dark-blue);
    transform: translateY(-1px);
    xbox-shadow: 0 8px 24px rgba(0, 180, 180, 0.45);
}


.venue-single--v2 .venue-cta-card__text {
    color: #1a1444;
    font-size: 0.9em;
    margin-top: 0px;
    padding-right: 40px;
    padding-left: 40px;
}

.venue-single--v2 .venue-cta-card__divider--horizontal {
  background: var(--enc-gray-200);
}

.venue-single--v2 .venue-cta-card__address-label {
  color: #1a1444;
  display: none;
}

.venue-single--v2 .venue-cta-card__address span:not(.venue-cta-card__address-label) {
    color: #1a1444;
}

.venue-single--v2 .venue-cta-card__phone {
    color: #1a1444;
}

.venue-single--v2 .venue-cta-card__phone:hover {
    color: var(--enc-purple);
}


/* Infrastructure Services footer — dark bar at the bottom of the CTA
   box, shown only when the venue has at least one of Power/Internet/
   Rigging enabled. (v2-only markup, scoped here too for clarity.) */
.venue-single--v2 .venue-cta-card__infra {
    background: #1a1444;
    padding: 1.25rem 1.5rem;
}

.venue-single--v2 .venue-cta-card__infra-heading {
    color: #ffffff;
    font-size: 0.75rem;
    font-variation-settings: "wght" 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0rem;
}

.venue-single--v2 .venue-cta-card__infra-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0rem 1rem;
    list-style: none;
    margin-top: 10px;
    padding: 0;
}

.venue-single--v2 .venue-cta-card__infra-list li {
    color: #ffffff;
    font-size: 13px;
    font-variation-settings: "wght" 700;
    display: flex;
    align-items: center;
    gap: 0.4rem;
	margin-top: 0px;
	padding-left: 15px !important;
}



/* ─────────────────────────────────────────────────────────────────────
   4. SERVICES
───────────────────────────────────────────────────────────────────── */
.venue-services {
    background: #f9f9f9;
    padding: var(--space-md) 0;
}

.venue-services__grid {
    display: grid;
    gap: var(--space-sm);
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* 1 service */
.venue-services__grid[style*="--service-count: 1"] {
    grid-template-columns: minmax(200px, 350px);
}

/* 4 services — 2x2 */
.venue-services__grid[style*="--service-count: 4"] {
    grid-template-columns: repeat(2, 1fr);
}

/* 5 services — 3 on top, 2 on bottom centered */
.venue-services__grid[style*="--service-count: 5"] {
    grid-template-columns: repeat(6, 1fr);
}

.venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(1),
.venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(2),
.venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(3) {
    grid-column: span 2;
}

.venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(4) {
    grid-column: 2 / 4;
}

.venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(5) {
    grid-column: 4 / 6;
}

.venue-service-card {
    background: var(--enc-white);
    border-radius: 3px 3px 0px 3px;
    padding: var(--space-md) var(--space-sm);
    text-align: center;
    border: 1px solid var(--enc-gray-200);
    transition: transform 0.25s var(--ease-out), box-shadow 0.25s;
    position: relative;
    overflow: hidden;
}

.venue-service-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--enc-purple);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s var(--ease-out);
}

.venue-service-card:hover {
    transform: translateY(-4px);
    xbox-shadow: 0 16px 40px rgba(26,31,54,0.1);
}

.venue-service-card:hover::after {
    transform: scaleX(1);
}

.venue-service-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--space-sm);
    display: flex;
    align-items: center;
    justify-content: center;
}

.venue-service-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.venue-service-card__title {
    font-size: 1rem;
    font-variation-settings: "wght" 700;
    color: var(--enc-navy);
    margin: 0 0 0.5rem;
    font-family: var(--font-body);
}

.venue-service-card__desc {
    font-size: 0.85rem;
    color: var(--enc-gray-600);
    margin: 0;
    line-height: 1.55;
}


/* ─────────────────────────────────────────────────────────────────────
   5. GALLERY
───────────────────────────────────────────────────────────────────── */

.footer-section {
  margin-top: 30px !important;
}

.venue-gallery {
  background: var(--enc-white);
  margin: auto;
  margin-bottom: 100px;
  margin-top: 50px;
}

.venue-gallery__track-wrap {
    position: relative;
    overflow: visible;
    margin: 0px;
}

.venue-gallery__track-wrap--no-resources {
    margin-bottom: 110px;
}

.venue-gallery__track {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.venue-gallery__track::-webkit-scrollbar { display: none; }

.venue-gallery__item {
    flex: 0 0 auto;
    width: clamp(180px, 35vw, 370px);
    height: 250px;
    scroll-snap-align: start;
    display: block;
    overflow: hidden;
    position: relative;
}

.venue-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease-out);
    display: block;
    border-radius: 3px;
}

.venue-gallery__item:hover img {
    transform: scale(1.04);
}

.venue-gallery__nav {
    position: absolute;
    top: 120%;
    transform: translateY(-50%);
    background-color: #fff;
    color: var(--enc-navy);
    border: 2px solid #1a1444;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s, transform 0.2s;
    backdrop-filter: blur(4px);
}

.venue-gallery__nav:hover {
    background: var(--enc-dark-blue);
    border: none;
    color: #fff;
}

.venue-gallery__nav--prev { right: 60px; }
.venue-gallery__nav--next { right: 0; }

#evlLightbox button[aria-label="Previous image"],
#evlLightbox button[aria-label="Next image"] {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
}

#evlLightbox button[aria-label="Previous image"] svg path,
#evlLightbox button[aria-label="Next image"] svg path {
    stroke: #000000 !important;
}

#evlLightbox button[aria-label="Previous image"]:hover,
#evlLightbox button[aria-label="Next image"]:hover {
    background: #1b75bc !important;
}

#evlLightbox button[aria-label="Previous image"]:hover svg path,
#evlLightbox button[aria-label="Next image"]:hover svg path {
    stroke: #ffffff !important;
}

/* ─────────────────────────────────────────────────────────────────────
   6. MAP
───────────────────────────────────────────────────────────────────── */
.venue-map {
    margin-top: var(--space-md);
}

.venue-map__embed {
    width: 100%;
    height: 520px;
    background: var(--enc-gray-200);
    border-radius: 3px !important;
}


/* ─────────────────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────────────────── */
@media (max-width: 1250px) {

.venue-what-we-do > *,
.venue-what-we-do .custom-block,
.venue-what-we-do .masonry-slider,
.venue-what-we-do .container {
  padding-right: 5px;
  padding-left: 5px;
}

.venue-container {
  padding-right: 20px;
  padding-left: 20px;
}

}

@media (max-width: 1040px) {

.venue-hero__content {
padding-left: 30px;
}

.venue-description {
margin-bottom: 0px;
}


#services-heading {
margin-left: 20px;
}

.venue-services__grid {
margin-left: 20px;
margin-right: 20px;
}

.venue-single--v2 .venue-what-we-do {
  width: 100%;
  margin: 0 auto;
  }
}

@media (max-width: 900px) {

    .venue-info-strip__grid {
        grid-template-columns: 1fr;
    }

    .venue-info-strip__sidebar {
        position: static;
        width: 100%;
    }

    .venue-cta-card {
        position: static;
    }

    .venue-cta-button {
        max-width: 200px;
    }

    .venue-cta-card {
        margin-top: 0px;
    }

    .venue-single--v2 .venue-cta-box {
        position: static;
        margin-top: 0px;
    }

    .venue-gallery__item {
        width: clamp(200px, 80vw, 300px);
        height: 200px;
    }

.venue-what-we-do__heading {
  padding-top: 0px !important;
}

.venue-hero {
max-height: 300px;
}

}



@media (max-width: 600px) {

    .venue-hero__title {
        font-size: clamp(1.6rem, 7vw, 2.4rem);
    }

    .venue-services__grid,
    .venue-services__grid[style*="--service-count: 4"],
    .venue-services__grid[style*="--service-count: 5"] {
        grid-template-columns: 1fr;
    }

    .venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(1),
    .venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(2),
    .venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(3),
    .venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(4),
    .venue-services__grid[style*="--service-count: 5"] .venue-service-card:nth-child(5) {
        grid-column: span 1;
    }

    .venue-map__embed {
        height: 280px;
    }

    .venue-hero {
    max-height: 200px;
}

.venue-gallery {
  margin-top: 0px;
}

.venue-resources-section {
  padding-top: 0px;
}


}

@media (max-width: 415px) {
    .venue-resource-card {
        flex: 1 1 100%;
    }

.venue-resource-card {
    padding: 18px 16px;
}

    .venue-hero {
    max-height: 180px;
}

}

/* ─────────────────────────────────────────────────────────────────────
   UTILITY: Scroll-in animation (JS adds .is-visible class)
───────────────────────────────────────────────────────────────────── */
.venue-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}

.venue-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.venue-animate:nth-child(2) { transition-delay: 0.1s; }
.venue-animate:nth-child(3) { transition-delay: 0.2s; }
.venue-animate:nth-child(4) { transition-delay: 0.3s; }
.venue-animate:nth-child(5) { transition-delay: 0.4s; }


/* ─────────────────────────────────────────────────────────────────────
   LANGUAGE SWITCHER — hide WPML nav item on venue pages
───────────────────────────────────────────────────────────────────── */
.navbar__item:has(.wpml-ls-native) {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────────────
   LANGUAGE SWITCHER
───────────────────────────────────────────────────────────────────── */
.venue-lang-switcher {
    position: relative;
    display: inline-block;
    margin-bottom: 14px;
}

.venue-lang-switcher__trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border: 1px solid var(--enc-gray-400);
    border-radius: 3px;
    background: transparent;
    color: var(--enc-gray-600);
    font-size: 12px;
    font-variation-settings: "wght" 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    font-family: inherit;
}

.venue-lang-switcher__trigger:hover {
    border-color: var(--enc-navy);
    color: var(--enc-navy);
}

.venue-lang-switcher__trigger[aria-expanded="true"] {
    border-color: var(--enc-navy);
    color: var(--enc-navy);
}

.venue-lang-switcher__trigger[aria-expanded="true"] .venue-lang-switcher__chevron {
    transform: rotate(180deg);
}

.venue-lang-switcher__chevron {
    transition: transform 0.2s;
}

.venue-lang-switcher__dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: #fff;
    border: 1px solid var(--enc-gray-400);
    border-radius: 3px;
    min-width: 160px;
    z-index: 100;
    list-style: none;
    margin: 0;
    padding: 0;
}

.venue-lang-switcher__dropdown[hidden] {
    display: none;
}

.venue-lang-switcher__dropdown li {
    padding-left: 0 !important;
}

.venue-lang-switcher__dropdown li::before {
    display: none !important;
}

.venue-lang-switcher__dropdown a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 14px;
    font-size: 13px;
    font-variation-settings: "wght" 400;
    color: var(--enc-gray-600);
    text-decoration: none;
    border-bottom: 1px solid var(--enc-gray-200);
    transition: background 0.15s, color 0.15s;
}

.venue-lang-switcher__dropdown li:last-child a {
    border-bottom: none;
}

.venue-lang-switcher__dropdown a:hover {
    background: var(--enc-gray-100);
    color: var(--enc-navy);
}

.venue-lang-switcher__dropdown a.is-current {
    font-variation-settings: "wght" 600;
    color: var(--enc-dark-blue);
}

/* ─────────────────────────────────────────────────────────────────────
   PRINT
───────────────────────────────────────────────────────────────────── */
@media print {
    .venue-hero { min-height: 200px; height: 200px; }
    .venue-hero__scroll-hint,
    .venue-gallery__nav,
    .venue-cta-button { display: none; }
    .venue-gallery__track { flex-wrap: wrap; }
    .venue-gallery__item { width: 48%; height: 160px; }
}

/* ─────────────────────────────────────────────────────────────────────
   WHAT WE DO SLIDER
───────────────────────────────────────────────────────────────────── */

/* Fix bullet indentation inside the What We Do slider —
   a broad ul > li { padding-left: 0 !important } rule in the theme zeroes it out */
.venue-what-we-do ul > li {
  padding-left: 1.5em !important;
}

.venue-what-we-do__heading {
  text-align: center;
  margin: 70px 0 0px;
  padding-top: 20px;
  font-size: 32px;
}

/* Full width — matches Map and Gallery, which also wrap their content
   in .main-container for an edge-to-edge layout, instead of being
   capped at --container-max like the narrow content sections */

.main-container {
  background-color: transparent !important;
  }


.masonry-slider .horizontal-tab {
font-size: 15px !important;
}

.venue-single--v2 .masonry-content-body .title {
font-size: 28px !important;
}

.venue-single--v2 .masonry-content-body li {
font-size: 15px !important;
}

.venue-single--v2 .masonry-content-body ul li {
margin-top: 10px !important;
line-height: 1.5 !important;
}

.venue-single--v2 .masonry-content-body .text {
font-size: 15px !important;
line-height: 1.7 !important;
}


.venue-single--v2 .masonry-content-body .btn {
font-variation-settings: "wght" 600;
}


/* The extracted slider markup is:
   .custom-block > .masonry-slider > .container.container--fluid > .swiper ...
   This is Bootstrap-style markup — .container carries its own max-width
   at various breakpoints from the theme's masonry-slider stylesheet
   (not in this plugin), and .container--fluid is meant to opt out of
   that cap but only resolves relative to its own ancestors. Force every
   layer in the chain to be full width so nothing upstream of the swiper
   can still be capping it. */
.venue-what-we-do > *,
.venue-what-we-do .custom-block,
.venue-what-we-do .masonry-slider,
.venue-what-we-do .container {
  max-width: 1000px;
  margin: 0 auto;
}

/* ─────────────────────────────────────────────────────────────────────
   CUSTOM SECTIONS (centrally managed, open-ended page-section repeater)
───────────────────────────────────────────────────────────────────── */

.venue-custom-section {
  margin: 50px 20px 50px 20px;
}

/* Same full-width-override rationale as the What We Do slider above —
   a custom section can also extract masonry-slider block markup, which
   carries the same Bootstrap-style .container/.container--fluid chain. */
.venue-custom-section > *,
.venue-custom-section .custom-block,
.venue-custom-section .masonry-slider,
.venue-custom-section .container {
  max-width: 1000px;
  margin: 0 auto !important;
}

@media (min-width: 992px) and (max-width: 1199px) {
  .venue-custom-section .cards-slider .swiper-slide {
    width: calc((100cqw - 2 * var(--gutter)) / 3);
  }
}
@media (min-width: 1000px) {
  .venue-custom-section .cards-slider .swiper-slide {
    width: calc((100cqw - 3 * var(--gutter)) / 4);
  }
}
