/* home.html */
/* — tokens del DS (claude-design/raw/_ds/tokens/insumos.css) — */
/* Insumos Constructivos — tokens semánticos (fuente: DESIGN.md "Industrial Precision").
   Prefijo --ic-*. Los nombres son los de DESIGN.md; los valores son los que shipea el child theme. */
:root {
  /* Colores — primario (rojo de obra) */
  --ic-brand-red: #E30613;        /* superficies: botones, badge, ícono, subrayado activo, foco */
  --ic-brand-red-deep: #B5000B;   /* texto: links, precio de oferta, hover de botón */
  --ic-brand-red-ink: #930007;    /* hover de links, "sin stock" */
  --ic-red-tint: #FFDAD5;         /* fondo de aviso (nunca sobre blanco como texto) */
  --ic-red-tint-soft: #FFB4AA;    /* ícono de contacto en footer oscuro */

  /* Colores — secundario (acero) */
  --ic-steel-secondary: #586062;
  --ic-steel-accent: #505B5E;

  /* Colores — neutros (hormigón) */
  --ic-ink: #191C1D;              /* texto principal, titulares, precio regular */
  --ic-ink-muted: #5E3F3B;        /* breadcrumbs, meta, nota de envío */
  --ic-ink-quiet: #5D6466;        /* contadores, placeholder */
  --ic-charcoal: #2E3132;         /* footer (único bloque oscuro) */
  --ic-concrete-bg: #F8F9FA;      /* fondo del body */
  --ic-paper: #FFFFFF;            /* cards, inputs */
  --ic-concrete-low: #F3F4F5;     /* fondo imagen de producto, buscador header */
  --ic-concrete-mid: #EDEEEF;     /* franja de sección alternada */
  --ic-concrete-high: #E7E8E9;    /* cabecera de tabla */
  --ic-line: #E1E3E4;             /* borde de cards, tablas */
  --ic-line-strong: #C1C8CA;      /* borde de inputs, chips */
  --ic-footer-text: #C1C8CA;
  --ic-footer-text-dim: #A0A7AA;
  --ic-footer-line: #41484A;

  /* Colores — semánticos */
  --ic-whatsapp: #128C4A;
  --ic-whatsapp-hover: #0E7A3F;
  --ic-stock-in: #1B5E20;
  --ic-stock-out: #93000A;
  --ic-error: #BA1A1A;

  /* Tipografía */
  --ic-font-display: "Hanken Grotesk", sans-serif;   /* titulares, precios */
  --ic-font-body: "Inter", sans-serif;               /* cuerpo, labels, nav, botones */
  --ic-font-icon: "Material Symbols Outlined";

  --ic-fs-display: 56px;      /* 800 / 1.05 / -0.02em — solo H1 del hero */
  --ic-fs-headline: 48px;     /* 800 / 1.1 / -0.02em — H1 internas */
  --ic-fs-headline-lg: 32px;  /* 700 / 1.2 — H2 */
  --ic-fs-title: 24px;        /* 700 / 1.3 — H3 */
  --ic-fs-title-sm: 18px;     /* 600 / 1.35 — H4 */
  --ic-fs-card-title: 16px;   /* 700 / 1.3 — nombre de producto */
  --ic-fs-price: 24px;        /* 800 / 1.1 */
  --ic-fs-price-card: 18px;   /* 800 / 1.1 */
  --ic-fs-body-lg: 18px;      /* 400 / 1.6 */
  --ic-fs-body: 16px;         /* 400 / 1.6 */
  --ic-fs-body-sm: 14px;      /* 400 / 1.5 */
  --ic-fs-label: 14px;        /* 600 / 1.25 / 0.05em — botones y labels */
  --ic-fs-nav: 15px;          /* 500 / 1.4 / 0.01em */
  --ic-fs-eyebrow: 15px;      /* 700 / 1.3 / 0.04em / uppercase */
  --ic-fs-badge: 12px;        /* 700 / 1 / 0.04em / uppercase */

  /* Radios */
  --ic-radius-badge: 2px;
  --ic-radius-sm: 4px;        /* accionable: botones, inputs, badge oferta */
  --ic-radius-md: 8px;        /* contenedores: cards, tablas */
  --ic-radius-pill: 999px;    /* WhatsApp flotante, chips */

  /* Espaciado */
  --ic-space-stack-sm: 8px;
  --ic-space-stack-md: 16px;
  --ic-space-gutter: 24px;
  --ic-space-stack-lg: 32px;
  --ic-space-section-mobile: 48px;
  --ic-space-section: 80px;
  --ic-space-margin-mobile: 16px;
  --ic-container-max: 1280px;

  /* Sombras — sistema plano; solo estas tres existen */
  --ic-shadow-float: 0 6px 18px rgba(0, 0, 0, .22);          /* WhatsApp flotante */
  --ic-shadow-focus: 0 0 0 2px rgba(227, 6, 19, .15);        /* anillo de foco de inputs */
  --ic-shadow-hover: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1); /* hover de card */

  /* Breakpoints (Elementor): mobile ≤767px, tablet ≤1024px */
  --ic-bp-mobile: 767px;
  --ic-bp-tablet: 1024px;
}

/* — DS Insumos Constructivos (claude-design/raw/_ds/_ds_bundle.css) — */
400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap");







::selection { background: var(--ic-brand-red); color: #fff; }
:focus-visible { outline: 2px solid var(--ic-brand-red); outline-offset: 2px; }

.material-symbols-outlined {
  font-family: var(--ic-font-icon);
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-size: 24px; line-height: 1; vertical-align: middle;
}
.material-symbols-outlined[data-weight="fill"] { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }


.ic-container { max-width: var(--ic-container-max); margin: 0 auto; padding: 0 var(--ic-space-gutter); }
.ic-section { padding: var(--ic-space-section) 0; }
.ic-section--alt { background: var(--ic-concrete-mid); }
.ic-stack-sm > * + * { margin-top: var(--ic-space-stack-sm); }
.ic-stack-md > * + * { margin-top: var(--ic-space-stack-md); }
.ic-stack-lg > * + * { margin-top: var(--ic-space-stack-lg); }
.ic-grid-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ic-space-gutter); }
.ic-grid-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ic-space-gutter); }
.ic-shop-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--ic-space-stack-lg); }
.ic-legal-layout { display: flex; gap: var(--ic-space-stack-lg); }
.ic-legal-layout__index { flex: 0 0 280px; }
.ic-legal-layout__body { flex: 1 1 0; max-width: 760px; min-width: 0; }
@media (max-width: 1024px) {
  .ic-grid-products, .ic-grid-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ic-container { padding: 0 var(--ic-space-margin-mobile); }
  .ic-section { padding: var(--ic-space-section-mobile) 0; }
  .ic-shop-layout { grid-template-columns: 1fr; }
  .ic-legal-layout { flex-direction: column; }
  .ic-legal-layout__index { flex: none; }
}


.ic-display, .ic-headline, .ic-headline-lg, .ic-title, .ic-title-sm, .ic-card-title, .ic-price, .ic-price-card, .ic-eyebrow {
  font-family: var(--ic-font-display); color: var(--ic-ink); margin: 0;
}
.ic-display { font-size: var(--ic-fs-display); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; }
.ic-headline { font-size: var(--ic-fs-headline); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.ic-headline-lg { font-size: var(--ic-fs-headline-lg); font-weight: 700; line-height: 1.2; }
.ic-title { font-size: var(--ic-fs-title); font-weight: 700; line-height: 1.3; }
.ic-title-sm { font-size: var(--ic-fs-title-sm); font-weight: 600; line-height: 1.35; }
.ic-card-title { font-size: var(--ic-fs-card-title); font-weight: 700; line-height: 1.3; }
.ic-eyebrow { font-size: var(--ic-fs-eyebrow); font-weight: 700; line-height: 1.3; letter-spacing: 0.04em; text-transform: uppercase; }
.ic-body-lg { font-family: var(--ic-font-body); font-size: var(--ic-fs-body-lg); font-weight: 400; line-height: 1.6; }
.ic-body { font-family: var(--ic-font-body); font-size: var(--ic-fs-body); font-weight: 400; line-height: 1.6; }
.ic-body-sm { font-family: var(--ic-font-body); font-size: var(--ic-fs-body-sm); font-weight: 400; line-height: 1.5; }
.ic-label { font-family: var(--ic-font-body); font-size: var(--ic-fs-label); font-weight: 600; line-height: 1.25; letter-spacing: 0.05em; }
.ic-nav { font-family: var(--ic-font-body); font-size: var(--ic-fs-nav); font-weight: 500; line-height: 1.4; letter-spacing: 0.01em; }
.ic-muted { color: var(--ic-ink-muted); }
.ic-quiet { color: var(--ic-ink-quiet); }

.ic-display em, .ic-headline em, .ic-headline-lg em, .ic-title em { font-style: normal; color: var(--ic-brand-red); }

@media (max-width: 1024px) { .ic-display { font-size: 44px; } }
@media (max-width: 767px) {
  .ic-display { font-size: 36px; }
  .ic-headline { font-size: 36px; }
  .ic-headline-lg { font-size: 24px; }
  .ic-title { font-size: 22px; }
}


.ic-price { font-size: var(--ic-fs-price); font-weight: 800; line-height: 1.1; }
.ic-price-card { font-size: var(--ic-fs-price-card); font-weight: 800; line-height: 1.1; }
.ic-price ins, .ic-price-card ins, .ic-price--sale { color: var(--ic-brand-red-deep); text-decoration: none; }
.ic-price del, .ic-price-card del { color: var(--ic-ink-quiet); font-weight: 400; font-size: 0.75em; margin-right: 6px; }
.ic-stock--in { color: var(--ic-stock-in); font-weight: 600; }
.ic-stock--out { color: var(--ic-stock-out); font-weight: 600; }


.ic-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ic-brand-red); color: #fff; border: 1px solid transparent;
  border-radius: var(--ic-radius-sm); padding: 12px 24px; cursor: pointer; text-decoration: none;
  font-family: var(--ic-font-body); font-size: var(--ic-fs-label); font-weight: 600; line-height: 1.25; letter-spacing: 0.05em;
  transition: background-color .15s ease-out, color .15s ease-out;
}
.ic-btn:hover { background: var(--ic-brand-red-deep); color: #fff; }
.ic-btn:disabled, .ic-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; background: var(--ic-brand-red); }
.ic-btn--charcoal { background: var(--ic-charcoal); }
.ic-btn--charcoal:hover { background: var(--ic-brand-red-deep); }
.ic-btn--outline-inverse { background: transparent; border-color: var(--ic-concrete-bg); color: var(--ic-concrete-bg); }
.ic-btn--outline-inverse:hover { background: var(--ic-concrete-bg); color: var(--ic-ink); }
.ic-btn--whatsapp { background: var(--ic-whatsapp); border-radius: var(--ic-radius-pill); padding: 12px 20px; box-shadow: var(--ic-shadow-float); }
.ic-btn--whatsapp:hover { background: var(--ic-whatsapp-hover); }
.ic-btn--block { display: flex; width: 100%; }

.ic-wa-float { position: fixed; bottom: 24px; right: 24px; z-index: 40; }
@media (max-width: 767px) {
  .ic-wa-float { bottom: 16px; right: 16px; }
  .ic-wa-float .ic-btn { width: 56px; height: 56px; padding: 0; }
  .ic-wa-float .ic-btn__text { display: none; }
}
.ic-checkout .ic-wa-float { display: none; }


.ic-field { display: flex; flex-direction: column; gap: 6px; }
.ic-field__label { font-family: var(--ic-font-body); font-size: var(--ic-fs-label); font-weight: 600; color: var(--ic-ink); }
.ic-input, .ic-select, .ic-textarea {
  width: 100%; box-sizing: border-box; background: var(--ic-paper); color: var(--ic-ink);
  border: 1px solid var(--ic-line-strong); border-radius: var(--ic-radius-sm); padding: 10px 12px;
  font-family: var(--ic-font-body); font-size: var(--ic-fs-body); line-height: 1.4;
}
.ic-input::placeholder, .ic-textarea::placeholder { color: var(--ic-ink-quiet); }
.ic-input:focus, .ic-select:focus, .ic-textarea:focus { border-color: var(--ic-brand-red); outline: none; box-shadow: var(--ic-shadow-focus); }
.ic-input[aria-invalid="true"], .ic-field--error .ic-input { border-color: var(--ic-error); }
.ic-field__error { color: var(--ic-error); font-size: var(--ic-fs-body-sm); }
.ic-search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; background: var(--ic-concrete-low); border: 1px solid var(--ic-line); border-radius: var(--ic-radius-sm); color: var(--ic-ink); }
.ic-search input { flex: 1; min-width: 0; border: 0; background: transparent; font-family: var(--ic-font-body); font-size: var(--ic-fs-body-sm); color: var(--ic-ink); outline: none; }
.ic-search input::placeholder { color: var(--ic-ink-quiet); }
.ic-search--lg { height: 48px; }
input[type="number"].ic-input { -moz-appearance: textfield; }
input[type="number"].ic-input::-webkit-inner-spin-button, input[type="number"].ic-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }


.ic-card {
  position: relative; display: flex; flex-direction: column; background: var(--ic-paper);
  border: 1px solid var(--ic-line); border-radius: var(--ic-radius-md); overflow: hidden;
  transition: box-shadow .15s ease-out;
}
.ic-card:hover { box-shadow: var(--ic-shadow-hover); }
.ic-card__media { background: var(--ic-concrete-low); height: 240px; display: flex; align-items: center; justify-content: center; }
.ic-card__media img { width: 100%; height: 100%; object-fit: contain; }
.ic-card__body { display: flex; flex-direction: column; gap: var(--ic-space-stack-sm); padding: 16px; }
.ic-card__note { font-size: 12px; color: var(--ic-ink-muted); }
.ic-card__body .ic-btn { margin-top: auto; }

.ic-card--category .ic-card__body { align-items: center; text-align: center; }


.ic-badge {
  display: inline-block; background: var(--ic-brand-red); color: #fff; border-radius: var(--ic-radius-sm);
  padding: 6px 10px; font-family: var(--ic-font-body); font-size: var(--ic-fs-badge); font-weight: 700; line-height: 1;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.ic-badge--status { border-radius: var(--ic-radius-badge); }
.ic-card .ic-badge { position: absolute; top: 8px; left: 8px; z-index: 1; }


.ic-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ic-chip {
  display: inline-block; padding: 6px 12px; border: 1px solid var(--ic-line-strong); border-radius: var(--ic-radius-pill);
  background: transparent; color: var(--ic-ink); font-family: var(--ic-font-body); font-size: 13px; line-height: 1.3; text-decoration: none; cursor: pointer;
}
.ic-chip:hover, .ic-chip--active { color: var(--ic-brand-red); font-weight: 600; }


.ic-filter { margin-bottom: var(--ic-space-gutter); }
.ic-filter__title { font-family: var(--ic-font-display); font-weight: 700; font-size: 16px; margin: 0 0 12px; color: var(--ic-ink); }
.ic-filter__list { list-style: none; margin: 0; padding: 0; }
.ic-filter__list li { margin: 0 0 8px; }
.ic-filter__list a { color: var(--ic-ink); text-decoration: none; }
.ic-filter__list a:hover, .ic-filter__list .is-current > a { color: var(--ic-brand-red); font-weight: 600; }
.ic-filter__count { color: var(--ic-ink-quiet); }


.ic-table-wrap { overflow-x: auto; border: 1px solid var(--ic-line); border-radius: var(--ic-radius-md); margin-bottom: 24px; background: var(--ic-paper); }
.ic-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; }
.ic-table th { background: var(--ic-concrete-high); text-align: left; padding: 12px 16px; font-weight: 600; color: var(--ic-ink); }
.ic-table td { padding: 12px 16px; border-top: 1px solid var(--ic-line); vertical-align: top; color: var(--ic-ink); }
.ic-table td small { display: block; color: var(--ic-brand-red-deep); font-weight: 600; font-size: 12px; margin-top: 4px; }
@media (max-width: 767px) { .ic-table th, .ic-table td { padding: 10px 12px; font-size: 13px; } }


.ic-notice { display: flex; gap: 12px; align-items: flex-start; background: var(--ic-paper); border: 1px solid var(--ic-line); border-top: 3px solid var(--ic-brand-red); border-radius: var(--ic-radius-md); padding: 16px; }
.ic-notice .material-symbols-outlined { color: var(--ic-brand-red); }
.ic-notice--error { border-top-color: var(--ic-error); }
.ic-notice--error .material-symbols-outlined { color: var(--ic-error); }


.ic-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--ic-line); list-style: none; margin: 0; padding: 0; }
.ic-tabs a { display: inline-block; padding: 12px 0; font-family: var(--ic-font-body); font-weight: 600; color: var(--ic-ink); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ic-tabs .is-active a, .ic-tabs a:hover { color: var(--ic-brand-red); border-bottom-color: var(--ic-brand-red); }


.ic-header {  background: var(--ic-paper); border-bottom: 1px solid var(--ic-line); }
.ic-header__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; }
.ic-header__logo img { height: 40px; width: auto; }
.ic-header__search { flex: 1; max-width: 420px; }
.ic-nav-list { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }
.ic-nav-link { display: inline-block; padding: 8px 0; color: var(--ic-ink); text-decoration: none; font-family: var(--ic-font-body); font-size: var(--ic-fs-nav); font-weight: 500; letter-spacing: 0.01em; border-bottom: 2px solid transparent; }
.ic-nav-link:hover, .ic-nav-link--active { color: var(--ic-brand-red); border-bottom-color: var(--ic-brand-red); }
.ic-header__icons { display: flex; align-items: center; gap: 8px; color: var(--ic-ink); }
.ic-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; border: 0; color: var(--ic-ink); cursor: pointer; }
.ic-icon-btn:hover { color: var(--ic-brand-red); }
.ic-menu-toggle { display: none; }
@media (max-width: 1024px) {
  .ic-header__row { gap: 12px; padding: 12px 0; }
  .ic-header__search, .ic-nav-list { display: none; }
  .ic-menu-toggle { display: inline-flex; }
}


.ic-minicart__item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--ic-line); }
.ic-minicart__name { color: var(--ic-ink); font-weight: 600; text-decoration: none; }
.ic-minicart__subtotal { display: flex; justify-content: space-between; padding: 16px 0; font-weight: 700; color: var(--ic-ink); }
.ic-minicart__actions { display: flex; gap: 8px; }


.ic-footer { background: var(--ic-charcoal); color: var(--ic-footer-text); padding: 40px 0 20px; font-size: var(--ic-fs-body-sm); }
.ic-footer__grid { display: grid; grid-template-columns: 1.1fr 1.6fr 1.3fr; gap: var(--ic-space-stack-lg); }
.ic-footer__title { font-family: var(--ic-font-display); font-size: var(--ic-fs-eyebrow); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.ic-footer__menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; list-style: none; margin: 0; padding: 0; }
.ic-footer a { color: inherit; text-decoration: none; }
.ic-footer a:hover { color: #fff; }
.ic-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ic-footer__contact .material-symbols-outlined { color: var(--ic-red-tint-soft); font-size: 16px; margin-right: 8px; }
.ic-footer__logo-box { display: inline-block; background: var(--ic-paper); border-radius: 6px; padding: 8px 12px; margin-bottom: 16px; }
.ic-footer__logo-box img { height: 44px; width: auto; }
.ic-footer__bottom { border-top: 1px solid var(--ic-footer-line); margin-top: 32px; padding-top: 20px; font-size: 13px; color: var(--ic-footer-text-dim); }
@media (max-width: 767px) { .ic-footer__grid { grid-template-columns: 1fr; } }


.ic-accent-bar { width: 64px; height: 4px; background: var(--ic-brand-red); margin: 0 0 24px; }


.ic-hero { position: relative; color: var(--ic-concrete-bg); background: var(--ic-charcoal); overflow: hidden; }
.ic-hero__media { position: absolute; inset: 0; }
.ic-hero__media img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.ic-hero__content { position: relative; padding: 96px 0; max-width: 640px; display: flex; flex-direction: column; gap: var(--ic-space-stack-md); }
.ic-hero .ic-display, .ic-hero .ic-headline { color: #fff; }
.ic-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 767px) { .ic-hero__content { padding: 56px 0; } }


.ic-breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 16px; padding: 0; font-size: var(--ic-fs-body-sm); color: var(--ic-ink-muted); }
.ic-breadcrumbs a { color: inherit; text-decoration: none; }
.ic-breadcrumbs a:hover { color: var(--ic-brand-red); }

/* — clases custom irreducibles (xc*) — */
.xc01898b{aspect-ratio:4/3}
.xc0aa59d{min-height:40px}
@media (min-width:768px){.xc1afbbf{grid-template-columns:minmax(0,1fr) 400px !important}}
.xc2fb1ca{gap:8px 16px}
@media (min-width:768px){.xc32f088{grid-template-columns:260px minmax(0,1fr) !important}}
.xc389f26{gap:10px 16px}
@media (min-width:768px){.xc417fb8{grid-template-columns:1fr auto !important}}
.xc41e1ea{min-height:120px}
.xc4c34a7{background:linear-gradient(90deg,#2E3132 45%,#4a4f51 100%)}
@media (min-width:768px){.xc4c845c{grid-template-columns:2fr 1fr !important}}
@media (min-width:768px){.xc522ae3{grid-template-columns:minmax(0,1fr) 380px !important}}
.xc5ab40c{flex:none !important}
@media (min-width:768px){.xc7ac194{grid-template-columns:360px minmax(0,1fr) !important}}
@media (min-width:768px){.xc7cdb32{grid-template-columns:1.2fr 1fr !important}}
.xc9aa778{border-color:#F8F9FA}
@media (min-width:768px){.xcad43ee{grid-column:1/-1}}
@media (min-width:768px){.xcbc8302{grid-template-columns:280px minmax(0, 1fr) !important}}
.xcc8c437{box-shadow:none}
@media (min-width:768px){.xcdcdf3b{grid-template-columns:1.1fr 1.6fr 1.3fr !important}}
.xcf659e8{min-height:72px}

body{font-family:Inter,sans-serif;font-size:16px;line-height:1.6;color:#191C1D;background:#F8F9FA}
.ic-placeholder{display:flex;align-items:center}.ic-placeholder p{margin:0}
.ic-tablegrid{border:1px solid #e1e3e4;border-radius:8px;overflow:hidden;background:#fff}.ic-tablegrid__td{border-top:1px solid #e1e3e4}.ic-tablegrid p{margin:0}
#wa-float{position:fixed;bottom:24px;right:24px;z-index:40}
.elementor-heading-title em,h1 em,h2 em,h3 em{font-style:normal;color:#e30613}
@media(max-width:767px){.md-stack{flex-direction:column!important;align-items:stretch!important}#wa-float{bottom:16px;right:16px}}

/* ── insumos (claude-design/normalize.py) — reglas para Elementor; especificidad > override del plugin ── */
/* container 1280 centrado: el override .elementor .e-con > .e-con{width:auto;max-width:100%} lo pisaba */
.elementor .e-con.ic-container.e-con.e-con{width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
.elementor .e-con.ic-hero__content.e-con.e-con{max-width:640px!important}
.elementor .e-con.ic-legal-layout__body.e-con.e-con{flex:1 1 0!important;max-width:760px!important;min-width:0}
.elementor .e-con.ic-legal-layout__index.e-con.e-con{width:280px!important;flex:0 0 280px!important}
.elementor .e-con.ic-accent-bar.e-con.e-con{width:64px!important;min-height:4px;height:4px;padding:0;margin:0 0 24px}
.elementor .e-con.e-grid.e-con{grid-template-rows:none!important}
.elementor .e-con.flex-1.e-con{flex:1 1 0%!important}
.elementor-heading-title em{font-style:normal;color:#e30613}
.elementor-widget-text-editor del{color:#5d6466;font-weight:400;font-size:.75em;margin-right:6px}
.elementor-widget-text-editor ins{color:#b5000b;text-decoration:none}
.ic-placeholder{display:flex;align-items:center}
.ic-placeholder p{margin:0}
.ic-tablegrid{border:1px solid #e1e3e4;border-radius:8px;overflow:hidden;background:#fff}
.ic-tablegrid__td{border-top:1px solid #e1e3e4}
.ic-tablegrid p{margin:0}
.elementor-widget-wc-categories li.product img,.elementor-widget-woocommerce-products li.product img,.elementor-widget-wc-archive-products li.product img{aspect-ratio:1/1;object-fit:cover;width:100%;background:#f3f4f5}
::selection{background:#e30613;color:#fff}
:focus-visible{outline:2px solid #e30613;outline-offset:2px}
html{scroll-padding-top:120px}
#wa-float{position:fixed;bottom:24px;right:24px;z-index:40}
#wa-float .elementor-button{background:#128C4A;color:#fff;border-radius:999px;padding:12px 20px;box-shadow:0 6px 18px rgba(0,0,0,.22)}
#wa-float .elementor-button:hover{background:#0E7A3F;color:#fff}
.woocommerce-checkout #wa-float{display:none}
@media(max-width:1024px){
  .elementor .e-con.ic-grid-products.e-con,.elementor .e-con.ic-grid-categories.e-con{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .elementor .e-con.py-20.e-con{padding-top:48px!important;padding-bottom:48px!important}
  .elementor .e-con.py-24.e-con{padding-top:56px!important;padding-bottom:56px!important}
  .elementor .e-con.md-stack.e-con{flex-direction:column!important;align-items:stretch!important}
  .elementor .e-con.e-grid.e-con{grid-template-columns:1fr!important}
  html .elementor .e-con.e-grid.md-keep2.e-con{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html,body{overflow-x:hidden}
  #wa-float{bottom:16px;right:16px}
  #wa-float .elementor-button{width:56px;height:56px;padding:0;justify-content:center}
  #wa-float .elementor-button-text{display:none}
  #wa-float .elementor-button-icon{margin:0;font-size:26px}
}
/* ── footer (fondo #2e3132): links heredan el gris claro ── */
.elementor-location-footer .elementor-widget-text-editor a{color:inherit;text-decoration:none}
.elementor-location-footer .elementor-widget-text-editor a:hover{color:#fff}
/* ── WooCommerce con el DS (default Woo: botones violeta #7f54b3, onsale oliva, stock verde 3.4:1) ── */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #place_order,
.woocommerce .checkout-button,.woocommerce ul.products li.product .button,.woocommerce .wc-block-components-button{
  background-color:#e30613;color:#fff;border-radius:4px;font-family:Inter,sans-serif;font-weight:600;font-size:14px;
  letter-spacing:.05em;padding:12px 24px;line-height:1.25;transition:background-color .15s ease-out}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,.woocommerce ul.products li.product .button:hover{background-color:#b5000b;color:#fff}
.woocommerce a.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{background-color:#e30613;color:#fff;opacity:.5;padding:12px 24px}
.woocommerce span.onsale{background:#e30613;color:#fff;border-radius:4px;min-height:0;min-width:0;line-height:1;padding:6px 10px;margin:0;
  top:8px;left:8px;font-family:Inter,sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:#191c1d}
.woocommerce div.product p.price ins,.woocommerce ul.products li.product .price ins{color:#b5000b;text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#191c1d;font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:16px}
.woocommerce div.product .stock.in-stock{color:#1b5e20}
.woocommerce div.product .stock.out-of-stock{color:#93000a}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:Inter,sans-serif;font-weight:600;color:#191c1d}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#e30613}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-top-color:#e30613}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:#e30613}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-cart .coupon input.input-text{border:1px solid #c1c8ca;border-radius:4px;padding:10px 12px;font-family:Inter,sans-serif}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:#e30613;outline:none;box-shadow:0 0 0 2px rgba(227,6,19,.15)}
.woocommerce-cart .coupon input.input-text{min-width:180px}
/* ── mini-cart (Elementor menu-cart) con el DS ── */
.elementor-menu-cart__product-name a{color:#191c1d;font-weight:600}
.elementor-menu-cart__product-price,.elementor-menu-cart__subtotal{color:#191c1d}
.elementor-menu-cart__footer-buttons .elementor-button{background:#e30613!important;color:#fff!important;border-radius:4px!important;font-weight:600}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart{background:#2e3132!important}
.elementor-menu-cart__footer-buttons .elementor-button:hover{background:#b5000b!important}
/* ── filtros de tienda (widget-area, patch-kit §9) ── */
.insumos-shop-widget{margin-bottom:24px}
.insumos-shop-widget-title{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:16px;margin-bottom:12px;color:#191c1d}
.insumos-shop-widget .product-categories{list-style:none;margin:0;padding:0}
.insumos-shop-widget .product-categories li{margin:0 0 8px}
.insumos-shop-widget .product-categories li a{color:#191c1d;text-decoration:none}
.insumos-shop-widget .product-categories li a:hover,.insumos-shop-widget .product-categories li.current-cat > a{color:#e30613;font-weight:600}
.insumos-shop-widget .product-categories .count{color:#5d6466}
@media(max-width:767px){
  .insumos-shop-widget{margin-bottom:12px}
  .insumos-shop-widget .product-categories{display:flex;flex-wrap:wrap;gap:8px}
  .insumos-shop-widget .product-categories li{margin:0}
  .insumos-shop-widget .product-categories li a{display:inline-block;padding:6px 12px;border:1px solid #c1c8ca;border-radius:999px;font-size:13px;line-height:1.3}
  .insumos-shop-widget .product-categories .count{display:none}
  .insumos-shop-widget:has(.price_slider){display:none}
}