/* Krown Support — componentes de la web publica.
   Misma linea visual que Rewards/Series: tokens.css (hex, Montserrat/Inter, grid 8pt). */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body{
  background:var(--bg-dark);
  color:var(--text-1);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  padding-top:calc(var(--eco-h, 64px) + var(--promo-bar-h, 0px)); /* var(--eco-h), no un 48 literal: el header compartido paso a 64px y este offset se quedo corto. */
}
a{color:inherit;text-decoration:none}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:999px;border:2px solid var(--bg-base)}
::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}

main.hp-main{flex:1;width:100%;max-width:calc(1320px + var(--sp-4) * 2);margin:0 auto;padding:var(--sp-4) var(--sp-4) var(--sp-8)}
.section{background:var(--bg-dark)}
.hp-bleed{flex:1;display:flex;flex-direction:column}
.hero__heading{max-width:none}
.hero{min-height:0;padding-top:var(--sp-12)}
.form-banner{padding-top:var(--sp-12)}

/* Buscador de la home */
.hp-search{display:flex;gap:8px;max-width:560px}
.hp-search input{
  flex:1;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-btn);
  padding:13px 16px;color:var(--text-1);font-size:.92rem;font-family:inherit;
}
.hp-search input:focus{outline:none;border-color:var(--accent-red)}
.hp-search button{
  background:var(--accent-red);color:#fff;font-weight:600;font-size:.9rem;border:0;border-radius:var(--radius-btn);
  padding:13px 22px;cursor:pointer;transition:background var(--t-fast);
}
.hp-search button:hover{background:var(--accent-red-hover)}

/* Grid de categorias */
.hp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.hp-cat{
  background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-card);
  padding:22px;display:flex;flex-direction:column;gap:6px;transition:border-color var(--t-fast),transform var(--t-fast);
}
.hp-cat:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.hp-cat__name{font-family:var(--font-display);font-weight:800;font-size:1.02rem}
.hp-cat__count{color:var(--text-3);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
/* La descripcion cierra la tarjeta: el margin-top:auto la pega abajo para que
   las tres terminen a la misma altura tengan el texto que tengan. */
.hp-cat__desc{color:var(--text-2);font-size:.82rem;line-height:1.5;margin-top:auto;padding-top:12px}

/* Lista de articulos */
.hp-articles{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-2)}
.hp-article-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:8px;
  transition:border-color var(--t-fast);
}
.hp-article-row:hover{border-color:var(--border-hover)}
.hp-article-row__title{font-weight:600;font-size:.92rem}
.hp-article-row__meta{color:var(--text-3);font-size:.75rem}

/* El contenido de articulo (.wiki-content) usa integramente los estilos
   compartidos de World (apps/world/assets/css/main.css), sin overrides
   locales: mismo diseño (incluidos los enlaces) que las noticias de World y
   las paginas legales (privacidad/cookies/terminos). */

/* Botones / alertas / estados (mismo vocabulario que Rewards) */
.hp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent-red);color:#fff;font-weight:600;font-size:.9rem;
  padding:12px 24px;border-radius:var(--radius-btn);border:0;cursor:pointer;
  transition:background var(--t-fast),transform var(--t-fast);font-family:inherit;
}
.hp-btn:hover{background:var(--accent-red-hover)}
.hp-btn:disabled{opacity:.5;cursor:not-allowed}
.hp-btn--ghost{background:transparent;border:1px solid var(--border-mid);color:var(--text-1)}
.hp-btn--ghost:hover{background:var(--bg-card);border-color:var(--border-hover)}

.hp-alert{border-radius:8px;padding:12px 16px;font-size:.85rem;margin-bottom:var(--sp-2)}
.hp-alert--error{background:rgba(155,17,30,.12);border:1px solid rgba(155,17,30,.4);color:#ff9b9b}
.hp-alert--info{background:rgba(255,255,255,.05);border:1px solid var(--border-mid);color:var(--text-2)}

.hp-status{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:99px}
.hp-status--open{background:rgba(59,130,246,.15);color:#7fb0ff}
.hp-status--in_progress{background:rgba(230,160,0,.15);color:#e6a000}
.hp-status--resolved{background:rgba(34,197,94,.15);color:#4ade80}
.hp-status--closed{background:rgba(255,255,255,.08);color:var(--text-3)}

.hp-priority{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:99px}
.hp-priority--low{background:rgba(255,255,255,.06);color:var(--text-3)}
.hp-priority--medium{background:rgba(127,176,255,.14);color:#7fb0ff}
.hp-priority--high{background:rgba(230,160,0,.15);color:#e6a000}
.hp-priority--critical{background:rgba(155,17,30,.2);color:#ff6b6b}

/* Formularios */
.hp-form{display:flex;flex-direction:column;gap:var(--sp-2);max-width:640px}
.hp-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-2)}
.hp-form input[type=text],.hp-form input[type=email],.hp-form select,.hp-form textarea{
  background:var(--bg-card);border:1px solid var(--border-mid);border-radius:8px;
  padding:11px 14px;color:var(--text-1);font-size:.92rem;font-family:inherit;
}
.hp-form textarea{resize:vertical;min-height:120px}
.hp-form input:focus,.hp-form select:focus,.hp-form textarea:focus{outline:none;border-color:var(--accent-red)}
.hp-form input[type=file]{font-size:.82rem;color:var(--text-3)}
.hp-hint{color:var(--text-3);font-size:.75rem}

/* Lista de tickets propios */
.hp-table{width:100%;border-collapse:collapse;font-size:.87rem}
.hp-table th{text-align:left;color:var(--text-3);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--border-mid)}
.hp-table td{padding:12px;border-bottom:1px solid var(--border)}
.hp-table tr:hover td{background:rgba(255,255,255,.02)}
.hp-empty{color:var(--text-3);padding:var(--sp-4);text-align:center;background:var(--bg-card);border:1px dashed var(--border-mid);border-radius:12px}

/* Chat de ticket */
.hp-thread{display:flex;flex-direction:column;gap:14px;margin:var(--sp-3) 0}
.hp-row{display:flex;gap:10px;align-items:flex-end;max-width:100%}
.hp-row--mine{flex-direction:row-reverse}
.hp-row--internal{max-width:100%}
.hp-avatar{width:32px;height:32px;border-radius:50%;flex:0 0 32px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-card-alt);border:1px solid var(--border-mid);font-size:.66rem;font-weight:700;color:var(--text-3)}
.hp-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hp-col{display:flex;flex-direction:column;min-width:0;max-width:74%}
.hp-row--mine .hp-col{align-items:flex-end}
.hp-row:not(.hp-row--mine) .hp-col{align-items:flex-start}
.hp-row--internal .hp-col{max-width:100%;align-items:stretch}
.hp-msg__meta{font-size:.68rem;color:var(--text-3);margin:0 4px 4px}
.hp-msg{width:fit-content;max-width:100%;padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.5;word-break:break-word}
.hp-row--mine .hp-msg{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-red) 26%,var(--bg-card)),color-mix(in srgb,var(--accent-red) 10%,var(--bg-card)));border:1px solid color-mix(in srgb,var(--accent-red) 45%,transparent);border-bottom-right-radius:4px}
.hp-row:not(.hp-row--mine):not(.hp-row--internal) .hp-msg{background:linear-gradient(135deg,var(--bg-card-alt),var(--bg-card));border:1px solid var(--border-mid);border-bottom-left-radius:4px}
.hp-row--internal .hp-msg{background:rgba(230,160,0,.08);border:1px dashed rgba(230,160,0,.4)}
.hp-msg__files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hp-msg__file{font-size:.75rem;background:rgba(255,255,255,.08);border-radius:6px;padding:4px 9px;text-decoration:underline}

@media(max-width:640px){
  .hp-col{max-width:88%}
  .hp-table{display:block;overflow-x:auto}
}

/* ── PORTADA ─────────────────────────────────────────────────────────────
   Una web de soporte se usa, no se lee: el buscador es el protagonista y el
   titular no puede comerse la pantalla que necesita. */

.hp-hero {
  min-height: 0;
  padding-top: calc(var(--sp-10) + 60px);
  padding-bottom: calc(var(--sp-8) + 56px);
}

/* Mismo ritmo que .hero__tx en World/Rewards: un gap uniforme en vez de
   margenes sueltos por elemento. */
.hp-hero .hero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.hp-hero .hero__heading {
  font-size: clamp(1.875rem, 4.5vw, 3rem);
  max-width: none;
  text-transform: none;
}

/* Consultas frecuentes ya escritas: quien no sabe que escribir, hace clic. */
.hp-sugg {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hp-sugg a {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid var(--border-mid);
  border-radius: 999px;
  font-size: 0.8125rem;
  color: var(--text-2);
  text-decoration: none;
  transition: color var(--t-base), border-color var(--t-base), background var(--t-base);
}

.hp-sugg a:hover {
  color: var(--text-1);
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.04);
}

/* Ticket como fila, no como seccion */
.hp-ticket-sec { margin-top: var(--sp-6); }

.hp-ticket {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--border-mid);
  border-radius: var(--radius-card);
  background: var(--bg-card);
}

.hp-ticket__tx {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.875rem;
  color: var(--text-2);
  line-height: 1.6;
}

.hp-ticket__tx b {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  color: var(--text-1);
}

/* Cabecera de seccion: titulo y, cuando lo hay, un enlace a la derecha. */
.sec-h {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  flex-wrap: wrap;
  margin-bottom: var(--sp-4);
}

.sec-h .section__heading { margin: 0; }

/* La linea de la categoria hace de enlace, y por eso va en el rojo claro de
   marca: es lo ultimo que se lee antes de decidir si entras. */
.hp-cat__desc { color: #E8566A; }

/* Bordes tenues como el resto de tarjetas de la portada. */
.hp-cat,
.hp-sugg a { border-color: var(--border); }
