/* GBF Estate Plan Checklist (v1.3.0) */
.gbf-epc{width:100%;height:100%;max-width:none;margin:0;display:flex;align-items:center;justify-content:center}
.gbf-epc * { box-sizing:border-box; }

.gbf-epc__card{width:100%;height:100%;max-width:100%;border:none;background:transparent;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:24px}
.gbf-epc__header{padding:18px 0 0;margin:0 0 18px;border:0}
.gbf-epc__title { margin:0 0 6px; font-size:28px; line-height:1.2; }
.gbf-epc__subtitle { margin:0; opacity:.85; }

.gbf-epc__progress{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0 0 18px;padding:0;border:0}
.gbf-epc__progressbar{height:10px;border-radius:999px;background:rgba(0,0,0,0.08);overflow:hidden}
.gbf-epc__progressbarFill { height:100%; width:0%; background:var(--gbf-epc-accent, #d8ae66); transition:width 200ms ease; }
.gbf-epc__progressText { font-size:13px; opacity:.8; white-space:nowrap; }

.gbf-epc__main{display:grid;grid-template-columns:1fr;gap:18px;flex:1;min-height:0}
.gbf-epc__imagePane{position:relative;min-height:220px;border-radius:18px;overflow:hidden}
.gbf-epc__image { position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.gbf-epc__imageOverlay { position:absolute; inset:0; background:rgba(0,0,0,0.18); pointer-events:none; }
.gbf-epc__body{padding:0}

@media (min-width:860px){
	.gbf-epc__main[data-layout="split"]{ grid-template-columns:42% 58%; }
	.gbf-epc__imagePane{ min-height:auto; }
	.gbf-epc__body{ padding:22px; }
}

.gbf-epc__q { margin:0 0 12px; font-size:20px; line-height:1.25; }
.gbf-epc__hint { margin:0 0 16px; opacity:.75; }

.gbf-epc__options { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
@media (min-width:640px){ .gbf-epc__options{ grid-template-columns:1fr 1fr; } }

.gbf-epc__optBtn { width:100%; text-align:left; padding:14px; border-radius:14px; border:1px solid rgba(0,0,0,0.10); background:rgba(0,0,0,0.02); cursor:pointer; transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease, border-color 120ms ease; }
.gbf-epc__optBtn:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,0.06); }
.gbf-epc__optBtn[aria-pressed="true"] { border-color:rgba(216,174,102,0.9); background:rgba(216,174,102,0.14); }

.gbf-epc__inline { display:flex; flex-wrap:wrap; gap:10px; }
.gbf-epc__pill { border-radius:999px; padding:10px 14px; border:1px solid rgba(0,0,0,0.10); background:rgba(0,0,0,0.02); cursor:pointer; transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease, border-color 120ms ease; }
.gbf-epc__pill:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,0.06); }
.gbf-epc__pill[aria-pressed="true"] { border-color:rgba(216,174,102,0.9); background:rgba(216,174,102,0.14); }

.gbf-epc__footer{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding:0;border:0}
.gbf-epc__btn{background:transparent;border:0;padding:0}
.gbf-epc__btn:disabled{opacity:.5}

.gbf-epc__results h3 { margin:0 0 10px; font-size:20px; }
.gbf-epc__results p { margin:0 0 12px; opacity:.9; }

.gbf-epc__lead { margin-top:14px; padding:14px; border-radius:14px; border:1px solid rgba(0,0,0,0.10); background:rgba(0,0,0,0.02); }
.gbf-epc__leadRow { display:grid; gap:10px; margin-top:10px; }
@media (min-width:640px){ .gbf-epc__leadRow { grid-template-columns:1fr 1fr; } }

.gbf-epc__input { width:100%; padding:10px 12px; border-radius:10px; border:1px solid rgba(0,0,0,0.18); background:#fff; }

.gbf-epc__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.gbf-epc__ctaLink { display:inline-block; padding:12px 14px; border-radius:12px; border:1px solid rgba(0,0,0,0.14); text-decoration:none; background:#fff; }
.gbf-epc__ctaLink--primary { background:var(--gbf-epc-accent, #d8ae66); color:#252525; border-color:rgba(0,0,0,0.10); }

.gbf-epc__step { animation:gbfEpcFadeIn 180ms ease; }
@keyframes gbfEpcFadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

/* Let site default button styles apply (Breakdance). */
.gbf-epc .button-atom{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}

.gbf-epc__inner{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}

.gbf-epc__encourage{font-size:13px;opacity:.8}
.gbf-epc__image{transition:transform 520ms ease, filter 520ms ease}
.gbf-epc__image--swap{transform:scale(1.04);filter:saturate(1.02)}
/* after swap settle */
.gbf-epc__image--swap{animation:gbfEpcImageSettle 520ms ease forwards}
@keyframes gbfEpcImageSettle{to{transform:scale(1);filter:saturate(1)}}

@media (min-width:860px){
  .gbf-epc__main[data-layout="split"]{grid-template-columns:42% 58%}
}

.gbf-epc__resultsBox{margin-top:14px;padding:14px;border-radius:14px;border:1px solid rgba(0,0,0,0.10);background:rgba(0,0,0,0.02)}
.gbf-epc__resultsGrid{display:grid;gap:8px}
.gbf-epc__resultsRow{display:flex;gap:10px;align-items:center}
.gbf-epc__check{width:26px;display:inline-flex;justify-content:center}
.gbf-epc__resultsList{margin:10px 0 0 20px}
.gbf-epc__recItem{margin-top:10px}
.gbf-epc__recLink{text-decoration:none;font-weight:600}
.gbf-epc__recReason{opacity:.85;font-size:13px;margin-top:4px}
.gbf-epc__leadTitle{margin-bottom:10px}
.gbf-epc__leadCheck{display:flex;gap:10px;align-items:flex-start;margin:10px 0}
.gbf-epc__fineprint{margin-top:10px;opacity:.75;font-size:13px}
