/* ══════════════════════════════════════════
   PRE-ORDER PAGE
   (extends css/contact.css, which this page also loads,
   for the shared contact-form and phone-input styles)
   ══════════════════════════════════════════ */

.page-hero .hero-shift{max-width:820px;margin-left:auto;margin-right:190px}
@media(max-width:640px){.page-hero .hero-shift{margin-right:0}}

#address{min-height:130px}
#message{min-height:260px}

/* — Order items table (New Pre-Order) — */
/* Widened beyond its form column into the space freed up by the removed
   location card (contact.css sets .contact-layout to grid-template-columns:
   1.3fr 1fr — the calc below mirrors that ratio to reach the second column's
   right edge without touching any other field's width). */
.order-items-wrap{margin-bottom:var(--space-4)}
@media(min-width:901px){
  .order-items-wrap{
    width:calc(100% + var(--space-16) + (100%/1.3));
    margin-right:calc(-1 * (var(--space-16) + (100%/1.3)));
  }
}
.order-items-table-scroll{
  overflow-x:auto;border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);
  margin-bottom:var(--space-3);transition:border-color var(--dur-fast);
}
.field.invalid .order-items-table-scroll{border-color:#b3261e}
.order-items-table{width:100%;border-collapse:collapse;min-width:480px}
.order-items-table th{
  text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--text-muted);background:var(--gray-50);padding:10px 12px;border-bottom:1.5px solid var(--border-soft);
}
.order-items-table th.col-num{width:64px;text-align:center}
.order-items-table th.col-price{width:120px}
.order-items-table th.col-qty{width:100px}
.order-items-table th.col-remove{width:40px}
.order-items-table td{padding:8px 10px;border-bottom:1px solid var(--border-soft);vertical-align:middle}
.order-items-table tbody tr:last-child td{border-bottom:none}
.order-items-table .item-num{
  text-align:center;font-weight:700;color:var(--navy-900);font-variant-numeric:tabular-nums;
}
.order-items-table input{
  width:100%;border:1.5px solid transparent;border-radius:var(--radius-sm);
  padding:8px 10px;background:var(--gray-50);color:var(--text-body);font-size:.88rem;
  transition:border-color var(--dur-fast),background var(--dur-fast);
}
.order-items-table input:focus{outline:none;border-color:var(--gold);background:var(--white)}
.order-items-table .item-price,
.order-items-table .item-qty{text-align:center}
.order-items-table .item-price,
.order-items-table .item-qty[readonly]{
  color:var(--text-muted);font-weight:700;cursor:not-allowed;
}
.order-items-table .item-price:focus,
.order-items-table .item-qty[readonly]:focus{border-color:transparent;background:var(--gray-50)}
.order-items-table .item-qty{-moz-appearance:textfield;appearance:textfield}
.order-items-table .item-qty::-webkit-outer-spin-button,
.order-items-table .item-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.order-total-row td{
  padding:10px 12px;font-weight:700;color:var(--navy-900);border-bottom:none;border-top:1.5px solid var(--border-soft);
}
.order-total-row td:first-child{text-align:right;color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}
.order-total-value{color:var(--gold-d);font-variant-numeric:tabular-nums}
.item-remove{
  display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto;
  border:none;border-radius:50%;background:transparent;color:var(--gray-400);
  font-size:1.1rem;line-height:1;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast);
}
.item-remove:hover:not(:disabled){background:#fbe9e7;color:#b3261e}
.item-remove:disabled{opacity:.3;cursor:not-allowed}
.btn-sm{padding:9px 18px;font-size:.78rem}
