/* 3.3.1: compatibility at the retained-content boundary, never a global reset.
 * In particular, do not reset transforms/positions on map tiles, markers,
 * sliders, SVGs or background images. No content is clipped to hide overflow.
 */
body.dfch-location-v3 .jdf-v33-original {
  min-width:0;
  --wp--style--global--content-size:100%;
  --wp--style--global--wide-size:100%;
}
body.dfch-location-v3 .jdf-v33-original :is(.alignwide,.alignfull),
body.dfch-post-v3 .jdf-v32-prose :is(.alignwide,.alignfull),
body:is(.dfch-location-v3,.dfch-post-v3) .jdf-v331-contained {
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;
  left:auto!important;right:auto!important;transform:none!important;translate:none!important;
}
body.dfch-location-v3 .jdf-v33-original .is-layout-constrained {
  --wp--style--global--content-size:100%;
  --wp--style--global--wide-size:100%;
}
body.dfch-location-v3 .jdf-v33-original h3 {
  font-size:clamp(1.25rem,1.65vw,1.5rem);line-height:1.3;letter-spacing:-.025em;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-grid {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin-inline:0!important;align-items:stretch;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-card {
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin-inline:0!important;overflow-wrap:anywhere;box-sizing:border-box;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-card-title {
  font-size:clamp(1.25rem,1.65vw,1.5rem)!important;line-height:1.3!important;
  letter-spacing:-.025em!important;margin:0 0 10px!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-card-title a {
  color:inherit!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-card :is(p,small) {
  font-size:16px;line-height:1.65;
}
/* Map and list remain where their plugin created them; just change the layout. */
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-shell {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;max-width:100%!important;gap:24px!important;min-width:0!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-column {
  width:100%!important;max-width:100%!important;min-width:0!important;grid-column:1/-1!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map {
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:clamp(360px,42vw,540px)!important;min-height:0!important;
  position:relative;z-index:0;border-radius:12px;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list {
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list .jdf-v331-card-title {
  font-size:20px!important;line-height:1.3!important;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-wide-child {grid-column:1/-1!important}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list .jdf-v331-venue-card {
  padding:20px!important;border:1px solid #ddd8cf;border-radius:10px;background:#fff;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-link {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:10px 15px;font-size:14px!important;font-weight:750;line-height:1.4;
  color:#111!important;background:#fff!important;border:1px solid #aaa195;border-radius:4px;
  text-decoration:none!important;margin-top:12px;
}
body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-link:is(:hover,:focus-visible) {
  color:#fff!important;background:#111!important;border-color:#111;
}
/* Leaflet deliberately uses offscreen, translated tiles and marker layers.
   Allow native inline dimensions, preserve transforms, controls and attribution. */
body.dfch-location-v3 .jdf-v33-original .leaflet-container :is(.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow) {
  max-width:none!important;max-height:none!important;object-fit:fill;
  border:0;border-radius:0;padding:0;margin:0;
}
body.dfch-location-v3 .jdf-v33-original .leaflet-popup-content :is(h2,h3,h4) {
  font-size:18px!important;line-height:1.35!important;letter-spacing:normal;margin:0 0 8px;
}
body.dfch-location-v3 .jdf-v33-original .leaflet-popup-content p {
  font-size:14px!important;line-height:1.5;margin:6px 0;
}
body.dfch-location-v3 .jdf-v33-original .leaflet-control-attribution {font-size:11px;line-height:1.4}
/* Articles: one reading panel, a consistent alignment axis, and a useful rail. */
body.dfch-post-v3 .jdf-v32-post {background:#f3f0e9}
body.dfch-post-v3 .jdf-v32-article-layout {
  max-width:1440px;grid-template-columns:minmax(0,1fr) 310px;
  gap:clamp(24px,3vw,40px);padding-block:44px 56px;align-items:start;
}
body.dfch-post-v3 .jdf-v32-reading-column {
  max-width:none;min-width:0;margin:0;background:#fff;border:1px solid #e2ddd4;
  border-radius:12px;padding:clamp(22px,3vw,42px);
}
body.dfch-post-v3 .jdf-v32-prose {
  max-width:880px;margin-inline:auto;font-size:18px;line-height:1.75;display:flow-root;
  --wp--style--global--content-size:100%;--wp--style--global--wide-size:100%;
}
body.dfch-post-v3 .jdf-v32-prose>:is(p,ul,ol,blockquote,h1,h2,h3,h4,h5,h6) {
  width:100%;max-width:none;margin-left:0!important;margin-right:0!important;
}
body.dfch-post-v3 .jdf-v32-prose>p {margin-bottom:1.05em}
body.dfch-post-v3 .jdf-v32-prose :is(h1,h2) {margin-top:1.4em;margin-bottom:.6em}
body.dfch-post-v3 .jdf-v32-prose>:first-child {margin-top:0}
body.dfch-post-v3 .jdf-v32-prose>.wp-block-group {
  max-width:100%!important;width:100%!important;margin-inline:0!important;
}
body.dfch-post-v3 .jdf-v32-prose .is-layout-constrained {
  --wp--style--global--content-size:100%;--wp--style--global--wide-size:100%;
}
/* Standard article images are centred. The JS only marks individual block
   photographs, not gallery tiles, logos, inline icons or media/text blocks. */
body.dfch-post-v3 .jdf-v32-prose>.wp-block-image,
body.dfch-post-v3 .jdf-v32-prose>.wp-caption,
body.dfch-post-v3 .jdf-v32-prose>.aligncenter,
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-article-photo {
  float:none!important;clear:both;width:100%!important;max-width:100%!important;
  margin:24px auto!important;left:auto!important;right:auto!important;transform:none!important;translate:none!important;
}
body.dfch-post-v3 .jdf-v32-prose>.wp-block-image img,
body.dfch-post-v3 .jdf-v32-prose>.wp-caption img,
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-article-photo img {
  display:block;margin-inline:auto!important;max-width:100%!important;height:auto!important;
}
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-photo-landscape img {
  width:100%!important;max-width:var(--jdf-v331-image-width,100%)!important;height:auto!important;
}
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-photo-portrait img {
  width:auto!important;height:auto!important;max-height:760px!important;max-width:100%!important;object-fit:contain;
}
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-article-photo figcaption {
  max-width:100%;margin:10px auto 0;text-align:center;font-size:15px;line-height:1.55;
}
body.dfch-post-v3 .jdf-v32-prose .wp-block-gallery {max-width:100%;gap:16px}
body.dfch-post-v3 .jdf-v32-prose .wp-block-gallery figure {margin:0!important}
body.dfch-post-v3 .jdf-v32-prose :is(.wp-block-media-text,.wp-block-columns) {max-width:100%;min-width:0}
body.dfch-post-v3 .jdf-v32-prose .wp-block-column {min-width:0}
body.dfch-post-v3 .jdf-v32-article-aside .jdf-v32-side-card {
  padding:25px;border:1px solid #ddd8cf;border-radius:12px;
}
body.dfch-post-v3 .jdf-v32-article-aside h2 {font-size:1.6rem;line-height:1.2}
body.dfch-post-v3 .jdf-v32-article-aside-inner {gap:18px}
body.dfch-post-v3 .jdf-v32-article-aside .jdf-v32-floor-links a {font-size:15px;min-height:44px;padding-block:9px}
@media(min-width:1101px) and (min-height:650px) {
  body.dfch-post-v3 .jdf-v32-article-aside {position:sticky;top:96px}
  body.dfch-post-v3 .jdf-v32-article-aside-inner {
    max-height:calc(100vh - 116px);max-height:calc(100dvh - 116px);overflow-y:auto;
    scrollbar-width:thin;padding:2px 6px 8px 2px;
  }
  body.admin-bar.dfch-post-v3 .jdf-v32-article-aside {top:128px}
  body.admin-bar.dfch-post-v3 .jdf-v32-article-aside-inner {max-height:calc(100dvh - 148px)}
}
@media(max-width:1100px) {
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.dfch-post-v3 .jdf-v32-article-layout {grid-template-columns:1fr;max-width:1020px;gap:28px}
  body.dfch-post-v3 .jdf-v32-article-aside {position:static}
  body.dfch-post-v3 .jdf-v32-article-aside-inner {grid-template-columns:1fr 1fr}
  body.dfch-post-v3 .jdf-v32-article-aside-inner>.jdf-v32-text-link {grid-column:1/-1}
}
@media(max-width:850px) {
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-grid,
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:600px) {
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-venue-grid,
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-map-list {grid-template-columns:minmax(0,1fr)!important}
  body.dfch-location-v3 .jdf-v33-original .jdf-v331-map {height:360px!important}
  body.dfch-post-v3 .jdf-v32-article-layout {padding-block:25px 35px}
  body.dfch-post-v3 .jdf-v32-reading-column {padding:22px 18px}
  body.dfch-post-v3 .jdf-v32-prose {font-size:17px;line-height:1.75}
  body.dfch-post-v3 .jdf-v32-article-aside-inner {grid-template-columns:1fr}
}
@media print {
  body.dfch-post-v3 .jdf-v32-article-layout {display:block;max-width:none;padding:0}
  body.dfch-post-v3 .jdf-v32-reading-column {border:0;padding:0}
  body.dfch-post-v3 .jdf-v32-article-aside {display:none}
}

/* Classic-editor standalone photos, without changing inline icons or galleries. */
body.dfch-post-v3 .jdf-v32-prose > img,
body.dfch-post-v3 .jdf-v32-prose > p > img:only-child,
body.dfch-post-v3 .jdf-v32-prose > p > a:only-child > img:only-child {
  display:block;float:none!important;max-width:100%!important;height:auto!important;margin-inline:auto!important;
}
body.dfch-post-v3 .jdf-v32-prose .jdf-v331-article-photo > figure {
  width:100%!important;max-width:100%!important;float:none!important;margin-inline:auto!important;
}
