.acp-consultation,
.acp-consultation * { box-sizing: border-box; }
.acp-consultation { --acp-navy:#17122e; --acp-purple:#3f2670; --acp-gold:#efc95b; --acp-pink:#f72564; --acp-border:rgba(255,255,255,.18); width:100%; max-width:none; margin:0 auto; color:#fff; font-family:inherit; }
.acp-consultation-form,.acp-calendar-result { background:linear-gradient(145deg,#2b194f,#1b1235); border:1px solid var(--acp-border); border-radius:24px; padding:clamp(20px,4vw,42px); box-shadow:0 20px 55px rgba(8,4,20,.28); }
.acp-consultation-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 20px; }
.acp-consultation-progress>span { position:relative; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.7); font-size:13px; font-weight:700; }
.acp-consultation-progress>span:before { content:attr(data-step); display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border:2px solid rgba(255,255,255,.35); border-radius:50%; }
.acp-consultation-progress>span:nth-child(1):before{content:'1'}.acp-consultation-progress>span:nth-child(2):before{content:'2'}.acp-consultation-progress>span:nth-child(3):before{content:'3'}.acp-consultation-progress>span:nth-child(4):before{content:'4'}
.acp-consultation-progress>span.is-active,.acp-consultation-progress>span.is-complete { color:#fff; }
.acp-consultation-progress>span.is-active:before,.acp-consultation-progress>span.is-complete:before { background:var(--acp-gold); border-color:var(--acp-gold); color:#23143d; }
.acp-consultation-step[hidden],.acp-calendar-result[hidden],[data-free-only][hidden],[data-referrer][hidden] { display:none!important; }
.acp-form-heading { margin-bottom:24px; }
.acp-form-heading>span,.acp-route-recommendation>span { display:block; color:var(--acp-gold); font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.acp-form-heading h2 { color:#fff!important; font-size:clamp(25px,4vw,38px); line-height:1.12; margin:6px 0 8px; }
.acp-form-heading p { margin:0; color:rgba(255,255,255,.78); }
.acp-consultation label,.acp-consultation legend { color:#fff!important; font-weight:750; }
.acp-consultation label { display:grid; gap:7px; margin:0 0 18px; }
.acp-consultation fieldset { min-width:0; margin:0 0 22px; padding:0; border:0; }
.acp-consultation legend { margin:0 0 12px; font-size:17px; }
.acp-consultation em { color:#ff8daf; font-style:normal; }
.acp-consultation input[type=text],.acp-consultation input[type=email],.acp-consultation input[type=tel],.acp-consultation input[type=date],.acp-consultation select,.acp-consultation textarea { width:100%; min-height:50px; margin:0; padding:12px 14px; background:#fff!important; border:2px solid transparent!important; border-radius:12px; color:#211637!important; font:inherit; line-height:1.35; }
.acp-consultation textarea { min-height:116px; resize:vertical; }
.acp-consultation input:focus,.acp-consultation select:focus,.acp-consultation textarea:focus { outline:none; border-color:var(--acp-gold)!important; box-shadow:0 0 0 4px rgba(239,201,91,.18); }
.acp-router-grid { display:grid; gap:16px; }
.acp-router-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.acp-router-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.acp-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.acp-choice-grid legend { grid-column:1/-1; }
.acp-choice-card { display:flex!important; grid-template-columns:none!important; align-items:flex-start; gap:12px!important; margin:0!important; padding:16px; min-height:100%; background:rgba(255,255,255,.07); border:2px solid rgba(255,255,255,.13); border-radius:16px; cursor:pointer; }
.acp-choice-card:has(input:checked) { background:rgba(239,201,91,.12); border-color:var(--acp-gold); }
.acp-choice-card input { flex:0 0 auto; margin:4px 0 0; accent-color:var(--acp-gold); }
.acp-choice-card span { display:block; }
.acp-choice-card strong { display:block; color:#fff; line-height:1.3; }
.acp-choice-card small { display:block; margin-top:5px; color:rgba(255,255,255,.7); font-weight:500; line-height:1.4; }
.acp-inline-choices { display:flex; flex-wrap:wrap; gap:12px 24px; }
.acp-inline-choices label,.acp-consent { display:flex!important; align-items:flex-start; grid-template-columns:none!important; gap:9px!important; }
.acp-inline-choices input,.acp-consent input { width:auto!important; flex:0 0 auto; margin-top:4px; accent-color:var(--acp-gold); }
.acp-assessment-question { margin:0 0 20px; padding:16px; border:1px solid var(--acp-border); border-radius:15px; }
.acp-assessment-question fieldset { margin:0; }
.acp-assessment-question p { margin:10px 0 0; }
.acp-assessment-question a { color:var(--acp-gold); font-weight:800; }
.acp-step-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; border-top:1px solid var(--acp-border); }
.acp-router-btn { appearance:none; min-height:46px; padding:11px 22px; border:0; border-radius:999px; background:var(--acp-gold)!important; color:#22143c!important; font:inherit; font-weight:900; cursor:pointer; }
.acp-router-btn:hover { transform:translateY(-1px); filter:brightness(1.05); }
.acp-router-btn:disabled { cursor:wait; opacity:.65; }
.acp-router-btn-secondary { background:transparent!important; color:#fff!important; border:1px solid rgba(255,255,255,.38); }
.acp-route-recommendation { padding:18px; margin-bottom:20px; background:rgba(239,201,91,.12); border:1px solid rgba(239,201,91,.5); border-radius:16px; }
.acp-route-recommendation strong { display:block; margin:4px 0; color:#fff; font-size:21px; }
.acp-route-recommendation p { margin:0; color:rgba(255,255,255,.78); }
.acp-review-list { display:grid; grid-template-columns:minmax(150px,.45fr) minmax(0,1fr); margin:0 0 22px; overflow:hidden; border:1px solid var(--acp-border); border-radius:16px; }
.acp-review-list dt,.acp-review-list dd { margin:0; padding:11px 14px; border-bottom:1px solid var(--acp-border); overflow-wrap:anywhere; }
.acp-review-list dt { background:rgba(255,255,255,.06); color:var(--acp-gold); font-weight:800; }
.acp-review-list dd { color:#fff; }
.acp-consent { margin-bottom:18px!important; padding:14px; background:rgba(255,255,255,.06); border-radius:12px; }
.acp-submit-status { min-height:24px; margin:0 0 10px; font-weight:700; }
.acp-submit-status.is-error { color:#ffb1c6; }
.acp-calendar-frame-wrap { min-height:720px; overflow:hidden; background:#fff; border-radius:16px; }
.acp-calendar-frame { display:block; width:100%; min-height:720px; border:0; background:#fff; }
.acp-calendar-fallback { margin:14px 0 0; color:rgba(255,255,255,.76); text-align:center; }
.acp-calendar-fallback a { color:var(--acp-gold); font-weight:800; }
.acp-consultation-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }

/*
 * Calendar page full-bleed layout.
 * :has() limits these Divi overrides to the row/page that contains the router,
 * so other Aragant pages keep their existing widths.
 */
body:has(.acp-consultation) #page-container { overflow-x:hidden; }
body:has(.acp-consultation) .et_pb_section:has(.acp-consultation) { width:100%!important; max-width:none!important; padding-left:clamp(16px,3vw,56px)!important; padding-right:clamp(16px,3vw,56px)!important; }
body:has(.acp-consultation) .et_pb_row:has(.acp-consultation),
.et_pb_row.aragant-calendar-layout,
.aragant-calendar-layout > .et_pb_row { position:relative!important; left:50%!important; transform:translateX(-50%)!important; display:grid!important; grid-template-columns:minmax(360px,1fr) minmax(0,1.5fr); align-items:start!important; gap:clamp(24px,3vw,56px)!important; width:min(94vw,1800px)!important; max-width:1800px!important; margin-left:0!important; margin-right:0!important; }
body:has(.acp-consultation) .et_pb_row:has(.acp-consultation) > .et_pb_column,
.et_pb_row.aragant-calendar-layout > .et_pb_column,
.aragant-calendar-layout > .et_pb_row > .et_pb_column { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }
body:has(.acp-consultation) .et_pb_row:has(.acp-consultation) .et_pb_image,
.aragant-calendar-layout .et_pb_image { width:100%!important; max-width:720px!important; margin:0 auto!important; }
body:has(.acp-consultation) .et_pb_row:has(.acp-consultation) .et_pb_image img,
.aragant-calendar-layout .et_pb_image img { display:block; width:100%!important; max-width:none!important; height:auto!important; }

/* Expand a Divi Fullwidth Header on the same page. The named class is a fallback
 * for a standard section/row used as a header instead of a Fullwidth Section. */
body:has(.acp-consultation) .et_pb_section.et_pb_fullwidth_section,
body:has(.acp-consultation) .et_pb_fullwidth_header,
.aragant-calendar-header { width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important; }
body:has(.acp-consultation) .et_pb_fullwidth_header .et_pb_fullwidth_header_container { width:min(94vw,1800px)!important; max-width:1800px!important; }
.aragant-calendar-header > .et_pb_row { position:relative!important; left:50%!important; transform:translateX(-50%)!important; width:min(94vw,1800px)!important; max-width:1800px!important; margin-left:0!important; margin-right:0!important; }
.aragant-calendar-header .et_pb_module { width:100%!important; max-width:none!important; }
@media(max-width:760px){
  .acp-consultation { width:100%; }
  .acp-consultation-form,.acp-calendar-result { padding:20px 15px; border-radius:18px; }
  .acp-consultation-progress>span { justify-content:center; }
  .acp-consultation-progress>span span { display:none; }
  .acp-router-grid-two,.acp-router-grid-three,.acp-choice-grid { grid-template-columns:1fr; }
  .acp-review-list { grid-template-columns:1fr; }
  .acp-review-list dt { padding-bottom:4px; border-bottom:0; }
  .acp-review-list dd { padding-top:4px; }
  .acp-step-actions { position:sticky; bottom:0; z-index:3; margin:0 -8px -8px; padding:13px 8px 8px; background:linear-gradient(to top,#21143e 78%,rgba(33,20,62,0)); }
  .acp-router-btn { min-width:112px; }
  .acp-calendar-frame-wrap,.acp-calendar-frame { min-height:760px; }
}
@media(max-width:980px){
  body:has(.acp-consultation) .et_pb_row:has(.acp-consultation),
  .et_pb_row.aragant-calendar-layout,
  .aragant-calendar-layout > .et_pb_row { grid-template-columns:1fr; width:min(94vw,920px)!important; }
  body:has(.acp-consultation) .et_pb_row:has(.acp-consultation) .et_pb_image,
  .aragant-calendar-layout .et_pb_image { max-width:680px!important; }
}
@media(prefers-reduced-motion:reduce){.acp-router-btn{transition:none}.acp-router-btn:hover{transform:none}}
