/* Weekly-plan drag and drop */
.meal-slot[draggable="true"],.recipe-card[draggable="true"]{cursor:grab}
.meal-slot[draggable="true"]:active,.recipe-card[draggable="true"]:active{cursor:grabbing}
.is-dragging{opacity:.48}
.meal-slot{transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.meal-slot.drop-target{background:#fff8ec;border:2px solid var(--terracotta);box-shadow:0 0 0 4px #c9694620;transform:translateY(-2px)}
.drag-handle{color:var(--muted);cursor:grab;line-height:1;touch-action:none;user-select:none}
.meal-drag-handle{position:absolute;right:7px;top:5px;font:18px/1 sans-serif;opacity:.65}
.planned-meal{position:relative}
.recipe-drag-handle{position:absolute;z-index:2;right:10px;top:10px;width:30px;height:30px;border:1px solid #17352f24;border-radius:50%;background:#fffdf7cc;font-size:17px}
.recipe-drag-handle:hover,.recipe-drag-handle:focus-visible{background:var(--cream);color:var(--terracotta)}
.drag-ghost{position:fixed;z-index:9999;left:0;top:0;max-width:190px;padding:9px 13px;border-radius:9px;background:var(--ink);color:white;box-shadow:var(--shadow);font-size:12px;pointer-events:none}
.touch-dragging{user-select:none}
.bump-day{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--terracotta);font-size:15px;line-height:1;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.bump-day:hover:not(:disabled),.bump-day:focus-visible:not(:disabled){background:var(--terracotta);color:white;transform:translateX(1px)}
.bump-day:disabled{opacity:.3;cursor:default}
.remove-meal{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--muted);font-size:19px;line-height:1;cursor:pointer}
.remove-meal:hover,.remove-meal:focus-visible{background:var(--terracotta);border-color:var(--terracotta);color:white}
.day-top{display:grid;grid-template-columns:1fr auto auto auto;gap:4px}
.day-date{justify-self:end;margin-left:4px}
.week-grid.previewing .meal-notion-link{opacity:0}
.meal-slot.preview-source .planned-meal{opacity:0}
.week-grid.previewing .meal-slot:not(.preview-source) .planned-meal{animation:meal-bump-in .18s ease-out}
@keyframes meal-bump-in{from{opacity:.45;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}

/* Split-page navigation and compact mobile week */
.brand-group{display:flex;align-items:center;gap:24px;min-width:0}
.page-nav{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:99px;background:#ffffff55}
.page-nav a{padding:6px 10px;border-radius:99px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none}
.page-nav a[aria-current="page"]{background:var(--ink);color:white}
.simple-topbar{grid-template-columns:1fr auto}
.simple-topbar .page-cta{grid-column:2}
.page-cta{display:inline-flex;align-items:center;text-decoration:none}
.footer-link{color:var(--ink);text-decoration:none;font-weight:600}
@media(max-width:950px){
  .topbar>.brand-group{grid-column:1;grid-row:1}
  .simple-topbar{min-height:82px;grid-template-columns:1fr auto;grid-template-rows:1fr}
  .simple-topbar .page-cta{grid-column:2;grid-row:1}
}
@media(max-width:600px){
  .planner-section,.recipes-section{padding:30px 0}
  .week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:0}
  .day-card{min-width:0;min-height:168px;padding:12px}
  .day-card:last-child:nth-child(odd){grid-column:1/-1}
  .planned-meal strong{font-size:16px}
  .brand-group{gap:10px}
  .page-nav a{padding:6px 8px}
  .simple-topbar{min-height:76px;padding:8px 0}
  .simple-topbar .page-cta{font-size:12px;padding:10px 13px}
  footer{gap:12px;flex-wrap:wrap}
}
@media(max-width:380px){
  .brand>span:last-child{display:none}
}

/* Move an assigned meal to another date */
.move-meal-row{display:grid;grid-template-columns:auto 1fr 38px;align-items:center;gap:10px;margin:-8px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f7f3ea}
.move-meal-row[hidden]{display:none}
.move-meal-row label{font-size:11px;font-weight:600;color:var(--muted)}
.move-meal-row input{min-width:0;border:0;background:transparent;color:var(--ink);font:600 13px "DM Sans",sans-serif;outline:none}
.move-meal-row button{display:grid;place-items:center;width:38px;height:34px;padding:0;border:0;border-radius:9px;background:var(--ink);color:white;cursor:pointer;font-size:17px}
.move-meal-row button:hover,.move-meal-row button:focus-visible{background:var(--terracotta)}

.planned-meal{width:100%}
.meal-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-right:29px;min-width:0}
.meal-card-top small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meal-freezer-badge{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;border-radius:99px;background:#e4f0ee;color:#286b70;padding:2px 5px;font:600 11px/1 "DM Sans",sans-serif}
.meal-freezer-badge .freezer-symbol{font-size:15px}

/* Leftovers on planned meals */
.meal-fridge-badge{display:inline-flex;align-items:center;flex-shrink:0;border-radius:99px;background:#e8eee4;color:#426b48;padding:3px 5px;font:600 10px/1 "DM Sans",sans-serif}
.leftover-actions{display:grid;gap:8px;margin:-8px 0 16px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f7f3ea}
.leftover-actions[hidden]{display:none}
.leftover-actions>span{font-size:11px;color:var(--muted)}
.leftover-actions>div{display:flex;gap:8px;flex-wrap:wrap}
.leftover-actions button{border:1px solid var(--line);border-radius:8px;background:white;padding:7px 10px;cursor:pointer;font-size:12px}
.leftover-actions button:hover,.leftover-actions button:focus-visible{border-color:var(--terracotta);color:var(--terracotta)}
.leftover-actions button:disabled{opacity:.55;cursor:wait}
