/**
 * Centro de Armamento Thor — Estilos del frontend
 * Marca Thor: Rojo #cc2222, Negro #080909, fuentes Bebas/Barlow.
 */

.pthor-ca-wrap {
	--rojo: #cc2222;
	--rojo-osc: #8f1616;
	--negro: #080909;
	--carbon: #121414;
	--acero: #1c1f20;
	--linea: #2c3032;
	--blanco: #ededea;
	--gris: #9a9d9b;
	--verde: #3fae5a;
	--amarillo: #e0a32e;
	--rojoSem: #cc2222;

	max-width: 820px;
	margin: 0 auto;
	padding: 22px 16px 40px;
	background: var(--negro);
	color: var(--blanco);
	font-family: 'Barlow', sans-serif;
	box-sizing: border-box;

	/* Protección de propiedad intelectual: bloquear selección/copia. */
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pthor-ca-wrap *,
.pthor-ca-wrap *::before,
.pthor-ca-wrap *::after {
	box-sizing: border-box;
}

/* Header */
.pthor-ca-header {
	border-bottom: 1px solid var(--linea);
	padding-bottom: 16px;
	margin-bottom: 18px;
}
.pthor-ca-header h1 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(28px, 6vw, 46px);
	letter-spacing: 2px;
	line-height: .95;
	margin: 0;
	color: var(--blanco);
}
.pthor-ca-header h1 span { color: var(--rojo); }
.pthor-ca-header p {
	font-family: 'Barlow Condensed', sans-serif;
	color: var(--gris);
	font-size: 14px;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin: 4px 0 0;
}

/* Selector de armas */
.pthor-ca-armas {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.pthor-ca-arma {
	flex: 1;
	min-width: 150px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	background: var(--carbon);
	border: 1px solid var(--linea);
	color: var(--gris);
	padding: 14px 12px;
	cursor: pointer;
	transition: .15s;
	text-align: left;
	line-height: 1.1;
}
.pthor-ca-arma:hover { border-color: var(--rojo); color: var(--blanco); }
.pthor-ca-arma.activa { background: var(--rojo); border-color: var(--rojo); color: #fff; }
.pthor-ca-arma .t { font-size: 20px; letter-spacing: 1px; text-transform: uppercase; display: block; }
.pthor-ca-arma .s { font-size: 12px; letter-spacing: 1px; opacity: .8; text-transform: uppercase; }
.pthor-ca-arma:focus-visible { outline: 2px solid var(--blanco); outline-offset: 2px; }

.pthor-ca-armasub {
	font-family: 'Barlow Condensed', sans-serif;
	color: var(--gris);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 13px;
	margin-bottom: 6px;
}

/* Subtabs */
.pthor-ca-subtabs {
	display: flex;
	gap: 8px;
	margin: 16px 0;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--linea);
}
.pthor-ca-subtab {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	color: var(--gris);
	padding: 10px 16px;
	font-size: 17px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: .15s;
	margin-bottom: -1px;
}
.pthor-ca-subtab:hover { color: var(--blanco); }
.pthor-ca-subtab.activa { color: #fff; border-bottom-color: var(--rojo); }
.pthor-ca-subtab:focus-visible { outline: 2px solid var(--blanco); outline-offset: 2px; }

.pthor-ca-panel { display: none; }
.pthor-ca-panel.activa { display: block; }

/* Aviso de seguridad */
.pthor-ca-seguridad {
	background: rgba(204, 34, 34, .1);
	border: 1px solid var(--rojo);
	padding: 13px 16px;
	margin-bottom: 18px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.5;
}
.pthor-ca-seguridad b { color: var(--rojo); }

/* Campos */
.pthor-ca-campo { margin-bottom: 14px; }
.pthor-ca-campo label {
	font-family: 'Barlow Condensed', sans-serif;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: 13px;
	color: var(--gris);
	display: block;
	margin-bottom: 6px;
}
.pthor-ca-wrap select {
	width: 100%;
	background: var(--carbon);
	border: 1px solid var(--linea);
	color: var(--blanco);
	padding: 12px 14px;
	font-size: 15px;
	font-family: 'Barlow', sans-serif;
}
.pthor-ca-wrap select:focus { outline: none; border-color: var(--rojo); }

.pthor-ca-btn {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	background: var(--rojo);
	color: #fff;
	border: none;
	padding: 12px 26px;
	font-size: 16px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: .15s;
	margin-top: 4px;
}
.pthor-ca-btn:hover { background: var(--rojo-osc); }
.pthor-ca-btn:focus-visible { outline: 2px solid var(--blanco); outline-offset: 2px; }
.pthor-ca-btn[disabled] { opacity: .5; cursor: not-allowed; }

/* Resultado */
.pthor-ca-resultado {
	margin-top: 20px;
	border: 1px solid var(--linea);
	display: none;
}
.pthor-ca-resultado.visible { display: block; }
.pthor-ca-sem {
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: 'Barlow Condensed', sans-serif;
}
.pthor-ca-punto { width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0; }
.pthor-ca-etq { font-weight: 700; font-size: 20px; letter-spacing: 1.5px; text-transform: uppercase; }
.pthor-ca-cuerpo { background: var(--carbon); padding: 16px 18px; font-size: 15px; line-height: 1.55; }
.pthor-ca-cuerpo h3 {
	font-family: 'Barlow Condensed', sans-serif;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: 13px;
	color: var(--gris);
	margin: 12px 0 6px;
}
.pthor-ca-cuerpo h3:first-child { margin-top: 0; }
.pthor-ca-cuerpo ul { margin: 0 0 0 18px; }
.pthor-ca-accion { font-weight: 600; }
.pthor-ca-escala {
	margin-top: 14px;
	padding: 12px 14px;
	background: var(--acero);
	border-left: 3px solid var(--rojo);
	font-size: 14px;
}

.pthor-ca-resultado.verde .pthor-ca-punto { background: var(--verde); }
.pthor-ca-resultado.verde .pthor-ca-etq { color: var(--verde); }
.pthor-ca-resultado.verde .pthor-ca-sem { border-bottom: 2px solid var(--verde); }
.pthor-ca-resultado.amarillo .pthor-ca-punto { background: var(--amarillo); }
.pthor-ca-resultado.amarillo .pthor-ca-etq { color: var(--amarillo); }
.pthor-ca-resultado.amarillo .pthor-ca-sem { border-bottom: 2px solid var(--amarillo); }
.pthor-ca-resultado.rojo .pthor-ca-punto { background: var(--rojoSem); }
.pthor-ca-resultado.rojo .pthor-ca-etq { color: var(--rojoSem); }
.pthor-ca-resultado.rojo .pthor-ca-sem { border-bottom: 2px solid var(--rojoSem); }

/* Nomenclatura */
.pthor-ca-lista {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 6px;
}
.pthor-ca-parte {
	background: var(--carbon);
	border: 1px solid var(--linea);
	padding: 9px 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}
.pthor-ca-parte .num {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 18px;
	color: var(--rojo);
	min-width: 26px;
	text-align: right;
}
.pthor-ca-parte .arm {
	margin-left: auto;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--amarillo);
	border: 1px solid var(--amarillo);
	padding: 1px 6px;
}
.pthor-ca-nomnota { font-size: 13px; color: var(--gris); margin-bottom: 12px; line-height: 1.5; }

/* Checklist */
.pthor-ca-checkcols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pthor-ca-checkcol h3 {
	font-family: 'Barlow Condensed', sans-serif;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: 15px;
	color: var(--blanco);
	margin-bottom: 8px;
	border-bottom: 1px solid var(--linea);
	padding-bottom: 6px;
}
.pthor-ca-checkcol label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 7px 0;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
	color: var(--gris);
}
.pthor-ca-checkcol input { width: auto; margin-top: 3px; accent-color: var(--rojo); }
.pthor-ca-checkcol input:checked + span {
	color: var(--blanco);
	text-decoration: line-through;
	text-decoration-color: var(--gris);
}

/* Footer */
.pthor-ca-foot {
	margin-top: 28px;
	padding-top: 14px;
	border-top: 1px solid var(--linea);
	font-family: 'Barlow Condensed', sans-serif;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 12px;
	color: var(--gris);
}

/* Estado de carga / error */
.pthor-ca-msg {
	padding: 14px 16px;
	font-size: 14px;
	color: var(--gris);
	border: 1px solid var(--linea);
	background: var(--carbon);
}

/* Responsive */
@media (max-width: 560px) {
	.pthor-ca-checkcols { grid-template-columns: 1fr; }
}
