.oz-header {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg);
  box-shadow: 0 6px 16px var(--color-shadow-soft);
  position: relative;
  width: 100%;
  margin-top: var(--oz-header-top-gap, 0px);
  z-index: 1000;
  transform: translateY(0);
  will-change: transform;
  transition: transform 260ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

/* Header sticky activo al hacer scroll */
.oz-header.is-fixed {
  position: fixed;
  top: var(--oz-header-top-gap, 0px);
  left: 0;
  right: 0;
  width: 100%;
  margin-top: 0;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
}

.oz-header.is-hidden {
  transform: translateY(calc(-100% - 12px));
}

/* Ensure fixed header sits below WP admin bar when present */
body.admin-bar .oz-header,
body.admin-bar .oz-header.is-fixed,
.oz-header.is-fixed + .oz-admin-bar-offset,
body.admin-bar .oz-header.is-fixed {
  /* top offset will be handled in JS for exact admin bar height,
     but provide sensible defaults for CSS-only fallback */
  top: calc(32px + var(--oz-header-top-gap, 0px));
}

/* CSS variable used by JS to offset page content when header is fixed */
body {
  padding-top: var(--oz-header-offset, 0px);
  transition: none;
}













.oz-header__search-area {
  width: min(700px, 100%);
  justify-self: center;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
}

.oz-site-title {
  font-weight: 700;
  font-size: 1.2rem;
}

.oz-header__search {
  width: 100%;
}

.oz-header__search .widget,
.oz-header__search .oz-widget {
  margin: 0;
}

.oz-header__search ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.oz-header__search .oz-widget__title {
  margin: 0;
}

.oz-header__search-form .search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem;
}

.oz-header__search-form .search-field {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 0.55rem 0.75rem;
  font-size: 0.92rem;
  background: #fff;
  background-image: none;
  -webkit-appearance: none;
}

.oz-header__search-form .search-field::-webkit-search-decoration,
.oz-header__search-form .search-field::-webkit-search-cancel-button,
.oz-header__search-form .search-field::-webkit-search-results-button,
.oz-header__search-form .search-field::-webkit-search-results-decoration {
  display: none;
}

.oz-header__search-form .search-submit {
  border: 1px solid #dd6d1b;
  border-radius: 6px;
  background: #f08b2a;
  color: #fff;
  padding: 0.55rem 0.85rem;
  cursor: pointer;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.oz-header__search-form .search-submit .oz-search-btn__text {
  display: none;
}

.oz-header__search-form .search-submit .oz-search-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oz-header__search-form .search-submit .oz-search-btn__icon svg {
  width: 18px;
  height: 18px;
}

/* Remove widget-like shadow on header widgets but keep search styling */
.oz-header .oz-widget,
.oz-header .widget_oz_sidebar,
.oz-header .oz-widget * {
  box-shadow: none !important;
}

/* Restore search field/button visuals (keep no shadow) */
.oz-header .oz-header__search-form .search-field {
  background: #fff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
.oz-header .oz-header__search-form .search-submit {
  background: #f08b2a !important;
  border: 1px solid #dd6d1b !important;
  color: #fff !important;
  box-shadow: none !important;
}













.oz-nav__list {
  display: flex;
  gap: var(--space-md);
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.oz-nav ul,
.oz-nav .menu,
.oz-nav .page-menu {
  display: flex;
  gap: var(--space-md);
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.oz-nav__list--secondary a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-weight: 600;
  color: var(--color-text);
  transition: color 0.2s ease;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: normal;
  line-height: 1.15;
  max-width: 240px;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none; /* avoid mid-word hyphenation */
  /* clamp to max 2 lines */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.oz-nav__list--secondary > li {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto; /* don't force equal shrinking, allow natural width */
  min-width: 90px;
}

/* When there is lots of space, center items and avoid excessive wrapping */
@media (min-width: 1200px) {
  .oz-nav__list {
    justify-content: center;
    gap: calc(var(--space-md) * 1.25);
  }
  .oz-nav__list--secondary > li {
    min-width: 120px;
  }
}

/* Desktop / laptop: keep nav in a single row and distribute items evenly */
@media (min-width: 992px) {
  .oz-nav__list {
    flex-wrap: nowrap;
    justify-content: center;
    gap: calc(var(--space-md) * 0.9);
  }

  .oz-nav__list--secondary > li {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
  }

  .oz-nav__list--secondary a {
    display: block;
    width: 100%;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    -webkit-line-clamp: 2;
  }
}

/* Ensure on narrow screens items can wrap to max 2 lines without creating a 3rd row */
@media (max-width: 991px) {
  .oz-nav__list {
    justify-content: center;
  }
  .oz-nav__list--secondary a {
    font-size: 0.82rem;
    padding: 0.22rem 0.5rem;
    -webkit-line-clamp: 2;
  }
}

.oz-nav__list--secondary > li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: calc(var(--space-md) * -0.5);
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background: rgba(15, 23, 42, 0.08);
}

.oz-nav__list--secondary a:hover,
.oz-nav__list--secondary a:focus {
  color: var(--color-primary);
  text-decoration: none;
}

.oz-site-logo img {
  max-height: 52px;
  width: auto;
  height: auto;
}

.oz-header__placeholder {
  font-size: 0.9rem;
  color: var(--color-muted);
  padding: 0.3rem 0.75rem;
  border: 1px dashed var(--color-border);
  border-radius: 999px;
}

:root {
  --oz-page-hero-bg-image: url("https://dymsafety.com/wp-content/uploads/2026/03/portada_de_tractores_mineros_para_los_fondos_de_pagina.webp");
  --oz-page-hero-height: 300px;
}

.oz-page-hero {
  position: relative;
  isolation: isolate;
  min-height: var(--oz-page-hero-height);
  padding: 1.25rem 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  background-image: var(--oz-page-hero-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: var(--space-lg);
}

.oz-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.36));
  z-index: -1;
}

.oz-page-hero__title {
  margin-bottom: 0.45rem;
  color: rgba(248, 250, 252, 0.98);
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

.oz-page-hero__description {
  margin-bottom: 0.5rem;
  color: rgba(248, 250, 252, 0.9);
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.oz-breadcrumbs {
  margin-top: 0.2rem;
}

/* Alinear título y migas a la izquierda */
.oz-page-hero,
.oz-page-hero .oz-page-hero__title,
.oz-page-hero .oz-page-hero__description,
.oz-page-hero .oz-breadcrumbs {
  text-align: left;
}
.oz-page-hero .oz-breadcrumbs__list {
  justify-content: flex-start;
}

/* Center breadcrumbs on singular pages (e.g. Contact page) */
.page .oz-page-hero,
.page .oz-page-hero .oz-page-hero__title,
.page .oz-page-hero .oz-page-hero__description,
.page .oz-page-hero .oz-breadcrumbs {
  text-align: center !important;
}
.page .oz-page-hero .oz-breadcrumbs__list {
  justify-content: center !important;
   margin-left: -30px !important;
}

/* helper class applied via JS to center breadcrumbs when page title matches */
.oz-breadcrumbs--center {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}
.oz-breadcrumbs--center .oz-breadcrumbs__list {
  justify-content: center !important;
}

.oz-breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  font-size: 0.86rem;
  color: #64748b;
}

.oz-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.oz-breadcrumbs__item:not(:last-child)::after {
  content: "/";
  color: #94a3b8;
}

.oz-breadcrumbs a {
  color: #475569;
  text-decoration: none;
}

.oz-breadcrumbs a:hover {
  color: var(--color-secondary);
}

/* En el hero: migas de pan claras para contraste con el fondo */
.oz-page-hero .oz-breadcrumbs__list {
  color: rgba(248, 250, 252, 0.88);
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}
.oz-page-hero .oz-breadcrumbs__item:not(:last-child)::after {
  color: rgba(248, 250, 252, 0.65);
}
.oz-page-hero .oz-breadcrumbs a {
  color: rgba(248, 250, 252, 0.92);
}
.oz-page-hero .oz-breadcrumbs a:hover {
  color: #ffffff;
  text-decoration: underline;
}
.oz-page-hero .oz-breadcrumbs [aria-current="page"] {
  color: rgba(255, 255, 255, 0.94);
}




.oz-widget__title {
  margin-bottom: var(--space-sm);
  font-size: 1rem;
}

/* Ensure shop sidebar widget titles have top spacing */
.oz-shop-sidebar .oz-widget__title,
.sidebar-woocommerce .oz-widget .oz-widget__title {
  margin-top: 15px !important;
}

.oz-mobile-overlay {
  position: fixed;
  inset: 0;
  background: var(--color-overlay-medium);
  z-index: 1100;
  display: none;
}

.oz-mobile-overlay.is-active {
  display: block;
}

.oz-mobile-menu {
  position: fixed;
  inset: 0 auto 0 0;
  width: min(320px, 85vw);
  background: var(--color-bg);
  border-right: 1px solid var(--color-border);
  z-index: 1101;
  flex-direction: column;
  display: none;
}

.oz-mobile-menu.is-active {
  display: flex;
}

.oz-mobile-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
}

.oz-mobile-menu__title {
  font-weight: 600;
}

.oz-mobile-close {
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  border-radius: 8px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.oz-mobile-nav {
  padding: var(--space-md);
  overflow-y: auto;
  flex: 1;
}

.oz-mobile-nav__list,
.oz-mobile-nav__list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.oz-mobile-nav__list > li {
  border-bottom: 1px solid var(--color-border);
  padding: 0.5rem 0;
}

.oz-mobile-nav__list a {
  display: inline-block;
  padding: 0.3rem 0;
  color: inherit;
}

/* Make the entire mobile menu row clickable — expand link to full area */
.oz-mobile-nav__list > li > a {
  display: block !important;
  width: 100% !important;
  padding: 0.65rem 0.75rem !important; /* match touch target size */
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
}
.oz-mobile-nav__list > li {
  padding: 0; /* remove duplicate vertical padding so link padding controls touch area */
}

.oz-submenu-toggle {
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  color: var(--color-text);
  width: 28px;
  height: 28px;
  border-radius: 6px;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.menu-item-has-children {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-xs);
}

.menu-item-has-children.is-open > a {
  color: var(--color-primary);
}

.oz-submenu {
  grid-column: 1 / -1;
  padding-left: 1rem;
  margin-top: 0.35rem;
  border-left: 1px dashed var(--color-border);
}

.oz-submenu li {
  border-bottom: none;
  padding: 0.35rem 0;
}

.oz-submenu-toggle__icon--minus {
  display: none;
}

.menu-item-has-children.is-open .oz-submenu-toggle__icon--plus {
  display: none;
}

.menu-item-has-children.is-open .oz-submenu-toggle__icon--minus {
  display: inline-flex;
}



@media (max-width: 991px) {
  

  

  .oz-header__search-area {
    grid-column: 1 / -1;
  }

  

  
}

/* ===== Header DYM Safety v2 ===== */
.oz-header {
  background: #101317;
  color: #f3f4f6;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

/* Forzar layout a pantalla completa (evita laterales blancos / contenido encajonado).
   Nota: el theme inyecta variables --container/--container-padding desde el Personalizador
   como CSS inline; este override vive en layout.css (cargado después) para ganar prioridad. */
:root {
  --container: 100% !important;
  --container-padding: 0px !important;
  /* Ancho de contenido boxed (hero, tienda, maquetador); coherente con .oz-shop-hero__inner */
  --oz-content-max-width: 1280px;
  /* Ficha de producto: un poco más ancha que la tienda, sin ir a pantalla completa */
  --oz-single-product-max-width: 1440px;
}

:root {
  --oz-header-top-gap: 0px;
}

/* Espacio interno (no margen externo) para buscador/botones */
.oz-header-right .oz-header-main__inner {
  margin-top: 10px;
  padding-top: 0;
  padding-bottom: 6px;
}

/* Layout 2 columnas: logo (izq) + contenido (der) */
.oz-header-shell {
  --oz-logo-width: 168px;
  display: grid;
  grid-template-columns: var(--oz-logo-width) minmax(0, 1fr);
  align-items: stretch;
}

.oz-header-left {
  /* mismo color que el header */
  background: #101317;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 0.5rem;
}

.oz-header-left .oz-site-logo img {
  /* objetivo: ~62px alto visible */
  height: 62px;
  max-height: 62px;
  width: auto;
}

/* Fila superior derecha: buscador centrado + consultar a la derecha */
.oz-header-right .oz-header-main__inner {
  min-height: 74px;
  display: grid;
  grid-template-columns: 1fr minmax(0, 760px) 1fr;
  align-items: center;
  gap: 0.65rem;
}

.oz-header-right .oz-header__search-area {
  width: min(100%, 760px);
  justify-self: center;
  grid-column: 2;
}

.oz-header-consult-btn--search {
  justify-self: end;
  grid-column: 3;
  border-radius: 6px;
  min-height: 40px;
  padding: 0.55rem 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.oz-header-right .oz-mobile-main-toggle {
  grid-column: 1;
  justify-self: start;
}

.oz-header-consult-btn--search .oz-header-consult-btn__icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.oz-header-consult-btn--search span:last-child {
  line-height: 1;
}

/* Si algún plugin/elemento inyecta un top-bar vacío arriba del header */
body > .top-bar,
body > .topbar,
body > .announcement,
body > .site-announcement,
body > .header-announcement,
body > .notice-bar,
body > .banner-top {
  display: none !important;
}

/* “Letras de arriba” que deben pasar desapercibidas (solo dentro del header) */
.oz-header .ml-text,
.oz-header [class*="ml-text"] {
  color: #101317 !important;
}

.oz-header-right {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.oz-header-right .oz-header-main {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.oz-header-right .oz-header-navline {
  border-bottom: none;
}

.oz-header-right .oz-header-navline__inner::before {
  left: 0;
}

.oz-header-announcement,
.oz-header-topline {
  display: none !important;
}

.oz-topline-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
}

.oz-topline-contact:hover {
  color: #fff;
  text-decoration: none;
}

.oz-topline-contact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oz-dym-orange);
}

.oz-header-consult-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 34px;
  padding: 0.45rem 0.7rem;
  font-weight: 700;
 }

.oz-header-consult-widget {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin-left: 4px;
}

.oz-header-whatsapp-widget {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  width: auto;
  max-width: max-content;
}

.oz-header-consult-widget .textwidget,
.oz-header-consult-widget .textwidget p {
  margin: 0;
}

.oz-header-consult-widget .oz-header-consult-btn {
  display: inline-flex;
  margin: 0;
}

.oz-header-consult-btn:hover {
  background: var(--oz-dym-orange-dark);
  text-decoration: none;
}

.oz-header-main {
  border-bottom: none;
  position: relative;
}

.oz-header-main::after {
  /* Línea separadora: NO debe cruzar el logo */
  content: "";
  position: absolute;
  left: calc(var(--oz-logo-width, 168px) + 6px);
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
  pointer-events: none;
}

.oz-header-main__inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.oz-header-main__inner::after {
  content: "";
  display: block;
  flex: 0 0 165px;
}



.oz-header .oz-site-logo {
  width: 100%;
}

.oz-mobile-main-toggle {
  display: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  background: transparent;
  width: 38px;
  height: 38px;
  border-radius: 6px;
}

.oz-header .oz-site-logo img {
  max-height: 56px;
}

.oz-header__search-area {
  width: min(100%, 860px);
  max-width: 860px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.65rem;
  margin: 0 auto;
}

.oz-header-categories-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.02);
  color: #fff;
  border-radius: 6px;
  padding: 0.55rem 0.95rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.oz-header-categories-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

.oz-header__search-form .search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
}

.oz-header__search-form .search-field {
  min-height: 46px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #111827;
  font-size: 0.88rem;
}

.oz-header__search-form .search-submit {
  min-height: 46px;
  border-radius: 6px;
  border: 1px solid var(--oz-dym-orange) !important;
  background: var(--oz-dym-orange) !important;
  color: #151515 !important;
  font-weight: 700;
  padding: 0.55rem 1rem;
}

.oz-header__search-form .search-submit .oz-search-btn__text {
  display: inline;
}

.oz-header__search-form .search-submit .oz-search-btn__icon {
  display: none;
}

.oz-header-navline {
  border-bottom: none;
}

.oz-header-navline__inner {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  position: relative;
}

.oz-header-navline__inner::before {
  content: "";
  position: absolute;
  left: calc(var(--oz-logo-width, 168px) + 6px);
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  z-index: 1;
}

.oz-nav--main .oz-nav__list--main {
  width: auto;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.oz-nav--main .oz-nav__list--main > li {
  position: relative;
}

.oz-nav--main .oz-nav__list--main > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0.55rem 0.95rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.84rem;
  font-weight: 500;
}

.oz-nav--main .oz-nav__list--main > li > a:hover {
  color: var(--oz-dym-orange);
  text-decoration: none;
}

.oz-brands-item .oz-brand-dropdown {
  position: absolute;
  top: calc(100% + 2px);
  left: -40px;
  min-width: 720px;
  background: #151a20;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  list-style: none;
  margin: 0;
  padding: 0.85rem;
  display: none;
  z-index: 1200;
}

.oz-brands-item.is-open .oz-brand-dropdown,
.oz-brands-item:hover .oz-brand-dropdown,
.oz-brands-item:focus-within .oz-brand-dropdown {
  display: block;
}

.oz-brand-dropdown--images {
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.oz-brands-item.is-open .oz-brand-dropdown--images,
.oz-brands-item:hover .oz-brand-dropdown--images,
.oz-brands-item:focus-within .oz-brand-dropdown--images {
  display: grid;
}

.oz-brand-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.6rem;
}

.oz-brand-card img {
  width: 100%;
  max-width: 200px;
  height: 64px;
  object-fit: contain;
}

.oz-brand-card span {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.78rem;
  text-align: center;
}

.oz-brand-card:hover {
  border-color: rgba(245, 178, 28, 0.6);
  background: rgba(245, 178, 28, 0.06);
  text-decoration: none;
}

.oz-categories-dropdown {
  position: absolute;
  inset: auto 0 auto 0;
  top: 100%;
  z-index: 1150;
}

.oz-categories-dropdown__inner {
  background: #151a20;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 0;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  max-height: none;
  overflow: hidden;
  padding: 0.9rem;
}

.oz-categories-tree,
.oz-categories-tree ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.oz-categories-tree {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.6rem;
  overflow-x: auto;
  overflow-y: hidden;
}

.oz-categories-tree > li {
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.02);
  padding: 0.55rem 0.65rem;
  flex: 0 0 calc((100% - (0.6rem * 4)) / 5);
  min-width: 185px;
  min-height: 180px;
  max-height: none;
  overflow: hidden;
}

.oz-categories-tree li {
  padding: 0.14rem 0;
}

.oz-categories-tree li a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.84rem;
  padding: 0.25rem 0.2rem;
}

.oz-categories-tree li a:hover {
  color: var(--oz-dym-orange);
  text-decoration: none;
}

.oz-categories-tree ul {
  margin-top: 0.35rem;
  margin-left: 0.55rem;
  padding-left: 0.55rem;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.oz-categories-tree > li > a {
  font-weight: 600;
}

.oz-header-meta {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  white-space: nowrap;
}

.oz-header-meta .oz-topline-contact {
  font-size: 0.76rem;
}

.oz-mobile-menu--categories {
  background: #151a20;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.oz-mobile-menu--categories .oz-mobile-menu__head {
  background: #12171d;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.oz-mobile-menu--categories .oz-mobile-menu__title,
.oz-mobile-menu--categories .oz-mobile-nav__list a {
  color: #f3f4f6;
}

.oz-mobile-menu--categories .oz-mobile-nav__list > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.oz-mobile-menu--categories .oz-submenu {
  border-left: 1px dashed rgba(255, 255, 255, 0.18);
}

@media (max-width: 991px) {
  .oz-header-shell {
    grid-template-columns: 1fr;
  }

  .oz-header-left {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    justify-content: flex-start;
    /* Deja espacio para el botón hamburguesa en la derecha */
    padding-right: 62px;
  }
  .oz-header-right .oz-header-main__inner {
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: 0.55rem;
    padding: 0.55rem 0;
  }

  .oz-header-main__inner::after {
    display: none;
  }

  

  .oz-mobile-main-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .oz-header-consult-btn--search {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }

  .oz-header__search-area {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .oz-header-categories-btn {
    width: auto;
    justify-content: flex-start;
  }

  .oz-header-navline__inner {
    min-height: auto;
    padding: 0.25rem 0;
  }

  .oz-nav--main .oz-nav__list--main {
    overflow-x: auto;
    white-space: nowrap;
    flex-wrap: nowrap;
    gap: 0;
    padding-bottom: 0.2rem;
  }

  .oz-header-meta {
    display: none;
  }

  .oz-brands-item .oz-brand-dropdown {
    min-width: 320px;
    left: 0;
  }

  .oz-brand-dropdown--images {
    grid-template-columns: 1fr;
  }

  .oz-categories-tree {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .oz-categories-tree > li {
    min-width: 0;
    flex: initial;
  }

  .oz-nav--main .oz-nav__list--main > li > a {
    min-height: 36px;
    padding: 0.45rem 0.7rem;
    font-size: 0.8rem;
  }

  .oz-categories-dropdown {
    display: none !important;
  }
  /* Ocultar la barra de navegación horizontal y la línea decorativa en móvil
     porque el menú principal ya se abre desde el botón (hamburguesa). */
  .oz-header-navline__inner,
  .oz-nav--main,
  .oz-header-navline__inner::before {
    display: none !important;
  }

  /* Asegurar que el contenedor del header sea referencia para posicionar el toggle */
  .oz-header-shell {
    position: relative;
  }
  /* Forzar el toggle principal en la esquina superior derecha, alineado con el logo */
  .oz-mobile-main-toggle {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  /* Cuando el toggle se mueve al bloque del logo (JS), alinear a la esquina derecha */
  .oz-header-left .oz-mobile-main-toggle {
    position: static !important;
    margin-left: auto;
    flex: 0 0 auto;
  }
}

/* ===== Mobile (<=767px): layout tipo referencia imagen 1 ===== */
@media (max-width: 767px) {
  /* Two-column header: logo+toggle | controls */
  .oz-header-shell {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
  }

  /* Left: logo + hamburger inline */
  .oz-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-right: none;
    justify-content: flex-start;
  }
  .oz-header-left .oz-site-logo,
  .oz-header-left .custom-logo-link {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .oz-header-left .oz-site-logo img {
    height: 48px;
    max-height: 48px;
    width: auto;
  }
  /* hamburger aligned to the right inside left column */
  .oz-header-left .oz-mobile-main-toggle {
    margin-left: 8px;
    margin-right: 0;
    border-radius: 8px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.04);
  }

  /* Right column holds categories (top) and search (below) */
  .oz-header-right {
    display: block;
    padding: 6px 0 6px 0;
  }
  .oz-header-right .oz-header-main__inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    margin: 0;
  }

  /* First row in right column: categories button (align to start) */
  .oz-header__search-area {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  .oz-header-categories-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    padding: 0.5rem 0.9rem;
    border-radius: 8px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.04);
    font-size: 0.94rem;
  }

  /* Second row: centered search */
  .oz-header__search {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0;
  }
  .oz-header__search-form {
    width: 100%;
    max-width: 720px;
    padding: 0 6px;
    box-sizing: border-box;
  }
  .oz-header__search-form .search-form {
    width: 100%;
  }
  .oz-header__search-form .search-field {
    width: 100% !important;
    padding: 0 44px 0 12px !important;
    min-height: 44px !important;
    border-radius: 6px !important;
  }
  .oz-header__search-form .search-submit {
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    position: absolute !important;
    height: 36px !important;
    width: 36px !important;
  }

  /* Hide consult button on mobile (kept by requirement) */
  .oz-header-consult-btn--search {
    display: none !important;
  }

  /* Ensure no horizontal overflow */
  .oz-header, .oz-header-shell, .oz-header-left, .oz-header-right {
    box-sizing: border-box;
    overflow: visible;
  }
}

@media (max-width: 767px) {
  .oz-header__search-area {
    grid-template-columns: 1fr;
  }

  .oz-header-consult-btn--search {
    width: 100%;
    justify-content: center;
    min-height: 30px;
    padding: 0.35rem 0.65rem;
    font-size: 0.74rem;
  }

  .oz-categories-tree {
    grid-template-columns: 1fr;
  }
}

/* Ajuste visual final desktop: logo alto + botón consultar pegado derecha */
@media (min-width: 992px) {
  /* Desactiva el layout antiguo (logo absoluto) para evitar cruces */
  

  /* Consultar pegado a la derecha, con curva 10px */
  .oz-header-consult-btn--search {
    border-radius: 10px;
  }
}

/* --- Mobile (<=991px) : mejorar panel de categorías y layout de cabecera --- */
@media (max-width: 991px) {
  /* Ocultar botón Consultar en móvil */
  .oz-header-consult-btn--search {
    display: none !important;
  }

  /* Mover el toggle principal (hamburguesa) a la esquina superior derecha */
  .oz-mobile-main-toggle {
    width: 42px;
    height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px;
  }

  /* Centrar visualmente el bloque categorías+buscador en la fila */
  .oz-header-right .oz-header-main__inner {
    grid-template-columns: 1fr minmax(0, 640px) 1fr;
    margin-top: 10px;
  }
  .oz-header-right .oz-header__search-area {
    grid-column: 2;
    justify-self: center;
    width: 100%;
  }

  /* Mejoras visuales para el panel lateral de categorías */
  .oz-mobile-menu--categories {
    width: min(360px, 90vw);
    left: 0;
    right: auto;
    background: #0f1316; /* mantener colores oscuros coherentes */
    border-right: 1px solid rgba(255,255,255,0.04);
    padding: 0;
  }
  .oz-mobile-menu--categories .oz-mobile-menu__head {
    padding: 0.75rem 0.85rem;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.03);
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list {
    padding: 0.65rem 0.85rem;
    display: block;
    max-height: calc(100vh - 120px);
    overflow: auto;
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list > li {
    padding: 0.6rem 0;
    border-bottom: none;
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list > li + li {
    border-top: 1px solid rgba(255,255,255,0.03);
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list a {
    padding: 0.35rem 0;
    color: rgba(255,255,255,0.92);
    font-size: 15px;
    display: block;
  }
  /* Parent items (categoría principal) más visibles */
  .oz-mobile-menu--categories .menu-item-has-children > a {
    font-weight: 700;
    color: #fff;
    padding-bottom: 0.45rem;
  }
  /* Subcategorías con jerarquía clara */
  .oz-mobile-menu--categories .oz-submenu {
    padding-left: 0.85rem;
    margin-top: 0.35rem;
  }
  .oz-mobile-menu--categories .oz-submenu li a {
    font-weight: 500;
    font-size: 14px;
    color: rgba(255,255,255,0.86);
    padding: 0.3rem 0;
  }
  /* Scrollbar más discreto */
  .oz-mobile-menu--categories .oz-mobile-nav__list::-webkit-scrollbar {
    width: 8px;
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.06);
    border-radius: 8px;
  }
  .oz-mobile-menu--categories .oz-mobile-nav__list::-webkit-scrollbar-track {
    background: transparent;
  }

  /* Espacio extra para el botón cerrar (X) */
  .oz-mobile-menu--categories .oz-mobile-close {
    width: 40px;
    height: 40px;
    border-radius: 8px;
  }
}

/* ===== Header visual refresh ===== */
:root {
  --oz-header-accent: #F7A600;
  --oz-header-surface: #0f1318;
  --oz-header-surface-soft: #151a20;
  --oz-header-border-soft: rgba(255, 255, 255, 0.09);
}

.oz-header {
  background: linear-gradient(180deg, #0b0f13 0%, #11161b 100%);
  padding-top: 12px;
}

.oz-header > .oz-header-shell {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 28px 12px;
  grid-template-columns: minmax(176px, 212px) minmax(0, 1fr);
  column-gap: 34px;
}

.oz-header-left {
  min-height: 126px;
  padding: 0.35rem 0;
  justify-content: flex-start;
  border-right: 1px solid var(--oz-header-border-soft);
}

.oz-header-left .oz-site-logo,
.oz-header-left .custom-logo-link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.oz-header-left .oz-site-logo img,
.oz-header .oz-site-logo img {
  width: auto;
  height: 84px;
  max-height: 84px;
}

.oz-header-right {
  justify-content: center;
}

.oz-header-right .oz-header-main {
  border-bottom: 1px solid var(--oz-header-border-soft);
}

.oz-header-right .oz-header-main__inner {
  margin-top: 0;
  min-height: 92px;
  padding: 8px 0 12px;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
}

.oz-header-right .oz-header__search-area,
.oz-header__search-area {
  width: min(100%, 720px);
  max-width: 720px;
  grid-column: 2;
  justify-self: center;
  grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.oz-header-categories-btn {
  min-height: 50px;
  padding: 0 18px;
  border-radius: 12px;
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.025);
  color: #f8fafc;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.oz-header-categories-btn__icon,
.oz-header-categories-btn__caret {
  color: var(--oz-header-accent);
}

.oz-header__search-form .search-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
}

.oz-header__search-form .search-form > label {
  display: block;
  min-width: 0;
}

.oz-header__search-form .search-field {
  min-height: 50px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: #ffffff !important;
  color: #111827;
  font-size: 14px;
}

.oz-header__search-form .search-field::placeholder {
  color: #8b95a7;
}

.oz-header__search-form .search-submit,
.oz-header-consult-btn,


.oz-header__search-form .search-submit {
  min-height: 50px;
  min-width: 96px;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 700;
}

.oz-header-consult-btn--search {
  min-height: 50px;
  padding: 0 18px;
  border-radius: 6px;
  font-size: 13px;
  justify-self: end;
}

.oz-header-consult-btn--search .oz-header-consult-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oz-header-consult-btn:hover,
.oz-header__search-form .search-submit:hover,


.oz-header-navline {
  padding-top: 4px;
}

.oz-header-navline__inner {
  min-height: 42px;
  gap: 18px;
  align-items: center;
}

.oz-header-main::after,
.oz-header-navline__inner::before {
  display: none;
}

.oz-nav--main .oz-nav__list--main {
  gap: 4px;
}

.oz-nav--main .oz-nav__list--main > li > a {
  min-height: 34px;
  padding: 0.42rem 0.78rem;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}

.oz-nav--main .oz-nav__list--main > li > a:hover,
.oz-nav--main .oz-nav__list--main > li.current-menu-item > a,
.oz-nav--main .oz-nav__list--main > li.current_page_item > a {
  color: #ffffff;
  background: rgba(247, 166, 0, 0.12);
}

.oz-header-meta {
  gap: 16px;
}

.oz-topline-contact,
.oz-header-meta .oz-topline-contact {
  gap: 7px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.82);
}

.oz-topline-contact__icon {
  color: var(--oz-header-accent);
}

.oz-topline-contact__icon svg {
  width: 14px;
  height: 14px;
}

.oz-brands-item .oz-brand-dropdown {
  top: calc(100% + 6px);
  border-radius: 14px;
  background: var(--oz-header-surface-soft);
}

.oz-categories-dropdown__inner {
  border-radius: 0 0 14px 14px;
  background: var(--oz-header-surface-soft);
}

/* ===== Page title hero cleanup ===== */
.oz-main > .oz-container > .oz-page-hero,
.oz-main .oz-page-hero.oz-archive-header,
.page .oz-page-hero,
.archive .oz-page-hero,
.search .oz-page-hero {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.oz-main > .oz-container > .oz-page-hero {
  margin-left: calc(var(--container-padding, 0px) * -1);
  margin-right: calc(var(--container-padding, 0px) * -1);
}

.oz-page-hero {
  min-height: var(--oz-page-hero-height);
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.oz-page-hero .oz-page-hero__title {
  margin: 0 !important;
}

.oz-page-hero .oz-breadcrumbs {
  margin: 0 !important;
}

.oz-page-hero .oz-breadcrumbs__list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  line-height: 1.1;
}

.oz-page-hero .oz-breadcrumbs__item,
.oz-page-hero .oz-breadcrumbs__item > a,
.oz-page-hero .oz-breadcrumbs__item > span {
  display: inline-flex;
  align-items: center;
  line-height: 1.1;
  vertical-align: middle;
}

.oz-page-hero .oz-breadcrumbs__item:not(:last-child)::after {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-left: 4px;
}

/* Force center alignment for page titles and breadcrumbs (override leftovers) */
.oz-page-hero,
.oz-page-hero .oz-page-hero__title,
.oz-page-hero .oz-page-hero__description,
.oz-page-hero .oz-breadcrumbs,
.oz-archive-header,
.oz-archive-title {
  text-align: center !important;
}

.oz-page-hero .oz-page-hero__title,
.oz-archive-title {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}

.oz-page-hero .oz-breadcrumbs__list,
.oz-page-hero .oz-breadcrumbs {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.oz-page-hero .oz-breadcrumbs__item,
.oz-page-hero .oz-breadcrumbs__item > a,
.oz-page-hero .oz-breadcrumbs__item > span {
  vertical-align: middle !important;
  line-height: 1.1 !important;
}

/* ===== Footer corporate redesign ===== */
.oz-footer {
  background: #0b0d10 !important;
  color: #eef2f7 !important;
  padding: 2.75rem 0 1.1rem !important;
  border-top: 0 !important;
  position: relative;
}

.oz-footer-panel {
  width: var(--container, 1440px) !important;
  max-width: 100% !important;
  margin: 0 auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 3rem 3rem 1.1rem;
  box-sizing: border-box;
}

.oz-footer-grid {
  display: grid;
  grid-template-columns: minmax(200px, 1.05fr) minmax(0, max-content) minmax(220px, 1.3fr) minmax(230px, 1fr);
  gap: 1.2rem 1.1rem;
  align-items: start;
  margin: 0;
  padding: 18px 0;
}

.oz-footer-column {
  min-width: 0;
}

.oz-footer-column--brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-right: 1rem;
}

.oz-footer-column--brand .oz-site-logo,
.oz-footer-column--brand .custom-logo-link {
  display: flex;
  justify-content: center;
}

.oz-footer-column--brand .oz-site-logo img {
  max-height: 92px;
  width: auto;
}

.oz-footer-brand-text {
  margin: 1rem auto 0;
  max-width: 240px;
  color: rgba(226, 232, 240, 0.82);
  font-size: 0.95rem;
  line-height: 1.7;
}

.oz-footer-title {
  margin: 0 0 1.25rem;
  color: #ffffff;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
}

.oz-footer-nav {
  min-width: 0;
}

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

.oz-footer-list li {
  position: relative;
  margin: 0 0 0.9rem;
  padding-left: 1rem;
  color: rgba(226, 232, 240, 0.78);
  line-height: 1.6;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.oz-footer-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.82em;
  width: 8px;
  height: 1px;
  background: rgba(255, 255, 255, 0.62);
}

.oz-footer-list a,
.oz-footer-list span {
  color: inherit;
  text-decoration: none;
  font-size: 0.94rem;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.oz-footer-list a:hover {
  color: #ffffff;
  text-decoration: none;
}

.oz-footer-nav,
.oz-footer-nav ul,
.oz-footer-nav li,
.oz-footer-nav a,
.oz-footer-column,
.oz-footer-grid {
  background: transparent !important;
  box-shadow: none !important;
}

.oz-footer-list--contact li {
  margin-bottom: 1rem;
}

.oz-footer-bottom {
  margin-top: 2.4rem;
  width: 100%;
  background-color: #151515;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.oz-footer-bottom__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.oz-footer-bottom__left,
.oz-footer-bottom__right {
  color: #323232;
  font-size: 0.78rem;
  line-height: 1.4;
}

.oz-footer-bottom__right a {
  color: #323232;
}

.oz-footer-bottom__right {
  text-align: right;
}

@media (max-width: 1024px) {
  .oz-footer-panel {
    width: min(1100px, calc(100% - 36px));
    padding: 2.5rem 2rem 1rem;
  }

  .oz-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1.35rem;
  }

  .oz-footer-column--brand {
    align-items: flex-start;
    text-align: left;
  }

  .oz-footer-column--brand .oz-site-logo,
  .oz-footer-column--brand .custom-logo-link {
    justify-content: flex-start;
  }

  .oz-footer-brand-text {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  .oz-footer {
    padding: 2rem 0 1rem !important;
  }

  .oz-footer-panel {
    width: calc(100% - 28px);
    padding: 2rem 1.25rem 0.95rem;
  }

  .oz-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .oz-footer-column,
  .oz-footer-column--brand {
    align-items: flex-start;
    text-align: left;
    padding-right: 0;
  }

  .oz-footer-column--brand .oz-site-logo,
  .oz-footer-column--brand .custom-logo-link {
    justify-content: flex-start;
  }

  .oz-footer-column--brand .oz-site-logo img {
    max-height: 80px;
  }

  .oz-footer-brand-text {
    max-width: none;
  }

  .oz-footer-bottom__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
  }

  .oz-footer-bottom__right {
    text-align: left;
  }
}

/* Remove the artificial overlay above the footer */
.oz-footer::before {
  display: none !important;
  content: none !important;
}

/* Remove the white gap above footer created by main content bottom padding */
.page .oz-main,
.single .oz-main,
.search .oz-main,
.archive .oz-main,
.home .oz-main,
.blog .oz-main,
.error404 .oz-main {
  padding-bottom: 0 !important;
}

/* ===== Contactenos: remove visual effects only on this page ===== */
body.page-contactenos .oz-page__content .wp-block-group,
body.page-contactenos .oz-page__content .wp-block-columns,
body.page-contactenos .oz-page__content .wp-block-column,
body.page-contactenos .oz-page__content .wp-block-cover,
body.page-contactenos .oz-page__content .wp-block-media-text,
body.page-contactenos .oz-page__content .oz-grid,
body.page-contactenos .oz-page__content .oz-col {
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  border-image: none !important;
}

body.page-contactenos .oz-page__content form,
body.page-contactenos .oz-page__content .wpcf7,
body.page-contactenos .oz-page__content .wpforms-container,
body.page-contactenos .oz-page__content .fluentform,
body.page-contactenos .oz-page__content .frm_forms,
body.page-contactenos .oz-page__content .forminator-ui,
body.page-contactenos .oz-page__content .nf-form-cont,
body.page-contactenos .oz-page__content .everest-forms,
body.page-contactenos .oz-page__content [class*="form"],
body.page-contactenos .oz-page__content [class*="Form"] {
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
}

body.page-contactenos .oz-page__content .wpcf7,
body.page-contactenos .oz-page__content .wpforms-container,
body.page-contactenos .oz-page__content .fluentform,
body.page-contactenos .oz-page__content .frm_forms,
body.page-contactenos .oz-page__content .forminator-ui,
body.page-contactenos .oz-page__content .nf-form-cont,
body.page-contactenos .oz-page__content .everest-forms,
body.page-contactenos .oz-page__content form {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
}

/* ===== Search bar: icon button INSIDE the input (style like image 2) ===== */
.oz-header__search-form .search-form {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.oz-header__search-form .search-field {
  width: 100% !important;
  padding: 0 48px 0 18px !important; /* space for icon button at right */
  border-radius: 6px !important;
  min-height: 46px !important;
  box-shadow: none !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
}

.oz-header__search-form .search-submit {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: calc(100% - 12px) !important;
  min-width: 40px !important;
  padding: 0 10px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--oz-header-accent) !important;
  color: #11161b !important;
  box-shadow: none !important;
}

.oz-header__search-form .search-submit:hover {
  background: #ffb51a !important;
}

.oz-header__search-form .oz-search-btn__text {
  display: none !important; /* hide text, show only icon */
}

.oz-header__search-form .oz-search-btn__icon,
.oz-header__search-form .oz-search-btn__icon svg {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
}

/* Ensure icon stroke/fill are visible when SVG uses currentColor */
.oz-header__search-form .oz-search-btn__icon svg [stroke],
.oz-header__search-form .oz-search-btn__icon svg [fill] {
  stroke: currentColor !important;
  fill: currentColor !important;
}

/* Reduce visual border between input and button */
.oz-header__search-form .search-field,
.oz-header__search-form .search-submit {
  outline: none !important;
}

/* Mobile tweaks: slightly smaller padding and button size */
@media (max-width: 767px) {
  .oz-header__search-form .search-field {
    padding: 0 44px 0 12px !important;
    min-height: 42px !important;
  }
  .oz-header__search-form .search-submit {
    right: 6px !important;
    height: calc(100% - 10px) !important;
    min-width: 36px !important;
  }
}

/* Header search using plugin shortcode: preserve plugin look */
.oz-header .ozpls-figma {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Panel de resultados: el JS header-live-search-float.js puede fijarlo al viewport (data-oz-fixed-results) */
.oz-header .ozpls-figma__results {
  left: 0;
  right: 0;
  max-width: 100%;
  z-index: 10060;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  max-height: min(70vh, 480px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.oz-header .ozpls-figma__results[data-oz-fixed-results="1"] {
  right: auto !important;
  max-width: none !important;
}

/* ===== Contactenos final cleanup ===== */
body.oz-contact-page .oz-page__content *,
body.page-contactenos .oz-page__content * {
  transition: none !important;
}

body.oz-contact-page .oz-page__content *:hover,
body.oz-contact-page .oz-page__content *:focus,
body.page-contactenos .oz-page__content *:hover,
body.page-contactenos .oz-page__content *:focus {
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.oz-contact-page .oz-page__content .wp-block-group,
body.oz-contact-page .oz-page__content .wp-block-columns,
body.oz-contact-page .oz-page__content .wp-block-column,
body.oz-contact-page .oz-page__content .wp-block-cover,
body.oz-contact-page .oz-page__content .wp-block-media-text,
body.page-contactenos .oz-page__content .wp-block-group,
body.page-contactenos .oz-page__content .wp-block-columns,
body.page-contactenos .oz-page__content .wp-block-column,
body.page-contactenos .oz-page__content .wp-block-cover,
body.page-contactenos .oz-page__content .wp-block-media-text {
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  border-image: none !important;
}

body.oz-contact-page .oz-page__content form,
body.oz-contact-page .oz-page__content [class*="form"],
body.oz-contact-page .oz-page__content [class*="Form"],
body.page-contactenos .oz-page__content form,
body.page-contactenos .oz-page__content [class*="form"],
body.page-contactenos .oz-page__content [class*="Form"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  background: transparent !important;
}

body.oz-contact-page .oz-page__content form::before,
body.oz-contact-page .oz-page__content form::after,
body.oz-contact-page .oz-page__content [class*="form"]::before,
body.oz-contact-page .oz-page__content [class*="form"]::after,
body.page-contactenos .oz-page__content form::before,
body.page-contactenos .oz-page__content form::after,
body.page-contactenos .oz-page__content [class*="form"]::before,
body.page-contactenos .oz-page__content [class*="form"]::after {
  display: none !important;
  content: none !important;
}

/* Contactenos: formulario legible (campos claros; sin fondo negro en hover/focus) */
body.oz-contact-page .oz-page__content form,
body.oz-contact-page .oz-page__content .wpcf7,
body.oz-contact-page .oz-page__content .wpforms-container,
body.oz-contact-page .oz-page__content .fluentform,
body.oz-contact-page .oz-page__content .frm_forms,
body.oz-contact-page .oz-page__content .forminator-ui,
body.oz-contact-page .oz-page__content .nf-form-cont,
body.oz-contact-page .oz-page__content .everest-forms,
body.page-contactenos .oz-page__content form,
body.page-contactenos .oz-page__content .wpcf7,
body.page-contactenos .oz-page__content .wpforms-container,
body.page-contactenos .oz-page__content .fluentform,
body.page-contactenos .oz-page__content .frm_forms,
body.page-contactenos .oz-page__content .forminator-ui,
body.page-contactenos .oz-page__content .nf-form-cont,
body.page-contactenos .oz-page__content .everest-forms {
  background: #ffffff !important;
  color: #1a1a1a !important;
}

body.oz-contact-page .oz-page__content input,
body.oz-contact-page .oz-page__content textarea,
body.oz-contact-page .oz-page__content select,
body.oz-contact-page .oz-page__content .wpcf7-form-control,
body.page-contactenos .oz-page__content input,
body.page-contactenos .oz-page__content textarea,
body.page-contactenos .oz-page__content select,
body.page-contactenos .oz-page__content .wpcf7-form-control {
  background: #f0f0f0 !important;
  color: #1a1a1a !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  box-shadow: none !important;
}

/* Sin texto placeholder visible: solo se ve lo que el usuario escribe */
body.oz-contact-page .oz-page__content input::placeholder,
body.oz-contact-page .oz-page__content textarea::placeholder,
body.page-contactenos .oz-page__content input::placeholder,
body.page-contactenos .oz-page__content textarea::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

body.oz-contact-page .oz-page__content input::-webkit-input-placeholder,
body.oz-contact-page .oz-page__content textarea::-webkit-input-placeholder,
body.page-contactenos .oz-page__content input::-webkit-input-placeholder,
body.page-contactenos .oz-page__content textarea::-webkit-input-placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

body.oz-contact-page .oz-page__content input::-moz-placeholder,
body.oz-contact-page .oz-page__content textarea::-moz-placeholder,
body.page-contactenos .oz-page__content input::-moz-placeholder,
body.page-contactenos .oz-page__content textarea::-moz-placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

/* Campos: sin cambio visual en hover/focus (mismo aspecto que en reposo) */
body.oz-contact-page .oz-page__content input:hover,
body.oz-contact-page .oz-page__content textarea:hover,
body.oz-contact-page .oz-page__content select:hover,
body.oz-contact-page .oz-page__content input:focus,
body.oz-contact-page .oz-page__content textarea:focus,
body.oz-contact-page .oz-page__content select:focus,
body.page-contactenos .oz-page__content input:hover,
body.page-contactenos .oz-page__content textarea:hover,
body.page-contactenos .oz-page__content select:hover,
body.page-contactenos .oz-page__content input:focus,
body.page-contactenos .oz-page__content textarea:focus,
body.page-contactenos .oz-page__content select:focus {
  background: #f0f0f0 !important;
  color: #1a1a1a !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  box-shadow: none !important;
  outline: none !important;
}

body.oz-contact-page .oz-page__content button,
body.oz-contact-page .oz-page__content input[type="submit"],
body.oz-contact-page .oz-page__content .wpforms-submit,
body.page-contactenos .oz-page__content button,
body.page-contactenos .oz-page__content input[type="submit"],
body.page-contactenos .oz-page__content .wpforms-submit {
  background: #FFB32C !important;
  color: #111111 !important;
  border-color: #FFB32C !important;
  box-shadow: none !important;
}

body.oz-contact-page .oz-page__content button:hover,
body.oz-contact-page .oz-page__content input[type="submit"]:hover,
body.oz-contact-page .oz-page__content .wpforms-submit:hover,
body.page-contactenos .oz-page__content button:hover,
body.page-contactenos .oz-page__content input[type="submit"]:hover,
body.page-contactenos .oz-page__content .wpforms-submit:hover {
  background: #FFB32C !important;
  color: #111111 !important;
  border-color: #FFB32C !important;
}

/* WPForms: refuerzo por si los CSS del plugin pisan el textarea u otros campos */
body.oz-contact-page .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body.oz-contact-page .oz-page__content .wpforms-container textarea,
body.oz-contact-page .oz-page__content .wpforms-container select,
body.page-contactenos .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body.page-contactenos .oz-page__content .wpforms-container textarea,
body.page-contactenos .oz-page__content .wpforms-container select {
  background: #f0f0f0 !important;
  color: #1a1a1a !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
}

body.oz-contact-page .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):hover,
body.oz-contact-page .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
body.oz-contact-page .oz-page__content .wpforms-container textarea:hover,
body.oz-contact-page .oz-page__content .wpforms-container textarea:focus,
body.oz-contact-page .oz-page__content .wpforms-container select:hover,
body.oz-contact-page .oz-page__content .wpforms-container select:focus,
body.page-contactenos .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):hover,
body.page-contactenos .oz-page__content .wpforms-container input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
body.page-contactenos .oz-page__content .wpforms-container textarea:hover,
body.page-contactenos .oz-page__content .wpforms-container textarea:focus,
body.page-contactenos .oz-page__content .wpforms-container select:hover,
body.page-contactenos .oz-page__content .wpforms-container select:focus {
  background: #f0f0f0 !important;
  color: #1a1a1a !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Contactenos: bloques con fondo blanco inline — mantener claro (antes se forzaba #1A1A1A) */
body.oz-contact-page .oz-page__content [style*="background:#fff"],
body.oz-contact-page .oz-page__content [style*="background: #fff"],
body.oz-contact-page .oz-page__content [style*="background:#ffffff"],
body.oz-contact-page .oz-page__content [style*="background: #ffffff"],
body.oz-contact-page .oz-page__content [style*="background-color:#fff"],
body.oz-contact-page .oz-page__content [style*="background-color: #fff"],
body.oz-contact-page .oz-page__content [style*="background-color:#ffffff"],
body.oz-contact-page .oz-page__content [style*="background-color: #ffffff"],
body.oz-contact-page .oz-page__content [style*="background: rgb(255, 255, 255)"],
body.oz-contact-page .oz-page__content [style*="background-color: rgb(255, 255, 255)"],
body.page-contactenos .oz-page__content [style*="background:#fff"],
body.page-contactenos .oz-page__content [style*="background: #fff"],
body.page-contactenos .oz-page__content [style*="background:#ffffff"],
body.page-contactenos .oz-page__content [style*="background: #ffffff"],
body.page-contactenos .oz-page__content [style*="background-color:#fff"],
body.page-contactenos .oz-page__content [style*="background-color: #fff"],
body.page-contactenos .oz-page__content [style*="background-color:#ffffff"],
body.page-contactenos .oz-page__content [style*="background-color: #ffffff"],
body.page-contactenos .oz-page__content [style*="background: rgb(255, 255, 255)"],
body.page-contactenos .oz-page__content [style*="background-color: rgb(255, 255, 255)"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow: none !important;
}

body.oz-contact-page .oz-page__content [style*="background:#fff"] *,
body.oz-contact-page .oz-page__content [style*="background: #fff"] *,
body.oz-contact-page .oz-page__content [style*="background:#ffffff"] *,
body.oz-contact-page .oz-page__content [style*="background: #ffffff"] *,
body.oz-contact-page .oz-page__content [style*="background-color:#fff"] *,
body.oz-contact-page .oz-page__content [style*="background-color:#ffffff"] *,
body.page-contactenos .oz-page__content [style*="background:#fff"] *,
body.page-contactenos .oz-page__content [style*="background: #fff"] *,
body.page-contactenos .oz-page__content [style*="background:#ffffff"] *,
body.page-contactenos .oz-page__content [style*="background: #ffffff"] *,
body.page-contactenos .oz-page__content [style*="background-color:#fff"] *,
body.page-contactenos .oz-page__content [style*="background-color:#ffffff"] * {
  box-shadow: none !important;
}

/* Contactenos: remove white border/card outline and its hover */
body.oz-contact-page .oz-page__content [style*="border"],
body.oz-contact-page .oz-page__content [style*="border-color"],
body.oz-contact-page .oz-page__content [style*="box-shadow"],
body.page-contactenos .oz-page__content [style*="border"],
body.page-contactenos .oz-page__content [style*="border-color"],
body.page-contactenos .oz-page__content [style*="box-shadow"] {
  border-color: transparent !important;
  box-shadow: none !important;
}

body.oz-contact-page .oz-page__content [style*="border"]:hover,
body.oz-contact-page .oz-page__content [style*="border-color"]:hover,
body.oz-contact-page .oz-page__content [style*="box-shadow"]:hover,
body.oz-contact-page .oz-page__content [style*="border"]:focus,
body.oz-contact-page .oz-page__content [style*="border-color"]:focus,
body.oz-contact-page .oz-page__content [style*="box-shadow"]:focus,
body.page-contactenos .oz-page__content [style*="border"]:hover,
body.page-contactenos .oz-page__content [style*="border-color"]:hover,
body.page-contactenos .oz-page__content [style*="box-shadow"]:hover,
body.page-contactenos .oz-page__content [style*="border"]:focus,
body.page-contactenos .oz-page__content [style*="border-color"]:focus,
body.page-contactenos .oz-page__content [style*="box-shadow"]:focus {
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

/* Contactenos: remove border/padding from the builder column that wraps the form */
body.oz-contact-page .oz-builder-root .ml-section:first-of-type .ml-col:last-child,
body.page-contactenos .oz-builder-root .ml-section:first-of-type .ml-col:last-child {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.oz-contact-page .oz-builder-root .ml-section:first-of-type .ml-col:last-child:hover,
body.oz-contact-page .oz-builder-root .ml-section:first-of-type .ml-col:last-child:focus,
body.page-contactenos .oz-builder-root .ml-section:first-of-type .ml-col:last-child:hover,
body.page-contactenos .oz-builder-root .ml-section:first-of-type .ml-col:last-child:focus {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: none !important;
}

/* Disable global image hover zoom effects */
.oz-builder-root .ml-image-wrap img,
.oz-builder-root .ml-theme-logo-wrap img,
.oz-post__thumb img {
  transition: none !important;
  transform: none !important;
  will-change: auto !important;
}

.oz-builder-root .ml-image-wrap:hover img,
.oz-builder-root .ml-theme-logo-wrap:hover img,
.oz-post:hover .oz-post__thumb img {
  transform: none !important;
}

/* ===== Rediseño header/footer D&M ===== */
:root {
  --oz-dym-orange: #f47c20;
  --oz-dym-orange-dark: #db6811;
  --oz-dym-dark: #111214;
  --oz-dym-dark-soft: #1a1b1e;
  --oz-dym-border: #e8e8e8;
  /* Dropdown Categorías (header): filas visibles antes de scroll */
  --oz-categories-dropdown-visible-rows: 8;
  --oz-categories-dropdown-row-height: 2.78rem;
}

.oz-header {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding: 12px 0 0 !important;
}

.oz-header > .oz-container {
  position: relative;
  width: var(--container, 1440px) !important;
  max-width: 1440px !important;
  padding: 0 !important;
  overflow: visible !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Cadena completa visible: si el plugin usa position:absolute, no debe recortar ningún padre */
.oz-header .oz-header-right,
.oz-header .oz-header-main,
.oz-header .oz-header-main__inner,
.oz-header .oz-header__search,
.oz-header .oz-header__search-form,
.oz-header .ozpls-figma,
.oz-header .ozpls-figma__inner,
.oz-header .ozpls-figma__form {
  overflow: visible !important;
}

.oz-header-topbar {
  background: var(--oz-dym-dark);
  color: rgba(255, 255, 255, 0.86);
  /* Esquinas superiores al ras del viewport (sin curva en la franja negra) */
  border-radius: 0;
  overflow: hidden;
}

.oz-header-topbar__inner {
  min-height: 34px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.oz-header-topbar__items {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.oz-header-topbar__items > * {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  font-size: calc(11px + 1pt);
  line-height: 1.2;
  white-space: nowrap;
}

.oz-header-topbar__items > *:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.16);
  transform: translateY(-50%);
}

.oz-header-topbar__items--left > *:first-child {
  padding-left: 0;
}

.oz-header-topbar__items--right > *:last-child {
  padding-right: 0;
}

.oz-header-card {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: stretch;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.08);
  /* visible: el buscador en vivo (OZ Live Search) despliega resultados hacia abajo;
     overflow:hidden los recortaba dentro de la tarjeta blanca */
  overflow: visible !important;
}

.oz-header-left {
  background: #fff !important;
  border-right: 1px solid var(--oz-dym-border) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px !important;
  min-height: 92px;
}

.oz-header-left .oz-site-logo,
.oz-header-left .custom-logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.oz-header-left .oz-site-logo img,
.oz-header .oz-site-logo img {
  max-height: 68px !important;
  width: auto;
}

.oz-header-right {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.oz-header-main {
  border-bottom: 1px solid var(--oz-dym-border) !important;
}

.oz-header-main::after,
.oz-header-navline__inner::before,
.oz-header-main__inner::after {
  display: none !important;
}

.oz-header-main__inner {
  min-height: 58px !important;
  padding: 16px 18px 12px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.oz-mobile-main-toggle {
  display: none;
  width: 42px;
  height: 42px;
  min-height: 42px !important;
  border-radius: 6px;
  border: 1px solid #dedede;
  background: #fff;
  color: #444;
}

.oz-header__search-area,
.oz-header-right .oz-header__search-area {
  position: relative;
  z-index: 30;
  width: 100% !important;
  max-width: none !important;
  grid-column: auto !important;
  justify-self: stretch !important;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.oz-header-categories-btn {
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid var(--oz-dym-border) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #333 !important;
  justify-content: flex-start !important;
  gap: 8px;
  font-size: calc(12px + 1pt) !important;
  font-weight: 500 !important;
}

.oz-header-categories-btn__icon,
.oz-header-categories-btn__caret {
  color: var(--oz-dym-orange);
}

.oz-header-categories-btn[aria-expanded="true"] {
  border-color: rgba(244, 124, 32, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(244, 124, 32, 0.12) !important;
}

.oz-header__search,
.oz-header__search-form,
.oz-header__search-form .search-form {
  width: 100%;
}

.oz-header__search-form .search-form {
  position: relative !important;
  display: block !important;
}

.oz-header__search-form .search-form > label {
  display: block;
}

.oz-header__search-form .search-field {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 46px 0 14px !important;
  border: 1px solid var(--oz-dym-border) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #232323 !important;
  font-size: calc(12px + 1pt) !important;
}

.oz-header__search-form .search-field::placeholder {
  color: #9b9b9b;
}

.oz-header__search-form .search-submit {
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border-radius: 4px !important;
  border: 0 !important;
  background: var(--oz-dym-orange) !important;
  color: #fff !important;
}

.oz-header__search-form .oz-search-btn__text {
  display: none !important;
}

.oz-header__search-form .oz-search-btn__icon,
.oz-header__search-form .oz-search-btn__icon svg {
  display: inline-flex !important;
  width: 14px !important;
  height: 14px !important;
}

.oz-header-consult-btn,
.oz-header-consult-btn--search {
  min-height: 42px !important;
  padding: 0 5px !important;
  border-radius: 10px !important;
  background: var(--oz-dym-orange) !important;
  color: #fff !important;

  justify-self: end !important;
}

.oz-header-consult-btn:hover,
.oz-header__search-form .search-submit:hover {
  background: var(--oz-dym-orange-dark) !important;
  text-decoration: none;
}

.oz-header-navline {
  padding: 0 !important;
}

.oz-header-navline__inner {
  min-height: 44px !important;
  padding: 0 18px !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.oz-nav--main {
  width: 100%;
}

.oz-nav--main .oz-nav__list--main,
.oz-nav--main .menu,
.oz-nav--main .page-menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2px 4px;
  width: 100%;
}

.oz-nav--main .oz-nav__list--main > li > a,
.oz-nav--main .menu > li > a,
.oz-nav--main .page-menu > li > a {
  min-height: 38px;
  padding: 0 10px;
  border-radius: 4px;
  color: #262626;
  font-size: calc(12px + 1pt);
  font-weight: 500;
}

.oz-nav--main .oz-nav__list--main > li > a:hover,
.oz-nav--main .oz-nav__list--main > li.current-menu-item > a,
.oz-nav--main .oz-nav__list--main > li.current_page_item > a {
  color: var(--oz-dym-orange-dark);
  background: rgba(244, 124, 32, 0.08);
  text-decoration: none;
}

.oz-header-meta,
.oz-brands-item {
  display: none !important;
}

.oz-topline-contact,
.oz-header-meta .oz-topline-contact {
  color: inherit !important;
  gap: 6px;
  font-size: calc(11px + 1pt);
  text-decoration: none !important;
}

.oz-topline-contact__icon {
  color: var(--oz-dym-orange);
}

.oz-categories-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0;
  right: 0;
  z-index: 1150;
}

.oz-categories-dropdown__inner {
  background: #fff !important;
  border: 1px solid var(--oz-dym-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.08) !important;
  padding: 14px !important;
}

.oz-categories-tree {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  overflow: visible !important;
}

.oz-categories-tree > li {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.oz-categories-tree > li > a {
  color: #222 !important;
  font-weight: 700 !important;
}

.oz-categories-tree li a:hover {
  color: var(--oz-dym-orange-dark) !important;
}

.oz-categories-tree ul {
  margin: 6px 0 0 !important;
  padding-left: 10px !important;
  border-left: 1px solid #ededed !important;
}

.oz-mobile-menu {
  background: #fff !important;
}

.oz-mobile-menu__head {
  background: #f7f7f7 !important;
}

.oz-mobile-nav__list > li > a {
  color: #202020 !important;
}

.oz-mobile-nav__list > li > a:hover {
  color: var(--oz-dym-orange-dark) !important;
}

.oz-footer {
  background: linear-gradient(180deg, #101113 0%, #141518 62%, #121315 100%) !important;
  color: #f2f2f2 !important;
  padding: 3.5rem 0 0 !important;
  border-top: 0 !important;
  font-family: var(--font-base) !important;
}

.oz-footer__content {
  padding-top: 0 !important;
}

.oz-footer-panel {
  width: var(--container, 1440px) !important;
  max-width: 1440px !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.oz-footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) minmax(150px, 0.7fr) minmax(240px, 1fr) minmax(250px, 0.95fr);
  gap: 1.35rem 1.3rem;
  align-items: start;
  margin: 0;
  padding: 23px 0 26px;
}

.oz-footer-column--categories {
  padding-right: 10px;
}

.oz-footer-column--brand {
  text-align: center;
  align-items: center;
}

.oz-footer-logo-link,
.oz-footer-column--brand .oz-site-logo,
.oz-footer-column--brand .custom-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oz-footer-logo-image,
.oz-footer-column--brand .oz-site-logo img {
  display: block;
  max-height: 88px !important;
  width: auto;
}

.oz-footer-brand-text {
  max-width: 310px;
  margin: 12px auto 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.62;
}

.oz-footer-title {
  margin: 0 0 11px !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.008em;
}

.oz-footer-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oz-footer-list li {
  margin: 0 0 10px !important;
  padding: 0 !important;
  position: relative;
  color: rgba(255, 255, 255, 0.72) !important;
  line-height: 1.4;
}

.oz-footer-list li::before {
  content: none !important;
  display: none !important;
}

.oz-footer-list a,
.oz-footer-list span {
  color: inherit !important;
  font-size: 13px !important;
  transition: color 0.22s ease, transform 0.22s ease;
}

.oz-footer-list a:hover {
  color: var(--oz-dym-orange) !important;
  text-decoration: none;
  transform: translateX(2px);
}

/* Lista de categorías: más altura visible; sin gutter fijo para no dejar franja vacía junto a la siguiente columna */
.oz-footer-categories-scroll {
  max-height: min(200px, 40vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 8px;
  margin-right: 6px;
  scroll-behavior: smooth;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) rgba(0, 0, 0, 0.45);
}

.oz-footer-categories-scroll::-webkit-scrollbar {
  width: 7px;
}

.oz-footer-categories-scroll::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 999px;
  margin: 4px 0;
}

.oz-footer-categories-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(
    180deg,
    rgba(82, 82, 82, 0.95) 0%,
    rgba(42, 42, 42, 0.98) 100%
  );
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.oz-footer-categories-scroll::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    180deg,
    rgba(110, 110, 110, 0.98) 0%,
    rgba(58, 58, 58, 1) 100%
  );
}

.oz-footer-column--contact {
  overflow: visible;
  max-height: none;
}

.oz-footer-contact-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 1px;
}

.oz-footer-contact-form__field {
  width: 100%;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.9);
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.2;
  padding: 0 12px;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.oz-footer-contact-form__field::placeholder {
  color: rgba(255, 255, 255, 0.42);
}

.oz-footer-contact-form__field:focus {
  outline: none;
  border-color: rgba(244, 124, 32, 0.56);
  box-shadow: 0 0 0 2px rgba(244, 124, 32, 0.14);
  background: rgba(255, 255, 255, 0.05);
}

.oz-footer-contact-form__field--textarea {
  min-height: 82px;
  height: auto;
  padding-top: 10px;
  line-height: 1.45;
  resize: none;
}

.oz-footer-contact-form__submit {
  margin-top: 4px;
  height: 36px;
  border: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--oz-dym-orange) 0%, var(--oz-dym-orange-dark) 100%);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.oz-footer-contact-form__submit:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.oz-footer-contact-form__submit:active {
  transform: translateY(0);
}

.oz-footer-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0.9rem;
  margin-bottom: 3.5rem;
}

.oz-footer-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.015);
}

.oz-footer-card__icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.66);
  line-height: 0;
  overflow: hidden;
}

.oz-footer-card__icon::before,
.oz-footer-card__icon::after,
.oz-footer-card__icon svg::before,
.oz-footer-card__icon svg::after {
  display: none !important;
  content: none !important;
}

.oz-footer-card__icon svg {
  display: block;
  overflow: visible;
}

.oz-footer-card__content h5 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.oz-footer-card__content p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 2px !important;
}

.oz-footer-bottom {
  margin-top: 8px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  background-color: #151515 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.oz-footer-bottom__inner {
  width: var(--container, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
}

.oz-footer-bottom__left,
.oz-footer-bottom__right,
.oz-footer-bottom__right a {
  color: rgba(255, 255, 255, 0.34) !important;
  font-size: 11px !important;
  text-decoration: none !important;
}

.oz-footer-bottom__right a:hover {
  color: rgba(255, 255, 255, 0.68) !important;
  text-decoration: underline !important;
}

@media (max-width: 1100px) {
  .oz-header-topbar__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 8px 14px;
  }

  .oz-header-topbar__items {
    flex-wrap: wrap;
  }

  .oz-header-topbar__items > * {
    min-height: 24px;
    padding: 0 10px;
  }

  .oz-header-card {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .oz-header__search-area,
  .oz-header-right .oz-header__search-area {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .oz-footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.15rem 1.1rem;
  }

  .oz-footer-cards {
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
}

@media (max-width: 767px) {
  .oz-header {
    padding-top: 8px !important;
  }

  .oz-header > .oz-container,
  .oz-footer-panel {
    max-width: 100% !important;
  }

  .oz-header-topbar {
    border-radius: 0;
  }

  .oz-header-topbar__inner {
    display: none;
  }

  .oz-header-card {
    grid-template-columns: 1fr !important;
    border-radius: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
  }

  .oz-header-left {
    justify-content: flex-start;
    gap: 10px;
    min-height: 72px;
    padding: 12px 14px 8px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--oz-dym-border) !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    max-height: 54px !important;
  }

  .oz-header-main__inner {
    grid-template-columns: 1fr !important;
    padding: 12px 14px !important;
  }

  .oz-mobile-main-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .oz-header-left .oz-mobile-main-toggle {
    margin-left: auto !important;
    flex: 0 0 auto;
  }

  .oz-header__search-area,
  .oz-header-right .oz-header__search-area {
    grid-template-columns: 1fr !important;
  }

  .oz-header-categories-btn {
    min-height: 40px !important;
  }

  .oz-header-consult-btn--search,
  .oz-header-navline,
  .oz-header-navline__inner,
  .oz-nav--main {
    display: none !important;
  }

  .oz-categories-dropdown {
    display: none !important;
  }

  .oz-footer {
    padding: 16px 0 0 !important;
  }

  .oz-footer-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 14px 0 10px;
  }

  .oz-footer-column--categories {
    padding-right: 0;
  }

  .oz-footer-column--brand {
    align-items: flex-start;
    text-align: left;
  }

  .oz-footer-column--brand .oz-site-logo,
  .oz-footer-column--brand .custom-logo-link {
    justify-content: flex-start;
  }

  .oz-footer-brand-text {
    margin-left: 0;
    margin-right: 0;
  }

  .oz-footer-categories-scroll {
    margin-right: 0;
    padding-right: 6px;
  }

  .oz-footer-card {
    padding: 16px;
    align-items: flex-start;
  }

  .oz-footer-bottom__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* ===== Ajuste final cabecera referencia ===== */
body {
  --oz-header-offset: 0px !important;
  padding-top: 0 !important;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.oz-header,
.oz-header.is-fixed {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1200 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.oz-header.is-hidden {
  transform: none !important;
}



.oz-header-categories-btn,
.oz-header__search-form .search-field,
.oz-header-consult-btn,
.oz-header-consult-btn--search,
.oz-nav--main .oz-nav__list--main > li > a,
.oz-nav--main .menu > li > a,
.oz-nav--main .page-menu > li > a {
  font-size: calc(14px + 1pt) !important;
}

.oz-header-topbar__items > *,
.oz-topline-contact,
.oz-header-meta .oz-topline-contact {
  font-size: calc(11px + 1pt) !important;
}

.oz-header-card {
  border-radius: 0 0 8px 8px !important;
  border-top: 0 !important;
}

.oz-header-right {
  display: block !important;
}

.oz-header-main {
  border-bottom: 0 !important;
}

.oz-header-navline,
.oz-header-navline__inner {
  display: none !important;
}

.oz-header-main__inner {
  min-height: 76px !important;
  padding: 8px 18px !important;
  grid-template-columns: minmax(320px, 1.05fr) minmax(0, 1fr) auto !important;
  gap: 16px !important;
}

.oz-header__search-area,
.oz-header-right .oz-header__search-area {
  grid-template-columns: 170px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.oz-nav--main {
  min-width: 0 !important;
  width: auto !important;
}

.oz-nav--main .oz-nav__list--main,
.oz-nav--main .menu,
.oz-nav--main .page-menu {
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: auto !important;
}

.oz-nav--main .oz-nav__list--main > li > a,
.oz-nav--main .menu > li > a,
.oz-nav--main .page-menu > li > a {
  min-height: 42px !important;
  padding: 0 8px !important;
  white-space: nowrap !important;
}

.oz-header-consult-btn--search {
  white-space: nowrap;
  margin-left: 4px;
}

/* Desplegable Categorías (desktop): posición + apertura/cierre suave */
.oz-categories-dropdown {
  left: 208px !important;
  right: auto !important;
  width: min(360px, calc(100vw - 40px)) !important;
  top: calc(100% + 8px) !important;
  z-index: 1160 !important;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, -10px, 0);
  pointer-events: none !important;
  transition:
    opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0.32s !important;
}

.oz-categories-dropdown.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) !important;
  pointer-events: auto !important;
  transition:
    opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s !important;
}

.oz-categories-dropdown__inner {
  padding: 8px 6px !important;
  max-height: calc(
    var(--oz-categories-dropdown-visible-rows, 8) * var(--oz-categories-dropdown-row-height, 2.78rem)
  ) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.07) !important;
  border-radius: 14px !important;
  box-shadow:
    0 24px 48px rgba(15, 23, 42, 0.14),
    0 0 0 1px rgba(0, 0, 0, 0.03) !important;
}

.oz-categories-dropdown__inner::-webkit-scrollbar {
  width: 7px;
}

.oz-categories-dropdown__inner::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 999px;
}

.oz-categories-dropdown__inner::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 999px;
  margin: 6px 0;
}

.oz-categories-tree {
  display: block !important;
}

.oz-categories-tree > li {
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  padding: 0 !important;
}

.oz-categories-tree > li:last-child {
  border-bottom: 0 !important;
}

.oz-categories-tree > li > a {
  display: block !important;
  margin: 2px 4px;
  padding: 11px 42px 11px 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.oz-categories-tree > li > a:hover,
.oz-categories-tree > li > a:focus-visible {
  background: rgba(244, 124, 32, 0.1) !important;
  color: var(--oz-dym-orange-dark, #db6811) !important;
  outline: none !important;
}

.oz-categories-tree ul {
  margin: 0 0 8px !important;
  padding: 0 0 0 14px !important;
}

.oz-categories-tree .children {
  display: none;
}

.oz-categories-tree .cat-parent.is-open > .children {
  display: block;
}

.oz-categories-tree .children li {
  padding: 0 !important;
}

.oz-categories-tree .children a {
  display: block !important;
  margin: 1px 4px;
  padding: 8px 10px !important;
  font-size: 13px !important;
  color: #4b5563 !important;
  border-radius: 8px !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}

.oz-categories-tree .children a:hover,
.oz-categories-tree .children a:focus-visible {
  background: rgba(244, 124, 32, 0.08) !important;
  color: var(--oz-dym-orange-dark, #db6811) !important;
  outline: none !important;
}

.oz-categories-tree .oz-submenu-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  background: #fafafa;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.oz-categories-tree .oz-submenu-toggle:hover {
  background: rgba(244, 124, 32, 0.12);
  border-color: rgba(244, 124, 32, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .oz-categories-dropdown,
  .oz-categories-dropdown.is-open {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}

@media (max-width: 1200px) {
  .oz-header-main__inner {
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) auto !important;
  }

  .oz-nav--main .oz-nav__list--main > li > a,
  .oz-nav--main .menu > li > a,
  .oz-nav--main .page-menu > li > a {
    padding: 0 6px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 991px) {
  .oz-header,
  .oz-header.is-fixed {
    position: absolute !important;
  }

  .oz-header-card {
    grid-template-columns: 1fr !important;
    border-radius: 0 0 8px 8px !important;
  }

  .oz-header-main__inner {
    grid-template-columns: 1fr !important;
    padding: 12px 14px !important;
  }

  .oz-header__search-area,
  .oz-header-right .oz-header__search-area {
    grid-template-columns: 1fr !important;
  }

  .oz-nav--main,
  .oz-header-consult-btn--search,
  .oz-categories-dropdown {
    display: none !important;
  }
}

/* ===== Ajustes finos cabecera scroll + mobile ===== */
.oz-header,
.oz-header.is-fixed {
  transition: transform 280ms ease, opacity 220ms ease, box-shadow 220ms ease !important;
}

.oz-header.is-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

.oz-header.is-hidden {
  transform: translateY(calc(-100% - 10px)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.oz-categories-tree > li > a {
  font-weight: 600 !important;
}

.oz-categories-tree .children a {
  font-weight: 400 !important;
}

.oz-mobile-overlay {
  z-index: 1390 !important;
}

.oz-mobile-menu {
  z-index: 1400 !important;
}

.oz-mobile-menu--categories {
  z-index: 1410 !important;
}

@media (max-width: 991px) {
  .oz-header,
  .oz-header.is-fixed {
    top: 10px !important;
  }

  .oz-header > .oz-container {
    width: calc(100% - 16px) !important;
  }

  .oz-header-card {
    border-radius: 10px !important;
    overflow: visible !important;
  }

  .oz-header-left {
    min-height: 78px !important;
    padding: 14px 14px 10px !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    max-height: 58px !important;
  }

  .oz-header-main__inner {
    padding: 12px 14px 14px !important;
    gap: 10px !important;
  }

  .oz-header__search-area,
  .oz-header-right .oz-header__search-area {
    gap: 10px !important;
  }

  .oz-header__search-form .search-field {
    min-height: 42px !important;
    height: 42px !important;
  }

  .oz-header-categories-btn,
  .oz-mobile-main-toggle {
    min-height: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 767px) {
  .oz-header,
  .oz-header.is-fixed {
    top: 8px !important;
  }

  .oz-header > .oz-container {
    width: calc(100% - 12px) !important;
  }

  .oz-header-left {
    min-height: 74px !important;
    padding: 12px 12px 8px !important;
  }

  .oz-header-main__inner {
    padding: 10px 12px 12px !important;
  }

  .oz-mobile-menu--categories {
    inset: 0 auto 0 0 !important;
    width: min(360px, 92vw) !important;
    top: 0 !important;
  }
}

/* ===== Cabecera móvil full width final ===== */
@media (max-width: 991px) {
  .oz-header,
  .oz-header.is-fixed {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  .oz-header-card {
    width: 100% !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .oz-header-left {
    min-height: auto !important;
    padding: 10px 14px 6px !important;
    border-bottom: 0 !important;
  }

  .oz-header-left .oz-site-logo,
  .oz-header-left .custom-logo-link {
    justify-content: center !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    max-height: 42px !important;
  }

  .oz-header-main__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    grid-template-areas:
      "search search"
      "categories menu" !important;
    gap: 10px !important;
    padding: 0 14px 14px !important;
    min-height: auto !important;
  }

  .oz-header__search-area,
  .oz-header-right .oz-header__search-area {
    display: contents !important;
  }

  .oz-header-right,
  .oz-header-main {
    display: block !important;
  }

  .oz-header__search {
    grid-area: search !important;
    width: 100% !important;
    display: block !important;
  }

  .oz-header-categories-btn {
    grid-area: categories !important;
    display: inline-flex !important;
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
  }

  .oz-mobile-main-toggle {
    grid-area: menu !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
  }

  .oz-header-left .oz-mobile-main-toggle {
    margin-left: 0 !important;
  }

  .oz-header__search-form .search-field {
    min-height: 42px !important;
    height: 42px !important;
    font-size: calc(14px + 1pt) !important;
  }

  .oz-mobile-overlay {
    z-index: 1998 !important;
  }

  .oz-mobile-menu {
    z-index: 1999 !important;
  }

  .oz-mobile-menu--categories {
    z-index: 2000 !important;
    inset: 0 auto 0 0 !important;
    top: 0 !important;
    width: min(360px, 92vw) !important;
  }
}

@media (max-width: 767px) {
  .oz-header-card {
    padding-bottom: 10px !important;
  }

  .oz-header-left {
    padding: 10px 12px 8px !important;
  }

  .oz-header-main__inner {
    padding: 0 12px 0 !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    max-height: 40px !important;
  }
}

/* ===== Mobile header hard fix ===== */
@media (max-width: 991px) {
  .oz-header,
  .oz-header.is-fixed {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .oz-header > .oz-container {
    width: 100% !important;
    max-width: none !important;
  }

  .oz-header-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    grid-template-areas:
      "logo categories menu"
      "search search search" !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 12px 14px !important;
    width: 100% !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  .oz-header-left {
    grid-area: logo !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  .oz-header-left .oz-site-logo,
  .oz-header-left .custom-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    display: block !important;
    max-height: 34px !important;
    width: auto !important;
  }

  .oz-header-right,
  .oz-header-main,
  .oz-header-main__inner,
  .oz-header__search-area {
    display: contents !important;
  }

  .oz-header__search {
    grid-area: search !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 2px !important;
  }

  .oz-header__search-form,
  .oz-header__search-form .search-form {
    width: 100% !important;
  }

  .oz-header__search-form .search-field {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 42px 0 14px !important;
    font-size: calc(14px + 1pt) !important;
  }

  .oz-header__search-form .search-submit {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
  }

  .oz-header-categories-btn {
    grid-area: categories !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  }

  .oz-header-categories-btn > span:nth-child(2) {
    display: none !important;
  }

  .oz-mobile-main-toggle {
    grid-area: menu !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
  border-radius: 10px !important;
  }

  .oz-nav--main,
  .oz-header-consult-btn--search,
  .oz-header-navline,
  .oz-header-navline__inner {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .oz-header-card {
    grid-template-columns: minmax(0, 1fr) 42px 42px !important;
    gap: 8px !important;
    padding: 10px 10px 12px !important;
  }

  .oz-header-left .oz-site-logo img,
  .oz-header .oz-site-logo img {
    max-height: 30px !important;
  }
}

.oz-header-mobilebar {
  display: none;
}

@media (max-width: 991px) {
  .oz-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
    top: 0 !important;
    background: #fff !important;
  }

  .oz-header > .oz-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .oz-header-topbar {
    display: none !important;
  }

  .oz-header-mobilebar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 0.9fr) 44px 44px;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 14px;
    background: #fff;
    border-bottom: 0;
    margin-top: 0 !important;
  }

  .oz-header-mobilebar__logo,
  .oz-header-mobilebar__logo .oz-site-logo,
  .oz-header-mobilebar__logo .custom-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
  }

  .oz-header-mobilebar__logo img {
    display: block;
    max-height: 38px;
    width: auto;
  }

  .oz-header-mobilebar__search {
    min-width: 0;
  }

  .oz-header-mobilebar__search .oz-header__search-form,
  .oz-header-mobilebar__search .oz-header__search-form .search-form {
    width: 100%;
  }

  .oz-header-mobilebar__search .search-field {
    min-height: 40px !important;
    height: 40px !important;
    font-size: calc(14px + 1pt) !important;
    padding: 0 42px 0 14px !important;
  }

  .oz-header-mobilebar__search .search-submit {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
  }

  .oz-header-mobilebar__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid var(--oz-dym-border);
    border-radius: 10px;
    background: #fff;
    color: #444;
  }

  .oz-header-shell {
    display: none !important;
  }

  .oz-mobile-menu__head,
  .oz-mobile-menu--categories .oz-mobile-menu__head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px !important;
    background: #fff !important;
    border-bottom: 1px solid #e9e9e9 !important;
  }

  .oz-mobile-menu__title,
  .oz-mobile-menu--categories .oz-mobile-menu__title {
    font-size: 18px;
    font-weight: 700;
    color: #151515 !important;
  }

  .oz-mobile-menu--categories {
    background: #fff !important;
    border-right: 1px solid #ececec !important;
  }

  .oz-mobile-menu--categories .oz-mobile-nav {
    padding: 0 !important;
  }

  .oz-mobile-menu--categories .oz-mobile-nav__list {
    padding: 8px 14px 18px !important;
  }

  .oz-mobile-menu--categories .cat-parent,
  .oz-mobile-menu--categories .menu-item-has-children {
    display: block !important;
    min-height: 0 !important;
  }

  .oz-mobile-menu--categories .oz-mobile-nav__list > li {
    padding: 0 !important;
    border-bottom: 1px solid #ececec !important;
  }

  .oz-mobile-menu--categories .oz-mobile-nav__list > li > a {
    display: block !important;
    width: 100% !important;
    padding: 16px 42px 16px 0 !important;
    color: #202020 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35;
  }

  .oz-mobile-menu--categories .cat-parent > a {
    font-weight: 600 !important;
  }

  .oz-mobile-menu--categories .oz-submenu-toggle {
    position: absolute !important;
    right: 0 !important;
    top: 10px !important;
    width: 32px !important;
    height: 32px !important;
    border: 1px solid #e6e6e6 !important;
    background: #fff !important;
    border-radius: 8px !important;
    color: #4b5563 !important;
  }

  .oz-mobile-menu--categories .children[hidden],
  .oz-mobile-menu--categories .oz-submenu[hidden] {
    display: none !important;
  }

  .oz-mobile-menu--categories .oz-submenu {
    display: block;
    margin: 0 0 10px !important;
    padding: 0 0 0 14px !important;
    border-left: 1px solid #ececec !important;
  }

  .oz-mobile-menu--categories .oz-submenu li {
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 0 !important;
  }

  .oz-mobile-menu--categories .oz-submenu li a {
    display: block !important;
    padding: 10px 0 !important;
    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35;
  }
}

@media (max-width: 767px) {
  .oz-header-mobilebar {
    grid-template-columns: auto minmax(0, 0.84fr) 42px 42px;
    gap: 8px;
    padding: 10px 10px 12px;
  }

  .oz-header {
    padding-top: 0 !important;
    top: 0 !important;
  }

  .oz-header-mobilebar__logo img {
    max-height: 34px;
  }

  .oz-header-mobilebar__button {
    width: 42px;
    min-width: 42px;
    height: 40px;
  }
}

/* ===== Banner títulos de página ===== */
/* Espacio título → migas idéntico en todas las portadas .oz-page-hero */
.oz-page-hero,
.oz-main .oz-page-hero.oz-archive-header,
.page .oz-page-hero,
.archive .oz-page-hero,
.search .oz-page-hero {
  --oz-hero-title-crumb-gap: 0.375rem;
  min-height: 250px !important;
  height: 250px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 118px max(18px, 1.25rem) 26px !important;
  margin: 0 0 24px !important;
  background: #1E1E1E !important;
  background-image: none !important;
  text-align: center !important;
}

/*
 * Misma caja útil que .oz-shop-hero__inner (tienda WooCommerce): el título y las migas
 * se centran dentro de max-width 1280px, alineados con el contenido del maquetador (.oz-builder-root / filas boxed).
 */
.oz-page-hero > .oz-page-hero__inner {
  max-width: var(--container, 1440px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: grid !important;
  justify-items: center !important;
  gap: var(--oz-hero-title-crumb-gap, 0.375rem) !important;
  box-sizing: border-box !important;
}

.oz-page-hero::before {
  background: #1E1E1E !important;
}

.oz-page-hero .oz-page-hero__title,
.oz-page-hero .oz-archive-title {
  margin: 0 !important;
  color: #ffffff !important;
  text-align: center !important;
}

.oz-page-hero .oz-page-hero__description,
.oz-page-hero .oz-archive-description {
  display: none !important;
}

.oz-page-hero .oz-breadcrumbs,
.oz-page-hero .oz-breadcrumbs__list {
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.oz-page-hero .oz-breadcrumbs__list,
.oz-page-hero .oz-breadcrumbs a,
.oz-page-hero .oz-breadcrumbs [aria-current="page"] {
  color: rgba(255, 255, 255, 0.88) !important;
}

.oz-page-hero .oz-breadcrumbs__item:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.58) !important;
}

@media (max-width: 991px) {
  .oz-page-hero,
  .oz-main .oz-page-hero.oz-archive-header,
  .page .oz-page-hero,
  .archive .oz-page-hero,
  .search .oz-page-hero {
    padding-top: 126px !important;
  }
}

@media (max-width: 767px) {
  /* Banner de título: compacto; mismo hueco título↔migas que en escritorio */
  .oz-main > .oz-container > .oz-page-hero,
  .oz-page-hero,
  .oz-main .oz-page-hero.oz-archive-header,
  .page .oz-page-hero,
  .archive .oz-page-hero,
  .search .oz-page-hero {
    min-height: 0 !important;
    height: auto !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 1.25rem 16px !important;
    margin: 0 0 18px !important;
    gap: 0 !important;
  }

  .oz-page-hero .oz-page-hero__title,
  .oz-page-hero .oz-archive-title {
    font-size: 1.65rem !important;
    line-height: 1.12 !important;
  }

  .oz-page-hero .oz-breadcrumbs__list {
    font-size: 0.82rem !important;
  }
}


/* ---------------------------------------------------------------
   Boton de buscar: lupa en vez de la palabra recortada
   ---------------------------------------------------------------
   El boton mide 28px por dentro y la palabra «Buscar» necesita 40,
   asi que con overflow:clip salia cortada: «Busc».

   La lupa NO se puede poner en el propio <input>: ese elemento no
   admite ::after y su imagen de fondo la pisan las reglas de arriba.
   Se dibuja sobre el formulario, justo encima del boton. Es el mismo
   truco que usa este tema para el boton del buscador en vivo.

   El value="Buscar" se conserva: los lectores de pantalla lo siguen
   anunciando, solo deja de verse.

   Comprobado en dymsafety.com el 8-sep-2026: escritorio y movil, y el
   clic sigue llegando al boton (pointer-events:none).
   --------------------------------------------------------------- */
.oz-header__search-form .search-form { position: relative; }
.oz-header__search-form .search-submit { font-size: 0 !important; color: transparent !important; }
.oz-header__search-form .search-form::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M19.5 19.5l-4.3-4.3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 15px 15px;
	pointer-events: none;
	z-index: 5;
}
