:root{--jdf-dark:#17222a;--jdf-gold:#c59a4a;--jdf-soft:#f4f1eb;--jdf-border:#ded8ce;--jdf-text:#20272c}
.jdf-clean-venue-template main#primary.jdf-venue-template-main,.jdf-clean-venue-template .jdf-venue-template-canvas{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;position:static!important;float:none!important;transform:none!important}
.jdf-clean-venue-template .jdf-venue-template-canvas>.jdf-venue-page,.jdf-clean-venue-template .jdf-venue-page{display:block!important;width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important;position:static!important;inset:auto!important;float:none!important;transform:none!important;overflow-x:clip}
.jdf-venue-page{color:var(--jdf-text);font-size:1rem}.jdf-venue-page *{box-sizing:border-box}
.jdf-venue-page .jdf-hero-content,.jdf-venue-page .jdf-top-columns,.jdf-venue-page .jdf-content-columns,.jdf-venue-page .jdf-gallery-section,.jdf-venue-page .jdf-faq-section,.jdf-venue-page .jdf-cta,.jdf-venue-page .jdf-soft-section>.wp-block-group{box-sizing:border-box!important;width:calc(100% - 64px)!important;max-width:1600px!important;margin-left:auto!important;margin-right:auto!important;position:static!important;float:none!important;transform:none!important}
.jdf-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:var(--jdf-dark);width:100%!important;max-width:none!important;margin:0!important}.jdf-hero .wp-block-cover__image-background{object-fit:cover}.jdf-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(14,23,29,.9),rgba(14,23,29,.48) 65%,rgba(14,23,29,.18))!important;opacity:1!important}.jdf-hero .wp-block-cover__inner-container{width:100%;position:relative;z-index:3}.jdf-hero-content{padding:80px 0!important}.jdf-page-title{max-width:900px;margin:.2em 0!important;font-size:clamp(2.5rem,6vw,5.4rem)!important;line-height:.98!important}.jdf-hero-summary{max-width:760px;font-size:clamp(1.05rem,2vw,1.35rem)}
.jdf-light-text,.jdf-dark-card .wp-block-heading,.jdf-dark-card p,.jdf-dark-card li,.jdf-cta .wp-block-heading,.jdf-cta p{color:#fff!important}.jdf-kicker{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7d632f}.jdf-top-columns,.jdf-content-columns{gap:28px;margin-top:56px!important;margin-bottom:56px!important;padding:0!important}.jdf-card,.jdf-dark-card,.jdf-cta{border-radius:18px;padding:clamp(26px,4vw,48px)!important}.jdf-card{background:#fff;border:1px solid var(--jdf-border);box-shadow:0 12px 35px rgba(24,32,37,.07)}.jdf-knowledge-card{background:var(--jdf-soft)}.jdf-dark-card,.jdf-cta{background:var(--jdf-dark)}.jdf-soft-section{background:var(--jdf-soft);padding:72px 0!important;margin:36px 0!important;width:100%!important;max-width:none!important}.jdf-centred-copy{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.jdf-size-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)!important;gap:22px!important;width:100%!important;margin:0!important}.jdf-size-row>.wp-block-column{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;flex:none!important}.jdf-size-card{width:100%;height:100%;min-height:220px;padding:30px 24px!important;border:1px solid var(--jdf-border);border-radius:16px;background:#fff;display:flex;flex-direction:column;justify-content:center}.jdf-recommended-card{border:2px solid var(--jdf-gold);background:linear-gradient(180deg,#fffdf8 0%,#fff 100%);box-shadow:0 16px 38px rgba(197,154,74,.22);transform:translateY(-8px)}.jdf-recommended-card h3{font-size:clamp(1.8rem,2.5vw,2.45rem)!important}.jdf-recommended-card:after{content:"Our best fit";display:block;width:max-content;max-width:100%;margin:14px auto 0;padding:6px 11px;border-radius:999px;background:rgba(197,154,74,.14);color:#6f5524;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.jdf-size-card:before{display:block;margin-bottom:10px;text-align:center;color:#7d632f;font-size:.68rem;font-weight:800;letter-spacing:.11em}.jdf-size-row>.wp-block-column:nth-child(1) .jdf-size-card:before{content:"SMALLEST ADVISED"}.jdf-size-row>.wp-block-column:nth-child(2) .jdf-size-card:before{content:"NORMAL"}.jdf-size-row>.wp-block-column:nth-child(3) .jdf-size-card:before{content:"RECOMMENDED"}.jdf-size-row>.wp-block-column:nth-child(4) .jdf-size-card:before{content:"MAXIMUM"}.jdf-size-card>.jdf-badge{display:none}
.jdf-style-box{padding:30px!important;border:1px solid var(--jdf-border);border-radius:14px;background:#faf9f6;margin-top:20px!important}.jdf-style-box h3{margin-top:0}.jdf-tick-list li{margin-bottom:.75em}.jdf-process-list li{margin-bottom:1em}.jdf-quote{border-left:4px solid var(--jdf-gold);padding-left:22px}
.jdf-gallery-section,.jdf-faq-section{padding:56px 0!important;text-align:center}.jdf-gallery-section>*{max-width:none!important}.jdf-large-gallery{width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;gap:16px!important}.jdf-large-gallery figure.wp-block-image{overflow:hidden;border-radius:12px;cursor:zoom-in}.jdf-large-gallery img{transition:transform .25s ease}.jdf-large-gallery figure.wp-block-image:hover img{transform:scale(1.025)}.jdf-faq-section details{width:100%;max-width:1100px;margin:0 auto 14px!important;text-align:left;border:1px solid var(--jdf-border);border-radius:12px;padding:18px 20px;background:#fff}.jdf-faq-section summary{font-weight:700;cursor:pointer}.jdf-cta{margin-top:48px!important;margin-bottom:72px!important;padding:52px!important}.jdf-primary-button .wp-block-button__link,.jdf-gold-button .wp-block-button__link{border-radius:999px;padding:14px 24px;font-weight:700}.jdf-primary-button .wp-block-button__link{background:#fff;color:var(--jdf-dark)}.jdf-gold-button .wp-block-button__link{background:var(--jdf-gold);color:#111}
.jdf-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.jdf-lightbox.is-open{display:flex}.jdf-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.jdf-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;width:48px;height:48px;border-radius:999px;font-size:26px;cursor:pointer}.jdf-lightbox-close{top:20px;right:20px}.jdf-lightbox-prev{left:20px;top:50%}.jdf-lightbox-next{right:20px;top:50%}
@media(max-width:1000px){.jdf-size-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.jdf-recommended-card{transform:none}}
@media(max-width:781px){.jdf-venue-page .jdf-hero-content,.jdf-venue-page .jdf-top-columns,.jdf-venue-page .jdf-content-columns,.jdf-venue-page .jdf-gallery-section,.jdf-venue-page .jdf-faq-section,.jdf-venue-page .jdf-cta,.jdf-venue-page .jdf-soft-section>.wp-block-group{width:calc(100% - 32px)!important}.jdf-hero{min-height:520px}.jdf-hero-content{padding:60px 0!important}.jdf-top-columns,.jdf-content-columns{display:block!important;margin-top:32px!important;margin-bottom:32px!important}.jdf-top-columns>.wp-block-column,.jdf-content-columns>.wp-block-column{margin-bottom:20px}.jdf-soft-section{padding-top:48px!important;padding-bottom:48px!important}.jdf-size-row{grid-template-columns:1fr!important}.jdf-size-card{min-height:auto}.jdf-cta{padding:32px!important}}

/* v1.12.0: wider recommendation cards */
.jdf-venue-page .jdf-soft-section > .wp-block-group {
  width: calc(100% - 64px) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.jdf-venue-page .jdf-size-row {
  width: 100% !important;
  max-width: 1480px !important;
  margin: 34px auto 0 !important;
  grid-template-columns:
    minmax(220px, 1fr)
    minmax(220px, 1fr)
    minmax(380px, 1.75fr)
    minmax(220px, 1fr) !important;
  gap: 28px !important;
}
.jdf-venue-page .jdf-size-row > .wp-block-column,
.jdf-venue-page .jdf-size-card {
  min-width: 0 !important;
  max-width: none !important;
}
.jdf-venue-page .jdf-size-card {
  padding: 36px 30px !important;
}
.jdf-venue-page .jdf-size-card h3,
.jdf-venue-page .jdf-size-card p,
.jdf-venue-page .jdf-size-card:before {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
@media (max-width: 1250px) {
  .jdf-venue-page .jdf-size-row {
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
    max-width: 900px !important;
  }
}
@media (max-width: 680px) {
  .jdf-venue-page .jdf-soft-section > .wp-block-group {
    width: calc(100% - 32px) !important;
  }
  .jdf-venue-page .jdf-size-row {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }
}

/* v1.13.0: larger desktop gallery lightbox */
@media (min-width: 900px) {
  .jdf-lightbox {
    padding: 10px !important;
  }
  .jdf-lightbox img {
    max-width: 98vw !important;
    max-height: 96vh !important;
    width: auto !important;
    height: auto !important;
  }
  .jdf-lightbox-close {
    top: 14px !important;
    right: 14px !important;
  }
  .jdf-lightbox-prev {
    left: 14px !important;
  }
  .jdf-lightbox-next {
    right: 14px !important;
  }
}


/* v1.14.0: related venue cards */
.jdf-related-venues{box-sizing:border-box!important;width:calc(100% - 64px)!important;max-width:1600px!important;margin:72px auto!important;padding:0!important;text-align:center}
.jdf-related-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;margin-top:34px!important}
.jdf-related-grid>.wp-block-column{width:100%!important;margin:0!important}
.jdf-related-card{border-radius:18px;overflow:hidden;min-height:390px!important;text-align:left;box-shadow:0 14px 35px rgba(20,29,35,.14)}
.jdf-related-card .wp-block-cover__inner-container{padding:30px!important}
.jdf-related-card h3{font-size:clamp(1.5rem,2vw,2rem)!important;margin-bottom:.2em!important}
.jdf-related-card p{margin-top:0!important}
.jdf-related-card .wp-block-cover__image-background{transition:transform .35s ease}
.jdf-related-card:hover .wp-block-cover__image-background{transform:scale(1.035)}
@media(max-width:900px){.jdf-related-grid{grid-template-columns:1fr!important;max-width:680px;margin-left:auto!important;margin-right:auto!important}}
@media(max-width:781px){.jdf-related-venues{width:calc(100% - 32px)!important;margin:48px auto!important}}

/* Related venues cards - v1.14.1 */
.jdf-related-venues {
  margin-inline: auto !important;
  width: min(100% - 40px, 1600px) !important;
}
.jdf-related-grid {
  gap: 28px;
  align-items: stretch;
}
.jdf-related-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.jdf-related-card-image {
  margin: 0 !important;
  width: 100%;
}
.jdf-related-card-image img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.jdf-related-card-content {
  padding: 24px 26px 28px;
}
.jdf-related-card-content h3,
.jdf-related-card-content p {
  margin-top: 0;
}
@media (max-width: 900px) {
  .jdf-related-grid { flex-wrap: wrap !important; }
  .jdf-related-grid > .wp-block-column { flex-basis: calc(50% - 14px) !important; }
}
@media (max-width: 640px) {
  .jdf-related-grid > .wp-block-column { flex-basis: 100% !important; }
  .jdf-related-card-image img { height: 240px; }
}

/* v1.14.2: venue gallery matches the full main content width */
.jdf-venue-page .jdf-gallery-section {
  width: calc(100% - 64px) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.jdf-venue-page .jdf-gallery-section > h2,
.jdf-venue-page .jdf-gallery-section > p {
  margin-left: auto !important;
  margin-right: auto !important;
}
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section {
  width: calc(100% - 64px) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 781px) {
  .jdf-venue-page .jdf-gallery-section,
  .editor-styles-wrapper .jdf-venue-page .jdf-gallery-section {
    width: calc(100% - 32px) !important;
  }
}

/* v1.14.3: remove the Gutenberg constrained-content width from the venue gallery */
.jdf-venue-page .jdf-gallery-section,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section {
  display: block !important;
  box-sizing: border-box !important;
  width: calc(100% - 64px) !important;
  max-width: 1600px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* Existing pages may still contain layout type: constrained. Override its child-width rule. */
.jdf-venue-page .jdf-gallery-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.jdf-venue-page .jdf-gallery-section .jdf-large-gallery,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Keep the heading copy readable while the image grid uses the full section width. */
.jdf-venue-page .jdf-gallery-section > .jdf-kicker,
.jdf-venue-page .jdf-gallery-section > h2,
.jdf-venue-page .jdf-gallery-section > p:not(.jdf-kicker),
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > .jdf-kicker,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > h2,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > p:not(.jdf-kicker) {
  width: min(100%, 900px) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 781px) {
  .jdf-venue-page .jdf-gallery-section,
  .editor-styles-wrapper .jdf-venue-page .jdf-gallery-section {
    width: calc(100% - 32px) !important;
  }
}


/* v1.14.4: force the gallery grid to the same visual width as the page canvas. */
.jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.jdf-venue-page .jdf-gallery-section .jdf-large-gallery,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1600px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-basis: auto !important;
}

.jdf-venue-page .jdf-gallery-section .wp-block-image,
.editor-styles-wrapper .jdf-venue-page .jdf-gallery-section .wp-block-image {
  min-width: 0 !important;
}

@media (max-width: 781px) {
  .jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
  .jdf-venue-page .jdf-gallery-section .jdf-large-gallery,
  .editor-styles-wrapper .jdf-venue-page .jdf-gallery-section > .wp-block-gallery,
  .editor-styles-wrapper .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
    width: calc(100vw - 32px) !important;
  }
}

/* v1.14.6: definitive gallery sizing based on the live page markup.
 * The section was already wide; WordPress was retaining per-image flex sizing.
 * Convert the gallery itself to a true responsive grid and make every figure/image fill its cell. */
.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section {
  box-sizing: border-box !important;
  width: min(1600px, calc(100vw - 64px)) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .wp-block-gallery.jdf-large-gallery,
.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
}

.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery > figure.wp-block-image,
.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery > .wp-block-image {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: none !important;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery > figure.wp-block-image img,
.jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery > .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

@media (max-width: 1050px) {
  .jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .wp-block-gallery.jdf-large-gallery,
  .jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 650px) {
  .jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section {
    width: calc(100vw - 32px) !important;
  }
  .jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .wp-block-gallery.jdf-large-gallery,
  .jdf-clean-venue-template .jdf-venue-page .jdf-gallery-section .jdf-large-gallery {
    grid-template-columns: 1fr !important;
  }
}

/* v1.14.7: widen the Other venues in the area cards, not the main venue gallery. */
.jdf-related-venues,
.editor-styles-wrapper .jdf-related-venues {
  box-sizing: border-box !important;
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 72px 0 72px -50vw !important;
  padding: 0 32px !important;
  transform: none !important;
  text-align: center !important;
}

.jdf-related-venues > .jdf-related-grid,
.editor-styles-wrapper .jdf-related-venues > .jdf-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px !important;
  box-sizing: border-box !important;
  width: min(1600px, 100%) !important;
  max-width: 1600px !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

.jdf-related-venues > .jdf-related-grid > .wp-block-column,
.editor-styles-wrapper .jdf-related-venues > .jdf-related-grid > .wp-block-column {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

.jdf-related-venues .jdf-related-card,
.editor-styles-wrapper .jdf-related-venues .jdf-related-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 470px !important;
}

.jdf-related-venues .jdf-related-card-image img,
.editor-styles-wrapper .jdf-related-venues .jdf-related-card-image img {
  width: 100% !important;
  height: 350px !important;
  max-width: none !important;
  object-fit: cover !important;
}

.jdf-related-venues .jdf-related-card-content,
.editor-styles-wrapper .jdf-related-venues .jdf-related-card-content {
  flex: 1 1 auto !important;
  width: 100% !important;
}

@media (max-width: 1050px) {
  .jdf-related-venues > .jdf-related-grid,
  .editor-styles-wrapper .jdf-related-venues > .jdf-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .jdf-related-venues,
  .editor-styles-wrapper .jdf-related-venues {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .jdf-related-venues > .jdf-related-grid,
  .editor-styles-wrapper .jdf-related-venues > .jdf-related-grid {
    grid-template-columns: 1fr !important;
  }
  .jdf-related-venues .jdf-related-card-image img,
  .editor-styles-wrapper .jdf-related-venues .jdf-related-card-image img {
    height: 280px !important;
  }
}

/* v1.16.2 County / area listing page */
.jdf-county-page,
.entry-content > .jdf-county-page,
.wp-site-blocks main .jdf-county-page {
  box-sizing: border-box !important;
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
}

/* Remove this section from both new and existing county pages. */
.jdf-county-page .jdf-county-styles,
.editor-styles-wrapper .jdf-county-page .jdf-county-styles {
  display: none !important;
}

/* Main county page canvas. */
.jdf-county-page > .jdf-county-intro,
.jdf-county-page .jdf-county-experience-band > .wp-block-group,
.jdf-county-page > .jdf-county-venue-list,
.jdf-county-page > .jdf-cta,
.jdf-county-page .jdf-county-hero-content {
  box-sizing: border-box !important;
  width: min(1600px, calc(100vw - 64px)) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Stop Gutenberg constrained-layout rules making the content narrow. */
.jdf-county-page .jdf-county-intro.is-layout-constrained > *,
.jdf-county-page .jdf-county-experience-band .is-layout-constrained > *,
.jdf-county-page .jdf-county-venue-list.is-layout-constrained > *,
.jdf-county-page .jdf-cta.is-layout-constrained > *,
.jdf-county-page .jdf-county-hero-content.is-layout-constrained > * {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.jdf-county-hero {
  min-height: 520px !important;
}

.jdf-county-hero-content .jdf-hero-summary {
  max-width: 900px !important;
}

.jdf-county-intro {
  padding-top: 72px !important;
  padding-bottom: 56px !important;
}

.jdf-county-intro p {
  max-width: 1350px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.jdf-county-intro .jdf-kicker,
.jdf-county-intro h2 {
  text-align: center;
}

.jdf-county-experience-band {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.jdf-county-experience-band .jdf-centred-copy {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.jdf-county-benefits {
  width: 100% !important;
  max-width: none !important;
  margin-top: 34px !important;
  gap: 24px !important;
}

.jdf-mini-card {
  box-sizing: border-box;
  height: 100%;
  padding: 30px;
  border: 1px solid rgba(20,29,35,.10);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20,29,35,.06);
}

.jdf-mini-card h3 {
  margin-top: 0;
}

.jdf-county-venue-list {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.jdf-county-venue-list > .jdf-centred-copy {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.jdf-county-venue-row {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(20,29,35,.11);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(20,29,35,.08);
}

.jdf-county-venue-row.is-layout-constrained > *,
.jdf-county-venue-row > .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.jdf-county-venue-row > .wp-block-columns {
  gap: 0 !important;
}

.jdf-county-venue-row .wp-block-column:last-child {
  padding: 38px 44px !important;
}

.jdf-county-venue-row h3 {
  margin-top: 0;
  font-size: clamp(1.55rem, 2vw, 2.15rem);
}

.jdf-county-venue-image {
  margin: 0 !important;
  height: 100%;
  min-height: 300px;
}

.jdf-county-venue-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
}

.jdf-county-page > .jdf-cta {
  padding-left: 56px !important;
  padding-right: 56px !important;
}

.jdf-county-page > .jdf-cta > * {
  max-width: 1250px !important;
}

/* Editor preview: centre inside the editor rather than viewport breakout. */
.editor-styles-wrapper .jdf-county-page {
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
}

.editor-styles-wrapper .jdf-county-page > .jdf-county-intro,
.editor-styles-wrapper .jdf-county-page .jdf-county-experience-band > .wp-block-group,
.editor-styles-wrapper .jdf-county-page > .jdf-county-venue-list,
.editor-styles-wrapper .jdf-county-page > .jdf-cta,
.editor-styles-wrapper .jdf-county-page .jdf-county-hero-content {
  width: min(1600px, calc(100% - 48px)) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 781px) {
  .jdf-county-page > .jdf-county-intro,
  .jdf-county-page .jdf-county-experience-band > .wp-block-group,
  .jdf-county-page > .jdf-county-venue-list,
  .jdf-county-page > .jdf-cta,
  .jdf-county-page .jdf-county-hero-content {
    width: calc(100vw - 32px) !important;
  }

  .jdf-county-hero {
    min-height: 430px !important;
  }

  .jdf-county-venue-row .wp-block-columns {
    flex-direction: column;
  }

  .jdf-county-venue-row .wp-block-column {
    flex-basis: 100% !important;
  }

  .jdf-county-venue-row .wp-block-column:last-child {
    padding: 26px 24px 30px !important;
  }

  .jdf-county-venue-image,
  .jdf-county-venue-image img {
    min-height: 230px;
    height: 230px;
  }

  .jdf-county-page > .jdf-cta {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}


/* v1.17.0: the county page now moves directly from the introduction to the venue directory.
   This also removes the old section from county patterns already inserted into pages. */
.jdf-county-page .jdf-county-experience-band {
  display: none !important;
}

/* Keep a separately inserted JDF County Venue Card aligned with the county directory. */
.jdf-county-page .jdf-county-venue-list > .jdf-county-venue-row,
.jdf-county-page > .jdf-county-venue-row,
.editor-styles-wrapper .jdf-county-venue-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* v1.18.1: keep separately inserted county venue cards comfortably within the page canvas. */
.jdf-county-venue-row,
.jdf-county-page .jdf-county-venue-row,
.entry-content > .jdf-county-venue-row,
.wp-site-blocks main .jdf-county-venue-row,
.editor-styles-wrapper .jdf-county-venue-row {
  box-sizing: border-box !important;
  width: min(1400px, calc(100% - 64px)) !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 781px) {
  .jdf-county-venue-row,
  .jdf-county-page .jdf-county-venue-row,
  .entry-content > .jdf-county-venue-row,
  .wp-site-blocks main .jdf-county-venue-row,
  .editor-styles-wrapper .jdf-county-venue-row {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }
}
