
:root{--wm-blue:#2F5496;--wm-light-blue:#8EAADB;--wm-yellow:#FCD326;--wm-bg:#F7F9FA;--wm-grey:#5F6B7A}
.westmid-faq-directory{box-sizing:border-box;width:100%;color:#263348;font-family:inherit}
.westmid-faq-tools{margin:0 0 clamp(1.5rem,2.8vw,2.4rem)}
.westmid-faq-tools__row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem clamp(1.5rem,2.5vw,2.5rem)}
.westmid-faq-search{position:relative;display:block;flex:1 1 31rem;min-width:min(100%,20rem);max-width:none}
.westmid-faq-search svg{position:absolute;left:1.1rem;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:var(--wm-blue);stroke-width:1.8;stroke-linecap:round}
.westmid-faq-search input{box-sizing:border-box;width:100%;min-height:56px;padding:.8rem 1rem .8rem 3.2rem;border:1px solid rgba(47,84,150,.22);border-radius:10px;background:#fff;color:#24334c;font:inherit;font-size:1rem;box-shadow:2px 5px 12px rgba(47,84,150,.08);outline:none}
.westmid-faq-search input:focus-visible{border-color:var(--wm-blue);box-shadow:0 0 0 3px rgba(252,211,38,.42)}
.westmid-faq-filters{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.35rem clamp(1rem,1.7vw,1.5rem);margin:0}
.westmid-faq-filters button{position:relative;border:0;background:none;padding:.45rem 0;color:var(--wm-blue);font:inherit;font-size:.94rem;font-weight:650;white-space:nowrap;cursor:pointer;outline:none}
.westmid-faq-filters button::after{content:"";position:absolute;left:50%;bottom:.14rem;width:0;height:2px;background:var(--wm-yellow);transform:translateX(-50%);transition:width .18s ease}
.westmid-faq-filters button:hover::after{width:100%}.westmid-faq-filters button.is-active::after{width:50%}
.westmid-faq-filters button:focus-visible{box-shadow:0 0 0 3px rgba(252,211,38,.42);border-radius:3px}
.westmid-faq-result-count{min-height:1.35em;margin-top:.65rem;color:var(--wm-grey);font-size:.9rem}
.westmid-faq-group{margin:0 0 clamp(2.6rem,5vw,4.25rem)}
.westmid-faq-group__heading{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.65rem}
.westmid-faq-group__heading h2{margin:0;color:var(--wm-blue);font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700}
.westmid-faq-group__heading span{color:var(--wm-grey);font-size:.85rem}
.westmid-faq-list{border-top:2px solid var(--wm-yellow)}
.westmid-faq-item{border-bottom:1px solid rgba(47,84,150,.16)}
.westmid-faq-item h3{margin:0}
.westmid-faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1.2rem;border:0;background:#fff;padding:1.2rem .25rem;color:var(--wm-blue);text-align:left;font:inherit;font-size:clamp(.98rem,1.15vw,1.06rem);font-weight:650;line-height:1.5;cursor:pointer;outline:none}
.westmid-faq-question:hover{color:#244477}
.westmid-faq-question:focus-visible{box-shadow:inset 4px 0 0 var(--wm-yellow)}
.westmid-faq-toggle{position:relative;width:20px;height:20px;flex:0 0 20px}
.westmid-faq-toggle::before,.westmid-faq-toggle::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:2px;background:var(--wm-blue);border-radius:2px;transition:transform .18s ease}
.westmid-faq-toggle::after{transform:rotate(90deg)}
.westmid-faq-question[aria-expanded="true"] .westmid-faq-toggle::after{transform:rotate(0)}
.westmid-faq-answer{box-sizing:border-box;width:100%;padding:clamp(1rem,1.8vw,1.35rem) clamp(1rem,2.2vw,1.6rem) clamp(1.15rem,2vw,1.5rem);background:rgba(142,170,219,.14);color:#36445a;font-size:clamp(.98rem,1.15vw,1.06rem);font-weight:400;line-height:1.5}
.westmid-faq-answer p{margin:.15rem 0 .9rem}.westmid-faq-answer p:last-child{margin-bottom:0}
.westmid-faq-answer a{color:var(--wm-blue);text-decoration-thickness:1px;text-underline-offset:3px}
.westmid-faq-item.is-linked{animation:wmFaqLinked 2.2s ease}
@keyframes wmFaqLinked{0%,100%{box-shadow:none}15%,70%{box-shadow:inset 5px 0 0 var(--wm-yellow)}}
.westmid-faq-empty{padding:2rem;border-radius:10px;background:var(--wm-bg);color:var(--wm-grey);text-align:center}
.westmid-faq-callout{position:relative;isolation:isolate;display:grid;grid-template-columns:clamp(105px,12vw,145px) minmax(0,1fr);align-items:center;min-height:190px;margin:clamp(2rem,5vw,4rem) 0;padding:clamp(1.7rem,3vw,2.5rem) clamp(1.3rem,4vw,3.2rem) clamp(1.7rem,3vw,2.5rem) clamp(1rem,2vw,1.5rem);overflow:visible}.westmid-faq-callout__paint{position:absolute;z-index:-2;inset:4% 0 2% 5%;background:var(--wm-yellow);clip-path:polygon(1% 9%,6% 4%,17% 7%,29% 3%,43% 6%,55% 2%,69% 5%,82% 3%,96% 7%,99% 15%,97% 30%,100% 43%,98% 57%,100% 74%,96% 89%,83% 94%,68% 91%,54% 96%,39% 93%,24% 96%,10% 92%,2% 95%,4% 79%,1% 64%,3% 48%,1% 31%)}.westmid-faq-callout__paint::after{content:"";position:absolute;left:8%;right:4%;bottom:-5px;height:8px;background:rgba(252,211,38,.55);clip-path:polygon(0 35%,12% 48%,23% 28%,36% 55%,51% 32%,66% 51%,80% 31%,100% 46%,100% 80%,0 72%)}
.westmid-faq-callout__stamp-wrap{position:relative;z-index:2;justify-self:start;margin-left:-18px;transform:rotate(-4deg)}.westmid-faq-stamp{display:block;width:clamp(116px,12vw,146px);height:auto;color:var(--wm-blue);opacity:.92}.westmid-faq-stamp circle{stroke:currentColor;stroke-width:3}.westmid-faq-stamp__arc{fill:currentColor;font-size:12px;font-weight:800;letter-spacing:1.7px}.westmid-faq-stamp__faq{fill:currentColor;font-size:38px;font-weight:900;letter-spacing:2px}.westmid-faq-callout__content{padding-left:clamp(.5rem,2vw,1.6rem);max-width:920px}.westmid-faq-callout__item.is-secondary{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(47,84,150,.23)}.westmid-faq-callout__question{color:var(--wm-blue);font-size:clamp(1.18rem,2.1vw,1.58rem);font-weight:750;line-height:1.36}.westmid-faq-callout p{margin:.65rem 0 .8rem;color:#2f3e55;font-size:clamp(.96rem,1.35vw,1.05rem);line-height:1.62}.westmid-faq-callout__link{display:inline-block;color:var(--wm-blue);font-weight:750;text-decoration:none;border-bottom:2px solid rgba(47,84,150,.25);outline:none}.westmid-faq-callout__link:hover{border-color:var(--wm-blue)}.westmid-faq-callout__link:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.88),0 0 0 6px var(--wm-blue);border-radius:2px}
.westmid-faq-editor-preview{padding:20px;border:1px dashed rgba(47,84,150,.4);background:#f8fafc;color:#2f3e55}.westmid-faq-editor-preview strong{color:var(--wm-blue)}.westmid-faq-editor-callout{background:#fff5b9}
@media(max-width:1050px){.westmid-faq-tools__row{align-items:stretch}.westmid-faq-search{flex-basis:100%}.westmid-faq-filters{flex-basis:100%;width:100%}}
@media(max-width:700px){.westmid-faq-search input{min-height:52px}.westmid-faq-filters{gap:.2rem 1rem}.westmid-faq-group__heading{align-items:flex-end;justify-content:space-between}.westmid-faq-question{padding:1rem .1rem}.westmid-faq-callout{display:block;min-height:0;padding:4.5rem 1.25rem 1.65rem;margin:3rem 0 2rem}.westmid-faq-callout__paint{inset:1.6rem 0 0 0}.westmid-faq-callout__stamp-wrap{position:absolute;top:-.15rem;left:1rem;margin:0;transform:rotate(-5deg)}.westmid-faq-stamp{width:92px}.westmid-faq-callout__content{padding:0}.westmid-faq-callout__question{font-size:1.15rem}.westmid-faq-callout p{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){.westmid-faq-filters button::after,.westmid-faq-toggle::after,.westmid-faq-item{transition:none}.westmid-faq-item.is-linked{animation:none;box-shadow:inset 5px 0 0 var(--wm-yellow)}}

/* v1.0.5 rich short-answer support */
.westmid-faq-callout__summary{margin:0 0 12px}
.westmid-faq-callout__summary p{margin:0 0:.7em}
.westmid-faq-callout__summary p:last-child{margin-bottom:0}
.westmid-faq-callout__summary a{color:inherit;text-decoration:underline;text-underline-offset:2px}


/* v1.0.10 contextual callout refinement
   - editorial width between normal and native Wide Width
   - body-scale typography
   - smaller, more angled stamp with concentric caption arcs */
@media (min-width:701px){
  .westmid-faq-callout{
    width:min(calc(100% + clamp(4.5rem,8vw,8.5rem)),calc(100vw - 2rem));
    max-width:none;
    margin-left:50%;
    margin-right:0;
    transform:translateX(-50%);
    grid-template-columns:clamp(96px,10vw,128px) minmax(0,1fr);
    padding-left:clamp(.8rem,1.4vw,1.15rem);
    padding-right:clamp(1.5rem,3vw,2.7rem);
  }
  .westmid-faq-callout__stamp-wrap{
    margin-left:-30px;
    transform:rotate(-9deg);
  }
  .westmid-faq-stamp{width:clamp(106px,10vw,132px)}
}
.westmid-faq-stamp__arc{font-size:10px;letter-spacing:1.15px}
.westmid-faq-stamp__faq{font-size:35px;letter-spacing:1.5px}
.westmid-faq-callout__question{
  font-size:clamp(1.02rem,1.2vw,1.18rem);
  line-height:1.45;
}
.westmid-faq-callout p{
  font-size:clamp(.96rem,1vw,1.02rem);
  line-height:1.55;
}
@media(max-width:700px){
  .westmid-faq-callout__stamp-wrap{transform:rotate(-10deg)}
  .westmid-faq-stamp{width:86px}
  .westmid-faq-stamp__arc{font-size:9.5px;letter-spacing:1px}
  .westmid-faq-stamp__faq{font-size:33px}
  .westmid-faq-callout__question{font-size:1.05rem;line-height:1.45}
  .westmid-faq-callout p{font-size:.96rem;line-height:1.55}
}

/* v1.0.11 callout centring + stamp distress correction
   - participate in WordPress wide alignment so constrained-layout rules cannot pin the callout left
   - choose a width midway between content and native Wide Width where theme size variables exist
   - hard viewport guard prevents horizontal escape on intermediate displays
   - stamp arc text moved inward from the inner circular rule and ink breakup increased */
@media (min-width:701px){
  .westmid-faq-callout.alignwide{
    width:min(
      calc(var(--wp--style--global--content-size, 760px) + ((var(--wp--style--global--wide-size, 1280px) - var(--wp--style--global--content-size, 760px)) * .5)),
      calc(100vw - 3rem)
    );
    max-width:calc(100vw - 3rem) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none;
  }
}
@media (max-width:700px){
  .westmid-faq-callout.alignwide{
    width:auto;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none;
  }
}
.westmid-faq-stamp{opacity:.88}
.westmid-faq-stamp__arc{font-size:9.4px;letter-spacing:1.05px}


/* v1.0.12 callout typography + stamp caption balance
   - question treatment retained from v1.0.11
   - short answer and deep-link reduced independently to page-body scale
   - curved WEST MIDDLESEX / TRAINING SCHEME captions moved down together inside the stamp */
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p{
  font-size:clamp(.90rem,.87rem + .10vw,.96rem);
  line-height:1.52;
}
.westmid-faq-callout__link{
  font-size:clamp(.90rem,.87rem + .10vw,.96rem);
  font-weight:700;
  line-height:1.4;
}
@media(max-width:700px){
  .westmid-faq-callout__summary,
  .westmid-faq-callout__summary p,
  .westmid-faq-callout__link{font-size:.92rem}
}


/* v1.0.13 callout body-scale typography + compact panel
   - short answer and deep-link now use the same responsive scale as the normal internal-page body copy
   - desktop callout vertical padding reduced now that typography is settled
   - stamp curved captions moved back up 2px from the v1.0.12 position */
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p,
.westmid-faq-callout__link{
  font-size:clamp(1.02rem,1.2vw,1.18rem);
}
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p{line-height:1.52}
.westmid-faq-callout__link{font-weight:700;line-height:1.4}
@media (min-width:701px){
  .westmid-faq-callout{
    min-height:0;
    padding-top:clamp(1.15rem,1.8vw,1.45rem);
    padding-bottom:clamp(1.15rem,1.8vw,1.45rem);
  }
}
@media(max-width:700px){
  .westmid-faq-callout__summary,
  .westmid-faq-callout__summary p,
  .westmid-faq-callout__link{font-size:1.05rem}
}


/* v1.0.14 callout hierarchy + breathing-room refinement
   - stamp deliberately unchanged from v1.0.13
   - answer and deep-link reduced only slightly below question scale
   - desktop vertical padding restored to a restrained midpoint between v1.0.12 and v1.0.13 */
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p,
.westmid-faq-callout__link{
  font-size:clamp(1rem,1.08vw,1.10rem);
}
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p{line-height:1.55}
.westmid-faq-callout__link{font-weight:700;line-height:1.42}
@media (min-width:701px){
  .westmid-faq-callout{
    padding-top:clamp(1.65rem,2vw,2rem);
    padding-bottom:clamp(1.65rem,2vw,2rem);
  }
}
@media(max-width:700px){
  .westmid-faq-callout__summary,
  .westmid-faq-callout__summary p,
  .westmid-faq-callout__link{font-size:1rem}
}


/* v1.0.15 callout CTA balance refinement
   - desktop/tablet deep-link moves to the right edge of the text column to balance the callout
   - the local answer-to-link gap is tightened slightly; overall panel padding remains unchanged
   - stacked/mobile keeps the familiar left-aligned CTA */
@media (min-width:701px){
  .westmid-faq-callout__summary{margin-bottom:4px}
  .westmid-faq-callout__link{
    display:block;
    width:max-content;
    max-width:100%;
    margin-left:auto;
    text-align:right;
  }
}
@media (max-width:700px){
  .westmid-faq-callout__link{
    display:inline-block;
    width:auto;
    margin-left:0;
    text-align:left;
  }
}

/* v1.0.16 callout stacked-layout composition refinement
   - small, consistent question-to-answer separation at every width
   - desktop/tablet composition remains otherwise unchanged
   - stacked/mobile stamp moves to the lower-right painted corner and partly overlaps the edge
   - stacked/mobile top space is reclaimed and bottom breathing room around the left-aligned CTA is increased */
.westmid-faq-callout__question + .westmid-faq-callout__summary{
  margin-top:6px;
}
@media (max-width:700px){
  .westmid-faq-callout{
    padding-top:3rem;
    padding-bottom:2.35rem;
  }
  .westmid-faq-callout__stamp-wrap{
    top:auto;
    left:auto;
    right:.7rem;
    bottom:-.2rem;
  }
}

/* v1.0.17 callout outer-spacing + stacked stamp-edge refinement
   - preserve the approved site-wide westmid-page-intro spacing; correct spacing locally in the callout
   - desktop/tablet callout uses a balanced 1.5rem outer gap above and below
   - stacked/mobile top gap is reduced; larger closing gap protects the lowered stamp from the next component
   - stacked/mobile stamp centre is brought down to the lower painted edge for a more natural overlap */
@media (min-width:701px){
  .westmid-faq-callout{
    margin-top:1.5rem;
    margin-bottom:1.5rem;
  }
}
@media (max-width:700px){
  .westmid-faq-callout{
    margin-top:1rem;
    margin-bottom:3.25rem;
  }
  .westmid-faq-callout__stamp-wrap{
    bottom:-2.55rem;
  }
}


/* v1.0.18 callout spacing + simplified rectangular ink stamp
   - WordPress constrained layout applies logical block margins between sibling blocks; override those directly
   - standard westmid-page-intro already supplies the approved 1.5rem closing padding, so the callout adds no duplicate top gap
   - circular seal replaced by a simpler distressed rectangular FAQ stamp
   - stacked stamp sits across the lower-right paint edge with protected space before the next component */
.westmid-faq-callout.alignwide{
  margin-block-start:0 !important;
  margin-block-end:1.5rem !important;
}
.westmid-faq-stamp--rect{
  width:clamp(118px,10.5vw,142px);
  height:auto;
  opacity:.86;
}
.westmid-faq-stamp--rect .westmid-faq-stamp__box{
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.westmid-faq-stamp--rect .westmid-faq-stamp__faq{
  fill:currentColor;
  font-size:49px;
  font-weight:900;
  letter-spacing:3px;
}
@media (min-width:701px){
  .westmid-faq-callout__stamp-wrap{
    margin-left:-24px;
    transform:rotate(-8deg);
  }
}
@media (max-width:700px){
  .westmid-faq-callout.alignwide{
    margin-block-start:0 !important;
    margin-block-end:2.6rem !important;
  }
  .westmid-faq-callout__stamp-wrap{
    right:.55rem;
    bottom:-1.85rem;
    transform:rotate(-8deg);
  }
  .westmid-faq-stamp--rect{width:104px}
}


/* v1.0.19 stacked spacing + bold straight-edge FAQ stamp
   - desktop spacing remains unchanged
   - stacked callout is pulled slightly upward locally without altering westmid-page-intro
   - stamp geometry is a true straight rectangle; distress comes only from incomplete ink transfer
   - larger FAQ mark for stronger editorial presence */
.westmid-faq-stamp--rect{
  width:clamp(138px,12vw,164px);
  opacity:.9;
}
.westmid-faq-stamp--rect .westmid-faq-stamp__box{
  stroke-width:2.8;
  stroke-linecap:butt;
  stroke-linejoin:miter;
}
.westmid-faq-stamp--rect .westmid-faq-stamp__faq{
  font-size:61px;
  font-weight:900;
  letter-spacing:3.5px;
}
@media (max-width:700px){
  .westmid-faq-callout.alignwide{
    margin-block-start:-.45rem !important;
  }
  .westmid-faq-stamp--rect{width:126px}
}


/* v1.0.20 organic ink-transfer stamp refinement
   - preserve straight rectangular stamp geometry, established size/angle and desktop placement
   - distress is now fine, asymmetric and irregular rather than block-shaped
   - stacked/mobile stamp moves slightly farther right and slightly upward only */
.westmid-faq-stamp--rect .westmid-faq-stamp__box{opacity:.68}
.westmid-faq-stamp--rect .westmid-faq-stamp__faq{opacity:.96}
@media (max-width:700px){
  .westmid-faq-callout__stamp-wrap{
    right:-.1rem;
    bottom:-1.45rem;
  }
}


/* v1.0.21 final stamp texture refinement
   - layout, sizing, angle and placement remain locked to v1.0.20
   - ink loss is finer and more diffuse, using many tiny asymmetric transfer variations
   - rectangular impression remains geometrically straight
   - border is deliberately quieter so the FAQ lettering remains dominant */
.westmid-faq-stamp--rect .westmid-faq-stamp__box{opacity:.57}
.westmid-faq-stamp--rect .westmid-faq-stamp__faq{opacity:.94}


/* v2.0.0 final callout stamp-border refinement
   - preserves v1.0.21 lettering texture, stamp size, angle, placement and all callout layout
   - border now has its own straight-edge ink-transfer mask with irregular faded and missing sections
   - geometry remains perfectly rectangular; only ink coverage varies */
.westmid-faq-stamp--rect .westmid-faq-stamp__box{opacity:.62}

/* v2.0.1 intermediate-width containment fix
   - wide desktop (>1100px) remains exactly as v2.0.0
   - 701–1100px keeps the horizontal callout but contains it to the available WordPress content width
   - explicit border-box sizing prevents padding from increasing the rendered width
   - stacked/mobile (<=700px) remains exactly as v2.0.0 */
.westmid-faq-callout{
  box-sizing:border-box;
}
@media (min-width:701px) and (max-width:1100px){
  .westmid-faq-callout.alignwide{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
  .westmid-faq-callout{
    grid-template-columns:clamp(92px,10vw,118px) minmax(0,1fr);
    padding-left:clamp(.8rem,1.4vw,1rem);
    padding-right:clamp(1.15rem,2.2vw,1.55rem);
  }
  .westmid-faq-callout__content{
    min-width:0;
    padding-left:clamp(.4rem,1vw,.8rem);
  }
  .westmid-faq-callout__stamp-wrap{
    margin-left:-18px;
  }
}

/* v2.0.2 intermediate stamp-column allocation fix
   - retains v2.0.1 width containment between 701px and 1100px
   - reserves a stable column for the FAQ stamp so the text can never slide underneath it
   - only the text column flexes as the viewport narrows
   - reduces the intermediate negative stamp offset; wide desktop and <=700px stacked layout remain unchanged */
@media (min-width:701px) and (max-width:1100px){
  .westmid-faq-callout{
    grid-template-columns:150px minmax(0,1fr);
  }
  .westmid-faq-callout__stamp-wrap{
    margin-left:-8px;
  }
  .westmid-faq-callout__content{
    min-width:0;
    padding-left:clamp(.35rem,.8vw,.7rem);
  }
}


/* v2.0.3 CTA underline + narrow/stacked alignment refinement
   - preserves v2.0.2 responsive containment, stamp allocation and all established visual styling
   - replaces the full-width CTA border with a short 38% ink line
   - gives the right-aligned CTA extra breathing room from the painted edge at intermediate widths
   - adds a modest stacked-content inset so the first stacked state does not jump optically too far left */
.westmid-faq-callout__link{
  position:relative;
  border-bottom:0 !important;
  padding-bottom:4px;
}
.westmid-faq-callout__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:38%;
  height:2px;
  background:rgba(47,84,150,.34);
  border-radius:1px;
  transition:background-color .18s ease;
}
.westmid-faq-callout__link:hover::after{
  background:var(--wm-blue);
}
@media (min-width:701px) and (max-width:1100px){
  .westmid-faq-callout__link{
    margin-right:clamp(.4rem,1vw,.75rem);
  }
}
@media (max-width:700px){
  .westmid-faq-callout__content{
    padding-left:.65rem;
    padding-right:.35rem;
  }
}

/* v2.0.4 callout top-padding balance
   - adds 8px of yellow breathing room above the callout content at every width
   - bottom padding, typography, CTA, stamp and responsive containment remain unchanged */
@media (min-width:701px){
  .westmid-faq-callout{
    padding-top:calc(clamp(1.65rem,2vw,2rem) + 8px);
  }
}
@media (max-width:700px){
  .westmid-faq-callout{
    padding-top:calc(3rem + 8px);
  }
}


/* v2.1.0 FAQ directory + callout-only content refinement
   - bring the first FAQ category closer to search/filter controls
   - callout-only FAQs have no CTA and rebalance their summary spacing */
.westmid-faq-tools{margin-bottom:clamp(.65rem,1.2vw,1rem)}
.westmid-faq-result-count:empty{min-height:0;margin-top:0}
.westmid-faq-callout__item.is-callout-only .westmid-faq-callout__summary{margin-bottom:0}
.westmid-faq-callout__item.is-callout-only .westmid-faq-callout__summary p:last-child{margin-bottom:0}


/* v2.1.1 FAQ directory results-spacing polish
   - restores 14px of deliberate separation between the search/filter controls and the first visible FAQ category
   - callout spacing, search controls, filters, category styling and all v2.1.0 functionality remain unchanged */
.westmid-faq-tools{margin-bottom:calc(clamp(.65rem,1.2vw,1rem) + 14px)}

/* v2.1.2 FAQ directory control-cluster spacing polish
   - adds deliberate separation between a preceding FAQ callout and the directory search tools
   - compacts only wrapped filter rows so the existing filter-to-results gap remains visually distinct */
.westmid-faq-callout + .westmid-faq-directory{
  margin-block-start:14px !important;
}
@media (max-width:1050px){
  .westmid-faq-filters{
    row-gap:.15rem;
  }
  .westmid-faq-filters button{
    padding:.3rem 0;
  }
}
@media (max-width:700px){
  .westmid-faq-filters{
    row-gap:.1rem;
  }
}

/* v2.1.3 FAQ directory responsive rhythm + balanced wrapped filters
   - slightly increases callout-to-search separation
   - slightly increases filter-to-results separation
   - centres wrapped filter rows, tightens their vertical rhythm, and supports a deliberate break before the final two filters when required */
.westmid-faq-callout + .westmid-faq-directory{
  margin-block-start:22px !important;
}
.westmid-faq-tools{
  margin-bottom:calc(clamp(.65rem,1.2vw,1rem) + 19px);
}
.westmid-faq-filter-balance-break{display:none}
@media (max-width:1050px){
  .westmid-faq-filters{
    justify-content:center;
    row-gap:0;
  }
  .westmid-faq-filters button{
    padding:.22rem 0;
  }
  .westmid-faq-filter-balance-break{
    display:block;
    flex:0 0 100%;
    width:100%;
    height:0;
    margin:0;
    padding:0;
  }
}
@media (max-width:700px){
  .westmid-faq-filters{row-gap:0}
}

/* v2.1.4 callout-to-directory spacing + asset cache correction
   - uses internal top padding on the directory when it follows a callout, rather than relying on WordPress-controlled sibling margins
   - deliberately adds 16px of visible separation before the search bar
   - all v2.1.3 filter wrapping and results spacing remain unchanged */
.westmid-faq-callout + .westmid-faq-directory{
  margin-block-start:0 !important;
  padding-top:16px !important;
}


/* v2.1.5 robust callout-to-directory spacing
   Runtime detection adds .has-callout-before to the FAQ directory even when WordPress inserts wrapper elements between blocks.
   This replaces the unreliable adjacent-sibling dependency used in v2.1.4. */
.westmid-faq-directory.has-callout-before{
  padding-top:16px !important;
}


/* v2.1.6 filter separators
   - adds small West Mid supporting-blue (#8EAADB) dot separators between filter labels
   - separators are visual only and are suppressed automatically at the start and end of each wrapped row
   - existing active yellow underline and centred wrapped layout remain unchanged */
.westmid-faq-filters button.has-row-separator::before{
  content:"";
  position:absolute;
  top:50%;
  left:-.7rem;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8EAADB;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
@media (max-width:1050px){
  .westmid-faq-filters button.has-row-separator::before{left:-.58rem}
}


/* v2.1.7 conditional wrapped-filter results spacing
   - adds extra separation before the first FAQ category only when category filters occupy more than one rendered row
   - single-line filter layouts retain the approved v2.1.6 spacing */
.westmid-faq-directory.has-wrapped-filters .westmid-faq-tools{
  margin-bottom:calc(clamp(.65rem,1.2vw,1rem) + 27px);
}


/* v2.1.8 callout-only panel bottom-breathing-room refinement
   - applies only when every selected FAQ is callout-only and therefore no full-answer CTA is rendered
   - restores a small amount of yellow breathing room at the bottom without changing linked callouts */
.westmid-faq-callout.is-callout-only-panel{
  padding-bottom:calc(clamp(1.65rem,2vw,2rem) + 8px);
}
@media (max-width:700px){
  .westmid-faq-callout.is-callout-only-panel{
    padding-bottom:calc(2.15rem + 8px);
  }
}

/* v2.1.9 stacked filter line-height refinement
   - reduces only the wrapped/stacked category-filter label line-height by another 0.1
   - desktop single-line filters and all existing spacing/balancing behaviour remain unchanged */
@media (max-width:1050px){
  .westmid-faq-filters button{
    line-height:1.1;
  }
}


/* v2.1.10 contextual callout typography refinement
   - adds a slightly clearer question-to-answer gap
   - tightens only contextual callout answer copy to the site's established 1.3 reading rhythm
   - keeps question, stamp, CTA, panel geometry and FAQ directory typography unchanged */
.westmid-faq-callout__question{
  line-height:1.4;
}
.westmid-faq-callout__question + .westmid-faq-callout__summary{
  margin-top:8px;
}
.westmid-faq-callout__summary,
.westmid-faq-callout__summary p{
  line-height:1.3;
}
@media (max-width:700px){
  .westmid-faq-callout__question{line-height:1.4}
  .westmid-faq-callout__summary,
  .westmid-faq-callout__summary p{line-height:1.3}
}

/* v2.2.1 contextual callout CTA refinement
   - makes the "Read the full answer" action quieter than the question/answer copy
   - restores a small but deliberate answer-to-CTA gap
   - leaves callout-only FAQs unchanged (their higher-specificity zero-margin rule still applies) */
.westmid-faq-callout__summary{
  margin-bottom:10px;
}
.westmid-faq-callout__link{
  font-size:clamp(.88rem,.92vw,.96rem);
  line-height:1.35;
}
@media (max-width:700px){
  .westmid-faq-callout__summary{margin-bottom:8px}
  .westmid-faq-callout__link{font-size:.9rem;line-height:1.35}
}
