/* =========================
   CC VENUE FINDER
   Robust mobile rendering (incl. iOS large text) + contained styling
   ========================= */

/* Frame containment + sensible wrapping (prevents one-letter-per-line issues) */
.cc-wizard-frame,
.cc-wizard-frame *{ 
  box-sizing: border-box;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  min-width: 0;
}

.cc-wizard-frame{
  /* prevent Safari's extra text inflation; does not override user accessibility text size */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;

  position: relative;
  border-radius: 0;
  padding: 1.25rem;
  background: #fa6d4b;
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  max-width: 100%;
  overflow: hidden;
}

.cc-wizard-frame--bleed::before,
.cc-wizard-frame--bleed::after{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  background: #fa6d4b;
  z-index: -1;
}

.cc-wizard-frame--bleed::before{ right: 100%; }
.cc-wizard-frame--bleed::after{ left: 100%; }

.cc-wizard-stage{
  --ccvf-stage-height: 32rem;
  min-height: var(--ccvf-stage-height);
  display: flex;
  flex-direction: column;
}

/* Kill any theme full-bleed behaviour inside the frame */
.cc-wizard-frame .alignwide,
.cc-wizard-frame .alignfull,
.cc-wizard-frame [class*="alignwide"],
.cc-wizard-frame [class*="alignfull"],
.cc-wizard-frame .wp-block,
.cc-wizard-frame .wp-block-shortcode{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Catch inline vw widths */
.cc-wizard-frame [style*="100vw"],
.cc-wizard-frame [style*="vw"]{
  max-width: 100% !important;
}

/* Header */
.cc-wiz-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.cc-wiz-title{
  font-size: 2rem;
  line-height: 1.1;
  margin: 0;
  font-weight: 500;
  color: #fff !important;
}

/* Step panel */
.cc-step-panel{
  border-radius: 0;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.26);
  padding: 1rem;
}

/* Text styles */
.cc-step-title{
  font-size: 1.15rem;
  font-weight: 750;
  margin: 0 0 .35rem;
  color: #fff;
}

.cc-question{
  font-size: 1rem;
  font-weight: 650;
  margin: .25rem 0 .5rem;
  color: #fff;
}

.cc-muted{
  opacity: .9;
  margin: 0;
  color: #fff;
}

/* Choices */
.cc-choice-grid{
  display: grid;
  gap: .6rem;
  margin-top: .5rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.cc-choice-grid-2{ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cc-choice-grid-3{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

.cc-choice{
  width: 100%;
  padding: .7rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.14);
  text-align: left;
  cursor: pointer;
  color: #fff;

  /* ensure labels wrap nicely */
  white-space: normal;
  line-height: 1.25;
  min-height: 44px;
}

.cc-choice.is-selected{
  background: rgba(255,255,255,0.28);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.75);
}

/* Step 1 (icon choices): leaner cards so they fit more cleanly */
.cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cc-wizard-frame .cc-choice--icon{
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .4rem;
  text-align: center;
  padding: .65rem .45rem;
}

.cc-wizard-frame .cc-choice__icon{
  width: clamp(42px, 4.4vw, 64px);
  max-width: 100%;
  height: auto;
  display: block;
}

.cc-wizard-frame .cc-choice__label{
  display: block;
  font-size: .95rem;
  line-height: 1.2;
}

/* Inputs */
.cc-field-row{ max-width: 420px; }
.cc-label{
  display: block;
  margin: 0 0 .35rem;
  font-weight: 650;
  color: #fff;
}
.cc-input{
  width: 100%;
  padding: .65rem .8rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.70);
  background: rgba(255,255,255,0.95);
  color: #222;
}

/* Actions */
.cc-actions{
  margin-top: .85rem;
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}
.cc-actions-split{ justify-content: space-between; }

/* Secondary actions */
.cc-back,
.cc-reset-top{
  padding: .7rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.14);
  color: #fff;
  cursor: pointer;
}

/* Primary actions */
.cc-next,
.cc-submit{
  padding: .7rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.92);
  color: #222;
  cursor: pointer;
  font-weight: 750;
}

.cc-submit[disabled]{ opacity: .55; cursor: not-allowed; }

/* Results */
.cc-results-view{
  margin-top: 1rem;
  min-height: var(--ccvf-stage-height);
}

.cc-step-panel{
  min-height: var(--ccvf-stage-height);
  overflow: auto;
}

#cc-results-wrap,
.cc-results-wrap{
  min-height: var(--ccvf-stage-height);
  border-radius: 0;
  background: rgba(255,255,255,0.94);
  color: #222;
  padding: 1rem;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden;
  font-size: 0.95rem;
  line-height: 1.35;
  overflow: auto;
}

#cc-results-wrap *,
.cc-results-wrap *{
  box-sizing: border-box;
  max-width: 100%;
}

.cc-results-summary{ margin: 0 0 .75rem; }

.cc-site-group{ margin: 1rem 0 1.25rem; max-width: 100% !important; }
.cc-site-title{
  margin: 0 0 .6rem;
  color: #111;
  font-size: 1.5rem;
}

.cc-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: .85rem;
  width: 100% !important;
  max-width: 100% !important;
}

.cc-card{
  border-radius: 0;
  padding: 1rem;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  min-width: 0;
  max-width: 100% !important;
}

.cc-card-title{ margin: 0 0 .4rem; color: #111; }
.cc-card-cap, .cc-card-notes{ margin: .2rem 0; }

/* Book / Enquire button */
.cc-button{
  display: inline-block;
  padding: 0.65em 1.05em;
  border-radius: 5px !important; /* match MU-plugin */
  line-height: 1.1;

  background: var(--accent-color, #4b3fd6);
  color: #fff !important;

  text-decoration: none !important;
  border: none;
  font-weight: 600;
  cursor: pointer;

  transition: filter .15s ease, transform .05s ease;
}

.cc-button:hover,
.cc-button:focus,
.cc-button:focus-visible{
  text-decoration: none !important;
  color: #fff !important;
  filter: brightness(0.95);
  outline: none;
}

/* Optional: visible focus ring without underline */
.cc-button:focus-visible{
  box-shadow: 0 0 0 3px rgba(75, 63, 214, 0.35);
}

.cc-button:active{
  transform: translateY(1px);
}

.cc-button-muted{ opacity: .8; }

/* Access-type colouring */
.cc-access-cc-bookable{ background: rgba(0, 128, 0, 0.06); }
.cc-access-external-open{ background: rgba(0, 90, 255, 0.06); }
.cc-access-member-mediated{ background: rgba(255, 165, 0, 0.10); }
.cc-access-referral-only{ background: rgba(120, 120, 120, 0.08); }
.cc-access-no-booking-required{ background: rgba(140, 0, 255, 0.06); }

/* Venue Finder: mobile typography + top controls */
@media (max-width: 768px){

  .cc-wiz-header h1,
  .cc-wiz-header .cc-wiz-title{
    font-size: 1.6rem;
    line-height: 1.25;
    margin-bottom: 0.75rem;
  }

  .cc-wiz-header .cc-reset-top,
  .cc-wiz-header .cc-back,
  .cc-wiz-header .cc-reset-top a,
  .cc-wiz-header .cc-back a{
    font-size: 0.85rem;
    padding: 0.45rem 0.7rem;
    white-space: nowrap;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
  }
    /* Mobile: stack header title + Search again button */
  .cc-wiz-header{
    flex-direction: column;
    align-items: stretch;
  }

  .cc-wiz-header .cc-reset-top{
    position: static !important;   /* in case anything set it absolute */
    align-self: flex-end;
    margin-left: auto;
  }

  .cc-wizard-stage{
    --ccvf-stage-height: 28rem;
  }

  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cc-wizard-frame .cc-choice__icon{
    width: clamp(36px, 14vw, 52px);
  }

  .cc-wizard-frame .cc-choice__label{
    font-size: .9rem;
  }
}

@media (min-width: 782px) and (max-width: 1100px){
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Venue Finder – normalise emphasis for capacity numbers */
.cc-wizard-frame .cc-card-cap strong {
  font-weight: 400; /* normal */
}

/* Keep labels bold */
.cc-wizard-frame .cc-card-cap {
  font-weight: 800;
}

/* Venue Finder: make “muted” helper text readable in results panel */
.cc-wizard-frame .cc-results .cc-muted{
  opacity: 1 !important;
  color: #222 !important;
  background: #fff;
  padding: 10px 12px;
  border-radius: 6px;
  margin: 10px 0;
}

/* =========================================================
   Venue Finder row: equal-height columns + tidy containment
   Targets the Columns block that contains the #venue-finder anchor.

   For maximum compatibility, we DO NOT rely on :has().
   A tiny helper script adds .cc-venue-finder-row to the relevant Columns block.
   ========================================================= */
.cc-venue-finder-row{
  display: flex !important;
  align-items: stretch !important;
}

.cc-venue-finder-row > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

/* Left column: wizard frame stretches */
.cc-venue-finder-row > .wp-block-column > .cc-wizard-frame{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Right column: main Gutenberg Group stretches */
.cc-venue-finder-row > .wp-block-column > .wp-block-group{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Keep the ThemeIsle CTA panel pinned to the bottom */
.cc-venue-finder-row
  > .wp-block-column
  > .wp-block-group
  > .wp-block-themeisle-blocks-advanced-columns{
  margin-top: auto !important;
}

/* Constrain alignfull blocks inside this row only */
.cc-venue-finder-row .alignfull,
.cc-venue-finder-row [class*="alignfull"]{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mobile: stack as normal */
@media (max-width: 781px){
  .cc-venue-finder-row{
    display: block !important;
  }
}

/* ===== v1.8.0 refinements ===== */
.cc-wizard-frame{
  max-width: 1160px;
  margin: 0 auto;
  padding: 1.5rem;
}

.cc-wiz-header{ align-items: center; }
.cc-step-kicker{
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: .85;
  margin-bottom: .35rem;
}

.cc-step-note{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding: .95rem 1rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,.22);
}
.cc-step-note p{ margin:0; }
.cc-step-note .dashicons{ font-size:22px; width:22px; height:22px; }

.cc-choice-grid{ gap:.9rem; }
.cc-choice-grid-1{ grid-template-columns: 1fr; }
.cc-choice-grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-choice-grid-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cc-choice{
  border-radius: 14px;
  min-height: 84px;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.cc-choice:hover{ transform: translateY(-1px); }
.cc-choice:disabled,
.cc-next:disabled,
.cc-submit:disabled{ opacity:.55; cursor:not-allowed; transform:none; }

.cc-choice--icon{
  padding: 1rem .75rem;
  gap: .55rem;
}
.cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}
.cc-wizard-frame .cc-choice__icon{
  width: clamp(62px, 6vw, 88px);
}
.cc-choice__title,
.cc-wizard-frame .cc-choice__label{
  display:block;
  font-size: 1rem;
  line-height:1.2;
  font-weight: 750;
}
.cc-choice__meta{
  display:block;
  font-size: .84rem;
  line-height:1.35;
  opacity:.92;
  font-weight:400;
}
.cc-choice--option{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  text-align:left;
  padding:.9rem 1rem;
}
.cc-choice--option .dashicons{
  flex:0 0 auto;
  font-size: 22px;
  width:22px;
  height:22px;
  margin-top:.15rem;
}
.cc-choice__copy{ display:block; }

.cc-results-summary{ font-size:1rem; }
.cc-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; }
.cc-card{
  display:flex;
  flex-direction:column;
  border-radius:16px;
  overflow:hidden;
  padding:0;
}
.cc-card-media{
  aspect-ratio: 4 / 3;
  background:#f2f2f2;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cc-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.cc-card-media--placeholder .dashicons{ font-size:40px; width:40px; height:40px; color:#666; }
.cc-card-body{ padding:1rem; display:flex; flex-direction:column; gap:.55rem; flex:1 1 auto; }
.cc-card-site{ margin:0; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#666; font-weight:700; }
.cc-card-title{ margin:0; font-size:1.15rem; }
.cc-card-summary, .cc-card-cap, .cc-card-why{ margin:0; }
.cc-card-summary{ color:#333; }
.cc-card-cap{ font-weight:700; }
.cc-badges{ display:flex; flex-wrap:wrap; gap:.45rem; }
.cc-badge{
  display:inline-flex;
  align-items:center;
  padding:.32rem .55rem;
  border-radius:999px;
  background:#f3f3f3;
  color:#222;
  font-size:.78rem;
  line-height:1.2;
}
.cc-card-actions{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:auto; padding-top:.35rem; }
.cc-button-secondary{ background:#eee; color:#222 !important; }

.cc-detail-modal[hidden]{ display:none !important; }
.cc-detail-modal{ position:fixed; inset:0; z-index:9999; }
.cc-detail-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.cc-detail-modal__panel{
  position:absolute; right:0; top:0; bottom:0; width:min(520px, 96vw);
  background:#fff; color:#222; overflow:auto; padding:1.25rem 1.25rem 1.5rem;
  box-shadow:-16px 0 32px rgba(0,0,0,.18);
}
.cc-detail-close{
  position:sticky; top:0; margin-left:auto; display:block; z-index:2;
  border:0; background:#fff; font-size:2rem; line-height:1; cursor:pointer;
}
.cc-detail-head{ display:grid; grid-template-columns: 1fr; gap:1rem; }
.cc-detail-head .cc-card-media{ border-radius:12px; overflow:hidden; }
.cc-detail-site{ margin:0 0 .25rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:#666; font-weight:700; }
.cc-detail-intro h3{ margin:.1rem 0 .5rem; font-size:1.45rem; }
.cc-detail-intro p{ margin:0; }
.cc-detail-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:1rem; margin-top:1rem; }
.cc-detail-grid h4{ margin:0 0 .35rem; font-size:.95rem; }
.cc-detail-grid p{ margin:0; }
.cc-detail-span{ grid-column:1 / -1; }
body.cc-detail-open{ overflow:hidden; }

@media (max-width: 1024px){
  .cc-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px){
  .cc-wizard-frame{ padding:1rem; }
  .cc-choice-grid-2,
  .cc-choice-grid-3,
  .cc-grid{ grid-template-columns: 1fr; }
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-wizard-frame .cc-choice__icon{ width: clamp(56px, 18vw, 78px); }
  .cc-detail-modal__panel{ width:100%; }
  .cc-detail-grid{ grid-template-columns: 1fr; }
}


/* 1.8.1 layout refinements */
.cc-wizard-frame {
  width: 100%;
  max-width: min(100%, 980px);
  margin: 0 auto;
}

.cc-wizard-stage,
.cc-results-view,
.cc-results-wrap,
#cc-results-wrap {
  min-height: var(--ccvf-stage-height);
}

.cc-step-panel {
  display: flex;
  flex-direction: column;
  min-height: var(--ccvf-stage-height);
  max-height: var(--ccvf-stage-height);
  overflow: auto;
}

.cc-step-panel > .cc-actions {
  position: sticky;
  bottom: 0;
  margin-top: auto;
  padding-top: .9rem;
  padding-bottom: .1rem;
  background: linear-gradient(to bottom, rgba(250,109,75,0), rgba(250,109,75,.94) 24%, rgba(250,109,75,1) 60%);
}

.cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.cc-wizard-frame .cc-choice--icon {
  padding: .85rem .55rem;
  gap: .55rem;
}

.cc-wizard-frame .cc-choice__icon {
  width: clamp(60px, 6vw, 84px);
}

.cc-choice__title {
  display: block;
  font-weight: 750;
  font-size: 1rem;
  line-height: 1.2;
}

.cc-choice__meta {
  display: block;
  font-size: .85rem;
  line-height: 1.3;
  opacity: .92;
  margin-top: .2rem;
  font-weight: 400;
}

.cc-choice--option {
  display: grid;
  grid-template-columns: 1.6rem 1fr;
  gap: .7rem;
  align-items: start;
}

.cc-choice__copy {
  min-width: 0;
}

.cc-choice-grid-kitchen {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cc-ui-icon {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 auto;
}

.cc-grid--results {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.cc-card {
  display: flex;
  min-height: 100%;
}

.cc-card-body {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.cc-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}

.cc-card-option {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #8a4d39;
}

.ccvf-fit-tag {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 5px;
  font-size: .68rem;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: .02em;
  border: 1px solid rgba(0,0,0,.06);
  white-space: nowrap;
}
.ccvf-fit--best { background: #e7f5ea; color: #1f6b3a; }
.ccvf-fit--good { background: #fff1d9; color: #9a6500; }
.ccvf-fit--possible { background: #edf2f7; color: #4d6172; }

.cc-card-site {
  order: 2;
  margin: 0 0 .35rem;
  font-size: .88rem;
  color: #7a4a3a;
}
.cc-card-title {
  order: 1;
  margin: 0;
}
.cc-card-summary {
  margin: 0 0 .7rem;
}
.cc-card-cap,
.cc-card-why,
.cc-card-note {
  margin: 0 0 .65rem;
}
.cc-card-note {
  padding: .6rem .7rem;
  border-radius: 8px;
  background: rgba(250,109,75,.08);
}
.cc-card-actions {
  margin-top: auto;
}

.cc-site-title,
.cc-site-group,
.cc-card-media,
.cc-detail-modal {
  display: none !important;
}

@media (max-width: 1024px) {
  .cc-grid--results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
  .cc-wizard-frame {
    max-width: 100%;
  }
  .cc-choice-grid-kitchen,
  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .cc-choice-grid-kitchen,
  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
  .cc-choice-grid-2,
  .cc-choice-grid-3 {
    grid-template-columns: 1fr;
  }
  .cc-step-panel > .cc-actions {
    background: linear-gradient(to bottom, rgba(250,109,75,0), rgba(250,109,75,.96) 22%, rgba(250,109,75,1) 56%);
  }
}


/* Defensive hiding: some themes/plugins interfere with the hidden attribute */
.cc-wizard [hidden],
.cc-results-view[hidden],
.cc-step-panel[hidden],
.cc-wizard-stage[hidden] {
  display: none !important;
}

.cc-step-panel:not([hidden]) {
  display: flex;
}

/* ===== v1.9.0 refinements ===== */
.cc-wizard-frame{
  max-width: 1040px;
}
.cc-wizard-stage{
  min-height: var(--ccvf-stage-height, 640px);
}
.cc-step-panel{
  min-height: var(--ccvf-stage-height, 640px);
  display:flex;
  flex-direction:column;
}
.cc-step-panel > .cc-actions{
  margin-top:auto;
  padding-top:1rem;
}
.cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
.cc-choice-grid-icons--6{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cc-wizard-frame .cc-choice--icon{
  min-height: 220px;
  justify-content:flex-start;
}
.cc-wizard-frame .cc-choice__icon{
  width: clamp(74px, 8vw, 96px);
  height: auto;
  margin-bottom: .85rem;
}
.cc-choice__title{
  font-weight: 700;
}
.cc-choice__meta{
  font-size: .93rem;
  color: #5c3d34;
}
.cc-choice--skip{
  border-style: dashed;
}
.cc-choice-grid-kitchen{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cc-grid--results{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.cc-card{
  display:flex;
}
.cc-card-body{
  width:100%;
}
.cc-card-topline{
  align-items:flex-start;
  gap:.5rem;
}
.cc-card-option{
  font-weight:700;
  color:#8d4a2b;
}
.cc-card-title{
  order:0;
}
.cc-card-site{
  order:0;
  text-transform:none;
  letter-spacing:0;
  font-size:.9rem;
  font-weight:600;
  color:#7a4a3a;
}
.cc-card-summary{
  font-weight:600;
}
.cc-practical-list{
  display:grid;
  gap:.35rem;
}
.cc-practical-item{
  font-size:.92rem;
  color:#2f2f2f;
}
.cc-practical-item--partial .cc-practical-value{
  font-weight:700;
}
.cc-card-info{
  padding:.75rem .85rem;
  border-radius:10px;
  background: rgba(250,109,75,.10);
}
.cc-card-info strong{
  display:block;
  margin-bottom:.3rem;
}
.cc-card-info p{
  margin:0;
}

@media (max-width: 1024px){
  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
  .cc-choice-grid-icons--6{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .cc-choice-grid-kitchen,
  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
  .cc-choice-grid-icons--6,
  .cc-choice-grid-2,
  .cc-choice-grid-3{
    grid-template-columns: 1fr;
  }
  .cc-wizard-frame .cc-choice--icon{
    min-height: 0;
  }
}

/* ===== v1.9.1 refinements ===== */
.cc-wizard-frame{
  max-width: 980px;
  margin: 0 auto;
  padding: 1rem 1rem .95rem;
}

.cc-wizard-stage,
.cc-results-view,
#cc-results-wrap{
  min-height: 0;
  height: var(--ccvf-stage-height, 640px);
}

.cc-step-panel{
  height: var(--ccvf-stage-height, 640px);
  max-height: var(--ccvf-stage-height, 640px);
  padding: 1rem 1rem 0;
  overflow: auto;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.12) 0,
    rgba(255,255,255,0.12) calc(100% - 78px),
    transparent calc(100% - 78px),
    transparent 100%
  );
  border-color: rgba(255,255,255,0.22);
}

.cc-step-panel > .cc-actions{
  position: sticky;
  bottom: 0;
  margin: 0 -1rem;
  padding: .9rem 1rem .85rem;
  background: transparent;
}

.cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
.cc-choice-grid-icons--6{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cc-wizard-frame .cc-choice--icon{
  min-height: 0;
  padding: .9rem .7rem;
}

.cc-wizard-frame .cc-choice__icon{
  width: clamp(84px, 8vw, 112px);
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.cc-choice-grid-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cc-ui-icon{
  color: #fff;
}

.cc-results-view{
  margin-top: 0;
}

.cc-results-active .cc-wiz-header .cc-back{
  display: none;
}

.cc-results-tools{
  margin: 0 0 .75rem;
}

#cc-results-wrap,
.cc-results-wrap{
  background: transparent;
  padding: 0;
  overflow: auto;
}

.cc-results{
  padding: 0;
}

.cc-results-summary{
  margin: 0 0 .85rem;
  color: #fff;
}

.cc-grid--results{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.cc-card-info,
.cc-card-info strong,
.cc-card-info p{
  color: #3b2a24 !important;
}

.cc-card-info p{
  white-space: normal;
  line-height: 1.45;
}

@media (max-width: 1024px){
  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
  .cc-choice-grid-icons--6,
  .cc-choice-grid-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .cc-wizard-frame{
    max-width: 100%;
    padding: .9rem .9rem .85rem;
  }

  .cc-step-panel{
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0.12) 0,
      rgba(255,255,255,0.12) calc(100% - 72px),
      transparent calc(100% - 72px),
      transparent 100%
    );
  }

  .cc-grid--results,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons,
  .cc-choice-grid-icons--6,
  .cc-choice-grid-2,
  .cc-choice-grid-kitchen,
  .cc-choice-grid-3{
    grid-template-columns: 1fr;
  }
}


/* ===== v1.9.2 refinements ===== */
.cc-field > span,
.cc-field label,
.cc-field{
  color:#fff;
}

.cc-step-panel{
  position:relative;
  height:calc(var(--ccvf-stage-height, 640px) - 5.4rem);
  max-height:calc(var(--ccvf-stage-height, 640px) - 5.4rem);
  padding:1rem;
  overflow:auto;
  background:rgba(255,255,255,0.12);
}

.cc-step-panel > .cc-actions{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  margin:0;
  padding:.9rem 0 0;
  background:none;
}

.cc-wizard-stage{
  position:relative;
  min-height:var(--ccvf-stage-height, 640px);
}

.cc-results-active .cc-wizard-stage,
.cc-wizard-stage[hidden]{
  display:none !important;
}

.cc-results-view,
#cc-results-wrap,
.cc-results-wrap{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible;
}

.cc-results-tools{
  margin:0 0 1rem;
}

.cc-results-summary{
  margin:0 0 1rem;
}

.cc-card-info{
  background:rgba(255,255,255,0.82);
}

.cc-card-info,
.cc-card-info strong,
.cc-card-info p{
  color:#3b2a24 !important;
  opacity:1 !important;
}

.cc-ui-icon{
  width:1.35rem;
  height:1.35rem;
  stroke-width:2;
}

@media (max-width: 640px){
  .cc-step-panel{
    height:calc(var(--ccvf-stage-height, 560px) - 5rem);
    max-height:calc(var(--ccvf-stage-height, 560px) - 5rem);
  }
}


/* ===== v1.9.3 refinements ===== */
.cc-results-active .cc-wiz-header .cc-back{
  display:inline-flex;
}

.cc-results-tools{
  display:none !important;
}

.cc-wizard-stage{
  position:relative;
  min-height:var(--ccvf-stage-height, 640px);
}

.cc-step-panel{
  position:relative;
  height:var(--ccvf-stage-height, 640px);
  max-height:var(--ccvf-stage-height, 640px);
  padding:1rem 1rem 6.25rem;
  overflow:auto;
  background:none;
}

.cc-step-panel::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:5.1rem;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.16);
  pointer-events:none;
  z-index:0;
}

.cc-step-panel > *{
  position:relative;
  z-index:1;
}

.cc-step-panel > .cc-actions{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  top:auto;
  margin:0;
  padding:0;
  background:none;
  z-index:2;
}

.cc-step-panel > .cc-actions .cc-back,
.cc-step-panel > .cc-actions .cc-next,
.cc-step-panel > .cc-actions .cc-submit{
  position:relative;
}

.cc-field > span,
.cc-field label,
.cc-field label span,
.cc-step-panel .cc-field span{
  color:#fff !important;
}

.cc-results-view{
  margin-top:0;
}

.cc-results{
  padding-top:0;
}

.cc-results-summary{
  margin-top:0;
}

.cc-ui-icon{
  width:1.45rem;
  height:1.45rem;
  stroke-width:2.1;
  flex:0 0 1.45rem;
}

@media (max-width: 640px){
  .cc-step-panel{
    height:var(--ccvf-stage-height, 560px);
    max-height:var(--ccvf-stage-height, 560px);
    padding-bottom:6rem;
  }

  .cc-step-panel::before{
    bottom:4.9rem;
  }
}


/* ===== v1.9.4 refinements ===== */
.cc-wizard-stage{
  --ccvf-stage-height: clamp(320px, 58dvh, 540px);
  min-height: var(--ccvf-stage-height);
}

.cc-step-panel{
  height: auto !important;
  max-height: calc(var(--ccvf-stage-height) - 4.5rem) !important;
  min-height: 0 !important;
  overflow: auto;
  padding: 1rem 1rem 5.25rem !important;
}

.cc-step-panel::before{
  bottom: 4.6rem !important;
}

.cc-step-panel > .cc-actions{
  left: 1rem;
  right: 1rem;
  bottom: .65rem;
}

.cc-form-grid{
  margin: .6rem 0 1rem;
}

.cc-field{
  display: block;
  max-width: 14rem;
}

.cc-field > span,
.cc-field label,
.cc-field label span,
.cc-step-panel .cc-field span{
  display: block;
  margin: 0 0 .45rem;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.25;
  color: #fff !important;
}

.cc-field .cc-input,
.cc-input[type="number"]{
  width: clamp(8rem, 24vw, 12rem) !important;
  min-width: 0;
}

.cc-choice-grid-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.cc-choice--option .cc-ui-icon{
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
}

.cc-ui-icon--accessibility,
.cc-ui-icon--accessible-parking,
.cc-ui-icon--bus,
.cc-ui-icon--parking{
  overflow: visible;
}

@media (max-width: 640px){
  .cc-wizard-stage{
    --ccvf-stage-height: clamp(300px, 52dvh, 480px);
  }
  .cc-step-panel{
    max-height: calc(var(--ccvf-stage-height) - 4.2rem) !important;
    padding-bottom: 5rem !important;
  }
  .cc-step-panel::before{
    bottom: 4.35rem !important;
  }
  .cc-field{
    max-width: 100%;
  }
  .cc-field .cc-input,
  .cc-input[type="number"]{
    width: min(100%, 11rem) !important;
  }
}


/* ===== v1.9.5 layout corrections ===== */
.cc-wizard-stage{
  min-height: 0 !important;
  display: block !important;
}

.cc-results-view,
.cc-results-wrap,
#cc-results-wrap{
  min-height: 0 !important;
}

.cc-step-panel{
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 1rem 1rem 0 !important;
}

.cc-step-panel > .cc-actions{
  position: static !important;
  bottom: auto !important;
  margin: 1rem -1rem 0 !important;
  padding: 1rem !important;
  background: #fa6d4b !important;
  border-top: 1px solid rgba(255,255,255,.22) !important;
}

.cc-form-grid{
  display: grid;
  grid-template-columns: minmax(0, 420px);
  gap: .5rem;
  margin-top: .75rem;
  max-width: 420px;
}

.cc-field{
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.cc-field > span{
  display: block;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 600;
  color: #fff;
}

.cc-input{
  max-width: 420px;
}

@media (max-width: 1100px){
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 781px){
  .cc-form-grid{
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .cc-input{
    max-width: 100%;
  }
}


/* ===== v1.9.6 viewport fitting + step 1 compression ===== */
.cc-wizard-frame{
  padding: 1rem;
}

.cc-wiz-header{
  margin-bottom: .75rem;
  align-items: center;
}

.cc-wiz-title{
  font-size: clamp(1.9rem, 3vw, 2.6rem);
}

.cc-wizard-stage{
  min-height: clamp(420px, calc(100dvh - 290px), 720px) !important;
  max-height: calc(100dvh - 290px) !important;
  display: flex !important;
  flex-direction: column;
}

.cc-step-panel{
  display: flex;
  flex-direction: column;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: .9rem .9rem 0 !important;
}

.cc-step-panel > .cc-actions{
  margin: .75rem -.9rem 0 !important;
  padding: .85rem .9rem !important;
}

.cc-step-panel[data-step="1"] .cc-choice-grid.cc-choice-grid-icons{
  flex: 1 1 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem;
  align-content: start;
}

.cc-step-panel[data-step="1"] .cc-choice--icon{
  padding: .7rem .7rem .6rem;
  min-height: 0;
  justify-content: flex-start;
}

.cc-step-panel[data-step="1"] .cc-choice__icon{
  width: clamp(54px, 8vh, 92px);
  height: clamp(54px, 8vh, 92px);
  margin-bottom: .45rem;
}

.cc-step-panel[data-step="1"] .cc-choice__title{
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.2;
  margin-bottom: .25rem;
}

.cc-step-panel[data-step="1"] .cc-choice__meta{
  font-size: clamp(.84rem, .95vw, .98rem);
  line-height: 1.2;
}

@media (max-width: 1200px){
  .cc-wizard-stage{
    min-height: clamp(420px, calc(100dvh - 260px), 680px) !important;
    max-height: calc(100dvh - 260px) !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice__icon{
    width: clamp(50px, 7vh, 84px);
    height: clamp(50px, 7vh, 84px);
  }

  .cc-step-panel[data-step="1"] .cc-choice__meta{
    font-size: clamp(.8rem, .9vw, .94rem);
  }
}

@media (max-width: 900px){
  .cc-wizard-stage{
    min-height: auto !important;
    max-height: none !important;
  }

  .cc-step-panel{
    height: auto !important;
    overflow: visible !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .cc-wizard-frame{
    padding: .85rem;
  }

  .cc-wiz-header{
    margin-bottom: .65rem;
  }

  .cc-step-panel{
    padding: .8rem .8rem 0 !important;
  }

  .cc-step-panel > .cc-actions{
    margin: .65rem -.8rem 0 !important;
    padding: .75rem .8rem !important;
  }
}


/* 1.9.7 refinements */
.cc-choice__title{display:block;font-weight:750;font-size:1rem;line-height:1.2;color:#fff;}
.cc-choice__meta{display:block;font-size:.94rem;line-height:1.25;color:rgba(255,255,255,.92);}
.cc-choice--option{display:flex;align-items:flex-start;gap:.75rem;}
.cc-choice--option .cc-choice__copy{display:flex;flex-direction:column;gap:.2rem;min-width:0;}
.cc-choice--option .cc-choice__title,.cc-choice--option .cc-choice__meta{text-align:left;}
.cc-ui-icon{width:26px;height:26px;flex:0 0 26px;color:#fff;display:inline-block;vertical-align:middle;}
.cc-ui-icon--img{object-fit:contain;filter:brightness(0) invert(1);}
.cc-choice.is-selected .cc-ui-icon--img{filter:none;mix-blend-mode:normal;}
.cc-choice--option .dashicons{font-size:22px;width:22px;height:22px;}
.cc-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .8rem;}
.cc-badge{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#ece8e8;color:#444;font-size:.92rem;line-height:1;}
.cc-badge--matched{background:#fde6b8;color:#7b5300;font-weight:700;box-shadow:inset 0 0 0 1px rgba(123,83,0,.12);}
.cc-results-summary strong{font-weight:800;}
@media (min-width: 900px){
  .cc-wizard-stage{--ccvf-stage-height:min(34rem, calc(100dvh - 17rem));}
  .cc-step-panel{min-height:var(--ccvf-stage-height);display:flex;flex-direction:column;}
  .cc-step-panel .cc-actions{margin-top:auto;padding-top:.85rem;}
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
  .cc-wizard-frame .cc-choice--icon{min-height:clamp(10.5rem, 18vh, 13rem);}
  .cc-wizard-frame .cc-choice__icon{width:clamp(52px,5vw,78px);}
}
@media (max-width: 899px){
  .cc-wizard-stage{--ccvf-stage-height:auto;min-height:0;}
  .cc-step-panel{min-height:0;overflow:visible;}
}


/* v1.9.8 results tightening */
.cc-results-summary{
  margin: 0 0 .55rem !important;
  line-height: 1.35 !important;
}
.cc-grid--results{
  gap: 1rem !important;
}
.cc-card{
  border-radius: 16px !important;
}
.cc-card-body{
  padding: .85rem .9rem .9rem !important;
  gap: .4rem !important;
}
.cc-card-topline{
  margin-bottom: .05rem !important;
}
.cc-card-option,
.cc-fit-badge{
  font-size: .74rem !important;
}
.cc-card-title{
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.cc-card-site{
  font-size: .88rem !important;
  line-height: 1.2 !important;
  margin: 0 0 .2rem !important;
}
.cc-card-summary,
.cc-card-cap,
.cc-card-note,
.cc-card-info p{
  font-size: .96rem !important;
  line-height: 1.42 !important;
}
.cc-card-summary,
.cc-card-cap{
  margin: 0 !important;
}
.cc-card-tags{
  gap: .35rem !important;
  margin: .05rem 0 .1rem !important;
}
.cc-badge{
  padding: .22rem .5rem !important;
  font-size: .83rem !important;
  line-height: 1.2 !important;
}
.cc-card-info{
  padding: .55rem .65rem !important;
  margin-top: .05rem !important;
}
.cc-card-info strong{
  margin-bottom: .18rem !important;
}
.cc-card-actions{
  gap: .45rem !important;
  padding-top: .2rem !important;
}
@media (max-width: 1024px){
  .cc-card-body{
    padding: .8rem .85rem .85rem !important;
  }
}

/* v1.9.12 results refinement */
.cc-results-summary{
  margin:0 0 .85rem !important;
}
.cc-results-summary__title{
  margin:0 0 .45rem;
  font-size:.96rem;
  line-height:1.35;
  font-weight:700;
}
.cc-results-summary__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.cc-grid--results{
  gap:1rem !important;
}
@media (min-width:1200px){
  .cc-grid--results{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.cc-card-body{
  padding:.85rem 1rem .9rem !important;
}
.cc-card-summary{
  font-size:.9rem !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  margin:0 0 .35rem !important;
}
.cc-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.cc-badges--practical{margin:.35rem 0 .35rem !important;}
.cc-badges--facilities{margin:.25rem 0 .45rem !important;}
.cc-badge{
  padding:.24rem .5rem !important;
  font-size:.8rem !important;
  line-height:1.2 !important;
}
.cc-badge--summary{
  background:#ece8e8 !important;
  color:#444 !important;
}
.cc-badge--practical{background:#ece8e8;color:#444;}
.cc-badge--partial{opacity:.92;}
.cc-card-info{
  padding:0 !important;
  margin:.15rem 0 0 !important;
}
.cc-card-info strong{
  display:block;
  margin:0 0 .18rem !important;
}
.cc-card-info p{
  margin:0 !important;
  padding:0 !important;
  font-size:.82rem !important;
  line-height:1.4 !important;
}
.cc-card-actions{
  padding-top:.15rem !important;
  gap:.4rem !important;
}
.cc-button,
.cc-button-secondary,
.cc-button-muted{
  font-size:.84rem !important;
  padding:.52rem .8rem !important;
}

/* v1.9.13 practical badge highlight alignment */
.cc-badge--practical.cc-badge--matched{background:#fde6b8 !important;color:#7b5300 !important;font-weight:700 !important;box-shadow:inset 0 0 0 1px rgba(123,83,0,.12) !important;}


/* ===== v1.9.21 mobile improvements ===== */
@media (max-width: 781px){
  .cc-wizard-frame .cc-choice-grid,
  .cc-wizard-frame .cc-choice-grid-2,
  .cc-wizard-frame .cc-choice-grid-3,
  .cc-wizard-frame .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cc-wizard-frame .cc-choice--icon,
  .cc-wizard-frame .cc-choice--option{
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 0;
    padding: .85rem .9rem;
  }

  .cc-wizard-frame .cc-choice--icon{
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: .85rem;
  }

  .cc-wizard-frame .cc-choice__icon{
    width: 52px;
    max-width: 52px;
    align-self: start;
    justify-self: center;
  }

  .cc-wizard-frame .cc-choice__copy,
  .cc-wizard-frame .cc-choice__title,
  .cc-wizard-frame .cc-choice__meta{
    display: block;
    min-width: 0;
  }

  .cc-wizard-frame .cc-choice__title{
    font-size: 1rem;
    line-height: 1.25;
  }

  .cc-wizard-frame .cc-choice__meta{
    font-size: .92rem;
    line-height: 1.35;
    opacity: .96;
  }

  .cc-step-panel{
    overflow: visible;
  }
}


/* ===== v1.9.22 Safari iOS Step 1 mobile fix ===== */
@media (max-width: 781px){
  .cc-step-panel[data-step="1"] .cc-choice-grid.cc-choice-grid-icons,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice-grid.cc-choice-grid-icons{
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice--icon,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice--icon{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: .65rem !important;
    min-height: 0 !important;
    padding: 1rem !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice__icon,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice__icon{
    width: 56px !important;
    max-width: 56px !important;
    height: auto !important;
    align-self: flex-start !important;
    justify-self: auto !important;
    margin: 0 !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice__title,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice__title,
  .cc-step-panel[data-step="1"] .cc-choice__meta,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice__meta{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none;
    text-align: left !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice__title,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice__title{
    font-size: 1.06rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice__meta,
  .cc-wizard-frame .cc-step-panel[data-step="1"] .cc-choice__meta{
    font-size: .94rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
}


/* v1.9.23 mobile height release */
@media (max-width: 899px){
  .cc-wizard-stage,
  .cc-wizard-stage.cc-wizard-stage,
  .cc-wizard .cc-wizard-stage{
    --ccvf-stage-height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    display: block !important;
    overflow: visible !important;
  }

  .cc-step-panel,
  .cc-wizard .cc-step-panel{
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  .cc-step-panel > .cc-actions,
  .cc-wizard .cc-step-panel > .cc-actions{
    margin-top: 1rem !important;
    position: static !important;
    inset: auto !important;
  }

  .cc-step-panel[data-step="1"] .cc-choice-grid.cc-choice-grid-icons{
    align-content: stretch !important;
  }
}


/* v1.9.28 desktop scroll release
   Allow panels to grow naturally on larger screens instead of clipping content.
   This prioritises reliable scrolling and access to the Next button over fixed-height containment. */
@media (min-width: 900px){
  .cc-wizard-stage,
  .cc-results-view,
  #cc-results-wrap,
  .cc-results-wrap{
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  .cc-step-panel{
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .cc-step-panel > .cc-actions{
    position: static !important;
    bottom: auto !important;
    margin-top: 1rem !important;
  }

  .cc-wizard-frame{
    overflow: visible !important;
  }
}


/* ===== v1.9.29 minimum-height baseline + remove orange bleed ===== */
.cc-wizard-frame--bleed::before,
.cc-wizard-frame--bleed::after{
  content: none !important;
  display: none !important;
}

.cc-step-panel > .cc-actions{
  background: transparent !important;
  border-top: 0 !important;
}

.cc-wizard-stage,
.cc-results-view,
#cc-results-wrap,
.cc-results-wrap{
  min-height: var(--ccvf-stage-height, auto) !important;
}

.cc-step-panel{
  min-height: var(--ccvf-stage-height, auto) !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* ===== v1.10.0 rationalisation overrides ===== */
.cc-wizard-frame,
.cc-wizard-frame *{
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.cc-wizard-stage,
.cc-wizard{
  min-height:var(--ccvf-stage-height);
}

.cc-step-panel{
  min-height:var(--ccvf-stage-height);
  display:flex !important;
  flex-direction:column !important;
  overflow:visible !important;
}

.cc-step-panel > .cc-actions{
  margin-top:auto !important;
  padding-top:1rem !important;
  border-top:1px solid rgba(255,255,255,0.18);
  position:relative;
  z-index:2;
  background:transparent;
}

.cc-step-panel .cc-choice-grid,
.cc-step-panel .cc-form-grid{
  position:relative;
  z-index:1;
}

.cc-choice--option .cc-choice__copy{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}

.cc-choice__title,
.cc-choice__meta{
  white-space:normal;
}

.cc-vf-tax-checklist{
  max-height:26rem;
  overflow:auto;
  padding-right:8px;
}

@media (max-width: 781px){
  .cc-step-panel{
    min-height:0;
  }
}

.cc-button--external::after{
  content:"↗";
  display:inline-block;
  margin-left:.35em;
  font-size:.9em;
  line-height:1;
  transform:translateY(-1px);
}

.cc-vf-tax-checklist p{margin:0 0 8px}


/* 1.10.3 wizard panel/footer tidy-up */
.cc-wizard-stage{
  display:block;
}

.cc-step-panel{
  min-height: var(--ccvf-stage-height);
  display:flex;
  flex-direction:column;
  gap:.75rem;
  overflow:hidden;
}

.cc-step-panel[hidden]{
  display:none !important;
}

.cc-step-panel > .cc-actions{
  margin-top:auto;
  padding-top:.85rem;
  border-top:1px solid rgba(255,255,255,0.18);
}

.cc-step-panel > .cc-choice-grid,
.cc-step-panel > .cc-form-grid{
  flex:0 0 auto;
}


/* 1.11.0 compact step spacing */
.cc-step-panel .cc-muted{line-height:1.35;}
.cc-step-panel .cc-choice__title{margin-bottom:.18rem;}
.cc-step-panel .cc-choice__copy{gap:.18rem;}
.cc-step-panel .cc-choice__meta{line-height:1.28;}
.cc-step-panel .cc-choice{padding:.65rem;}


/* ===== v1.11.1 desktop breakout width trial =====
   Let the venue finder break out of narrow theme content columns on larger screens
   so the wizard and results can occupy the desktop more confidently. */
@media (min-width: 1200px){
  .cc-wizard-frame{
    width:min(1080px, calc(100vw - 2rem)) !important;
    max-width:none !important;
    margin-left:calc(50% - min(540px, calc(50vw - 1rem))) !important;
    margin-right:0 !important;
  }
}

@media (min-width: 1440px){
  .cc-wizard-frame{
    width:min(1120px, calc(100vw - 4rem)) !important;
    margin-left:calc(50% - min(560px, calc(50vw - 2rem))) !important;
  }
}
