.forge-icbc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:80px;align-items:start;width:100%}.forge-icbc *{box-sizing:border-box}.forge-icbc__content,.forge-icbc__visual{min-width:0}.forge-icbc__heading{font-weight:600;font-size:clamp(34px,4.2vw,64px);line-height:1.15;margin:0 0 54px;color:#8d7d91}.forge-icbc__item{border-bottom:1px solid #eaeaea}.forge-icbc__item-heading{margin:0!important;padding:0!important;font-size:inherit!important;line-height:inherit!important}.forge-icbc__trigger{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;padding:15px 0!important;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer;border-radius:0!important;min-height:74px;outline-offset:4px}.forge-icbc__trigger:hover,.forge-icbc__trigger:focus{background:transparent!important}.forge-icbc__trigger:focus-visible{outline:2px solid #8d7d91!important}.forge-icbc__name{font-size:clamp(22px,2.5vw,40px);font-weight:600;line-height:1.15;color:#b1c957;min-width:0}.forge-icbc__sessions{flex:0 0 auto;max-width:36%;text-align:right;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.06em;color:#8d7d91}.forge-icbc__sessions strong{font-weight:700}.forge-icbc__panel{padding:4px 0 28px}.forge-icbc__panel[hidden],.forge-icbc__image-wrap[hidden]{display:none!important}.forge-icbc__description{color:#777;font-size:18px;line-height:1.85}.forge-icbc__description p{margin:0 0 12px}.forge-icbc__booking{display:inline-block;margin-top:10px;color:#8d7d91;font-weight:600;text-decoration:underline;text-underline-offset:4px}.forge-icbc__image-stage{height:560px;position:relative;overflow:hidden;background:#faf8fb}.forge-icbc__image-wrap{width:100%;height:100%}.forge-icbc__photo{display:block;width:100%;height:100%;object-fit:cover}.forge-icbc__photo-placeholder{width:100%;height:100%;background:#f5f0f6}.forge-icbc__visual{position:relative}@media(max-width:767px){.forge-icbc{grid-template-columns:1fr;gap:24px}.forge-icbc__heading{margin-bottom:25px}.forge-icbc__trigger{min-height:65px;gap:12px}.forge-icbc__name{font-size:clamp(20px,5vw,28px)}.forge-icbc__sessions{font-size:10px;max-width:38%}.forge-icbc__description{font-size:16px;line-height:1.65}.forge-icbc__image-stage{height:300px}.forge-icbc__visual{grid-row:2}}
/* v1.1: treatment title and allowance stack in collapsed AND expanded rows */
.forge-icbc__trigger{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:7px!important}
.forge-icbc__sessions{max-width:100%!important;text-align:left!important;font-size:13px;letter-spacing:.065em}
.forge-icbc__panel[hidden]{display:none!important}
/* Layer photos so transitions are a crossfade rather than a hard replacement. */
.forge-icbc__image-stage{isolation:isolate}
.forge-icbc__image-wrap{position:absolute;inset:0;display:block!important;transition:opacity 480ms ease;will-change:opacity}
.forge-icbc__image-wrap[hidden]{display:block!important;opacity:0}
@media(prefers-reduced-motion:reduce){.forge-icbc__image-wrap{transition:none!important}}

/* v1.3: smooth reversible accordion using grid tracks, not height timers. */
.forge-icbc__panel{display:grid!important;grid-template-rows:0fr;opacity:0;visibility:hidden;padding:0!important;transition:grid-template-rows 520ms cubic-bezier(.45,0,.2,1),opacity 330ms ease,visibility 0s linear 520ms}
.forge-icbc__item.is-active .forge-icbc__panel{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows 520ms cubic-bezier(.45,0,.2,1),opacity 330ms ease,visibility 0s}
.forge-icbc__panel-inner{min-height:0;overflow:hidden;min-width:0}
.forge-icbc__description{padding-top:8px}
.forge-icbc__booking{display:inline-flex;align-items:center;gap:10px;margin:14px 0 26px;color:#b1c957;font-size:clamp(19px,2vw,25px);font-weight:600;line-height:1.25;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;transition:opacity 180ms ease}
.forge-icbc__booking:hover{opacity:.75}
.forge-icbc__booking span{font-weight:600;text-decoration:none}
@media(prefers-reduced-motion:reduce){.forge-icbc__panel{transition:none!important}.forge-icbc__booking{transition:none!important}}
/* v1.4: JS controls measured panel height; no conflicting CSS grid/visibility animation. */
.forge-icbc__panel,
.forge-icbc__item.is-active .forge-icbc__panel{
  display:block!important;
  grid-template-rows:none!important;
  opacity:1!important;
  visibility:visible!important;
  transition:none!important;
  padding:0!important;
  overflow:hidden;
}
.forge-icbc__panel-inner{overflow:visible!important;min-height:0}
.forge-icbc__panel[hidden]{display:block!important}

/* v1.5: unobtrusive expand/collapse indicator and editable hover state */
.forge-icbc__trigger{position:relative!important;padding-right:36px!important}
.forge-icbc__name{transition:color 180ms ease}
.forge-icbc__indicator{position:absolute;right:4px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#8d7d91;pointer-events:none}
.forge-icbc__indicator::before,.forge-icbc__indicator::after{content:"";position:absolute;left:2px;top:8px;width:14px;height:2px;background:currentColor;border-radius:2px;transition:transform 220ms ease}
.forge-icbc__indicator::after{transform:rotate(90deg)}
.forge-icbc__item.is-active .forge-icbc__indicator::after{transform:rotate(0deg)}
@media(prefers-reduced-motion:reduce){.forge-icbc__name,.forge-icbc__indicator::before,.forge-icbc__indicator::after{transition:none!important}}

/* v1.6: compact heading gap and right-aligned, rotating chevron. */
.forge-icbc__heading{margin-bottom:36px}
.forge-icbc__trigger{padding-right:38px!important}
.forge-icbc__indicator{right:5px;top:50%;width:17px;height:17px;transform:translateY(-50%);transition:transform 240ms ease}
.forge-icbc__indicator::before{content:"";position:absolute;left:3px;top:4px;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;background:none!important;border-radius:0;transform:rotate(45deg);transition:none}
.forge-icbc__indicator::after{content:none!important}
.forge-icbc__item.is-active .forge-icbc__indicator{transform:translateY(-50%) rotate(180deg)}
@media(max-width:767px){.forge-icbc__heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.forge-icbc__indicator{transition:none!important}}

/* v1.7: keep booking label and arrow together; underline only the label. */
.forge-icbc__booking{display:inline-flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:6px!important;width:max-content;max-width:100%;text-decoration:none!important;transition:color 180ms ease!important;opacity:1!important}
.forge-icbc__booking-label{text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:7px}
.forge-icbc__booking-arrow{display:inline-block;flex:none;margin:0!important;padding:0!important;text-decoration:none!important;white-space:nowrap}
.forge-icbc__booking:hover{opacity:1!important;color:#8d7d91}
@media(prefers-reduced-motion:reduce){.forge-icbc__booking{transition:none!important}}

/* v1.9: align chevron with treatment title, not the combined title/session stack. */
.forge-icbc__indicator{top:30px;transform:none}
.forge-icbc__item.is-active .forge-icbc__indicator{transform:rotate(180deg)}
@media(max-width:767px){.forge-icbc__indicator{top:21px}}

/* v1.10: typography is controlled by Elementor, including the booking label. */
.forge-icbc__booking-label,.forge-icbc__booking-arrow{font-family:inherit}

/* v1.11: natural regular-weight booking link; keep Elementor typography editable. */
.forge-icbc .forge-icbc__booking{font-weight:400;letter-spacing:0;text-transform:none;font-style:normal}
.forge-icbc .forge-icbc__booking-label,.forge-icbc .forge-icbc__booking-arrow{font-weight:inherit;letter-spacing:inherit;text-transform:inherit;font-style:inherit}
