/* Module foyer (lot 2) : présences, régimes, favoris, repas cuisinés, mode cuisine. Couleurs : variables de la charte. */

/* sous chaque créneau planifié */
.fy-slot{padding-left:60px;display:flex;flex-direction:column;gap:6px;margin-top:-2px}
.fy-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fy-ms{display:flex;gap:4px}
.fy-m{width:30px;height:30px;border-radius:50%;font-size:.75rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--pop-pop);background:var(--pop-pop);color:var(--pop-on-head);transition:background .12s,color .12s}
.fy-m.off{background:transparent;color:var(--muted);border-color:var(--line);text-decoration:line-through}
.fy-chip,.fy-g{min-height:30px;border-radius:var(--pop-radius-pill);padding:3px 10px;font-size:.78rem;font-weight:700;background:var(--surface-2);color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.fy-chip.on{background:var(--pop-pop);color:var(--pop-on-head)}
.fy-chip.cook{background:var(--pop-sun);color:var(--pop-on-sun)}
.fy-g{padding:0 4px}
.fy-g button{width:26px;height:26px;border-radius:50%;background:var(--surface);font-weight:800;box-shadow:var(--pop-shadow-1)}
.fy-n{font-size:.78rem;color:var(--muted);font-weight:700;margin-left:2px}
.fy-warn{font-size:.78rem;color:var(--pop-warning);background:var(--pop-sun-soft);border-radius:var(--pop-radius-sm);padding:4px 10px}
.fy-warn.fy-warnbox{font-size:.88rem;padding:8px 12px}
@media (max-width:360px){.fy-slot{padding-left:0}}

/* feuilles */
.fy-box{display:flex;flex-direction:column;gap:8px;background:var(--surface);border-radius:var(--pop-radius-md);padding:12px;box-shadow:var(--pop-shadow-1)}
.fy-box textarea{min-height:70px}
.fy-stars{display:inline-flex;gap:2px}
.fy-stars button{width:36px;height:36px;font-size:1.35rem;color:var(--line);line-height:1}
.fy-stars button.on{color:var(--pop-sun)}
.btn.fy-on{background:var(--pop-pop);color:var(--pop-on-head)}
.fy-rectop{justify-content:flex-end}

/* mode cuisine */
body.fy-noscroll{overflow:hidden}
.fy-cook{position:fixed;inset:0;z-index:40;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px))}
.fy-cook header{display:flex;align-items:center;gap:10px;max-width:760px;width:100%;margin:0 auto}
.fy-ttl{flex:1;min-width:0;display:flex;flex-direction:column}
.fy-ttl b{font-family:var(--font-display);font-weight:800;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fy-ttl span{font-size:.8rem;color:var(--muted)}
.fy-prog{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:10px auto 0;max-width:760px;width:100%}
.fy-prog i{display:block;height:100%;background:var(--accent);transition:width .25s ease}
.fy-body{flex:1;overflow:auto;max-width:760px;width:100%;margin:0 auto;padding:18px 2px;display:flex;flex-direction:column;gap:16px}
.fy-body h3{font-size:1.2rem}
.fy-big{font-size:clamp(1.35rem,4.6vw,2rem);line-height:1.4;font-weight:700;margin:0}
.fy-big mark{background:var(--pop-sun-soft);color:inherit;border-radius:6px;padding:0 4px}
.fy-tbtn{font-size:1.05rem;min-height:52px;padding:10px 18px;background:var(--pop-sun);color:var(--pop-on-sun)}
.fy-ing{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fy-ing li{display:flex;justify-content:space-between;gap:12px;background:var(--surface);border-radius:var(--pop-radius-sm);padding:10px 12px;font-size:1.1rem;box-shadow:var(--pop-shadow-1)}
.fy-ing b{white-space:nowrap;font-variant-numeric:tabular-nums}
.fy-tms{display:flex;flex-wrap:wrap;gap:8px;max-width:760px;width:100%;margin:0 auto 10px}
.fy-tm{display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:var(--pop-radius-pill);padding:4px 4px 4px 14px;box-shadow:var(--pop-shadow-2);font-size:.9rem}
.fy-tm b{font-size:1.25rem;font-variant-numeric:tabular-nums}
.fy-tm button{width:34px;height:34px;border-radius:50%;background:var(--surface-2)}
.fy-tm.done{background:var(--accent);color:var(--accent-ink);animation:fy-blink 1s ease-in-out infinite}
@keyframes fy-blink{50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){.fy-tm.done{animation:none}}
.fy-cook footer{display:flex;gap:10px;max-width:760px;width:100%;margin:0 auto}
.fy-cook footer .btn{flex:1;justify-content:center;min-height:56px;font-size:1.05rem}
.fy-cook footer .btn[disabled]{opacity:.45}
