.restriction-picker{position:relative;min-width:150px;color:#365644}
.restriction-picker>summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;border:1px solid #d8cbbb;border-radius:12px;padding:10px;background:#fffaf2;min-height:65px}
.restriction-picker>summary img{width:42px;height:42px}.restriction-picker>summary span{display:flex;flex-direction:column}.restriction-picker small{font-size:.75rem}.restriction-picker strong{font-size:.95rem}
.restriction-options{position:absolute;z-index:20;top:100%;left:0;width:245px;max-height:400px;overflow:auto;background:#fffaf2;padding:14px;border:1px solid #d8cbbb;border-radius:12px;box-shadow:0 5px 18px #39200d26}
.restriction-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:6px!important;font-size:.9rem}.restriction-options input{width:18px!important;height:18px!important}.restriction-options button{margin-top:10px;padding:8px 14px}
.menu-restriction-summary{font-size:.9rem;line-height:1.5;color:#47604e;margin:10px 0 22px}.meal-restriction-note{display:block;color:#715437;font-size:.75rem;line-height:1.4;margin-top:6px}.shopping-allergen-icon{width:25px;height:25px;vertical-align:middle;margin-left:5px}.shopping-adaptation-note{grid-column:1/-1;padding:12px;background:#fff5e3;border-radius:10px}

/* Shared badges and expanded restriction picker. */
.restriction-picker>summary,.monthly-menu .menu-toolbar .restriction-picker>summary{box-sizing:border-box;min-height:58px;height:58px;border:1px solid #e1d4c7;border-radius:999px;background:#fffaf5;padding:7px 10px;gap:9px}
.restriction-picker>summary img{width:38px;height:38px;object-fit:contain}.restriction-picker>summary small{font-size:.72rem;color:#735f52;font-weight:400}.restriction-picker>summary strong{font-size:.85rem;font-weight:650;color:#38261d}
.restriction-options{box-sizing:border-box;width:600px;max-width:calc(100vw - 40px);max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:16px;background:#fffaf5}
.restriction-options label,.monthly-menu .menu-toolbar .restriction-options label{display:flex!important;align-items:center;gap:7px;padding:5px!important;margin:0;min-height:42px;border:0;background:none;font-size:.85rem;font-weight:500;color:#38261d}
.restriction-options label img,.monthly-menu .menu-toolbar .restriction-options label img{width:30px!important;height:30px!important;flex:0 0 30px!important;object-fit:contain}
.restriction-options label span{white-space:normal!important;line-height:1.2}
.restriction-options>button,.monthly-menu .menu-toolbar .restriction-options>button,.shopping-controls .restriction-options>button{grid-column:1/-1;display:flex!important;align-items:center!important;justify-content:center!important;width:100%;min-width:0!important;min-height:46px!important;text-align:center!important;margin:10px 0 0!important;padding:12px!important;background:#345d4c!important;border:1px solid #345d4c!important;border-radius:999px!important;color:white!important;font-size:1rem!important;font-weight:700!important;cursor:pointer}
.menu-proposal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:12px 0 24px}.menu-proposal-row .menu-restriction-summary{flex:1;margin:0;max-width:none}
.menu-shopping-badge{flex:0 0 220px;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:7px 12px;min-height:58px;border:1px solid #e1d4c7;border-radius:999px;background:#fffaf5;color:#38261d;text-decoration:none;font-size:.85rem}.menu-shopping-badge img{width:38px;height:38px;object-fit:contain}
.shopping-page .shopping-controls{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start;gap:12px}
.shopping-page .shopping-controls>label,.shopping-page .shopping-controls>.restriction-picker,.shopping-page .shopping-controls>[data-restriction-control]{min-width:0;width:100%;margin:0}
.shopping-page .shopping-controls>label,.shopping-page .shopping-controls .restriction-picker>summary{box-sizing:border-box;display:flex!important;align-items:center;gap:9px;width:100%;height:66px!important;min-height:66px!important;padding:9px 12px!important;border:1px solid #e1d4c7;border-radius:var(--shopping-control-radius)!important;background:#fffaf5}
.shopping-page .shopping-controls .shopping-control-icon,.shopping-page .shopping-controls .restriction-picker>summary img{width:38px;height:38px;flex:0 0 38px;object-fit:contain}
.shopping-page .shopping-control-copy{flex:1;min-width:0}.shopping-page .shopping-control-copy>span,.shopping-page .restriction-picker>summary small{font-size:.72rem!important;font-weight:400;color:#735f52}
.shopping-page .shopping-controls select,.shopping-page .shopping-controls #shopping-servings{box-sizing:border-box;width:100%!important;min-width:0;padding:0!important;margin:3px 0 0!important;height:auto!important;border:0!important;background:transparent!important;font-size:.85rem!important;font-weight:650!important;color:#38261d}
.shopping-page .shopping-controls>[data-restriction-control]{order:0}.shopping-page .shopping-actions{grid-column:1/-1;width:100%}
#shopping-adaptation-note{margin:0 0 14px;font-size:.9rem;line-height:1.5;color:#47604e}
@media(max-width:700px){.restriction-options{width:420px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.menu-proposal-row{flex-direction:column;gap:12px}.menu-shopping-badge{flex-basis:auto;min-width:220px}.shopping-page .shopping-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1024px){.monthly-menu .menu-toolbar .restriction-picker>summary img{width:32px;height:32px;flex-basis:32px}}
/* Keep purchase form styles out of the shared restriction options. */
.shopping-page .shopping-controls .restriction-options label{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:7px;padding:5px!important;margin:0!important;min-height:42px;width:auto!important;font-size:.85rem!important;font-weight:500!important;color:#38261d}
.shopping-page .shopping-controls .restriction-options input[type=checkbox]{box-sizing:border-box!important;display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;appearance:auto!important;accent-color:#345d4c}
.shopping-page .shopping-controls .restriction-options label img{width:30px!important;height:30px!important;flex:0 0 30px!important;object-fit:contain}
.shopping-page .shopping-controls .restriction-options label span{flex:1;min-width:0;white-space:normal!important;line-height:1.2}
.shopping-page .restriction-options{left:auto;right:0}
@media(max-width:700px){.shopping-page .restriction-options{left:0;right:auto;width:min(420px,calc(100vw - 64px))}}
/* Monthly tools follow the recipe badge layout. */
.monthly-menu .menu-toolbar{display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:8px}
.monthly-menu .menu-toolbar .menu-control,.monthly-menu .menu-toolbar button,.monthly-menu .menu-toolbar .menu-shopping-badge,.monthly-menu .menu-toolbar .restriction-picker>summary{box-sizing:border-box;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%;min-width:0!important;min-height:112px!important;height:100%;margin:0!important;padding:12px 8px!important;border:1px solid #e1d4c7!important;border-radius:16px!important;background:#fffaf5!important;text-align:center!important;font-size:.85rem}
.monthly-menu .menu-toolbar .restriction-picker{height:100%;min-width:0}
.monthly-menu .menu-toolbar img{width:38px!important;height:38px!important;flex:0 0 38px!important}
.monthly-menu .menu-toolbar label[for="menu-cost-servings"]>span{flex:0 0 auto;width:100%}
.monthly-menu .menu-toolbar .menu-shopping-badge{flex-basis:auto;text-decoration:none;color:#38261d}
.monthly-menu .menu-toolbar .menu-shopping-badge strong{white-space:normal}
.monthly-menu .menu-toolbar .restriction-options label{flex-direction:row!important;text-align:left!important}
.monthly-menu .menu-toolbar .restriction-options label img{width:30px!important;height:30px!important;flex-basis:30px!important}
.monthly-menu .menu-toolbar .restriction-options>button{flex-direction:row!important;min-height:46px!important;border-radius:999px!important;background:#345d4c!important;color:white!important}
@media(max-width:1120px){
.monthly-menu .menu-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.monthly-menu .menu-toolbar .menu-control,.monthly-menu .menu-toolbar button,.monthly-menu .menu-toolbar .menu-shopping-badge,.monthly-menu .menu-toolbar .restriction-picker>summary{flex-direction:row!important;justify-content:flex-start!important;min-height:68px!important;text-align:left!important;gap:8px!important}
.monthly-menu .menu-toolbar label[for="menu-cost-servings"]>span{flex:1;width:auto}
.monthly-menu .menu-toolbar img{width:28px!important;height:28px!important;flex-basis:28px!important}
}
@media(max-width:700px){.monthly-menu .menu-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.monthly-menu .menu-toolbar .menu-control,.monthly-menu .menu-toolbar button,.monthly-menu .menu-toolbar .menu-shopping-badge,.monthly-menu .menu-toolbar .restriction-picker>summary{align-items:flex-start!important;text-align:left!important}
@media(max-width:1120px){.monthly-menu .menu-toolbar .menu-control,.monthly-menu .menu-toolbar button,.monthly-menu .menu-toolbar .menu-shopping-badge,.monthly-menu .menu-toolbar .restriction-picker>summary{align-items:center!important}}
.monthly-menu .menu-toolbar .restriction-options>button{align-items:center!important;justify-content:center!important;text-align:center!important}
.restriction-picker>summary{position:relative;padding-right:22px!important}
.restriction-picker>summary:after{content:'';position:absolute;right:12px;bottom:22px;width:6px;height:6px;border-right:1.5px solid #735f52;border-bottom:1.5px solid #735f52;transform:rotate(45deg)}
.meal-restriction-icons{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:7px;text-decoration:none}
.meal-restriction-icons img{width:27px;height:27px;object-fit:contain}
.monthly-menu .meal-restriction-icons{margin-top:auto;min-height:27px;padding-top:8px}
.monthly-menu .meal-estimated-cost{margin-top:0;padding-top:7px}
.meal-restriction-icons img,.restriction-options label img,.shopping-allergen-icon{border-radius:50%;overflow:hidden}
.shopping-page .buy-category label{align-items:center}
.shopping-page .buy-category label>input{flex:0 0 auto}
.shopping-page .buy-category label>span:not(.shopping-allergen-icons){flex:1;min-width:0}
.shopping-page .shopping-allergen-icons{display:flex;flex:0 0 auto;justify-content:flex-end;gap:4px;margin-left:auto}
.shopping-page .shopping-allergen-icons img{margin-left:0;width:25px;height:25px;border-radius:50%}
.shopping-page .shopping-control-copy>span{display:block;margin:0;padding:0;line-height:1.3;text-align:left}
.shopping-page .shopping-controls #month,.shopping-page .shopping-controls #period{padding-left:0!important;text-indent:-3px;text-align:left!important}
.shopping-page .shopping-controls #shopping-servings{text-align:left!important;text-indent:0}
.shopping-page .shopping-allergen-icons{flex-wrap:wrap;max-width:45%}
.shopping-page .shopping-controls #month,.shopping-page .shopping-controls #period{text-indent:0!important}
.shopping-page .shopping-control-copy>span{padding-left:3px}
.shopping-page .shopping-controls #shopping-servings{padding-left:3px!important}
@media(max-width:480px){.shopping-page .shopping-controls{grid-template-columns:minmax(0,1fr)!important}.shopping-page .shopping-controls .restriction-options{width:calc(100vw - 88px);max-width:calc(100vw - 88px);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.shopping-page .shopping-controls .restriction-options label{font-size:.78rem!important;gap:4px}.shopping-page .shopping-controls .restriction-options label img{width:25px!important;height:25px!important;flex-basis:25px!important}}
.calendar-day[id]{scroll-margin-top:24px}.calendar-day:target{outline:2px solid #345d4c;outline-offset:-2px}
/* Current day: subtle warm highlight instead of an outline. */
.monthly-menu .calendar-day:target{outline:none;background:#fff8ed;box-shadow:inset 0 3px 0 #b98b5f}
.monthly-menu .calendar-day:target>header{position:relative;padding-right:42px}
.monthly-menu .calendar-day.is-today:target>header:after{content:'Hoy';position:absolute;right:0;top:5px;padding:4px 8px;border-radius:999px;background:#eee1cf;color:#78563b;font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:none}
/* One rectangular shape for purchase selectors and export actions. */
.shopping-page .shopping-controls{--shopping-control-radius:9px}
.shopping-page .shopping-controls .shopping-action,
.shopping-page .shopping-controls .restriction-options>button{border-radius:var(--shopping-control-radius)!important}
.shopping-page .shopping-controls .shopping-action{box-sizing:border-box!important;width:100%!important;height:66px!important;min-height:66px!important;max-height:66px!important;margin:0!important;padding:9px 12px!important}
.shopping-page .shopping-controls .shopping-actions{grid-template-columns:subgrid!important;column-gap:inherit!important}
.restriction-options .restriction-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px;margin-top:10px;width:100%}
.restriction-options .restriction-actions>button,.monthly-menu .menu-toolbar .restriction-options .restriction-actions>button,.shopping-page .shopping-controls .restriction-options .restriction-actions>button{width:100%!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;border-radius:9px!important;font-size:1rem!important;text-align:center!important;line-height:1.2!important;background:#345d4c!important;color:white!important;border:1px solid #345d4c!important}
.restriction-options .restriction-actions>button.restriction-clear{background:#fffaf5!important;color:#345d4c!important;border-color:#ccb5a4!important}
