/**
 * Catálogo público — paleta AEG: azul marino #001F3F, naranja #FF6600,
 * grises neutros, blanco. Tipografía sans-serif de sistema (sin cargar
 * fuentes externas: misma familia moderna en toda plataforma, sin request
 * de red extra).
 */

.wcfg-catalog,.wcfg-catalog-login{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#172033;-webkit-font-smoothing:antialiased}

/* ---------- Layout general ---------- */

.wcfg-catalog{max-width:1180px;margin:0 auto 48px;padding:0 20px}
.wcfg-catalog-main{padding:36px 0}

/* ---------- Header azul marino + wordmark ---------- */

.wcfg-catalog-header{
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    margin:0 -20px 0;padding:20px 20px;
    background:#001F3F;
    border-radius:0 0 10px 10px;
}
.wcfg-catalog-brand{
    display:flex;align-items:baseline;gap:10px;
    color:#fff;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:.02em;
}
.wcfg-catalog-brand em{color:#FF6600;font-style:normal}
.wcfg-catalog-brand span{color:#b9c6d6;font-size:13px;font-weight:600;letter-spacing:.03em}
.wcfg-catalog-brand:hover{opacity:.9}

/* ---------- Breadcrumb ---------- */

.wcfg-breadcrumb{display:flex;gap:8px;align-items:center;margin:24px 0 14px;color:#64748b;font-size:14px;flex-wrap:wrap}
.wcfg-breadcrumb a{color:#001F3F;font-weight:600;text-decoration:none;transition:color .15s ease}
.wcfg-breadcrumb a:hover,.wcfg-breadcrumb a:focus{color:#FF6600;text-decoration:underline}

/* ---------- Encabezados de sección ---------- */

.wcfg-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.wcfg-page-heading h1{font-size:28px;margin:0;color:#001F3F}
.wcfg-eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FF6600;margin:0 0 4px}

/* ---------- Botones ---------- */

.wcfg-button{
    display:inline-block;background:#FF6600;border:0;border-radius:7px;
    color:#fff!important;padding:11px 18px;text-decoration:none;font-weight:700;
    cursor:pointer;font-size:14px;transition:background-color .15s ease,transform .1s ease;
}
.wcfg-button:hover{background:#e65c00}
.wcfg-button:active{transform:scale(.98)}
.wcfg-button--secondary{background:#eef2f6;color:#001F3F}
.wcfg-button--secondary:hover{background:#e1e8f0}
.wcfg-link-button{color:#001F3F;background:none;border:0;padding:0;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}
.wcfg-link-button:hover{color:#FF6600;text-decoration:underline}
.wcfg-link-button--danger{color:#b42318}

/* ---------- Grid de categorías / subcategorías — 1 / 2 / 3 columnas ---------- */

.wcfg-catalog-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:640px){.wcfg-catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.wcfg-catalog-grid{grid-template-columns:repeat(3,1fr)}}

.wcfg-catalog-card{
    display:flex;flex-direction:column;gap:6px;background:#fff;
    border:1px solid #e5e9f0;border-top:3px solid transparent;border-radius:10px;
    box-shadow:0 1px 2px rgba(0,31,63,.05);padding:22px;text-decoration:none;color:#172033;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.wcfg-catalog-card:hover{border-color:#e5e9f0;border-top-color:#FF6600;box-shadow:0 10px 24px rgba(0,31,63,.12);transform:translateY(-2px)}
.wcfg-catalog-card strong{font-size:17px;color:#001F3F}
.wcfg-catalog-card span{color:#64748b;font-size:13px}

/* ---------- Grid de productos — 1 / 2 / 3 columnas ---------- */

.wcfg-catalog-product-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:640px){.wcfg-catalog-product-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.wcfg-catalog-product-grid{grid-template-columns:repeat(3,1fr)}}

.wcfg-catalog-product-card{
    display:flex;flex-direction:column;gap:4px;background:#fff;
    border:1px solid #e5e9f0;border-radius:10px;box-shadow:0 1px 2px rgba(0,31,63,.05);
    padding:18px;text-decoration:none;color:#172033;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.wcfg-catalog-product-card:hover{border-color:#FF6600;box-shadow:0 10px 24px rgba(0,31,63,.12);transform:translateY(-2px)}
.wcfg-catalog-product-thumb{display:block;width:100%;height:150px;object-fit:contain;margin-bottom:8px;background:#f8fafc;border-radius:6px}
.wcfg-catalog-product-thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:30px;line-height:150px}
.wcfg-catalog-product-image{margin:0 0 20px}
.wcfg-catalog-product-image img{max-width:320px;width:100%;border:1px solid #e5e9f0;border-radius:10px;background:#f8fafc}
.wcfg-catalog-product-sku{font-size:11px;font-weight:700;letter-spacing:.04em;color:#94a3b8;text-transform:uppercase}
.wcfg-catalog-product-card strong{font-size:15px;line-height:1.35;color:#001F3F}
.wcfg-catalog-product-desc{color:#64748b;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.wcfg-quote-add-btn{margin-top:12px;width:100%}
.wcfg-page-heading .wcfg-quote-add-btn{width:auto;margin-top:0}

/* ---------- Ficha de producto ---------- */

.wcfg-catalog-product-description{color:#334155;line-height:1.6;max-width:760px}
.wcfg-catalog-external-link{margin:18px 0}
.wcfg-catalog-external-link a{color:#001F3F;font-weight:700;text-decoration:none}
.wcfg-catalog-external-link a:hover{color:#FF6600;text-decoration:underline}
.wcfg-catalog-external-note{color:#94a3b8;font-size:12px;margin-left:8px}
.wcfg-catalog-section-title{font-size:18px;margin:28px 0 12px;color:#001F3F}
.wcfg-catalog-specs-table th{width:280px;text-align:left;color:#475569;font-weight:700;background:#f8fafc}

.wcfg-table-wrap{overflow:auto;background:#fff;border:1px solid #e5e9f0;border-radius:10px;box-shadow:0 1px 2px rgba(0,31,63,.05)}
.wcfg-table{width:100%;border-collapse:collapse}
.wcfg-table th,.wcfg-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e9f0;vertical-align:top}
.wcfg-table tr:last-child th,.wcfg-table tr:last-child td{border-bottom:0}

/* ---------- Login (legacy — ya no se usa con catálogo público, se deja
   estilizado por si alguna vista futura la reactiva) ---------- */

.wcfg-catalog-login{max-width:460px;margin:80px auto;padding:0 20px}
.wcfg-catalog-login__card{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:36px;box-shadow:0 8px 28px rgba(0,31,63,.08)}
.wcfg-catalog-login h1{margin:10px 0;color:#001F3F}
.wcfg-catalog-login p{color:#64748b}
.wcfg-catalog-login form label{display:block;margin:16px 0 6px;font-weight:700}
.wcfg-catalog-login form input[type=text],.wcfg-catalog-login form input[type=password]{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:10px}
.wcfg-catalog-login form input[type=submit]{background:#FF6600;border:0;border-radius:7px;color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}

/* ---------- Request Quote: carrito flotante + modal ---------- */

.wcfg-quote-cart-badge{position:fixed;right:20px;bottom:20px;z-index:9998}
.wcfg-quote-cart-badge button{
    display:flex;align-items:center;gap:8px;
    background:#001F3F;color:#fff;border:0;border-radius:999px;
    padding:14px 22px;font-weight:700;font-size:14px;cursor:pointer;
    box-shadow:0 10px 28px rgba(0,31,63,.35);
    transition:transform .15s ease,box-shadow .15s ease;
}
.wcfg-quote-cart-badge button:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,31,63,.4)}
.wcfg-quote-cart-badge [data-wcfg-quote-cart-count]{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:20px;height:20px;padding:0 5px;border-radius:999px;
    background:#FF6600;color:#fff;font-size:12px;font-weight:800;
}

.wcfg-modal-overlay{
    position:fixed;inset:0;background:rgba(0,15,31,.55);
    display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;
    opacity:0;transition:opacity .2s ease;
}
.wcfg-modal-overlay[hidden]{display:none}
.wcfg-modal-overlay.is-open{opacity:1}

.wcfg-modal{
    position:relative;background:#fff;border-radius:14px;max-width:520px;width:100%;
    max-height:88vh;overflow:auto;padding:32px;
    box-shadow:0 30px 70px rgba(0,15,31,.35);
    border-top:4px solid #FF6600;
    transform:translateY(12px) scale(.98);opacity:0;
    transition:transform .2s ease,opacity .2s ease;
}
.wcfg-modal-overlay.is-open .wcfg-modal{transform:translateY(0) scale(1);opacity:1}

.wcfg-modal h2{margin:0 0 6px;font-size:22px;color:#001F3F}
.wcfg-modal label{display:block;font-weight:700;margin:16px 0 6px;font-size:14px;color:#334155}
.wcfg-modal input:not([type=checkbox]),.wcfg-modal textarea{
    box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:6px;
    padding:10px;font:inherit;transition:border-color .15s ease,box-shadow .15s ease;
}
.wcfg-modal input:not([type=checkbox]):focus,.wcfg-modal textarea:focus{
    outline:none;border-color:#FF6600;box-shadow:0 0 0 3px rgba(255,102,0,.15);
}
.wcfg-modal-close{position:absolute;top:16px;right:16px;background:none;border:0;font-size:24px;line-height:1;color:#94a3b8;cursor:pointer;padding:4px;transition:color .15s ease}
.wcfg-modal-close:hover{color:#001F3F}
.wcfg-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.wcfg-quote-product-name{color:#475569;font-weight:600}
.wcfg-quote-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.wcfg-quote-error{margin-top:14px;padding:10px 12px;border-radius:7px;background:#fef3f2;color:#b42318;font-size:14px}

.wcfg-quote-cart-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.wcfg-quote-cart-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #e5e9f0}
.wcfg-quote-cart-item__sku{color:#94a3b8;font-size:12px;font-weight:600}
.wcfg-quote-cart-item__meta{color:#64748b;font-size:13px;margin-top:2px}
.wcfg-quote-cart-empty{color:#64748b;margin-top:10px}

/* ---------- Responsive ---------- */

@media (max-width:700px){
    .wcfg-catalog{margin:0 auto 32px}
    .wcfg-catalog-header{flex-direction:column;align-items:flex-start;gap:6px;margin:0 -20px;border-radius:0 0 8px 8px}
    .wcfg-page-heading{align-items:flex-start;flex-direction:column}
    .wcfg-catalog-main{padding:24px 0}
    .wcfg-quote-add-btn,.wcfg-page-heading .wcfg-quote-add-btn{width:100%}
}

@media (max-width:500px){
    .wcfg-modal{padding:22px;max-height:92vh}
    .wcfg-modal-actions{flex-direction:column}
    .wcfg-modal-actions .wcfg-button{width:100%}
    .wcfg-quote-cart-badge{right:12px;bottom:12px}
    .wcfg-quote-cart-badge button{padding:12px 16px;font-size:13px}
}

@media (prefers-reduced-motion:reduce){
    .wcfg-modal-overlay,.wcfg-modal,.wcfg-catalog-card,.wcfg-catalog-product-card,.wcfg-quote-cart-badge button{transition:none}
}
