.fitfoodie .ff-starter{max-width:800px;margin-inline:auto;padding-block:clamp(48px,7vw,96px);text-align:center;width:100%}
.fitfoodie .ff-starter [hidden]{display:none!important}
.fitfoodie .ff-starter h1{font-size:clamp(42px,5vw,68px);line-height:1.08;letter-spacing:-.025em;margin:24px 0}
.fitfoodie .ff-starter p{font-size:17px;line-height:1.65;margin:0}
.ff-starter-flow{margin-top:48px}
.fitfoodie .ff-starter h2{font-size:clamp(30px,3vw,40px);margin:0 0 12px;line-height:1.2}
.ff-starter h2:focus{outline:none}
.ff-starter fieldset{border:0;padding:0;margin:0;min-width:0}
.ff-starter-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:650px;margin:auto}
.ff-starter-options label{position:relative;cursor:pointer}
.ff-starter-options input{position:absolute;opacity:0;width:1px;height:1px}
.ff-starter-options span{display:block;padding:14px 23px;border:1px solid transparent;border-radius:100px;background:#d0b6ff;color:var(--ff-ink);font-size:16px;transition:background .18s,color .18s,transform .18s}
.ff-starter-options input:checked+span{background:var(--ff-ink);color:white}
.ff-starter-options input:focus-visible+span{outline:2px solid var(--ff-ink);outline-offset:4px}
.ff-starter-options input:disabled+span{opacity:.3;cursor:default}
.ff-starter-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:32px}
.fitfoodie .ff-starter-back,.fitfoodie .ff-starter-another,.fitfoodie .ff-starter-reset{appearance:none;border:0;padding:10px 0;background:transparent;color:var(--ff-ink);font:500 15px/1.5 var(--ff-body);box-shadow:none;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.ff-starter-next:disabled{opacity:.4;cursor:default}
.fitfoodie .ff-starter-status{margin-top:20px;font-size:14px}
.ff-starter-status:empty{display:none}
.ff-starter-card{max-width:330px;margin:28px auto}
.fitfoodie .ff-starter-card .ff-card{opacity:1;transform:none;animation:none}
.ff-starter-result-actions{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:16px}
.ff-starter-open{display:inline-flex;text-decoration:none}
@media(max-width:600px){.ff-starter-progress{gap:12px;margin-bottom:32px}.ff-starter-progress li{font-size:11px;gap:5px}.ff-starter-progress span{width:23px;height:23px}.ff-starter-flow{margin-top:36px}.ff-starter-options{gap:10px}.ff-starter-options span{padding:12px 18px;font-size:15px}.ff-starter-card{max-width:290px}}
@media(prefers-reduced-motion:no-preference){.ff-starter-step:not([hidden]),.ff-starter-result:not([hidden]){animation:ff-starter-enter .3s ease both}@keyframes ff-starter-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(hover:hover){.ff-starter-options label:hover input:not(:disabled):not(:checked)+span{transform:translateY(-2px)}}}
.fitfoodie .ff-starter .ff-button{display:inline-flex;justify-content:center;align-items:center;border-radius:100px;background:var(--ff-ink);color:white;text-decoration:none;cursor:pointer}
.ff-starter legend.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.fitfoodie .ff-starter h1{font-size:clamp(32px,10vw,42px)}}

body.fitfoodie section.ff-starter{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:720px!important;margin-inline:auto!important;flex:none;align-self:center}
body.fitfoodie .ff-starter .ff-starter-intro h1{margin-top:0}
body.fitfoodie .ff-starter h2.ff-starter-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){body.fitfoodie section.ff-starter{width:100%!important;padding-inline:20px}}

/* Text controls remain quiet in every pointer/focus state. */
body.fitfoodie .ff-starter :is(.ff-starter-back,.ff-starter-another,.ff-starter-reset,.ff-starter-retry),body.fitfoodie .ff-starter :is(.ff-starter-back,.ff-starter-another,.ff-starter-reset,.ff-starter-retry):is(:hover,:focus,:active){background:transparent!important;color:var(--ff-ink)!important;border:0!important;padding:10px 0!important;box-shadow:none!important;min-height:0;line-height:1.5;text-decoration:underline;text-underline-offset:5px;transform:none}
body.fitfoodie .ff-starter-card{width:100%;max-width:430px}
body.fitfoodie .ff-starter-card .ff-card-category,body.fitfoodie .ff-starter-summary{display:none}

/* Elementor's full-width template must respect the shared site shell. */
body.fitfoodie.ff-starter-page .elementor .ff-shell{box-sizing:border-box;width:100%!important;max-width:1344px!important;margin-inline:auto!important}
body.fitfoodie.ff-starter-page .ff-header{padding-block:36px}
body.fitfoodie.ff-starter-page section.ff-starter{padding-block:64px 80px}
@media(max-width:767px){body.fitfoodie.ff-starter-page .ff-header{padding-block:16px}body.fitfoodie.ff-starter-page section.ff-starter{padding-block:36px 48px}}

.ff-starter-counter{display:block;margin-bottom:18px;font-size:14px;font-weight:500;color:var(--ff-ink)}
.fitfoodie .ff-starter-intro h1:focus{outline:none}

body.fitfoodie .ff-starter .ff-starter-intro>p{margin:0 0 16px}
body.fitfoodie .ff-starter .ff-starter-intro>h1{margin:0}

/* Results use the familiar recipe grid; a smaller selection remains centered. */
body.fitfoodie section.ff-starter.is-result{max-width:1280px!important}
body.fitfoodie .ff-starter-card.ff-grid{display:grid;grid-template-columns:repeat(var(--ff-result-count,3),minmax(0,1fr));width:100%;max-width:calc(var(--ff-result-count,3)*430px);gap:32px;margin:0 auto 32px}
@media(max-width:767px){body.fitfoodie .ff-starter-card.ff-grid{grid-template-columns:minmax(0,1fr);max-width:430px;gap:24px}}

body.fitfoodie .ff-starter-result-actions{flex-direction:column;align-items:center;gap:16px;margin-top:32px}
body.fitfoodie .ff-starter-more:disabled{opacity:.6;cursor:wait}

/* Keep the result title as focused as the steps, with room around the cards. */
body.fitfoodie .ff-starter .ff-starter-intro{max-width:720px;margin-inline:auto}
body.fitfoodie .ff-starter.is-result .ff-starter-flow{margin-top:64px}
body.fitfoodie .ff-starter-card.ff-grid{margin-bottom:0}
body.fitfoodie .ff-starter-result-actions{margin-top:0;padding-top:56px}
@media(max-width:767px){
 body.fitfoodie .ff-starter.is-result .ff-starter-flow{margin-top:48px}
 body.fitfoodie .ff-starter-result-actions{padding-top:48px}
}

/* The quiet reset link sits closer when it is the only action. */
body.fitfoodie .ff-starter-result-actions{gap:8px}
body.fitfoodie .ff-starter-result-actions:has(.ff-starter-more[hidden]){padding-top:24px}
