/* Console SCOS (login + hub) — spécifique pages, au-dessus de scos-ui. */

/* ----- bandeaux cubes ----- */
.top-band { height: 64px; border-bottom: 4px solid var(--ink); }
.hub-band { height: 36px; border-bottom: 3px solid var(--ink); }

/* ----- login ----- */
.login-body { background: var(--paper); }
.login-wrap {
  min-height: calc(100vh - 64px);
  display: flex; align-items: center; justify-content: center;
  padding: 40px 24px;
}
.login-inner { width: 100%; max-width: 780px; }
.login-h1 {
  font-family: var(--sans-kr), var(--sans-en);
  font-size: 38px; line-height: 1.18; font-weight: 800; letter-spacing: -0.01em;
  margin: 26px 0 0;
}
.login-h1 .be { display: block; font-size: 16px; font-weight: 600; margin-top: 8px; letter-spacing: 0.02em; }

.login-products {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border: 2px solid var(--ink); margin: 26px 0 28px;
}
.lp {
  padding: 14px 14px 16px; border-right: 1px solid var(--rule-soft);
  display: flex; flex-direction: column; gap: 6px;
}
.lp:last-child { border-right: 0; }
.lp .brand-block { width: 30px; height: 30px; font-size: 11.5px; }
.lp b { font-size: 15.5px; color: var(--ink); }
.lp .lp-d { font-size: 12.5px; line-height: 1.45; color: var(--ink-mid); }

.login-form { padding: 22px; }
.login-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.login-form.shake { animation: cshake 0.45s; }
@keyframes cshake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-7px)} 40%,80%{transform:translateX(7px)} }
.login-foot {
  margin-top: 26px; font-family: var(--sans-en); font-size: 12px;
  letter-spacing: 0.04em; color: var(--ink-dim);
}

@media (max-width: 720px) {
  .login-h1 { font-size: 27px; }
  .login-products { grid-template-columns: 1fr 1fr; }
  .lp:nth-child(2) { border-right: 0; }
  .lp { border-bottom: 1px solid var(--rule-soft); }
  .lp:nth-child(n+3) { border-bottom: 0; }
  .login-row { grid-template-columns: 1fr; }
}
@media (max-height: 700px) {
  .login-wrap { align-items: flex-start; padding-top: 24px; }
  .login-products { display: none; }
  .login-h1 { font-size: 24px; }
}

/* ----- hub ----- */
.hub-main { padding-top: 46px; padding-bottom: 30px; }
.hub-h1 {
  font-family: var(--sans-kr), var(--sans-en);
  font-size: clamp(26px, 3.6vw, 40px); line-height: 1.2; font-weight: 800;
  margin: 10px 0 30px;
}
.hub-h1 .be { display: block; font-size: 15px; font-weight: 600; margin-top: 8px; letter-spacing: 0.04em; }

/* Appel a la démo guidée, juste avant les cards produit. */
.hub-tour {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  flex-wrap: wrap; border: 2px solid var(--ink); background: var(--paper-soft);
  padding: 18px 22px; margin-bottom: 22px;
}
.hub-tour-txt { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.hub-tour-txt strong { font-size: 16px; font-weight: 800; color: var(--ink); }
.hub-tour-txt .kr { font-size: 13.5px; color: var(--ink-soft); }
.hub-tour-txt .be { display: inline; color: var(--ink-mid); }
.hub-tour-btn { width: auto; min-width: 220px; flex: none; }
@media (max-width: 560px) { .hub-tour-btn { width: 100%; } }
