.ecom-norma body {
font-family: Arial, sans-serif;
font-size: 14px;
color: #333;
background: #f9f9f9;
}
.ecom-norma .main-container,
.ecom-norma .container {
width: 100%;
margin: 40px auto;
display: flex;
gap: 24px;
}
.ecom-norma .main-container {
max-width: 1200px;
}
.ecom-norma .container {
padding: 1em 5em;
}
.ecom-norma .top-section {
display: flex;
align-items: flex-start;
gap: 24px;
}
.ecom-norma .promo-banner {
display: flex;
align-items: center;
justify-content: center;
background: #111;
color: #fff;
font-size: 14px;
padding: 12px 20px;
gap: 8px;
}
.ecom-norma .promo-banner .discount {
color: #ffd700;
font-weight: bold;
}
.ecom-norma .promo-banner .conditions {
display: flex;
align-items: center;
font-weight: bold;
text-decoration: none;
color: #fff;
}
.ecom-norma .promo-banner .conditions:hover {
text-decoration: underline;
}
.ecom-norma .promo-banner .conditions i {
margin-left: 4px;
font-size: 16px;
}
.ecom-norma .product-detail {
flex: 1;
background: #fff;
padding: 24px;
border-radius: 4px;
}
.ecom-norma .header {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 16px;
}
.ecom-norma .header .logo {
height: 80px;
}
.ecom-norma .title {
font-family: 'SohoPro-Regular';
font-size: 24px;
color: #00437a;
font-weight: bold;
}
.ecom-norma .subinfo {
display: inline-block;
margin: 10px 0 0;
padding: 4px 8px;
background: #D8F8FF;
font-size: 12px;
font-weight: bold;
color: #00437A;
}
.ecom-norma .description {
margin: 10px 0 20px;
font-family: 'SohoPro-Regular';
font-size: 1.2em;
font-weight: 600;
line-height: 1.4;
color: #222;
}
.ecom-norma .btn {
display: inline-block;
font-family: 'SohoPro-Regular';
font-weight: bold;
padding: 8px 16px;
text-decoration: none;
}
.ecom-norma .extract-btn {
font-size: 1em !important;
border: 2px solid #00437a;
color: #00437a;
transition: background .2s, color .2s;
text-transform: none !important;
}
.ecom-norma .extract-btn:hover {
background: #e6f0ff;
color: #120e5b;
}
.ecom-norma .purchase-box {
flex: 0 0 300px;
background: #f3f6f9;
padding: 10px 0 15px;
border-radius: 4px;
text-align: center;
}
.ecom-norma .purchase-box .price-header {
padding: 16px;
text-align: left;
}
.ecom-norma .purchase-box .price-header .price {
font-family: 'SohoPro-Regular';
font-size: 28px;
font-weight: bold;
color: #00437a;
}
.ecom-norma .purchase-box .price-header .note {
font-family: sans-serif;
font-size: 12px;
font-weight: 500;
margin-top: 4px;
color: #000;
}
.ecom-norma .purchase-box .selectors {
display: flex;
align-items: center;
gap: 8px;
padding: 0 16px 16px;
}
.ecom-norma .purchase-box .selectors .qty {
flex: 0 0 50px;
}
.ecom-norma .purchase-box .selectors input,
.ecom-norma .purchase-box .selectors select {
width: 100%;
height: 40px;
padding: 0 12px;
font-size: 14px;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: #fff;
}
.ecom-norma .purchase-box .selectors select {
background-image: url(/documents/d/global/ico-chevron-down);
background-repeat: no-repeat;
background-size: 18px 10px;
background-position: right 12px center;
}
.ecom-norma .purchase-box .selectors select::-ms-expand {
display: none;
}
.ecom-norma .purchase-box .selectors .selector {
position: relative;
flex: 1;
}
.ecom-norma .purchase-box .selectors .selector .arrow {
position: absolute;
top: 50%;
right: 12px;
transform: translateY(-50%);
pointer-events: none;
font-size: 12px;
color: #666;
}
.ecom-norma .purchase-box .selectors .selector:focus-within {
background-size: 18px 10px;
background-position-x: 95%;
}
.ecom-norma .purchase-box .buy-btn {
width: calc(100% - 32px);
text-transform: uppercase;
}
.ecom-norma .purchase-box .buy-btn:hover,
.ecom-norma .purchase-box .buy-btn:focus,
.ecom-norma .purchase-box .buy-btn:focus-visible {
outline: 2px solid var(--brand-color-2, #6a9bd3);
outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(106, 155, 211, 0.35);
}
.ecom-norma .purchase-box .buy-btn.disabled,
.ecom-norma .purchase-box .buy-btn:disabled,
.ecom-norma .purchase-box .buy-btn[disabled],
.ecom-norma .purchase-box .buy-btn.ecom-btn-loading {
opacity: .6;
pointer-events: none;
}
.ecom-norma .purchase-box .buy-btn.ecom-btn-loading::before,
.ecom-norma .purchase-box .buy-btn.ecom-btn-loading::after {
display: none;
}
.ecom-norma .tabs-section {
max-width: 900px;
//margin: 0 auto 40px;
//padding-top: 3em;
background: #fff;
border-radius: 4px;
overflow: hidden;
}
.ecom-norma .tabs-section .tabs {
display: flex;
border-bottom: 1px solid #ddd;
}
.ecom-norma .tabs-section .tab {
padding: 12px 16px;
margin-right: 8px;
background: transparent;
border: none;
border-radius: 4px 4px 0 0;
cursor: pointer;
font-size: 14px;
color: #222;
transition: background .2s;
}
.ecom-norma .tabs-section .tab:hover {
background: rgba(0, 67, 122, 0.05);
}
.ecom-norma .tabs-section .tab.active {
color: #00437a;
background: #e5f5ff;
border-bottom: 2px solid #00437a;
font-weight: bold;
}
.ecom-norma .tabs-section .tab-content {
margin: 0;
padding: 0;
}
.ecom-norma .tabs-section table {
width: 100%;
border-collapse: collapse;
}
.ecom-norma .tabs-section th,
.ecom-norma .tabs-section td {
padding: 12px 16px;
vertical-align: middle;
}
.ecom-norma .tabs-section th {
width: 180px;
font-weight: 600;
color: #444;
text-align: right;
white-space: nowrap;
}
.ecom-norma .tabs-section td {
font-weight: 400;
color: #222;
line-height: 1.4;
}
.ecom-norma .tabs-section tr:nth-child(even) > * {
background: #f9fafb;
}
.ecom-norma .tabs-section .badge {
display: inline-block;
margin-left: 8px;
padding: 2px 6px;
font-size: 11px;
text-transform: uppercase;
border-radius: 3px;
}
.ecom-norma .tabs-section .alert-label {
vertical-align: top;
text-align: right;
}
.ecom-norma .tabs-section .th-content {
vertical-align: top;
text-align: right;
}
.ecom-norma .tabs-section .alert-content {
vertical-align: bottom;
text-align: left;
}
/* Márgenes para <p> dentro del td */
.ecom-norma .tabs-section .alert-content p {
margin-top: 0;
margin-bottom: 0;
}
/* Márgenes para <p> dentro del td */
.ecom-norma .tabs-section .td-content p {
margin-top: 0;
margin-bottom: 0;
}
/* Márgenes para el <strong> del título */
.ecom-norma .tabs-section .alert-content strong {
display: inline; /* o block si quieres control total del margen */
margin: 0;
}
.ecom-norma .tabs-section .tag-success {
background: #2a7a36;
color: #fff;
}
.ecom-norma .tabs-section .tag-danger {
background: #c00000;
color: #fff;
}
.ecom-norma .tabs-section .tag-blue {
background: #0078c0;
color: #fff;
}
.ecom-norma .info-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.5em;
height: 1.5em;
margin-right: 8px;
border: 2px solid #273469;
border-radius: 50%;
font-size: 1em;
font-weight: bold;
}
/* === Media queries === */
@media (max-width: 1024px) {
.ecom-norma .main-container { padding: 20px; margin: 20px auto; }
.ecom-norma .top-section { flex-direction: column; gap: 16px; }
.ecom-norma .purchase-box { flex: none; width: 100%; }
.ecom-norma .product-detail { padding: 16px; }
.ecom-norma .header .logo { height: 60px; }
.ecom-norma .title { font-size: 18px; }
.ecom-norma .description { font-size: 1em; }
.ecom-norma .tabs-section { max-width: 100%; padding: 1.5em 1em; }
}
@media (max-width: 768px) {
.ecom-norma body { font-size: 13px; }
.ecom-norma .promo-banner { flex-direction: column; text-align: center; gap: 4px; padding: 8px 10px; }
.ecom-norma .main-container { margin: 16px auto; }
.ecom-norma .top-section { gap: 12px; }
.ecom-norma .header { flex-direction: column; align-items: flex-start; }
.ecom-norma .header .logo { height: 50px; }
.ecom-norma .title { font-size: 16px; }
.ecom-norma .subinfo { font-size: 11px; }
.ecom-norma .description { font-size: 0.95em; }
.ecom-norma .extract-btn { padding: 6px 12px; font-size: 13px; }
.ecom-norma .selectors { flex-direction: column; gap: 8px; padding: 12px; }
.ecom-norma .selectors .qty,
.ecom-norma .selectors .selector { width: 100%; }
.ecom-norma .buy-btn { width: 100%; margin-bottom: 16px; }
.ecom-norma .tabs-section .tabs { flex-wrap: wrap; justify-content: center; }
.ecom-norma .tabs-section .tab { flex: 1 1 45%; margin: 4px; padding: 10px 8px; font-size: 13px; text-align: center; }
.ecom-norma .tabs-section th,
.ecom-norma .tabs-section td { padding: 8px 10px; font-size: 12px; }
.ecom-norma .tabs-section th { width: 140px; }
}
(function () {
var container = document.getElementById("ecom-norma-header");
if (!container) return;
var btn = container.querySelector(".extract-btn");
if (!btn) return;
var rawCode = btn.getAttribute("data-code");
if (!rawCode || rawCode.indexOf("-") === -1) return;
var organism = rawCode.split("-")[0];
var code = rawCode.split("-")[1];
var downloadUrl = "";
var fileName = "extracto.pdf";
async function waitForGlobalScripts(timeoutMs) {
var start = Date.now();
return new Promise(function (resolve, reject) {
(function poll() {
if (window.ecomGlobalScripts?.functions?.getFieldCXCustomConfig && window.ecomGlobalScripts?.properties?.cxCustomConfigsNames) return resolve();
if (Date.now() - start > timeoutMs) return reject(new Error("ecomGlobalScripts no disponible"));
requestAnimationFrame(poll);
})();
});
}
async function resolveExtract() {
try {
await waitForGlobalScripts(5000);
var apiHost = await window.ecomGlobalScripts.functions.getFieldCXCustomConfig(
window.ecomGlobalScripts.properties.cxCustomConfigsNames.defaultName, "webApiUrl"
);
var infoRes = await fetch(apiHost + "/tijuana/normaExtract/" + encodeURIComponent(organism) + "/" + encodeURIComponent(code));
if (!infoRes.ok) return;
var info = await infoRes.json();
if (info.docId) {
downloadUrl = apiHost + "/tijuana/downloadNormaExtract/" + encodeURIComponent(organism) + "/" + encodeURIComponent(info.docId);
fileName = info.fileName || "extracto.pdf";
btn.style.display = "";
}
} catch (err) {
console.error("Error resolviendo extracto:", err);
}
}
var spinner = document.getElementById("ecom-extract-spinner");
btn.addEventListener("click", async function () {
if (!downloadUrl) return;
btn.disabled = true;
if (spinner) spinner.style.display = "flex";
try {
var fileRes = await fetch(downloadUrl);
if (!fileRes.ok) throw new Error("Error descargando el extracto");
var blob = await fileRes.blob();
var url = URL.createObjectURL(blob);
var a = document.createElement("a");
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
} catch (err) {
console.error("Error descargando extracto:", err);
} finally {
btn.disabled = false;
if (spinner) spinner.style.display = "none";
}
});
resolveExtract();
})();
.list-standards-section { margin: 40px auto 35px; }
.list-standards-section .standards-container { display: flex; flex-wrap: wrap; gap: 20px 3.5%; padding-right: 0; padding-left: 0; }
.list-standards-section .item-standard-adt {
position: relative;
border: 1px solid #e0e0e0;
padding: 28px 14px 16px;
border-radius: 4px;
background: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: visible;
min-height: 1px;
box-sizing: border-box;
}
.list-standards-section .item-standard-adt .info-standard {
position: static;
display: flex;
flex-direction: column;
flex: 1 1 auto;
}
.list-standards-section .item-standard-adt .info-standard a {
display: block;
}
.list-standards-section .tag-standard {
position: absolute;
background-color: #6a9bd3;
top: -10px;
left: 16px;
padding: 4px 10px;
border-radius: 4px;
color: #fff;
font-weight: bold;
font-size: 12px;
z-index: 5;
}
.list-standards-section .title-standard {
font-family: SohoGothicPro-Regular;
font-size: 16px;
font-weight: bold;
color: #1a4b94;
margin-top: 0;
margin-bottom: 6px;
line-height: 24px;
}
.list-standards-section .description-text {
margin-top: 0;
margin-bottom: 12px;
font-family: SohoGothicPro-Regular;
font-size: 13px;
text-align: left;
color: #333;
line-height: 20px;
}
.list-standards-section .price-container {
display: flex;
flex-direction: column;
text-align: left;
letter-spacing: -0.02em;
margin-top: auto;
}
.list-standards-section .price-container .price-ae {
font-size: 20px;
font-weight: bold;
margin-bottom: 10px;
color: #1a4b94;
}
.list-standards-section .standard-button {
border: 0;
outline: 0;
padding: 17px;
width: 100%;
text-align: center;
display: block;
background-color: var(--brand-color-1, #1f57a3);
color: #fff;
text-transform: uppercase;
font-family: SohoStd-Medium;
font-size: 14px;
font-weight: 500;
line-height: 14px;
text-decoration: none;
}
.list-standards-section .standard-button:hover { cursor: pointer; }
.list-standards-section .standard-button.disabled,
.list-standards-section .standard-button:disabled,
.list-standards-section .standard-button[disabled],
.list-standards-section .standard-button.ecom-btn-loading {
opacity: .6;
pointer-events: none;
filter: brightness(0.85);
}
.list-standards-section .standards-container .item-standard-adt {
width: calc((100% - (3 * 3.5%)) / 4);
}
.list-standards-section .view-grid { gap: 20px 3.5%; }
.list-standards-section .view-grid .item-standard-adt {
width: calc((100% - (3 * 3.5%)) / 4);
}
@media (max-width:1200px){ .list-standards-section .standards-container .item-standard-adt, .list-standards-section .view-grid .item-standard-adt { width: 48%; } }
@media (max-width: 576px) { .list-standards-section .standards-container .item-standard-adt, .list-standards-section .view-grid .item-standard-adt { width: 100%; } }
.list-standards-section .options-standard {
display: flex;
gap: 10px;
margin-bottom: 16px;
border: none;
}
.list-standards-section .options-standard .select-language,
.list-standards-section .options-standard .select-format {
background-color: #f5f5f5;
border: 1px solid #d0d0d0;
color: #2d2d2b;
font-size: 13px;
height: 38px;
}
.list-standards-section .options-standard .select-language:disabled,
.list-standards-section .options-standard .select-format:disabled {
background-color: #f5f5f5;
color: #2d2d2b;
opacity: 1;
}
.list-standards-section .options-standard .select-language { flex: 2; }
.list-standards-section .options-standard .select-format { flex: 1; }
select.form-control,
select.form-control:focus,
select.form-control:focus-visible {
background-image: url(/documents/d/global/ico-chevron-down);
background-size: 18px 10px;
background-position-x: 95%;
background-repeat: no-repeat;
position: relative;
}
.status-standard {
margin-right: 10px;
color: white;
font-size: 10px;
padding: 2px 6px;
border-radius: 3px;
font-weight: bold;
}
.list-standards-section .status-box {
text-transform: uppercase;
align-items: center;
display: flex;
flex-wrap: wrap;
margin: 0 0 10px;
gap: 4px 0;
}
.list-standards-section .status-box .status-standard.red-tag {
background-color: var(--ae-450, #D44436);
border: 1px solid var(--ae-450, #D44436);
color: #fff;
}
.list-standards-section .status-box .status-standard.green-tag {
background-color: #138636;
border: 1px solid #138636;
color: #fff;
}
.list-standards-section .status-box .status-standard.blue-tag {
background-color: #0078c0;
border: 1px solid #0078c0;
color: #fff;
}
.date-standard { font-size: 12px; color: #666; }
.list-standards-section .standard-button:hover,
.list-standards-section .standard-button:focus,
.list-standards-section .standard-button:focus-visible {
outline: 2px solid var(--brand-color-2, #6a9bd3);
outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(106, 155, 211, 0.35);
}
| Edition date: |
2012-07-25
In Force
|
|---|---|
| Available languages: | Spanish, English |
| ICS: | 97.220.40-Outdoor and water sports equipment, 13.340.20-Head protective equipment |
| CTN: | CTN 147/SC 2 - Deportes, campos de juego y otros equipos de recreo |
|
Standards Cancellations |
Anula parcialmente a PNE-EN 12492 Cancel to UNE-EN 12492/A1:2003 Cancel to UNE-EN 12492:2001 |
|
International Equivalence |
Identic EN 12492:2012 |










