/* Core workflows: one clear action per card; progressive disclosure for extras. */
.simple-tools { width:100%; min-width:0; margin-block:20px 28px; }
.simple-tools>h2 { font-size:clamp(1.25rem,2.5vw,1.65rem); color:var(--text,#eef6ff); margin:0 0 16px; }
.simple-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.simple-tool { display:flex; flex-direction:column; gap:12px; padding:24px; background:#0d2539; border:1px solid #365267; border-radius:18px; color:#eef6ff; text-decoration:none; min-width:0; transition:border-color .15s,background .15s; }
.simple-tool:hover { background:#12334b; border-color:#4bd7e6; }
.simple-tool.is-preview-active { border-color:#5bdcea; box-shadow:inset 0 0 0 1px rgba(91,220,234,.36); }
.simple-tool:focus-visible,.simple-options>summary:focus-visible { outline:3px solid #4bd7e6; outline-offset:4px; }
.simple-tool h3 { font-size:1.3rem; line-height:1.3; margin:0; color:#eef6ff; }
.simple-tool p { font-size:1rem; line-height:1.6; margin:0 0 12px; color:#c6d9e7; }
.simple-tool-icon { font-size:.85rem; font-weight:800; letter-spacing:.1em; color:#5fdfec; }
.simple-tool-action { margin-top:auto; padding:12px 14px; color:#061828; background:#5bdcea; border-radius:9px; font-weight:750; text-align:center; line-height:1.4; }
.landing-page .hero-shell.simple-hero { display:flex; flex-direction:column; padding:clamp(20px,4vw,52px); gap:0; }
/* The legacy landing composition uses a highly specific grid contract. Reset that
   contract for this content-first hero so cards never occupy the old visual slot. */
body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero { display:flex!important; flex-direction:column; align-items:stretch; gap:0!important; min-height:0; }
body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero .hero-content { grid-area:auto; max-width:760px; }
body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero .hero-panel.simple-preview { grid-area:auto; min-height:0; align-self:stretch; width:100%; }
body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero .hero-social-links { grid-area:auto; align-self:flex-end; }
body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero #landingHeroTitle { font-size:clamp(2.1rem,4.5vw,3.65rem)!important; line-height:1.1!important; }
.simple-hero .hero-content { max-width:760px; order:1; }
.simple-hero .hero-content h1 { font-size:clamp(2.1rem,4.5vw,3.65rem)!important; line-height:1.1; margin:18px 0; }
.simple-hero .hero-content h1 span { color:#eef6ff!important; text-transform:none!important; background:none!important; -webkit-text-fill-color:#eef6ff!important; letter-spacing:-.03em; }
.simple-hero .hero-content .badge { margin:0; }
.simple-hero .hero-lede { font-size:1.1rem; line-height:1.65; max-width:640px; margin:0; }
.simple-hero .badge { font-size:.75rem; }
.simple-hero .hero-social-links { position:static!important; align-self:flex-end; order:0; margin-bottom:12px; }
.simple-hero .simple-tools { order:2; }
.simple-hero .simple-preview { order:3; }
.simple-hero .landing-stats { order:4; margin-top:24px; }
.simple-preview-card { min-width:0; display:grid; grid-template-columns:52px minmax(0,1fr); align-content:start; align-items:center; gap:8px 10px; width:100%; min-height:118px; padding:12px; border:1px solid #294960; border-radius:12px; background:#081d30; transition:border-color .2s,background .2s,transform .2s; }
.simple-preview-card.is-active { border-color:#4bd7e6; background:#0d293e; transform:translateY(-1px); }
.simple-preview-image { grid-column:1; grid-row:1; display:block; width:52px; height:52px; object-fit:cover; border-radius:9px; border:1px solid rgba(156,205,224,.3); }
.simple-preview-card>strong { grid-column:2; grid-row:1; font-size:.95rem; color:#6bd8e5; }
.simple-preview-row { grid-column:1/-1; display:grid; grid-template-columns:minmax(68px,auto) minmax(0,1fr); align-items:center; gap:10px; min-width:0; background:#143047; padding:8px 10px; border-radius:7px; color:#dceaf5; font-size:.82rem; line-height:1.4; opacity:.62; transform:translateY(5px); }
.simple-preview-stage { color:#6bd8e5; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.simple-tool-preview .simple-preview-row:nth-of-type(1) { --row:0; }
.simple-tool-preview .simple-preview-row:nth-of-type(2) { --row:1; }
.simple-tool-preview .simple-preview-row:nth-of-type(3) { --row:2; }
.simple-tools.is-playing:not(.is-paused) .simple-tool.is-preview-active .simple-preview-row { animation:simple-row 720ms cubic-bezier(.2,.7,.25,1) 1 both; animation-delay:calc(var(--row)*110ms); }
@keyframes simple-row { to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .simple-tools .simple-preview-row { animation:none!important; opacity:1; transform:none; } }
.landing-page .reveal-on-scroll { opacity:1!important; transform:none!important; }
.simple-options { border:1px solid #3c566b; border-radius:12px; background:#0c2437; color:#e7f1fa; padding:0 16px; margin:16px 0; }
.simple-options>summary { cursor:pointer; padding:16px 0; color:#b8e8ee; font-size:.95rem; font-weight:650; }
.simple-options[open] { padding-bottom:16px; }
.simple-options .capability-illustration { display:none; }
.simple-options .capability-card { min-height:0; padding:22px; margin:12px 0; }
.simple-options .capability-card .capability-copy { position:static; max-width:none; }
.simple-options .capability-actions { position:static; flex-wrap:wrap; }
.simple-builder .simple-step-title { font-size:1.5rem; margin:0 0 24px; }
.simple-builder .simple-question { margin-block:20px; }
.simple-builder .wizard-step { min-height:0; }
.simple-builder .wizard-step-heading { display:block!important; grid-template-columns:minmax(0,1fr)!important; min-width:0; margin-bottom:14px!important; }
.simple-builder .wizard-step-heading>div { min-width:0; width:100%; }
.simple-builder .wizard-step-heading>span,.simple-builder .wizard-step-heading p { display:none; }
.simple-builder .wizard-step-heading h2 { width:100%; font-size:1.15rem!important; line-height:1.4; overflow-wrap:normal; word-break:normal; text-wrap:balance; }
.simple-builder .visual-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.simple-builder .visual-choice-card { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; column-gap:12px; min-width:0; min-height:88px!important; height:auto!important; padding-block:12px!important; padding-inline:12px 40px!important; background:#102b40!important; border:1px solid #3b566a; box-shadow:none!important; border-radius:12px; transform:none!important; overflow:hidden; }
.simple-builder .visual-choice-image { position:relative; inset:auto; grid-column:1; grid-row:1; display:block!important; width:58px; height:58px; min-height:58px; border-radius:9px; background-size:cover; background-repeat:no-repeat; }
.simple-builder .visual-choice-shade { display:none!important; }
.simple-builder .visual-choice-content { position:static!important; grid-column:2; grid-row:1; min-width:0; padding:0!important; gap:5px; color:#eef6ff; }
.simple-builder .visual-choice-content strong { font-size:.98rem!important; line-height:1.3; text-wrap:pretty; }
.simple-builder .visual-choice-content small { display:block; font-size:.8rem; color:#c4d7e5; line-height:1.4; }
.simple-builder .visual-choice-check { inset-block-start:8px; inset-inline-end:8px; width:22px; height:22px; font-size:12px; }
.simple-builder .visual-choice-card:has(input:checked) { border:2px solid #5cdde8; background:#173e54!important; }
.simple-builder .visual-choice-card--beginner { --choice-accent:#51a9ff; }
.simple-builder .visual-choice-card--intermediate { --choice-accent:#42d6c0; }
.simple-builder .visual-choice-card--advanced { --choice-accent:#f0b34d; }
.simple-builder .visual-choice-card--professional { --choice-accent:#bb8cff; }
.simple-builder .visual-choice-card--beginner,.simple-builder .visual-choice-card--intermediate,.simple-builder .visual-choice-card--advanced,.simple-builder .visual-choice-card--professional { border-inline-start:3px solid var(--choice-accent); }
.simple-builder .visual-choice-card--beginner:has(input:checked),.simple-builder .visual-choice-card--intermediate:has(input:checked),.simple-builder .visual-choice-card--advanced:has(input:checked),.simple-builder .visual-choice-card--professional:has(input:checked) { border-color:var(--choice-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--choice-accent) 24%,transparent)!important; }
.simple-builder .wizard-fields-grid { gap:14px; }
.simple-builder textarea { min-height:80px; }
.simple-builder .wizard-review { margin:0; }
.simple-builder .simple-options .simple-question { margin:0; }
.simple-note { color:#bdcfdd; font-size:.9rem; line-height:1.6; }
.simple-equipment-presets { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.simple-equipment-presets label { cursor:pointer; background:#102b40; border:1px solid #3b566a; border-radius:10px; padding:14px; display:grid; grid-template-columns:auto 1fr; gap:8px; color:#eef6ff; }
.simple-equipment-presets label:has(input:checked) { border-color:#5cdde8; }
.simple-equipment-presets small { grid-column:1/-1; line-height:1.5; color:#bdcfdd; }
.simple-tool-nav { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.simple-tool-nav a { padding:10px 14px; border:1px solid #3c566b; border-radius:9px; background:#0c2437; color:#bed3e2; text-decoration:none; font-size:.9rem; }
.simple-tool-nav a[aria-current] { color:#5fe3ee; border-color:#5fe3ee; }
@media(max-width:640px) {
  body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero { gap:0!important; }
  body.fp-v45-deep-ocean.fp-route-index .hero-shell.simple-hero #landingHeroTitle { font-size:2rem!important; }
  .simple-tools-grid { grid-template-columns:1fr; }
  .simple-tool { display:grid; grid-template-columns:26px minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; padding:14px; gap:4px 10px; }
  .simple-tool-icon { grid-column:1; grid-row:1/3; align-self:start; padding-top:3px; }
  .simple-tool h3 { grid-column:2; grid-row:1; font-size:1.05rem; }
  .simple-tool p { grid-column:2; grid-row:2; font-size:.85rem; line-height:1.4; margin:0; }
  .simple-tool-action { grid-column:3; grid-row:1/3; padding:8px; font-size:.75rem; }
  .simple-hero .hero-content h1 { font-size:2rem!important; }
  .simple-hero .hero-lede { font-size:1rem; }
  .simple-tool .simple-preview-card { display:grid; grid-column:1/-1; grid-row:auto; align-items:center; min-height:0; margin-top:8px; }
  .simple-preview-image { width:46px; height:46px; }
  .simple-preview-row:last-child { display:block; }
  .simple-builder .wizard-fields-grid { grid-template-columns:1fr 1fr; }
  .simple-equipment-presets { grid-template-columns:1fr; }
  .simple-tool-nav a { flex:1 1 100px; text-align:center; }
  .simple-builder .visual-choice-content small { display:block; }
}
@media(prefers-reduced-motion:reduce) { .simple-preview-row { animation:none; }.simple-tool,.simple-preview-card { transition:none; }.simple-preview-card { display:grid!important; transform:none; } }
[data-theme="light"] .simple-tools>h2 { color:#112c42; }

/* The nutrition wizard uses paper surfaces like the rest of the product.
   Keep its compact options and goal cards readable after the legacy ocean CSS
   and the redesign stylesheet have both been applied. */
body.fp-route-nutrition-builder .simple-builder .simple-options {
  border: 1px solid #d9d6cf !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #121417 !important;
  box-shadow: none !important;
}
body.fp-route-nutrition-builder .simple-builder .simple-options > summary {
  color: #07559f !important;
}
body.fp-route-nutrition-builder .simple-builder .simple-options[open] {
  padding-bottom: 16px !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card,
body.fp-route-nutrition-builder .simple-builder .visual-choice-card:hover,
body.fp-route-nutrition-builder .simple-builder .visual-choice-card:focus-within {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 112px !important;
  padding: 14px !important;
  border: 1px solid #d9d6cf !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #121417 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card--wide,
body.fp-route-nutrition-builder .simple-builder .nutr-goal-grid .visual-choice-card--wide {
  grid-column: auto !important;
  min-height: 112px !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-image {
  position: relative !important;
  inset: auto !important;
  grid-column: 1 !important;
  width: 78px !important;
  height: 78px !important;
  min-height: 0 !important;
  border-radius: 9px !important;
  background-size: cover !important;
  filter: none !important;
  transform: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card--nutr-muscle .visual-choice-image {
  background-image: url('/images/nutrition-builder/goals/build-muscle.webp') !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card--nutr-fat .visual-choice-image {
  background-image: url('/images/nutrition-builder/goals/lose-fat.webp') !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card--nutr-maintain .visual-choice-image {
  background-image: url('/images/nutrition-builder/goals/maintain-weight.webp') !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-shade {
  display: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-content {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  color: #121417 !important;
  text-shadow: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-content strong {
  color: #121417 !important;
  text-shadow: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-content small {
  color: #626970 !important;
  text-shadow: none !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card:has(input:checked) {
  border-color: #0866bd !important;
  background: #eaf3fb !important;
  box-shadow: 0 0 0 2px #eaf3fb !important;
}
body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-check {
  top: 10px !important;
  right: 10px !important;
  width: 26px !important;
  height: 26px !important;
  color: #fff !important;
  background: #0866bd !important;
  box-shadow: none !important;
}
@media (max-width: 620px) {
  body.fp-route-nutrition-builder .simple-builder .visual-choice-card,
  body.fp-route-nutrition-builder .simple-builder .visual-choice-card--wide {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-height: 88px !important;
    padding: 10px !important;
    gap: 10px !important;
  }
  body.fp-route-nutrition-builder .simple-builder .visual-choice-card .visual-choice-image {
    width: 58px !important;
    height: 58px !important;
  }
}

/* The compact workout wizard is assembled by simple-ux.js after load. Keep its
   compact layout, but use the same paper surfaces as the dashboard/landing. */
body.fp-route-workout-builder .simple-builder .visual-choice-card,
body.fp-route-workout-builder .simple-builder .visual-choice-card:hover,
body.fp-route-workout-builder .simple-builder .visual-choice-card:focus-within {
  background: #fbfaf7 !important;
  border-color: var(--product-rule) !important;
}
body.fp-route-workout-builder .simple-builder .visual-choice-card:has(input:checked) {
  background: var(--product-blue-soft) !important;
  border-color: var(--product-blue) !important;
}
body.fp-route-workout-builder .simple-builder .visual-choice-content,
body.fp-route-workout-builder .simple-builder .visual-choice-content strong,
body.fp-route-workout-builder .simple-equipment-presets label {
  color: var(--product-ink) !important;
}
body.fp-route-workout-builder .simple-builder .visual-choice-content small,
body.fp-route-workout-builder .simple-equipment-presets small,
body.fp-route-workout-builder .simple-note {
  color: var(--product-muted) !important;
}
body.fp-route-workout-builder .simple-equipment-presets label,
body.fp-route-workout-builder .simple-options {
  background: #fbfaf7 !important;
  border-color: var(--product-rule) !important;
  color: var(--product-ink) !important;
}
body.fp-route-workout-builder .simple-options > summary { color: var(--product-blue) !important; }
body.fp-route-workout-builder .simple-tool-nav a {
  background: #fff !important;
  border-color: var(--product-rule) !important;
  color: var(--product-ink) !important;
}
body.fp-route-workout-builder .simple-tool-nav a[aria-current] {
  background: var(--product-blue-soft) !important;
  border-color: var(--product-blue) !important;
  color: var(--product-blue) !important;
}
body.fp-route-workout-builder .wizard-actions {
  background: var(--product-paper) !important;
  border-color: var(--product-rule) !important;
}
.fp-redesign.fp-route-workout-builder .builder-wizard .wizard-button--next,
.fp-redesign.fp-route-workout-builder .builder-wizard .wizard-button--generate {
  background: var(--product-blue) !important;
  border-color: var(--product-blue) !important;
  color: #fff !important;
}
body.fp-route-workout-builder .wizard-progress-track > span {
  background: var(--product-blue) !important;
}
