/* Editor chrome. Only loaded for signed-in editors and on the login page.
   Preview mode (html[data-editing="off"]) hides every editing control so the
   page reads exactly as a visitor sees it. Nothing here is pinned. */

.ebar{background:var(--brass); color:var(--ink); font-family:var(--mono); font-size:.72rem; letter-spacing:.06em;}
.ebar-in{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding-top:.5rem; padding-bottom:.5rem;}
.ebar-who{margin-right:auto;}
.ebar-btn{font:inherit; letter-spacing:inherit; color:var(--ink); background:transparent; border:1px solid rgba(19,18,17,.35); border-radius:2px; padding:.35rem .7rem; cursor:pointer; text-decoration:none;}
.ebar-btn:hover,.ebar-btn[aria-pressed="true"]{background:var(--ink); color:var(--paper);}
html[data-editing="off"] .admin-only, html[data-editing="off"] .ed-tools, html[data-editing="off"] .tag-hidden{display:none !important;}

.tag-hidden{display:inline-block; vertical-align:middle; margin-left:.4rem; font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--paper); background:var(--grey-2); padding:.1rem .35rem; border-radius:2px;}
.ed-row{display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:.8rem 0;}
.ed-hint{font-family:var(--mono); font-size:.7rem; color:var(--grey-2);}
.guide-edit{margin:1.25rem 0 0;}

/* cards with tools on index/category pages */
.ed-item{display:flex; flex-direction:column; min-width:0;}
.ed-item > a{flex:1;}
.ed-tools{display:flex; flex-wrap:wrap; gap:.3rem; padding:.4rem 0 0;}
.ed-handle{cursor:grab; font-size:1.05rem; line-height:1; background:none; border:1px solid var(--line); border-radius:2px; padding:.3rem .45rem; color:var(--grey-2); touch-action:none;}
.ed-handle:active{cursor:grabbing;}
.ed-btn{font-family:var(--body); font-size:.78rem; font-weight:600; background:var(--paper); border:1px solid var(--line); border-radius:2px; padding:.3rem .6rem; color:var(--ink); cursor:pointer; text-decoration:none;}
.ed-btn:hover{border-color:var(--ink);}
.ed-danger{color:var(--danger,#8c3a2e) !important;}
.ed-ghost{opacity:.35;}
.ed-drop{outline:3px dashed var(--brass); outline-offset:6px;}

/* dialogs */
.ed-dialog{border:1px solid var(--line); border-radius:4px; padding:1.5rem; width:min(32rem,92vw); background:var(--paper); color:var(--ink);}
.ed-dialog::backdrop{background:rgba(19,18,17,.55);}
.ed-dialog h2{font-size:1.3rem; margin-bottom:1rem;}
.ed-field{display:block; margin:0 0 .9rem;}
.ed-field label{display:block; font-size:.85rem; font-weight:600; margin-bottom:.3rem;}
.ed-field input,.ed-field select,.ed-field textarea,.login-card input{width:100%; font:inherit; font-size:1rem; padding:.6rem .7rem; border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--ink);}
.ed-field label > input,.ed-field label > select,.ed-field label > textarea{margin-top:.3rem; font-weight:400;}
.ed-check{display:flex; align-items:center; gap:.5rem; font-size:.95rem; margin:.4rem 0;}
.ed-check input{width:1.2rem; height:1.2rem;}
.ed-actions{display:flex; gap:.6rem; margin-top:1.2rem;}
.ed-photo-field img{max-width:100%; max-height:12rem; display:block; margin-bottom:.5rem; border:1px solid var(--line);}

#ed-toast{position:fixed; left:50%; bottom:1.5rem; transform:translateX(-50%) translateY(150%); background:var(--ink); color:var(--paper); padding:.7rem 1.1rem; border-radius:3px; font-size:.95rem; z-index:90; transition:transform .2s ease; max-width:90vw;}
#ed-toast.show{transform:translateX(-50%) translateY(0);}
#ed-toast.err{background:var(--danger,#8c3a2e);}

/* login */
.login-head{padding:1rem 0;}
.login-head .eyebrow{margin-bottom:.25rem;}
.login-head h1{font-size:1.6rem; margin:0 0 .25rem;}
.login-card{max-width:26rem; margin:1.25rem 0 2rem; display:flex; flex-direction:column; gap:.5rem;}
.login-card label{font-weight:600;}
.login-card .btn{margin-top:.4rem; width:100%;}
.login-msg{min-height:1.4em; font-size:.95rem; color:var(--grey-2);}
.login-msg:empty{display:none;}
.login-msg.err{color:var(--danger,#8c3a2e);}
.login-help{margin:-.2rem 0 .3rem; font-size:.9rem; color:var(--grey-2);}

/* tables */
.table-wrap{overflow-x:auto; margin-top:1rem;}
.admin-table{width:100%; border-collapse:collapse; font-size:.95rem;}
.admin-table th,.admin-table td{text-align:left; padding:.6rem .5rem; border-bottom:1px solid var(--line); vertical-align:middle;}
.admin-table th{font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grey-2);}
.add-person{margin-top:2rem;}

/* guide editor */
.editor{display:flex; flex-direction:column; gap:1.25rem;}
.ed-card{border:1px solid var(--line); background:var(--paper-2); padding:1.25rem;}
.ed-card h2{font-size:1.2rem; margin-bottom:.9rem;}
.ed-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(16rem,1fr)); gap:0 1.25rem;}
.ed-pair{display:grid; grid-template-columns:1fr 1fr; gap:1.25rem;}
.ed-savebar{display:flex; flex-wrap:wrap; align-items:center; gap:.75rem;}
.ed-status{font-family:var(--mono); font-size:.8rem; color:var(--grey-2);}
.ed-status.warn{color:var(--danger,#8c3a2e);}
.ed-status.ok{color:#2e6b3a;}
.ed-richwrap{border:1px solid var(--line); background:#fff;}
.ed-richbar{display:flex; gap:.25rem; padding:.3rem; border-bottom:1px solid var(--line); background:var(--paper);}
.ed-richbar button{font:inherit; font-size:.85rem; min-width:2.2rem; padding:.25rem .5rem; border:1px solid var(--line); background:#fff; cursor:pointer;}
.ed-rich{min-height:5rem; padding:.7rem .8rem; outline:none;}
.ed-rich:focus,.ed-line-text:focus{box-shadow:inset 0 0 0 2px var(--brass);}
.ed-items{display:flex; flex-direction:column; gap:.4rem; margin-bottom:.7rem;}
.ed-itemrow{display:flex; gap:.4rem; align-items:center;}
.ed-itemrow input[name=text]{flex:1; min-width:0;}
.ed-itemrow input{font:inherit; padding:.45rem .55rem; border:1px solid var(--line); background:#fff;}
.ed-qty{width:4.2rem;}
.ed-x{flex:none; width:2rem; height:2rem; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:1.1rem; line-height:1; color:var(--grey-2);}
.ed-x:hover{color:var(--danger,#8c3a2e); border-color:var(--danger,#8c3a2e);}
.ed-steps{display:flex; flex-direction:column; gap:1rem;}
.ed-steps-h{font-size:1.4rem; margin:.5rem 0 0;}
.ed-step-head{display:flex; align-items:center; gap:.6rem; margin-bottom:1rem;}
.ed-step-title{flex:1; min-width:0; font:inherit; font-size:1.05rem; font-weight:600; padding:.5rem .6rem; border:1px solid var(--line); background:#fff;}
.ed-step-body{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:1.25rem;}
.ed-photos{display:grid; grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr)); gap:.5rem; min-height:5.5rem; padding:.4rem; border:1px dashed var(--line); background:#fff;}
.ed-photo{position:relative; cursor:grab; aspect-ratio:4/3; background:var(--paper-2);}
.ed-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.ed-photo .ed-x{position:absolute; top:.25rem; right:.25rem; width:1.7rem; height:1.7rem; background:rgba(255,255,255,.92);}
.ed-lines{display:flex; flex-direction:column; gap:.4rem; margin-bottom:.7rem;}
.ed-line{display:flex; align-items:flex-start; gap:.35rem; padding-left:calc(var(--lvl,0) * 1.25rem);}
.ed-line[data-level="1"]{--lvl:1;} .ed-line[data-level="2"]{--lvl:2;} .ed-line[data-level="3"]{--lvl:3;}
.ed-bullet{flex:none; width:7.2rem; font:inherit; font-size:.8rem; padding:.35rem; border:1px solid var(--line); border-left:6px solid var(--bullet,#11161a); background:#fff;}
.ed-mini{flex:none; width:1.7rem; height:2rem; border:1px solid var(--line); background:#fff; cursor:pointer;}
.ed-line-text{flex:1; min-width:0; min-height:2rem; padding:.35rem .5rem; border:1px solid var(--line); background:#fff; font-size:.95rem; line-height:1.5; outline:none;}
.ed-line.caution .ed-line-text{color:var(--danger,#8c3a2e); font-weight:500;}
@media (max-width:1100px){ .ed-step-body{grid-template-columns:1fr;} }
@media (max-width:820px){
  .ed-pair{grid-template-columns:1fr;}
  .ed-bullet{width:5.5rem;}
  .ed-line{flex-wrap:wrap;}
  .ed-line-text{flex-basis:100%;}
}
