:root {
  --blue: #1645b8;
  --navy: #10234b;
  --line: #e1e7f0;
  --paper: #f4f7fb;
  --muted: #637086;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--navy);
  font: 16px Arial, sans-serif;
}

.wrap { max-width: 900px; margin: 40px auto; padding: 20px; }
.home-button { display: inline-block; background: var(--blue); color: #fff; border-radius: 8px; padding: 12px 16px; font-weight: bold; text-decoration: none; }
h1 { margin: 20px 0; font-size: 36px; }
h2 { margin-top: 0; font-size: 21px; }
h3 { margin: 0 0 8px; font-size: 17px; }

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
  margin: 16px 0;
}

.control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.control-grid .card { margin: 0; }
.subsection { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 18px; }
.offer-panel { border: 4px solid var(--blue); padding: 0; overflow: hidden; }
.offer-panel h2 { margin: 0; padding: 12px 16px; background: var(--blue); color: #fff; text-align: center; font-size: 15px; font-weight: 750; }
.panel-body { padding: 20px; }

label { display: block; font-weight: 650; margin-top: 10px; }
input, textarea {
  display: block;
  width: 100%;
  padding: 11px;
  border: 1px solid #cdd7e6;
  border-radius: 7px;
  margin-top: 7px;
  font: inherit;
}
textarea { resize: vertical; }

button {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 12px 16px;
  margin-top: 14px;
  font: inherit;
  font-weight: bold;
  cursor: pointer;
}

.action-button {
  display: inline-block;
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 12px 16px;
  font: inherit;
  font-weight: bold;
  text-decoration: none;
}

.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.button-row button { margin-top: 0; }
.save-status { display: none; border-radius: 8px; padding: 12px 16px; font-weight: bold; }
.save-status:not(:empty) { display: inline-block; }
.save-status.success { background: #16803b; color: #fff; }
.save-status.error { background: #b42318; color: #fff; }

.remove-button { background: #b42318; padding: 8px 12px; margin: 0 0 0 10px; }
.status { color: var(--muted); min-height: 1.2em; }
.fixed-item { padding: 12px 0; border-bottom: 1px solid var(--line); }
.fixed-item:last-child { border: 0; }
.file-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.promo-column { display: grid; gap: 20px; }
.da-ordinare-box { min-height: 90px; margin-top: 12px; padding: 14px; border: 2px solid var(--line); border-radius: 8px; background: #fff; }
.da-ordinare-box:empty::before { content: 'Riquadro pronto per i prodotti da ordinare'; color: var(--muted); }
.da-ordinare-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 54px; }
.da-ordinare-actions button { margin-top: 0; min-height: 44px; }
#da-ordinare-button { background: #e67e22; cursor: pointer; position: relative; z-index: 1; }
#da-ordinare-save, #da-ordinare-print { background: var(--blue); }
.da-ordinare-item { padding: 10px 0; border-bottom: 1px solid var(--line); }
.da-ordinare-item:last-child { border-bottom: 0; }
.promo3-line { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.promo3-line label { margin:0; }
.promo3-mode-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.store-status-control { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 18px; }
.store-status-control span { display: block; font-weight: 650; }
.status-toggle.active { background: #16803b; }
.status-toggle.inactive { background: #b42318; }
.hours-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; margin-top: 16px; align-items: end; }
.hours-grid label { margin: 0; }
.hours-grid input { margin-top: 5px; }
.hours-head { color: var(--muted); font-size: 13px; font-weight: 650; }

@media (max-width: 700px) {
  .control-grid, .file-grid, .hours-grid { grid-template-columns: 1fr; }
  .hours-head { display: none; }
}
