.fitfoodie .ff-preferences{max-width:880px;margin:44px auto var(--ff-section-space,96px);padding:0;text-align:center;color:var(--ff-ink,#1e1660)}
.fitfoodie .ff-preferences h2{font-size:clamp(36px,3.75vw,60px);line-height:1.15;letter-spacing:-.025em;margin:0 0 24px}
.fitfoodie .ff-preferences>p{font-size:17px;line-height:1.75;max-width:600px;margin:0 auto 32px}
.fitfoodie .ff-preferences fieldset{border:0;padding:0;margin:0;min-width:0}
.fitfoodie .ff-preference-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.fitfoodie .ff-preference-tags label{position:relative;cursor:pointer;margin:0}
.fitfoodie .ff-preference-tags input{position:absolute;opacity:0;width:1px;height:1px}
.fitfoodie .ff-preference-tags span{display:block;border-radius:100px;background:#d0b6ff;color:#1e1660;padding:12px 20px;font-size:16px;line-height:1.5;transition:background .18s,color .18s}
.fitfoodie .ff-preference-tags input:checked+span{background:#1e1660;color:#fff}
.fitfoodie .ff-preference-tags input:focus-visible+span{outline:2px solid #1e1660;outline-offset:4px}
.fitfoodie .ff-preference-tags input:disabled+span{cursor:default}
.fitfoodie .ff-preferences .ff-preference-note{font-size:13px;line-height:1.6;max-width:570px;margin:24px auto 28px}
.fitfoodie .ff-preferences .ff-button{border-radius:100px;gap:10px;font-size:16px;font-weight:600;padding:14px 26px}
.fitfoodie .ff-preferences .ff-button:disabled{opacity:.5;cursor:default}
.fitfoodie .ff-preferences .ff-button svg{flex-shrink:0}
.fitfoodie .ff-preferences .ff-preference-message{margin:28px auto 0}
.fitfoodie .ff-preferences [hidden]{display:none!important}
@media(max-width:600px){.fitfoodie .ff-preferences{margin:12px auto var(--ff-section-space,64px);padding:0}.fitfoodie .ff-preference-tags{gap:10px}.fitfoodie .ff-preference-tags span{font-size:15px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.fitfoodie .ff-preference-tags span{transition:none}}

.fitfoodie .ff-preferences 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}

.fitfoodie .ff-preference-intro{max-width:620px;margin:0 auto 32px;font-size:17px;line-height:1.75}
.fitfoodie .ff-preference-intro p{display:inline;margin:0;font:inherit;color:inherit}
.fitfoodie .ff-preferences form>.ff-button{margin-top:28px}
.fitfoodie .ff-preference-info,.fitfoodie .ff-preference-info:hover,.fitfoodie .ff-preference-info:focus{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ff-ink,#1e1660);padding:4px;vertical-align:middle;margin-left:4px;box-shadow:none;font:inherit;font-size:13px;cursor:pointer}
.fitfoodie .ff-preference-info:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:8px}
.fitfoodie .ff-preferences .ff-preference-sent:disabled{opacity:.75}
.fitfoodie .ff-preference-dialog{box-sizing:border-box;width:calc(100% - 40px);max-width:480px;max-height:85dvh;overflow:auto;margin:auto;padding:36px 28px;border:0;border-radius:24px;background:var(--ff-canvas,#eee4ff);color:#1e1660;text-align:center;box-shadow:0 20px 70px #1e166033}
.fitfoodie .ff-preference-dialog::backdrop{background:rgba(30,22,96,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fitfoodie .ff-preference-dialog h3{font-size:30px;line-height:1.2;margin:0 0 20px}
.fitfoodie .ff-preference-dialog p{font-size:16px;line-height:1.75;margin:0 0 28px}

.fitfoodie .ff-preferences form:has(fieldset[hidden])>.ff-button{margin-top:0}

/* Keep the dialog action in the FitFoodie palette across theme button states. */
body.fitfoodie .ff-preference-dialog button.ff-button,
body.fitfoodie .ff-preference-dialog button.ff-button:is(:hover,:focus,:active){
 background:#1e1660;border:1px solid #1e1660;color:#fff;
 border-radius:100px;box-shadow:10px 10px 30px rgba(30,22,96,.15);
 text-decoration:none;
}
body.fitfoodie .ff-preference-dialog button.ff-button:focus-visible{outline:2px solid #1e1660;outline-offset:4px}



/* Initial modal focus belongs to the heading, not the confirmation button. */
.fitfoodie .ff-preference-dialog #ff-preference-info-title:focus{outline:none}
body.fitfoodie .ff-preference-dialog button.ff-button:focus:not(:focus-visible){outline:none}
