.text-muted {
  color: var(--text-muted) !important;
}

.text-white {
  color: var(--white) !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  overflow: hidden;
  overflow: clip;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 2px solid var(--industrial-red);
  transition: transform 0.3s var(--transition-smooth);
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 10px;
  background:
    radial-gradient(circle, var(--brand-seam-dot) 0 1.15px, transparent 1.3px) center / 18px 10px repeat-x,
    linear-gradient(
      90deg,
      transparent 0,
      var(--brand-seam-color) 2rem,
      var(--brand-seam-color) calc(100% - 2rem),
      transparent 100%
    );
  opacity: 0.72;
  pointer-events: none;
}

.site-header.header-hidden {
  transform: translateY(-100%);
}

.navbar {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  flex-shrink: 1;
  gap: 0.7rem;
  color: var(--white);
  text-transform: uppercase;
  text-decoration: none;
  will-change: auto;
  transition: transform 0.25s var(--transition-smooth);
}

.navbar-brand:hover,
.navbar-brand:focus {
  will-change: transform;
  color: var(--white);
  transform: scale(1.02);
}

.logo-nav {
  width: 50px;
  height: 46px;
  border-radius: 1px;
  padding: 5px;
  object-fit: contain;
}

.logo-img {
  display: block;
  width: clamp(130px, 28vw, 200px);
  max-width: 100%;
  aspect-ratio: 325 / 95;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  background: var(--white);
  padding: 6px;
}

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  color: var(--concrete);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-left: 0.55rem;
  padding-right: 0.55rem;
  transition: color 0.25s var(--transition-smooth);
}

.navbar-dark .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 0.55rem;
  bottom: 2px;
  width: 0;
  height: 2px;
  background: var(--industrial-red);
  transition: width 0.25s var(--transition-smooth);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--white);
}

.navbar-dark .navbar-nav .nav-link:hover::after,
.navbar-dark .navbar-nav .nav-link.active::after {
  width: calc(100% - 1.1rem);
}

.navbar-toggler {
  border-color: rgba(255, 255, 255, 0.35);
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(211, 47, 47, 0.3);
}

.btn {
  border-radius: var(--radius-md);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  will-change: auto;
  transition:
    transform var(--transition-fast) var(--transition-smooth),
    box-shadow var(--transition-fast) var(--transition-smooth),
    background var(--transition-fast) var(--transition-smooth),
    color var(--transition-fast) var(--transition-smooth),
    border-color var(--transition-fast) var(--transition-smooth);
}

.btn:hover {
  will-change: transform;
  transform: translateY(-2px);
}

.btn-sm {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

.btn-lg {
  padding: 1rem 2rem;
  font-size: 1.1rem;
}

.btn-full {
  width: 100%;
}

.btn:disabled,
.btn.disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.btn-cta-main,
.btn-primary,
.btn-nav-cta,
.btn-cta-whatsapp {
  border: 2px solid var(--industrial-red);
  background: var(--industrial-red);
  color: var(--white);
  box-shadow: var(--shadow-sm);
}

.btn-cta-main:hover,
.btn-primary:hover,
.btn-nav-cta:hover,
.btn-cta-whatsapp:hover {
  background: var(--industrial-red-dark);
  border-color: var(--industrial-red-dark);
  color: var(--white);
  box-shadow: var(--shadow-industrial);
}

.btn-outline-main,
.btn-secondary {
  border: 2px solid var(--industrial-red);
  color: var(--industrial-red);
  background: transparent;
}

.btn-outline-main:hover,
.btn-secondary:hover {
  background: var(--industrial-red);
  color: var(--white);
}

.btn-cta-whatsapp {
  border-radius: var(--radius-full);
}

.page-hero,
.contact-hero,
.hero-industrial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4.2rem, 9vw, 5.8rem) 0 clamp(2.3rem, 6vw, 3.4rem);
}

.page-hero::before,
.contact-hero::before,
.hero-industrial::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(211, 47, 47, 0.85), rgba(38, 50, 56, 0.9)),
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, 0.06) 0,
      rgba(255, 255, 255, 0.06) 8px,
      transparent 8px,
      transparent 20px
    );
}

.page-hero::after,
.contact-hero::after,
.hero-industrial::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      116deg,
      transparent 0 57%,
      var(--brand-plate-glow) 57% 57.8%,
      transparent 57.8% 61%,
      rgba(211, 47, 47, 0.18) 61% 61.8%,
      transparent 61.8%
    ),
    radial-gradient(circle at 16% 72%, rgba(255, 255, 255, 0.18) 0 2px, transparent 2.2px),
    radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.18) 0 2px, transparent 2.2px),
    radial-gradient(circle, rgba(255, 255, 255, 0.07) 0 1px, transparent 1.2px) center / 34px 34px repeat;
  mix-blend-mode: screen;
  opacity: 0.9;
  pointer-events: none;
}

.page-hero .container,
.contact-hero .container,
.hero-industrial .container {
  position: relative;
  z-index: var(--z-base);
}

.page-hero,
.contact-hero,
.hero-industrial,
.page-hero h1,
.page-hero .lead,
.contact-hero h1,
.contact-hero p,
.hero-industrial h1,
.hero-industrial .lead {
  color: var(--white);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
.page-hero .eyebrow,
.contact-hero .eyebrow,
.hero-industrial .eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  overflow: hidden;
}

.page-hero .eyebrow::before,
.contact-hero .eyebrow::before,
.hero-industrial .eyebrow::before {
  content: "";
  width: 1.1rem;
  height: 0.8rem;
  flex: 0 0 1.1rem;
  border-radius: 2px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(176, 190, 197, 0.92));
  clip-path: polygon(0 50%, 18% 0, 100% 0, 82% 100%, 0 100%);
  box-shadow:
    inset 0 0 0 1px rgba(38, 50, 56, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

.page-hero .eyebrow::after,
.contact-hero .eyebrow::after,
.hero-industrial .eyebrow::after {
  content: "";
  width: 2.8rem;
  height: 0.55rem;
  flex: 0 0 2.8rem;
  border-radius: 999px;
  background:
    radial-gradient(circle, currentColor 0 1px, transparent 1.15px) center / 14px 6px repeat-x,
    linear-gradient(
      90deg,
      transparent 0,
      currentColor 12%,
      currentColor 88%,
      transparent 100%
    );
  opacity: 0.62;
}
    radial-gradient(circle, currentColor 0 1px, transparent 1.15px) center / 14px 6px repeat-x,
    linear-gradient(
      90deg,
      transparent 0,
      currentColor 12%,
      currentColor 88%,
      transparent 100%
    );
  opacity: 0.62;
}

.page-hero h1,
.hero-industrial h1,
.contact-hero h1,
.contact-title {
  font-size: clamp(2.1rem, 6vw, 4rem);
  margin-bottom: 0.75rem;
}

.page-hero .lead,
.hero-industrial .lead,
.contact-hero p {
  max-width: 60ch;
  font-size: clamp(1rem, 2.3vw, 1.2rem);
  color: #e4ecef;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.60rem;
}

.hero-badges span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  padding: 0.35rem 0.40rem;
  background: rgba(255, 255, 255, 0.08);
}

.hero-badges i {
  color: #ffd6d6;
  margin-right: 0.40rem;
}

.section-shell {
  position: relative;
  margin-top: 1.8rem;
  padding: clamp(2.2rem, 5vw, 3.5rem) 0;
  border-top: 1px solid var(--line-soft);
  background: var(--bg-soft);
}

.section-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(176, 190, 197, 0.1), transparent 28%);
  pointer-events: none;
}

.section-shell-tight {
  padding: clamp(1.5rem, 4vw, 2.5rem) 0;
}

.section-shell .container {
  position: relative;
  z-index: var(--z-base);
}

.section-dark {
  background:
    linear-gradient(130deg, rgba(0, 0, 0, 0.88), rgba(38, 50, 56, 0.95)),
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, 0.04) 0,
      rgba(255, 255, 255, 0.04) 8px,
      transparent 8px,
      transparent 20px
    );
  color: var(--white);
}

.section-dark p,
.section-dark .section-subtitle {
  color: #c5d0d6;
}

.section,
.section-light {
  padding: clamp(2.3rem, 5vw, 3.4rem) 0;
}

.section-header {
  text-align: center;
  margin-bottom: 1.7rem;
}

.section-title {
  position: relative;
  display: inline-block;
  color: var(--industrial-red);
  font-size: clamp(2rem, 4.8vw, 3.2rem);
  margin-bottom: 0.35rem;
  padding: 0 0.85rem 1rem;
}

.section-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(180px, 70%);
  height: 12px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.65) 0 1.15px, transparent 1.3px) center / 18px 12px repeat-x,
    linear-gradient(
      90deg,
      transparent 0,
      var(--brand-seam-color) 10px,
      var(--brand-seam-color) calc(100% - 10px),
      transparent 100%
    );
  opacity: 0.88;
}

.section-subtitle {
  color: var(--text-muted);
  max-width: 62ch;
  margin: 0 auto;
}

.home-trust-strip,
.trust-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

.trust-strip {
  padding: 1.2rem 0;
  margin: 0;
  border-top: 2px solid var(--industrial-red);
  background: var(--bg-panel);
}

.trust-item {
  background: var(--white);
  border: 1px solid #d7e0e4;
  border-left: 4px solid var(--industrial-red);
  border-radius: var(--radius-lg);
  padding: 0.82rem;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-weight: 600;
  box-shadow: var(--shadow-sm);
  transition:
    transform var(--transition-fast) var(--transition-smooth),
    box-shadow var(--transition-fast) var(--transition-smooth);
}

.trust-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.trust-icon,
.trust-item i {
  color: var(--industrial-red);
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 1.2rem;
}

.card-shell,
.quote-shell,
.sidebar-shell,
.pricing-card,
.product-card,
.blog-card,
.mini-card,
.featured-post {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #d6dfe3;
  border-left: 4px solid var(--industrial-red);
  border-radius: 14px;
  padding: 1.50rem 2.1rem;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
  will-change: auto;
  transition:
    transform var(--transition-fast) var(--transition-smooth),
    box-shadow var(--transition-fast) var(--transition-smooth),
    border-color var(--transition-fast) var(--transition-smooth);
}

.card-shell:hover,
.quote-shell:hover,
.sidebar-shell:hover,
.pricing-card:hover,
.product-card:hover,
.blog-card:hover,
.mini-card:hover,
.featured-post:hover {
  will-change: transform;
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
  border-color: #b9c9d0;
}

.card-shell-dark {
  background: linear-gradient(120deg, #11191d, #263238);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left-color: var(--industrial-red);
}

.quote-form-wrapper {
  border: 1px solid rgba(176, 190, 197, 0.45);
  border-left: 4px solid var(--industrial-red);
  border-radius: var(--radius-xl);
  padding: 1.4rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(6px);
}

.form-label {
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--steel-gray);
}

.form-control,
.form-select,
.form-input {
  border: 1px solid #c9d5db;
  border-radius: var(--radius-md);
  padding: 0.66rem 0.78rem;
  background: rgba(255, 255, 255, 0.95);
  color: var(--steel-dark);
  transition:
    border-color var(--transition-fast) var(--transition-smooth),
    box-shadow var(--transition-fast) var(--transition-smooth),
    background var(--transition-fast) var(--transition-smooth);
}

.form-control:focus,
.form-select:focus,
.form-input:focus {
  border-color: var(--industrial-red);
  box-shadow: 0 0 0 3px var(--industrial-red-alpha);
  outline: 0;
}

.form-check-input:checked {
  background-color: var(--industrial-red);
  border-color: var(--industrial-red);
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(211, 47, 47, 0.2);
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.pricing-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
}

.pricing-card strong {
  display: block;
}

.pricing-card span,
.price-tag,
.quote-total strong,
.summary-amount {
  color: var(--industrial-red);
  font-weight: 700;
}

.pricing-card.active,
.addon-item.selected,
.addon-item[aria-pressed="true"],
.addon-item.active,
.choice-chip.active,
.choice-chip[aria-pressed="true"] {
  border-color: var(--industrial-red);
  background: #fff3f3;
  box-shadow: 0 0 0 0.2rem rgba(211, 47, 47, 0.15);
}

.addon-list {
  display: grid;
  gap: 0.56rem;
}

.addon-list-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.addon-item {
  border: 1px solid #d0dbe0;
  border-radius: 10px;
  background: #fff;
  padding: 0.62rem 0.8rem;
  display: flex;
  justify-content: space-between;
  transition: background 0.2s var(--transition-smooth),
    border-color 0.2s var(--transition-smooth);
}

.addon-item strong {
  margin-left: 0.6rem;
  color: var(--industrial-red);
}

.choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.choice-chip {
  border: 1px solid #cdd8de;
  border-radius: 999px;
  background: #fff;
  color: var(--steel-dark);
  padding: 0.42rem 0.82rem;
  font-weight: 600;
  transition: all 0.2s var(--transition-smooth);
}

.choice-chip:hover {
  border-color: var(--industrial-red);
  color: var(--industrial-red);
}

.quote-summary,
.summary-box {
  border: 1px solid #d5dfe4;
  border-radius: 12px;
  background: #f4f7f8;
  padding: 0.85rem;
}

.quote-total {
  margin-top: 0.45rem;
  font-size: 1.08rem;
}

.benefit-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.68rem;
}

.benefit-checklist li {
  position: relative;
  padding-left: 1.45rem;
}

.benefit-checklist li::before {
  content: "\2714";
  position: absolute;
  left: 0;
  color: var(--industrial-red);
  font-weight: 700;
}

.page-grid,
.page-grid-2,
.page-grid-3,
.services-grid,
.stats-grid,
.kpi-row,
.footer-grid,
.contact-footer-content,
.testimonials-grid,
.form-grid {
  display: grid;
  gap: 1rem;
}

.page-grid {
  grid-template-columns: 1fr;
}

.page-grid-2 {
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  align-items: start;
}

.page-grid-3,
.services-grid,
.testimonials-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.products-grid {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.stats-grid,
.kpi-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat-item,
.kpi-box {
  text-align: center;
  background: linear-gradient(120deg, #10181d, #27343b);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 1rem;
}

.stat-number,
.kpi-box strong {
  display: block;
  font-size: clamp(2rem, 5vw, 3.4rem);
  color: var(--industrial-red);
}

.stat-label {
  color: #d4dee3;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.table-specs {
  width: 100%;
  border-collapse: collapse;
}

.table-specs th,
.table-specs td {
  padding: 0.6rem 0.5rem;
  border-bottom: 1px solid #d2dde2;
  vertical-align: top;
}

.table-specs th {
  width: 36%;
  color: var(--steel-dark);
}

.spec-list {
  display: grid;
  gap: 0.7rem;
}

.spec-list li {
  padding-bottom: 0.7rem;
  border-bottom: 1px solid #dde6ea;
}

.spec-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.product-related-links {
  margin-top: 1rem;
}

.product-related-links li {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  color: var(--text-muted);
  font-size: 0.96rem;
}

.product-related-links a {
  color: var(--industrial-red);
  text-decoration: none;
  font-weight: 600;
}

.product-related-links a:hover {
  color: var(--industrial-red-dark);
}

.filter-list,
.blog-toolbar {
  display: grid;
  gap: 0.85rem;
}

.meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  color: var(--text-muted);
}

.meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  border: 1px solid #d5e0e5;
  border-radius: 999px;
  padding: 0.2rem 0.52rem;
  background: #f6f9fa;
}

.card-image,
.card-image-sm,
.product-image {
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  background: #e3ebef;
}

.card-image,
.product-image {
  height: 300px;
}

.card-image-sm {
  height: 200px;
}

.lazy-load {
  opacity: 0;
  transition: opacity var(--transition-normal) var(--transition-smooth);
}

.lazy-load.loaded {
  opacity: 1;
}

.list-reset {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-reset li + li {
  margin-top: 0.48rem;
}

.breadcrumb-lite {
  font-size: 0.92rem;
  color: var(--text-muted);
}

.breadcrumb-lite a {
  color: var(--steel-dark);
  text-decoration: none;
}

.breadcrumb-lite a:hover {
  color: var(--industrial-red);
}

.breadcrumb-nav {
  margin-bottom: 1rem;
}

.breadcrumb-trail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.92rem;
  color: var(--text-muted);
}

.breadcrumb-trail li {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.breadcrumb-trail li:not(:last-child)::after {
  content: "/";
  color: #9aaab1;
}

.breadcrumb-trail a {
  color: var(--steel-dark);
  text-decoration: none;
}

.breadcrumb-trail a:hover {
  color: var(--industrial-red);
}

.breadcrumb-trail [aria-current="page"] {
  color: var(--industrial-red);
  font-weight: 700;
}

.pagination-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.pagination-wrap a,
.pagination-wrap button {
  border: 1px solid #d1dde3;
  border-radius: 8px;
  padding: 0.33rem 0.62rem;
  background: #fff;
  color: var(--steel-dark);
  text-decoration: none;
}

.pagination-wrap .active {
  border-color: var(--industrial-red);
  color: var(--industrial-red);
  font-weight: 700;
}

.status-msg {
  min-height: 1.2em;
  font-size: 0.93rem;
  font-weight: 600;
}

.status-ok {
  color: var(--ok);
}

.status-error {
  color: var(--danger);
}

.resource-card,
.gallery-card {
  height: 100%;
}

.resource-card {
  display: flex;
  flex-direction: column;
}

.gallery-card {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.gallery-card figcaption {
  color: var(--steel-light);
  font-size: 0.95rem;
  margin: 0;
}

.faq-list {
  display: grid;
  gap: 1rem;
  max-width: 980px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid #d6dfe3;
  border-left: 4px solid var(--industrial-red);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  padding: 1rem 1.1rem;
  box-shadow: var(--shadow-sm);
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: var(--steel-dark);
  padding-right: 1.8rem;
  position: relative;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  color: var(--industrial-red);
  font-size: 1.2rem;
  line-height: 1;
}

.faq-item[open] summary::after {
  content: "\2212";
}

.faq-item p {
  margin: 0.85rem 0 0;
  color: var(--steel-light);
}

.hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.site-footer,
.footer {
  margin-top: 2rem;
  padding: 3rem 0 1.5rem;
  background: var(--black);
  color: var(--metal);
  border-top: 3px solid var(--industrial-red);
}

.footer-grid {
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

.footer-brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.footer-brand::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(220px, 100%);
  height: 12px;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.5) 0 1.15px, transparent 1.3px) center / 18px 12px repeat-x,
    linear-gradient(
      90deg,
      transparent 0,
      rgba(211, 47, 47, 0.92) 12px,
      rgba(211, 47, 47, 0.92) calc(100% - 12px),
      transparent 100%
    );
  opacity: 0.78;
}

.footer-description {
  line-height: 1.6;
  margin-bottom: 1rem;
}

.footer-contact {
  margin-top: 1rem;
}

.footer-title,
.footer-brand-text {
  color: var(--white);
}

.footer-title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-link,
.site-footer a {
  color: var(--metal);
  text-decoration: none;
  transition: color 0.3s var(--transition-smooth);
}

.footer-link:hover,
.site-footer a:hover {
  color: var(--industrial-red);
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}

.social-link,
.footer-social a {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--white);
  transition: all 0.3s var(--transition-smooth);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.social-link:hover,
.footer-social a:hover {
  background: var(--industrial-red);
  border-color: var(--industrial-red);
  color: var(--white);
  transform: translateY(-4px);
}

.fab,
.icon-mask {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--icon-mask) center / contain no-repeat;
  mask: var(--icon-mask) center / contain no-repeat;
}

.fa-facebook-f {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.43 20v-7.29H16l.39-2.84h-2.96V8.05c0-.82.24-1.38 1.47-1.38h1.57V4.13c-.27-.03-1.2-.11-2.29-.11-2.27 0-3.82 1.32-3.82 3.74v2.11H7.8v2.84h2.56V20h3.07Z' fill='%23000'/%3E%3C/svg%3E");
}

.fa-instagram {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='5' ry='5' fill='none' stroke='%23000' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='12' r='4.1' fill='none' stroke='%23000' stroke-width='2.2'/%3E%3Ccircle cx='17.4' cy='6.6' r='1.3' fill='%23000'/%3E%3C/svg%3E");
}

.fa-whatsapp {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.41c-.27-.14-1.58-.78-1.82-.87-.24-.09-.42-.14-.6.14-.18.27-.69.87-.85 1.05-.16.18-.31.2-.58.07-.27-.14-1.14-.42-2.17-1.34-.8-.71-1.34-1.58-1.5-1.85-.16-.27-.02-.42.12-.55.12-.12.27-.31.4-.47.13-.16.18-.27.27-.45.09-.18.04-.34-.02-.47-.07-.14-.6-1.45-.82-1.99-.22-.52-.44-.45-.6-.45h-.51c-.18 0-.47.07-.71.34-.24.27-.93.91-.93 2.22 0 1.31.95 2.58 1.09 2.76.14.18 1.87 2.86 4.53 4.01.63.27 1.12.43 1.5.55.63.2 1.2.17 1.66.1.51-.08 1.58-.65 1.8-1.28.22-.63.22-1.17.16-1.28-.06-.11-.24-.18-.51-.31Z' fill='%23000'/%3E%3Cpath d='M16 3.2c-7.07 0-12.8 5.63-12.8 12.58 0 2.22.59 4.39 1.71 6.3L3.2 28.8l6.95-1.67a12.9 12.9 0 0 0 5.85 1.48h.01c7.07 0 12.79-5.63 12.79-12.58 0-3.37-1.32-6.53-3.72-8.89A12.86 12.86 0 0 0 16 3.2Zm0 23.3h-.01a10.74 10.74 0 0 1-5.47-1.49l-.39-.23-4.12.99.99-4.01-.25-.41a10.45 10.45 0 0 1-1.62-5.57c0-5.77 4.88-10.47 10.88-10.47 2.89 0 5.6 1.12 7.64 3.16a10.33 10.33 0 0 1 3.19 7.31c0 5.77-4.88 10.47-10.87 10.47Z' fill='%23000'/%3E%3C/svg%3E");
}

.icon-award {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 2h10v6l-2 3a6 6 0 1 1-6 0L7 8V2Zm2 2v3.4l1.6 2.4A4 4 0 1 0 13.4 9.8L15 7.4V4H9Zm3 8.3 1.1 2.1 2.4.3-1.7 1.7.4 2.4-2.2-1.1-2.2 1.1.4-2.4-1.7-1.7 2.4-.3L12 12.3Z'/%3E%3C/svg%3E");
}

.icon-shield {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5l-8-3Zm-1.1 11.6-2.5-2.5 1.4-1.4 1.1 1.1 3.7-3.7 1.4 1.4-5.1 5.1Z'/%3E%3C/svg%3E");
}

.icon-truck {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M2 6a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v2h2.6c.6 0 1.2.3 1.6.8L22 12v4h-2.2a2.8 2.8 0 0 1-5.6 0H9.8a2.8 2.8 0 0 1-5.6 0H2V6Zm2 0v8h.2a2.8 2.8 0 0 1 5.6 0H13V6H4Zm11 4v4h.2a2.8 2.8 0 0 1 5.6 0H20v-1.4L18.2 10H15Zm-8 5a1.2 1.2 0 1 0 0 2.4A1.2 1.2 0 0 0 7 15Zm10 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z'/%3E%3C/svg%3E");
}

.icon-factory {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 20V8.5l5 2.2V8l5 2.2V4l8 3.6V20H3Zm2-2h2v-4h2v4h2v-6h2v6h2v-4h2v4h2V8.9l-4-1.8v6.2L10 11.1v2.6L5 11.5V18Z'/%3E%3C/svg%3E");
}

.icon-scale {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M11 3h2v2.1c2.4.4 4.4 2.2 5.1 4.6l2.3 4.2a3.5 3.5 0 0 1-6.9 0l2.2-4H13v9h4v2H7v-2h4v-9H8.4l2.1 4a3.5 3.5 0 0 1-6.9 0L6 9.7A6.4 6.4 0 0 1 11 5.1V3Zm-4 9.1-1.4 2.6h2.9L7 12.1Zm10 0-1.4 2.6h2.9L17 12.1ZM8.3 8h7.4A4.4 4.4 0 0 0 12 7a4.4 4.4 0 0 0-3.7 1Z'/%3E%3C/svg%3E");
}

.icon-nut {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 2h6l4 4v6l-4 4H9l-4-4V6l4-4Zm1 2-3 3v4l3 3h4l3-3V7l-3-3h-4Zm2 3.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm0 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E");
}

.icon-hardhat {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 4a5.5 5.5 0 0 1 5.5 5.5V10H19a2 2 0 0 1 2 2v2h-2v4H5v-4H3v-2a2 2 0 0 1 2-2h1.5v-.5A5.5 5.5 0 0 1 12 4Zm-3.5 6h7V9.5a3.5 3.5 0 1 0-7 0V10Zm-1 2H5v4h2.5v-4Zm2 0v4h5v-4h-5Zm7 0v4H19v-4h-2.5Z'/%3E%3C/svg%3E");
}

.icon-clipboard {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 2h6a2 2 0 0 1 2 2h2v18H5V4h2a2 2 0 0 1 2-2Zm0 2v2h6V4H9Zm-2 4v12h10V8H7Zm2 3h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");
}

.icon-wrench {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M22.7 19.3 14 10.6a5 5 0 0 1-6.3-6.2l2.8 2.8 2.1-.7.7-2.1-2.8-2.8A5 5 0 0 1 16.7 8l6 6-2 5.3ZM5 12l2 2-4.5 4.5L.5 16.5 5 12Z'/%3E%3C/svg%3E");
}

.icon-gear {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10.84 2.5h2.32a1 1 0 0 1 .97.75l.31 1.22c.5.14.98.34 1.43.59l1.08-.63a1 1 0 0 1 1.22.16l1.64 1.64a1 1 0 0 1 .16 1.22l-.63 1.08c.25.45.45.93.59 1.43l1.22.31a1 1 0 0 1 .75.97v2.32a1 1 0 0 1-.75.97l-1.22.31c-.14.5-.34.98-.59 1.43l.63 1.08a1 1 0 0 1-.16 1.22l-1.64 1.64a1 1 0 0 1-1.22.16l-1.08-.63c-.45.25-.93.45-1.43.59l-.31 1.22a1 1 0 0 1-.97.75h-2.32a1 1 0 0 1-.97-.75l-.31-1.22a6.9 6.9 0 0 1-1.43-.59l-1.08.63a1 1 0 0 1-1.22-.16L4.6 19.4a1 1 0 0 1-.16-1.22l.63-1.08a6.9 6.9 0 0 1-.59-1.43l-1.22-.31a1 1 0 0 1-.75-.97v-2.32a1 1 0 0 1 .75-.97l1.22-.31c.14-.5.34-.98.59-1.43l-.63-1.08a1 1 0 0 1 .16-1.22L6.24 4.6a1 1 0 0 1 1.22-.16l1.08.63c.45-.25.93-.45 1.43-.59l.31-1.22a1 1 0 0 1 .97-.75ZM12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E");
}

.icon-package {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2 4 6v12l8 4 8-4V6l-8-4Zm0 2.2L17.6 7 12 9.8 6.4 7 12 4.2ZM6 8.6l5 2.8V19l-5-2.5V8.6Zm7 10.4v-7.6l5-2.8v7.9L13 19Z'/%3E%3C/svg%3E");
}

.btn-with-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
}

.btn-with-icon .fab,
.btn-with-icon .btn-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 1.5rem;
  text-align: center;
  color: var(--steel-light);
  font-size: 0.9rem;
}

.global-note {
  color: #a5b3b9;
  font-size: 0.9rem;
}

.business-address {
  margin: 0;
  font-style: normal;
  line-height: 1.6;
  color: var(--steel-dark);
}

.business-address a {
  color: var(--industrial-red);
}

.business-address a:hover {
  color: #8d1a18;
}

.business-address abbr {
  text-decoration: none;
  border-bottom: 0;
  cursor: default;
}

.business-address--compact {
  font-size: 0.92rem;
}

.site-footer .business-address,
.footer .business-address {
  color: #d9e4e8;
}

.site-footer .business-address a,
.footer .business-address a {
  color: #ffd9d9;
}

.site-footer .business-address a:hover,
.footer .business-address a:hover {
  color: #fff0f0;
}

.map-embed-wrap {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  overflow: hidden;
  background: #f4f7f8;
}

.map-embed-wrap iframe {
  display: block;
}

.verification-panel {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  background: #f8f9fa;
}

.verification-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--steel-dark);
}

.contact-main .section-shell {
  margin-top: 0;
  min-height: calc(100vh - 190px);
}

.contact-shell {
  padding-top: 1.8rem;
}

.testimonial-case-link {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  color: var(--industrial-red);
  font-weight: 700;
  text-decoration: none;
}

.testimonial-case-link:hover {
  color: var(--industrial-red-dark);
}

  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  background: rgba(46, 125, 50, 0.16);
}

.contact-footer-content {
  grid-template-columns: 1.6fr 1fr;
}

.contact-footer-section {
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.03);
}

.contact-footer-reviews {
  text-align: center;
}

.blog-manage-note {
  border-left: 4px solid var(--industrial-red);
}

.featured-post h2 {
  line-height: 1.14;
}

.floating-wa,
.whatsapp-float {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background:
    radial-gradient(circle at 30% 30%, #4ef18c 0%, #25d366 45%, #179b4f 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow:
    0 18px 38px rgba(23, 155, 79, 0.34),
    0 0 0 8px rgba(37, 211, 102, 0.13);
  z-index: var(--z-fixed);
  animation: pulseWhatsapp 2s infinite;
  transition:
    transform var(--transition-fast) var(--transition-smooth),
    box-shadow var(--transition-fast) var(--transition-smooth),
    filter var(--transition-fast) var(--transition-smooth);
}

.floating-wa svg,
.whatsapp-float svg {
  width: 1.7rem;
  height: 1.7rem;
}

.floating-wa:hover,
.whatsapp-float:hover {
  color: #fff;
  transform: translateY(-3px) scale(1.08);
  box-shadow:
    0 22px 42px rgba(23, 155, 79, 0.4),
    0 0 0 10px rgba(37, 211, 102, 0.16);
  filter: saturate(1.08);
}

.floating-wa:focus-visible,
.whatsapp-float:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.68);
  outline-offset: 4px;
}

.faq-assistant {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: calc(var(--z-fixed) + 1);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}

.faq-assistant__toggle {
  border: none;
  border-radius: 999px;
  padding: 0.8rem 1.1rem;
  min-height: 52px;
  background: linear-gradient(135deg, var(--steel-dark), #455a64);
  color: var(--white);
  box-shadow: var(--shadow-md);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.faq-assistant__toggle:hover {
  transform: translateY(-2px);
}

.faq-assistant__panel {
  width: min(360px, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid #d5dde1;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(8px);
}

.faq-assistant__panel[hidden] {
  display: none;
}

.faq-assistant__eyebrow {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--industrial-red);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-assistant__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--steel-dark);
}

.faq-assistant__intro {
  margin: 0 0 0.85rem;
  color: var(--text-muted);
  font-size: 0.92rem;
}

.faq-assistant__conversation {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-height: 220px;
  margin-bottom: 0.85rem;
  overflow-y: auto;
  padding-right: 0.2rem;
}

.faq-assistant__bubble {
  max-width: 88%;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  font-size: 0.92rem;
  line-height: 1.45;
  box-shadow: var(--shadow-sm);
}

.faq-assistant__bubble--bot {
  align-self: flex-start;
  background: #f6f8f9;
  color: var(--steel-dark);
  border: 1px solid #d8e0e4;
}

.faq-assistant__bubble--user {
  align-self: flex-end;
  background: linear-gradient(135deg, var(--industrial-red), #ef6c43);
  color: var(--white);
}

.faq-assistant__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.faq-assistant__chip {
  border: 1px solid #d7e0e5;
  border-radius: 999px;
  padding: 0.5rem 0.8rem;
  background: #f5f8f9;
  color: var(--steel-dark);
  font-size: 0.88rem;
}

.faq-assistant__chip.is-active {
  border-color: rgba(211, 47, 47, 0.3);
  background: rgba(211, 47, 47, 0.08);
  color: var(--industrial-red);
}

.faq-assistant__answer {
  margin: 0 0 0.85rem;
  color: var(--steel-dark);
  font-size: 0.93rem;
  line-height: 1.55;
}

.faq-assistant__actions {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.faq-assistant__actions .btn {
  min-height: 46px;
}

.faq-assistant__composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.faq-assistant__field {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d7e0e5;
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: #fff;
  color: var(--steel-dark);
}

.faq-assistant__send {
  min-width: 92px;
  min-height: 46px;
  border: none;
  border-radius: 12px;
  background: var(--steel-dark);
  color: var(--white);
}

.faq-assistant__send:hover {
  transform: translateY(-1px);
}

.cookie-consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  max-width: 620px;
  z-index: var(--z-toast);
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.9rem 1rem;
  border: 1px solid #d4dee3;
  border-left: 4px solid var(--industrial-red);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(6px);
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity 0.2s var(--transition-smooth), transform 0.2s var(--transition-smooth);
}

.cookie-consent.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.cookie-consent__text {
  margin: 0;
  color: var(--steel-dark);
  font-size: 0.92rem;
}

.cookie-consent__text a {
  color: var(--industrial-red);
  font-weight: 700;
}

.cookie-consent__actions {
  margin-left: auto;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.cookie-consent__btn {
  min-width: 130px;
  white-space: nowrap;
}

body.cookie-banner-visible .floating-wa,
body.cookie-banner-visible .whatsapp-float {
  bottom: 5.25rem;
}

body.cookie-banner-visible .faq-assistant {
  bottom: 5.25rem;
}

@keyframes pulseWhatsapp {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s var(--transition-smooth),
    transform 0.6s var(--transition-smooth);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.text-high-contrast {
  color: var(--black);
  font-weight: 600;
}

/* Utility layout helpers */
.grid {
  display: grid;
  gap: var(--spacing-md);
}

.grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.d-flex {
  display: flex !important;
}

.d-grid {
  display: grid !important;
}

.d-block {
  display: block !important;
}

.d-none {
  display: none !important;
}

.justify-content-center {
  justify-content: center !important;
}

.align-items-center {
  align-items: center !important;
}

.gap-sm {
  gap: var(--spacing-sm) !important;
}

.gap-md {
  gap: var(--spacing-md) !important;
}

.gap-lg {
  gap: var(--spacing-lg) !important;
}

.mt-1 {
  margin-top: var(--spacing-xs) !important;
}

.mt-2 {
  margin-top: var(--spacing-sm) !important;
}

.mt-3 {
  margin-top: var(--spacing-md) !important;
}

.mt-4 {
  margin-top: var(--spacing-lg) !important;
}

.mt-5 {
  margin-top: var(--spacing-xl) !important;
}

.mb-1 {
  margin-bottom: var(--spacing-xs) !important;
}

.mb-2 {
  margin-bottom: var(--spacing-sm) !important;
}

.mb-3 {
  margin-bottom: var(--spacing-md) !important;
}

.mb-4 {
  margin-bottom: var(--spacing-lg) !important;
}

.mb-5 {
  margin-bottom: var(--spacing-xl) !important;
}

@media (max-width: 768px) {
  :root {
    --spacing-2xl: 2.25rem;
    --spacing-3xl: 3rem;
  }
}

@media (max-width: 480px) {
  :root {
    --spacing-xl: 1.5rem;
    --spacing-2xl: 2rem;
    --spacing-3xl: 2.5rem;
  }
}

@media (min-width: 992px) {
  .blog-toolbar {
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
    align-items: end;
  }
}

@media (max-width: 1199px) {
  .page-grid-3,
  .services-grid,
  .testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .home-trust-strip,
  .trust-container,
  .page-grid-2,
  .page-grid-3,
  .services-grid,
  .testimonials-grid,
  .stats-grid,
  .kpi-row,
  .footer-grid,
  .contact-footer-content,
  .addon-list-2,
  .price-grid {
    grid-template-columns: 1fr;
  }

  .navbar-dark .navbar-nav .nav-link {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }

  .btn-cta-whatsapp {
    width: fit-content;
    margin-top: 0.45rem;
  }

  .contact-footer-reviews,
  .contact-footer .footer-social {
    text-align: left;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .logo-img {
    width: clamp(130px, 42vw, 170px);
    padding: 5px;
  }

  .section-shell,
  .section,
  .section-light {
    padding-left: 0;
    padding-right: 0;
  }

  .page-hero,
  .contact-hero,
  .hero-industrial {
    padding-top: 4rem;
  }

  .page-hero .eyebrow::after,
  .contact-hero .eyebrow::after,
  .hero-industrial .eyebrow::after {
    width: 1.8rem;
    flex-basis: 1.8rem;
  }

  .section-title {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    padding-bottom: 0.85rem;
  }

  .card-shell,
  .quote-shell,
  .sidebar-shell,
  .pricing-card,
  .product-card,
  .blog-card,
  .mini-card,
  .featured-post,
  .quote-form-wrapper {
    padding: 1rem;
  }

  .btn,
  .btn-cta-main,
  .btn-outline-main,
  .btn-cta-whatsapp {
    width: 100%;
    justify-content: center;
  }

  .floating-wa,
  .whatsapp-float {
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
  }

  .faq-assistant {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    align-items: stretch;
  }

  .faq-assistant__panel {
    width: 100%;
  }

  .faq-assistant__composer {
    grid-template-columns: 1fr;
  }

  .faq-assistant__send {
    width: 100%;
  }

  .faq-assistant__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .cookie-consent {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    max-width: none;
    align-items: flex-start;
    flex-direction: column;
  }

  .cookie-consent__actions {
    width: 100%;
    margin-left: 0;
  }

  .cookie-consent__actions .btn {
    width: auto;
    flex: 1;
  }

  body.cookie-banner-visible .floating-wa,
  body.cookie-banner-visible .whatsapp-float {
    bottom: 6rem;
  }

  body.cookie-banner-visible .faq-assistant {
    bottom: 6rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  .site-header,
  .header,
  .floating-wa,
  .whatsapp-float,
  .cookie-consent,
  .btn,
  .navbar,
  .footer-social,
  .mobile-menu-toggle {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
  }

  a,
  .footer-link,
  .site-footer a {
    color: #000 !important;
    text-decoration: underline;
  }

  .card-shell,
  .quote-shell,
  .sidebar-shell,
  .pricing-card,
  .product-card,
  .blog-card,
  .mini-card,
  .featured-post,
  .quote-form-wrapper {
    background: #fff !important;
    color: #000 !important;
    border-color: #d0d0d0 !important;
    box-shadow: none !important;
  }
}

.footer-social a,
.social-link {
  text-decoration: none; /* quita la línea */
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.page-grid-article {
  gap: 2rem; /* separación entre columnas */
}

@media (min-width: 992px) {
  .page-grid-article {
    grid-template-columns: 3fr 1fr; /* artículo principal + sidebar */
  }
}
.sidebar-shell {
  width: 100%;
  max-width: 300px; /* ancho máximo del sidebar */
}
#articleView {
  width: 100%;
  max-width: 800px; /* ancho máximo del artículo */
  margin: 0 auto; /* centra horizontalmente */
}
