/* Branding oficial HFA — contenedor canónico de los PNG blancos con transparencia.
   Los assets se renderizan TAL CUAL: prohibido invert/hue-rotate/brightness/colorización.
   El contraste se resuelve con el holder verde oscuro (.is-official), no con el archivo.
   Se carga al final para poder neutralizar los holders claros heredados
   (.competition-catalog-mark img llevaba background:var(--hfa-surface)) por especificidad,
   sin !important y sin tocar el layout de Reference UI V2. */

.hfa-brand-mark{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden}
.hfa-brand-mark>img{position:absolute;inset:0;width:100%;height:100%;padding:10%;object-fit:contain;background:transparent;filter:none;mix-blend-mode:normal;opacity:1}
.hfa-brand-mark-fallback{line-height:1;font-weight:900;letter-spacing:.02em}

/* Contrato de estado: o el PNG, o las letras. Nunca los dos a la vez.
   Los assets oficiales tienen alpha, así que un fallback meramente tapado se leería a
   través del logo: se oculta con display:none, no con z-index ni con un fondo opaco. */
.hfa-brand-mark.has-image .hfa-brand-mark-fallback{display:none}
.hfa-brand-mark.is-fallback>img{display:none}
.hfa-brand-mark.is-fallback .hfa-brand-mark-fallback{display:block}

/* Competición oficial HFA: holder verde oscuro para que el blanco lea en light y en dark. */
.hfa-brand-mark.is-official{border-color:var(--green-900);background:var(--green-900);color:#fff}
.hfa-brand-mark.is-official>img{padding:8%}

/* Tamaños canónicos: sólo se aplican donde no hay clase de superficie con medidas propias. */
.hfa-brand-mark-xs{width:24px;height:24px;border-radius:6px;font-size:8px}
.hfa-brand-mark-sm{width:28px;height:28px;border-radius:7px;font-size:9px}
.hfa-brand-mark-md{width:38px;height:38px;border-radius:9px;font-size:10px}
.hfa-brand-mark-lg{width:54px;height:54px;border-radius:14px;font-size:13px}
.hfa-brand-mark-hero{width:78px;height:78px;border-radius:18px;font-size:17px}

/* Identidad de competición en filas (Historia, listas editoriales). */
.competition-identity{display:inline-flex;align-items:center;gap:9px;min-width:0}
.competition-identity>span:last-child{display:grid;gap:2px;min-width:0}

/* Administración: aviso de branding oficial en el editor de competición (§27). */
.info-box.competition-official-branding{display:flex;align-items:center;gap:10px}
.info-box.competition-official-branding span{min-width:0}

/* Superficies existentes: el holder oficial gana al fondo claro heredado, el layout no cambia. */
.competition-catalog-mark.is-official>img,
.competition-detail-mark.is-official>img{background:transparent}
.competition-detail-mark.hfa-brand-mark>img{border-radius:inherit}

@media(max-width:520px){
 .hfa-brand-mark-hero{width:64px;height:64px;border-radius:15px}
}
