/* OrderHarbour v1.8 - owner-only visual menu studio */
.ohp-v18-editor { max-width: none; }
.ohp-v18-eyebrow { color: #0b8f81; font-weight: 750; font-size: .73rem; letter-spacing: .09em; }
.ohp-v18-presets { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.25rem 0 .6rem; }
.ohp-v18-editor .ohp-v18-preset { width:auto; padding:.67rem .9rem; background:#f0f7f6; color:#173b48; border:1px solid #cce0dd; border-radius:9px; font-size:.87rem; font-weight:650; }
.ohp-v18-editor .ohp-v18-preset:hover { border-color:#098f82; background:#e0f3ef; }
.ohp-v18-warning { font-size:.86rem; color:#5b6f74; }
.ohp-v18-group { min-width:0; margin:1.15rem 0; padding:1.2rem; border:1px solid #d8e5e6; border-radius:13px; background:#fbfdfd; }
.ohp-v18-group legend { font-weight:750; padding:0 .5rem; color:#173446; }
.ohp-v18-group-num { display:inline-grid; place-items:center; background:#e0f4f0; color:#08796f; width:25px; height:25px; margin-right:.4rem; border-radius:50%; }
.ohp-v18-option-head { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) 72px; gap:.7rem; margin:.8rem 0 .2rem; color:#526e76; font-size:.78rem; font-weight:650; }
.ohp-v18-option-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) 72px; gap:.7rem; align-items:center; margin:.5rem 0; }
.ohp-v18-editor .ohp-v18-option-row input { box-sizing:border-box; width:100%; max-width:100%; min-width:0; }
.ohp-v18-editor .ohp-v18-option-row button { padding:.68rem .3rem; color:#a43932; font-size:.79rem; border:1px solid #f2d1ce; border-radius:8px; background:#fff5f3; }
.ohp-v18-group-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.8rem; }
.ohp-v18-editor .ohp-v18-group-actions button { width:auto; padding:.64rem .8rem; color:#12665d; background:#e8f6f2; border:1px solid #cce2dc; border-radius:8px; font-size:.83rem; }
.ohp-v18-editor .ohp-v18-group-actions .ohp-v18-clear-group { color:#7a5b57; background:#fff; border-color:#ddd; }
.ohp-v18-suggestions { margin-top:1rem; display:flex; flex-wrap:wrap; gap:.5rem; padding:.9rem; background:#eff7f6; border-radius:10px; }
.ohp-v18-suggestions select { min-width:160px; max-width:100%; flex:1; }
.ohp-v18-editor .ohp-v18-suggestions button { width:auto; padding:.6rem .8rem; border-radius:8px; }
.ohp-v18-error:not([hidden]) { background:#fff1f0; border:1px solid #f2bbb6; border-radius:9px; padding:.8rem; color:#8e2c26; }
.ohp-v18-save { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin-top:1.25rem; }
.ohp-v18-save span { font-size:.85rem; color:#657780; }
.ohp-v18-save button { width:auto; }
.ohp-v18-quick { padding:1rem; margin:1rem 0; background:#f3f8f7; border:1px solid #d8e9e4; border-radius:13px; }
.ohp-v18-quick h4 { font-size:1.02rem; margin:0 0 .3rem; }
.ohp-v18-quick p { margin:.2rem 0 .8rem; color:#61757b; font-size:.85rem; }
.ohp-v18-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.ohp-v18-quick-card { display:flex; flex-direction:column; padding:1rem; border:1px solid #d5e5e2; border-radius:10px; background:#fff; text-decoration:none !important; gap:.25rem; }
.ohp-v18-quick-card strong { color:#102b3f; font-size:.92rem; }
.ohp-v18-quick-card span { color:#587179; font-size:.8rem; line-height:1.5; }
.ohp-v18-quick-card:hover { border-color:#0c9889; box-shadow:0 4px 16px rgba(5,70,70,.09); }
.ohp-v18-copy { padding:.5rem .7rem !important; font-size:.79rem !important; width:auto !important; border-radius:7px !important; background:#edf4f3 !important; color:#125c56 !important; }
.ohp-v18-onboarding-tips { display:flex; flex-wrap:wrap; gap:.65rem; margin:1rem 0; }
.ohp-v18-onboarding-tips > span { padding:.4rem .65rem; border:1px solid #dbe9e6; border-radius:22px; font-size:.81rem; color:#23585b; background:#f8fbfa; }
@media (max-width: 900px) { .ohp-v18-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 530px) {
  .ohp-v18-quick-grid { grid-template-columns:1fr 1fr; }
  .ohp-v18-quick-card { padding:.7rem; }
  .ohp-v18-group { padding:.8rem; }
  .ohp-v18-option-head { display:none; }
  .ohp-v18-option-row { grid-template-columns:minmax(0,1fr) 92px; gap:.5rem; border-bottom:1px solid #e4eded; padding-bottom:.7rem; }
  .ohp-v18-option-row .ohp-v18-remove-option { grid-column:1 / -1; justify-self:end; padding:.4rem .9rem; }
  .ohp-v18-editor .ohp-v18-preset { font-size:.8rem; }
}
/* Ensure progressive-enhancement fallbacks never overlap the visual editor. */
.ohp-v18-editor [hidden] { display:none !important; }
