/* Editor dos Guias de viagem (painel admin). Base visual: portal.css. */
.ab-shell { width:min(1280px, calc(100% - 32px)); }
.ab-top-actions { display:flex; gap:10px; flex-wrap:wrap; }
label small { display:block; font-weight:500; font-size:.8rem; color:var(--muted); }
.ab-small { font-size:.85rem; }

/* Lista de guias */
.ab-list { display:grid; gap:12px; margin-top:18px; }
.ab-item { display:grid; grid-template-columns:120px 1fr auto; gap:18px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--white); transition:border-color .2s ease, box-shadow .2s ease; }
.ab-item:hover { border-color:rgba(212,175,55,.6); box-shadow:var(--shadow-card); }
.ab-thumb { width:120px; aspect-ratio:16 / 10; border-radius:8px; object-fit:cover; background:var(--off); display:block; }
.ab-thumb-empty { display:grid; place-items:center; color:var(--muted); font-size:.75rem; }
.ab-item h3 { margin:6px 0 4px; font-size:1.08rem; }
.ab-meta { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:.8rem; color:var(--muted); }
.ab-item-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.ab-item-actions a { min-height:40px; padding:9px 16px; font-size:.85rem; }
@media (max-width: 720px) {
  .ab-item { grid-template-columns:84px 1fr; }
  .ab-thumb { width:84px; }
  .ab-item-actions { grid-column:1 / -1; justify-content:flex-start; }
}

/* Barra do editor */
.ab-bar { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; padding:14px 18px; margin-bottom:18px;
  background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-card); }
.ab-bar-title { margin:0; font-size:1.2rem; flex:1; min-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ab-state { font-size:.82rem; color:var(--muted); }
.ab-state.is-dirty { color:#8a6113; font-weight:600; }
.ab-bar-actions { display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width: 720px) {
  .ab-bar { position:static; padding:12px 14px; }
  .ab-bar-title { display:none; }
  .ab-bar-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .ab-bar-actions button { min-height:40px; padding:8px 10px; font-size:.85rem; }
  .ab-bar-actions #publishBtn { grid-column:1 / -1; }
}

/* Colunas */
.ab-grid { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:22px; align-items:start; }
.ab-side { position:sticky; top:96px; }
@media (max-width: 1000px) { .ab-grid { grid-template-columns:1fr; } .ab-side { position:static; } }
.ab-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ab-row-actions { display:flex; gap:10px; margin-bottom:14px; }
@media (max-width: 640px) { .ab-row { grid-template-columns:1fr; } }
.ab-check { display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:start; font-weight:600; }
.ab-check input { width:auto; margin-top:4px; }
.ab-check small { grid-column:2; }
.ab-status-line { display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.ab-danger { color:var(--danger) !important; margin-top:6px; }
.ab-tips ul { margin:0; padding-left:18px; display:grid; gap:8px; font-size:.88rem; color:var(--ink); }

/* Foto de capa */
.ab-cover { aspect-ratio:16 / 9; border-radius:12px; overflow:hidden; background:var(--off); border:1px dashed rgba(13,27,42,.25); display:grid; place-items:center; color:var(--muted); margin-bottom:14px; }
.ab-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.ab-cover.is-loading { opacity:.6; }

/* Blocos do conteúdo */
.ab-blocks-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 18px; }
.ab-help { font-size:.82rem; margin:0 0 12px; }
.ab-blocks { display:grid; gap:14px; }
.ab-empty { padding:26px; border:1px dashed rgba(13,27,42,.25); border-radius:12px; text-align:center; color:var(--muted); }
.ab-block { border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:10px; padding:14px 16px 4px; background:#fcfbf8; }
.ab-block[data-type="h"] { border-left-color:var(--navy); }
.ab-block[data-type="tip"] { border-left-color:#1b6b3a; }
.ab-block[data-type="img"] { border-left-color:var(--blue); }
.ab-block-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.ab-block-type { font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.ab-block-tools { display:flex; gap:4px; }
.ab-tool, .ab-format button, .ab-add button {
  min-height:34px; padding:6px 12px; border-radius:8px; font-size:.82rem; font-weight:600;
  background:var(--white); color:var(--navy); border:1px solid rgba(13,27,42,.18); cursor:pointer; }
.ab-tool { min-width:34px; padding:6px 8px; }
.ab-tool:hover, .ab-format button:hover, .ab-add button:hover { border-color:var(--gold); background:#fbf6e6; }
.ab-tool[data-act="remove"]:hover { border-color:var(--danger); color:var(--danger); background:var(--danger-bg); }
.ab-format { display:flex; gap:6px; margin:-4px 0 12px; }
.ab-add { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft); }
.ab-add span { font-size:.85rem; font-weight:600; color:var(--muted); margin-right:4px; }
.ab-img-box { display:grid; grid-template-columns:200px 1fr; gap:16px; align-items:start; }
.ab-img-preview { aspect-ratio:4 / 3; border-radius:8px; overflow:hidden; background:var(--off); display:grid; place-items:center; color:var(--muted); font-size:.8rem; text-align:center; padding:6px; }
.ab-img-preview img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width: 640px) { .ab-img-box { grid-template-columns:1fr; } }
