/* Shared muted pastel palette. Loaded after page styles. */
:root{--canvas:#faf8f1;--ink:#303342;--primary:#4d59b5;--lavender:#d8ccef;--pistachio:#ddecb5;--coral:#d97879;--butter:#f2d99b;--line:#e4e0ea}
body{background:var(--canvas);color:var(--ink)}
a{color:var(--primary)}
.site-header{background:var(--canvas);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(48,51,66,.04)}
.site-header .brand,.site-header .brand:hover{color:var(--ink)}
.brand-logo{background:var(--primary)}
.site-header .user-nav{color:#686577}
.site-header .user-nav a,.site-header .user-nav a:hover{color:var(--primary)}
.header{background:var(--lavender)}
.header h1{color:var(--ink);text-shadow:none}
.header p,.back-link{color:#55516b}
.nav{background:var(--canvas);border-bottom-color:var(--line)}
.filter-btn,.section-btn{background:#fff;border-color:var(--line);color:var(--ink)}
.filter-btn.active,.section-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none}
.filter-btn:hover,.section-btn:hover{border-color:var(--primary);color:var(--primary)}
.filter-btn.active:hover,.section-btn.active:hover{color:#fff}
.create-recipe{background:var(--primary);border-color:var(--primary);color:#fff}
.create-recipe:hover{background:#3e4999;border-color:#3e4999;color:#fff}
.search-box{background:#fff;color:var(--ink);border-color:var(--line)}
.search-box:focus{border-color:var(--primary)}
.recipe{border:1px solid var(--line);box-shadow:0 3px 16px rgba(48,51,66,.04)}
.menu-toggle.selected{background:var(--pistachio);border-color:var(--pistachio);color:var(--ink)}
.menu-toggle:hover{border-color:var(--primary);color:var(--primary)}
.menu-bar{background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(48,51,66,.08)}
.menu-bar .label{color:var(--ink)}
.menu-bar .count{color:var(--primary)}
.menu-bar .btn-create{background:var(--primary);color:#fff}
.menu-bar .btn-create:hover{background:#3e4999}
.menu-bar .btn-clear,.menu-bar .btn-clear:hover{color:#686577}
.steps-list .step{background:#faf3df}
.steps-list .step::before{background:var(--primary);color:#fff}
.ingredients-list li{background:#f5f6ed;border-left-color:var(--pistachio)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.header .btn-back{background:#fff;color:var(--primary);border:1px solid var(--line)}
.day-num{background:var(--butter);color:var(--ink)}
.btn-remove{background:#f7e4e6;color:#8e3547}
.btn-remove:hover{background:#efd1d7;color:#8e3547}
.btn-replace:hover{background:var(--lavender);color:var(--ink)}
.recipe .recipe-note{margin:4px 0 6px;padding:6px 10px;background:#faf3df;border-left:3px solid var(--butter);border-radius:6px;font-size:.82em;color:#66521d;line-height:1.4;overflow-wrap:anywhere}
.vote-buttons{display:flex;align-items:center;gap:10px}
.detail-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--primary);font-family:inherit;line-height:1;font-size:28px;cursor:pointer}
.detail-menu-toggle.selected{background:var(--pistachio);border-color:var(--pistachio);color:var(--ink)}
.menu-bar{position:fixed;bottom:0;left:0;right:0;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:16px;z-index:200;transform:translateY(100%);transition:transform .3s}
.menu-bar.visible{transform:translateY(0)}
.menu-bar .count{font-size:1.4em;font-weight:700}
.menu-bar .btn-create{padding:10px 28px;border-radius:24px;border:0;cursor:pointer;font:inherit;font-weight:600}
.menu-bar .btn-create:disabled{opacity:.4;cursor:not-allowed}
.menu-bar .btn-clear{background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline}
body.has-menu-selection{padding-bottom:90px}
@media(max-width:480px){.menu-bar{gap:10px;padding:12px}.menu-bar .btn-create{padding:10px 16px}.menu-bar .label{font-size:.85em}}

.menu-toggle,.detail-menu-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#f3f2f5;color:var(--ink);font-size:0;cursor:pointer}
.menu-toggle::before,.detail-menu-toggle::before,.menu-toggle::after,.detail-menu-toggle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:1px;pointer-events:none}
.menu-toggle::before,.detail-menu-toggle::before{width:18px;height:2px}
.menu-toggle::after,.detail-menu-toggle::after{width:2px;height:18px}
.menu-toggle:hover,.detail-menu-toggle:hover{background:#eae8f0;color:var(--ink);transform:none}
.menu-toggle.selected,.detail-menu-toggle.selected{background:var(--pistachio);border:0;color:var(--ink)}
