
/* ====== PALETA CLARA ====== */
.tms-shell{ --bg:#f5f7fb; --panel:#ffffff; --ink:#111827; --muted:#6b7280; --line:#e5e7eb; --accent:#2563eb; }
.tms-shell{ color:var(--ink); background:var(--bg); }

/* ====== HEADER ====== */
.tms-header{ background:var(--panel); border-bottom:1px solid var(--line); }
.tms-header-inner{ max-width:1200px; margin:0 auto; padding:10px 12px; display:flex; align-items:center; gap:12px; }
.tms-brand{ font-weight:700; font-size:18px; letter-spacing:.5px; }
.tms-header-actions{ display:flex; gap:8px; }    /* <- IZQUIERDA, sin margin-left:auto */
.tms-pill{ background:#fff; border:1px solid var(--line); padding:6px 10px; border-radius:999px; font-size:12px; color:var(--ink); }

/* ====== LAYOUT ====== */
.tms-container{ max-width:1200px; margin:0 auto; padding:12px; }
.tms-topbar{ display:flex; gap:16px; align-items:center; margin:14px 0; }
.tms-topbar h1{ font-size:20px; font-weight:600; margin:0; color:var(--ink); }


.tms-layout{ display:grid; grid-template-columns:260px 1fr; gap:16px; }
@media (max-width:992px){ .tms-layout{ grid-template-columns:1fr; } .tms-aside{ order:2; } }

.tms-card{ background:var(--panel); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.tms-card-title{ padding:10px 12px; font-weight:600; border-bottom:1px solid var(--line); }
.tms-list{ list-style:none; margin:0; padding:6px 0; max-height:420px; overflow:auto; background:#fff; }
.tms-list li{ padding:10px 12px; cursor:pointer; border-left:3px solid transparent; color:#111827; display:flex; align-items:center; min-height:36px; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tms-list li:hover{ background:#f1f5f9; }
.tms-list li.active{ background:#e8f0fe; border-left-color:#2563eb; color:#0b295e; }

/* Grilla más consistente (sin max-width por item) */
.tms-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:12px; }

.tms-pager{ display:flex; justify-content:center; align-items:center; gap:10px; margin:14px 0; }
.tms-page{ color:var(--muted); }

.tms-btn{ padding:8px 12px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:10px; cursor:pointer; }
.tms-btn:hover{ filter:brightness(0.98); }
.tms-primary{ background:var(--accent); border-color:var(--accent); color:#fff; }

/* ====== DETALLE ====== */
.tms-detail{ display:grid; grid-template-columns:320px 1fr; gap:16px; align-items:start; margin-top:16px; }
.tms-detail-img img{ width:100%; aspect-ratio:1; object-fit:contain; background:#f8fafc; border:1px solid var(--line); border-radius:12px; }
.tms-detail-info h2{ margin:0 0 8px; font-size:22px; }
.tms-price{ font-weight:700; font-size:20px; margin:8px 0 12px; }
.tms-detail-actions{ display:flex; gap:10px; align-items:center; }
#edCant{ width:96px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; }

@media (max-width:768px){
  .tms-detail{ grid-template-columns:1fr; }
}

/* ====== FOOTER ====== */
.tms-footer{ background:var(--panel); border-top:1px solid var(--line); margin-top:12px; }
.tms-footer-inner{ max-width:1200px; margin:0 auto; padding:12px; display:flex; align-items:center; gap:12px; }
.tms-footer-nav{ margin-left:auto; display:flex; gap:14px; }
.tms-footer a{ color:var(--muted); text-decoration:none; }
.tms-footer a:hover{ color:#0b295e; text-decoration:underline; }

/* === Fix header alineado a la izquierda === */
.tms-header-inner{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;   /* todo a la izquierda */
  gap:12px;
  text-align:left !important;   /* pisa cualquier centrado heredado */
}

/* Acepta tanto la clase vieja como la nueva */
.tms-header-right,
.tms-header-actions{
  margin-left:0 !important;     /* evita que se vaya a la derecha */
  display:flex;
  gap:8px;
}

/* Opcional: separa un poquito el logo de los botones */
.tms-brand{ margin-right:12px; }

/* === Search input siempre visible === */
.tms-searchbar input{
  background:#fff;
  color:var(--ink);
  border:1px solid #cbd5e1;   /* gris más fuerte */
  padding:8px 10px;
  border-radius:10px;
  width:min(360px,60vw);
  transition:border-color .2s, box-shadow .2s;
}

/* al hacer foco que se note con azul */
.tms-searchbar input:focus{
  outline:none;
  border-color:var(--accent);          /* azul */
  box-shadow:0 0 0 2px rgba(37,99,235,.2);
}

/* ===== Modal ===== */
.tms-modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(15,23,42,.45);z-index:1000;}
.tms-modal[aria-hidden="false"]{display:grid;}
.tms-dialog{width:min(680px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:16px 16px 14px;position:relative;}
.tms-x{position:absolute;right:10px;top:6px;border:none;background:transparent;font-size:22px;cursor:pointer;color:#6b7280;}
.tms-x:hover{color:#111827;}

.tms-tabs{display:flex;gap:6px;margin-bottom:8px;}
.tms-tabs button{flex:1;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:8px;font-weight:600;cursor:pointer}
.tms-tabs button.active{background:#fff;border-color:var(--accent);color:#0b295e}

.tms-form{display:grid;gap:10px;}
.tms-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.tms-grid-2{grid-template-columns:1fr}}

.tms-field{display:grid;gap:6px}
.tms-field input{border:1px solid #cbd5e1;border-radius:10px;padding:10px}
.tms-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.2)}
.tms-pass{display:flex;align-items:center}
.tms-pass input{flex:1}
.tms-eye{margin-left:6px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px;cursor:pointer}

.tms-alert{border-radius:10px;padding:10px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b}
.tms-link{color:var(--accent);text-decoration:none}
.tms-link:hover{text-decoration:underline}
.tms-row{display:flex;justify-content:space-between;align-items:center}
.tms-alt{margin:6px 0 0;color:#6b7280;font-size:14px}

.tms-field-error{color:#b91c1c}

/* ====== CART BADGE ====== */
.badge {
    vertical-align: top;
    margin-top: 5px;
}

/* Badge específico para el carrito */
#btnCart .badge {
    color: #fff;
    background-color: #dc3545;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -8px;
    right: -8px;
}

/* Ocultar badge cuando está en 0 */
#btnCart .badge[data-count="0"] {
    display: none;
}

