/* ========================================================================
   MOBILE RESPONSIVE – Ozado New Theme
   Breakpoint principal: <= 767px
   Buenas prácticas SEO/UX: tipografía 14-24px, touch targets 44px min
   ======================================================================== */

/* --- Tipografía móvil (buenas prácticas SEO) --- */
@media (max-width: 767px) {
  :root {
    --font-size-h1: 24px;
    --font-size-h2: 20px;
    --font-size-h3: 18px;
    --font-size-h4: 16px;
    --font-size-p: 14px;
    --font-size-base: 14px;
  }

  body {
    font-size: 14px;
    line-height: 1.6;
  }

  .oz-main h1 { font-size: var(--font-size-h1); }
  .oz-main h2 { font-size: var(--font-size-h2); }
  .oz-main h3 { font-size: var(--font-size-h3); }
  .oz-main h4 { font-size: var(--font-size-h4); }
  .oz-main h5 { font-size: calc(var(--font-size-h4) - 2px); }
  .oz-main h6 { font-size: calc(var(--font-size-h4) - 4px); }
  .oz-main p  { line-height: 1.6; }

  /* --- Espaciado global reducido --- */
  :root {
    --space-xs: 0.35rem;
    --space-sm: 0.5rem;
    --space-md: 0.75rem;
    --space-lg: 1rem;
    --space-xl: 1.25rem;
  }

  .oz-section {
    padding: 1rem 0;
  }

  .oz-container {
    width: 100%;
  }
}

/* --- Header móvil compacto --- */
@media (max-width: 767px) {
  

  .oz-header__brand {
    justify-content: center;
    justify-self: center;
  }

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

  .oz-icon-btn {
    width: 32px;
    height: 32px;
  }

  .oz-icon-btn svg {
    width: 18px;
    height: 18px;
  }

  .oz-header__search {
    min-width: 0;
  }

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

  

  .oz-header__search-form .search-field {
    min-height: 38px;
    font-size: 0.82rem;
  }

  .oz-header__search-form .search-submit {
    min-height: 38px;
    padding: 0.45rem 0.65rem;
    font-size: 0.75rem;
  }

  /*
   * Cabecera en el flujo del documento (no superpuesta al contenido).
   * layout.css fuerza position:absolute en .oz-header; aquí se anula solo en móvil.
   */
  .oz-header,
  .oz-header.is-fixed,
  body.admin-bar .oz-header,
  body.admin-bar .oz-header.is-fixed {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    background: #ffffff !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08) !important;
  }

  /* Ficha producto: cabecera ya no flota; no duplicar hueco superior */
  .single-product .oz-section {
    padding-top: 1rem !important;
  }

  body.admin-bar.single-product .oz-section {
    padding-top: 0.5rem !important;
  }
}

@media (max-width: 991px) {
  /* Ocultar sidebars legacy; la tienda usa #oz-shop-facets-panel (drawer off-canvas) */
  .oz-shop-sidebar:not(#oz-shop-facets-panel) {
    display: none !important;
  }
  .oz-shop-layout {
    grid-template-columns: 1fr !important;
  }
}

/* Evitar icono de cuenta si aparece por caché/widgets */
.oz-icon-btn[href*="myaccount"] {
  display: none !important;
}

/* --- Menú móvil --- */
@media (max-width: 991px) {
  body.oz-mobile-open {
    overflow: hidden;
  }

  .oz-mobile-menu {
    width: min(300px, 85vw);
  }

  .oz-mobile-menu__head {
    padding: 0.65rem 0.75rem;
  }

  .oz-mobile-nav {
    padding: 0.5rem 0.75rem;
  }

  .oz-mobile-nav__list > li {
    padding: 0.4rem 0;
    font-size: 14px;
  }

  .oz-mobile-nav__list a {
    padding: 0.35rem 0;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }
}

/* --- Sidebar tienda legacy: ocultar en móvil (drawer = #oz-shop-facets-panel) --- */
@media (max-width: 767px) {
  .oz-shop-sidebar:not(#oz-shop-facets-panel) {
    display: none !important;
  }

  .oz-shop-layout {
    grid-template-columns: 1fr !important;
  }
}

/* --- Toolbar tienda compacto --- */
@media (max-width: 767px) {
  .oz-shop-toolbar {
    padding: 0.35rem 0.5rem;
    gap: 0.35rem;
    font-size: 13px;
    margin-bottom: 0.5rem;
  }

  .oz-shop-view__btn {
    width: 28px;
    height: 26px;
  }

  .oz-shop-view__btn svg {
    width: 14px;
    height: 14px;
  }

  .oz-shop-toolbar .woocommerce-ordering select {
    font-size: 13px;
    padding: 0.3rem 0.5rem;
  }

  .oz-shop-toolbar .woocommerce-result-count {
    font-size: 12px;
  }
}

/* --- Tarjetas de producto móvil --- */
@media (max-width: 767px) {
  .oz-product-card {
    padding: 0.5rem;
    gap: 0.4rem;
    border-radius: 12px;
  }

  .oz-product-link {
    border-radius: 10px;
  }

  .oz-product-info .woocommerce-loop-product__title {
    font-size: 0.85rem;
    min-height: 0;
    line-height: 1.3;
  }

  .oz-product-info .price {
    font-size: 0.85rem;
  }

  .oz-product-cta .button {
    font-size: 0.8rem;
    padding: 0.5rem 0.8rem;
    min-height: 36px;
  }

  .oz-badge {
    font-size: 0.65rem;
    padding: 0.2rem 0.35rem;
  }

  .oz-product-brand {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
  }

  .oz-product-actions {
    top: 36px;
    right: 6px;
  }

  .oz-product-action {
    width: 24px;
    height: 24px;
  }
}

/* --- Portada tienda móvil: mismo criterio que .oz-page-hero (título abajo de la banda, gap fijo con migas) --- */
@media (max-width: 767px) {
  .oz-shop-archive .oz-shop-hero {
    height: 150px;
    min-height: 150px;
    max-height: 150px;
    margin-bottom: 1.75rem;
    padding: 0.5rem 16px 0.85rem;
    justify-content: flex-end;
  }

  body.admin-bar .oz-shop-archive .oz-shop-hero {
    padding-top: 0.5rem;
  }

  .oz-shop-archive .oz-shop-hero .oz-shop-title {
    font-size: clamp(1.25rem, 5.5vw, 1.65rem);
    line-height: 1.1;
  }

  .oz-shop-archive .oz-shop-hero .woocommerce-breadcrumb,
  .oz-shop-archive .oz-shop-hero .oz-breadcrumb {
    font-size: 0.75rem;
  }

  .oz-shop-archive .oz-shop-hero__inner {
    gap: var(--oz-hero-title-crumb-gap, 0.375rem);
  }
}

/* --- Carrito/checkout: hero compacto (no archivo tienda) --- */
@media (max-width: 767px) {
  .woocommerce-cart .oz-shop-hero,
  .woocommerce-checkout .oz-shop-hero {
    padding: 0 0 0.5rem;
    margin-bottom: 0.5rem;
  }

  .woocommerce-cart .oz-shop-hero .oz-shop-title,
  .woocommerce-checkout .oz-shop-hero .oz-shop-title {
    font-size: 20px;
  }

  .woocommerce-cart .woocommerce-breadcrumb,
  .woocommerce-cart .oz-breadcrumb,
  .woocommerce-checkout .woocommerce-breadcrumb,
  .woocommerce-checkout .oz-breadcrumb {
    font-size: 0.8rem;
  }
}

/* --- Single product móvil --- */
@media (max-width: 767px) {
  .single-product div.product {
    gap: 0.75rem;
  }

  .single-product div.product .product_title {
    font-size: 20px;
    line-height: 1.25;
  }

  .single-product .product_meta {
    font-size: 0.8rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }

  .oz-thumbgallery__item {
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
  }

  .oz-thumbgallery__list {
    gap: 0.4rem;
  }

  .single-product .woocommerce-product-details__short-description p,
  .single-product .woocommerce-Tabs-panel p {
    font-size: 14px;
  }

  .single-product .woocommerce-product-details__short-description li,
  .single-product .woocommerce-Tabs-panel li {
    font-size: 14px;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    font-size: 13px;
  }

  .single-product div.product > .woocommerce-tabs,
  .single-product div.product > .related,
  .single-product div.product > .upsells,
  .single-product div.product > .oz-single-product-theme-products {
    margin-top: 0.75rem;
  }

  .single-product div.product > .related > h2,
  .single-product div.product > .upsells > h2 {
    font-size: 18px;
    margin-bottom: 0.5rem;
  }

  .woocommerce .quantity {
    max-width: 130px !important;
  }

  .woocommerce .quantity .oz-qty-btn {
    width: 36px;
    height: 36px;
  }

  .oz-techsheet-wrap {
    margin-top: 0.5rem;
  }

  .oz-techsheet-btn {
    font-size: 13px;
    padding: 0.55rem 0.8rem;
  }

  /* Prevent any element from overflowing the viewport */
  .single-product div.product,
  .single-product div.product > *,
  .single-product .summary,
  .single-product .summary > * {
    max-width: 100% !important;
    overflow-x: hidden;
  }
}

/* --- Variaciones de producto móvil --- */
@media (max-width: 767px) {
  .single-product .variations td,
  .single-product .variations th {
    display: block;
    width: 100%;
  }

  .single-product .variations select {
    max-width: 100%;
  }

  .single-product .variations .variable-item {
    padding: 0.3rem 0.5rem;
    font-size: 0.8rem;
  }
}

/* --- Cart / Checkout compacto --- */
@media (max-width: 767px) {
  .oz-cart-header.oz-shop-hero {
    margin-bottom: 0.5rem;
  }

  .woocommerce-cart table.cart {
    font-size: 13px;
  }

  .woocommerce-cart table.cart img {
    max-width: 50px;
  }

  .woocommerce-cart .cart-collaterals {
    margin-top: 0.75rem;
  }

  .woocommerce table.shop_table {
    font-size: 13px;
  }

  .woocommerce table.shop_table td,
  .woocommerce table.shop_table th {
    padding: 0.4rem 0.5rem;
  }

  .woocommerce .wc-proceed-to-checkout .checkout-button,
  .woocommerce button.button,
  .woocommerce a.button {
    font-size: 14px;
    padding: 0.6rem 1rem;
  }
}

/* --- Blog móvil --- */
@media (max-width: 767px) {
  .oz-blog-grid {
    gap: 0.75rem;
  }

  .oz-blog-sidebar {
    display: none;
  }

  .oz-posts {
    gap: 0.75rem;
  }

  .oz-post {
    padding: 0.75rem;
    border-radius: 10px;
  }

  .oz-post__title {
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 0.35rem;
  }

  .oz-post__meta {
    font-size: 12px;
    gap: 0.35rem;
  }

  .oz-post__excerpt {
    font-size: 14px;
    margin-bottom: 0.5rem;
  }

  .oz-archive-header {
    margin-bottom: 0.5rem;
  }

  .oz-archive-title {
    font-size: 20px;
  }

  .oz-archive-description {
    font-size: 13px;
  }

  .oz-pagination {
    margin-top: 0.75rem;
    font-size: 13px;
  }
}

/* --- Footer compacto --- */
@media (max-width: 767px) {
  .oz-footer {
    padding: 1rem 0;
    padding-bottom: 70px;
  }

  .oz-footer__widgets {
    gap: 1.5rem;
    margin-bottom: 0.5rem;
    text-align: center;
  }

  .oz-footer__menu {
    gap: 0.5rem;
    font-size: 13px;
    margin-bottom: 0.5rem;
  }

  .oz-footer__copy {
    font-size: 12px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.25rem;
  }

  .oz-footer__brand {
    text-align: center;
  }
  .oz-footer__brand .oz-site-logo {
    display: flex;
    justify-content: center;
  }
  .oz-footer__desc {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .oz-footer__heading {
    text-align: center;
  }
  .oz-footer__links-list {
    text-align: center;
  }
  .oz-contact-list {
    align-items: center;
  }
  .oz-contact-list li {
    justify-content: center;
    text-align: left;
  }
}

/* --- Ocultar elementos innecesarios en móvil --- */
@media (max-width: 767px) {
  .oz-shop-view {
    display: none !important;
  }

  .oz-shop-toolbar .woocommerce-result-count {
    display: none !important;
  }

  .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
}

/* --- Páginas genéricas: spacing compacto --- */
@media (max-width: 767px) {
  .page .oz-main .oz-section {
    padding: 0.75rem 0;
  }

  /* WooCommerce (páginas con .page): cabecera en flujo en móvil — padding-top mínimo */
  body.woocommerce-cart .page .oz-main .oz-section,
  body.woocommerce-account .page .oz-main .oz-section {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem;
  }

  body.admin-bar.woocommerce-cart .page .oz-main .oz-section,
  body.admin-bar.woocommerce-account .page .oz-main .oz-section {
    padding-top: 0.5rem !important;
    padding-bottom: 0.75rem;
  }

  body.woocommerce-checkout .page .oz-main .oz-section {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem;
  }

  body.admin-bar.woocommerce-checkout .page .oz-main .oz-section {
    padding-top: 0.5rem !important;
    padding-bottom: 0.75rem;
  }

  body.woocommerce-cart .page .oz-main > .oz-container:not(:has(.oz-section)),
  body.woocommerce-account .page .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0.75rem !important;
  }

  body.admin-bar.woocommerce-cart .page .oz-main > .oz-container:not(:has(.oz-section)),
  body.admin-bar.woocommerce-account .page .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0.5rem !important;
  }

  body.woocommerce-checkout .page .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0.75rem !important;
  }

  body.admin-bar.woocommerce-checkout .page .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0.5rem !important;
  }

  /* Checkout: sin franja clara bajo el header (gana por especificidad al cargar este CSS al final). */
  body.woocommerce-page.woocommerce-checkout:not(.single-product):not(.woocommerce-order-received) .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0 !important;
  }

  body.admin-bar.woocommerce-page.woocommerce-checkout:not(.single-product):not(.woocommerce-order-received) .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0 !important;
  }

  body.woocommerce-page.woocommerce-checkout.woocommerce-order-received:not(.single-product) .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0 !important;
  }

  body.admin-bar.woocommerce-page.woocommerce-checkout.woocommerce-order-received:not(.single-product) .oz-main > .oz-container:not(:has(.oz-section)) {
    padding-top: 0 !important;
  }

  .oz-main ul,
  .oz-main ol {
    padding-left: 1.2rem;
    margin-bottom: 0.75rem;
  }

  .oz-main blockquote {
    padding-left: 0.75rem;
    font-size: 14px;
  }

  .oz-main table {
    font-size: 13px;
  }

  .oz-main th,
  .oz-main td {
    padding: 0.35rem 0.5rem;
  }
}

/* --- Breakpoint intermedio (tablet 768-991px) --- */
@media (min-width: 768px) and (max-width: 991px) {
  :root {
    --font-size-h1: 28px;
    --font-size-h2: 24px;
    --font-size-h3: 20px;
    --font-size-h4: 18px;
    --font-size-p: 15px;
    --font-size-base: 15px;
  }

  .oz-section {
    padding: 1.5rem 0;
  }

  .oz-header__inner {
    padding: 0.65rem 0;
  }
}

/* ===== Header visual refresh responsive ===== */
@media (max-width: 991px) {
  .oz-header {
    padding-top: 10px;
  }

  .oz-header > .oz-header-shell {
    padding: 0 18px 10px;
    row-gap: 0;
  }

  .oz-header-left {
    min-height: auto;
    padding: 0 58px 10px 0;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

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

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

  .oz-header-right .oz-header__search-area,
  .oz-header__search-area {
    grid-column: auto;
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
    gap: 10px;
  }

  .oz-header-categories-btn,
  .oz-header__search-form .search-field,
  .oz-header__search-form .search-submit,
  .oz-mobile-main-toggle {
    min-height: 46px;
    border-radius: 6px;
  }

  .oz-header__search-form .search-submit {
    min-width: 88px;
    padding: 0 14px;
  }

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

@media (max-width: 767px) {
  .oz-header > .oz-header-shell {
    padding: 0 14px 10px;
  }

  .oz-header-left {
    padding-right: 54px;
    padding-bottom: 8px;
  }

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

  .oz-header__search-area {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .oz-header-categories-btn {
    width: 100%;
    justify-content: space-between;
  }

  .oz-header__search-form .search-form {
    gap: 8px;
  }

  .oz-header__search-form .search-submit {
    min-width: 82px;
  }
}

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

  .oz-header > .oz-header-shell {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    align-items: center !important;
    padding: 0 10px 8px !important;
  }

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

  .oz-header-left .oz-site-logo,
  .oz-header-left .custom-logo-link {
    display: flex !important;
    align-items: center !important;
  }

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

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

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

  .oz-header-right .oz-header-main__inner {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .oz-mobile-main-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .oz-header__search-area {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .oz-header-categories-btn {
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    justify-content: space-between !important;
    border-radius: 8px !important;
    font-size: calc(13px + 1pt) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  .oz-header-categories-btn__icon,
  .oz-header-categories-btn__caret {
    flex: 0 0 auto !important;
  }

  .oz-header-categories-btn > span:nth-child(2) {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    display: block !important;
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  .oz-header__search {
    width: 100% !important;
    min-width: 0 !important;
  }

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

  .oz-header__search-form {
    padding: 0 !important;
  }

  .oz-header__search-form .search-field {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 44px 0 14px !important;
    border-radius: 6px !important;
    font-size: calc(0.78rem + 1pt) !important;
  }

  .oz-header__search-form .search-submit {
    right: 6px !important;
    min-width: 26px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px !important;
  }

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

  .oz-header .ozpls-figma,
  .oz-header .ozpls-figma form,
  .oz-header .ozpls-figma__form,
  .oz-header .ozpls-figma__inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .oz-header .ozpls-figma input[type="search"],
  .oz-header .ozpls-figma input[type="text"],
  .oz-header .ozpls-figma input[type="tel"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 44px 0 14px !important;
    font-size: calc(12px + 1pt) !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  .oz-header .ozpls-figma button,
  .oz-header .ozpls-figma input[type="submit"],
  .oz-header .ozpls-figma .ozpls-figma__submit {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border-radius: 6px !important;
  }

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

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

  .oz-header > .oz-header-shell {
    display: grid !important;
    grid-template-columns: auto 42px minmax(0, 1fr) !important;
    grid-template-areas:
      "logo toggle categories"
      "search search search" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    align-items: center !important;
    padding: 0 12px 10px !important;
  }

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

  .oz-header-left .oz-site-logo,
  .oz-header-left .custom-logo-link {
    display: flex !important;
    align-items: center !important;
  }

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

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

  .oz-mobile-main-toggle {
    grid-area: toggle !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .oz-header-categories-btn {
    grid-area: categories !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: calc(13px + 1pt) !important;
    line-height: 1 !important;
  }

  .oz-header-categories-btn > span:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
  }

  .oz-header__search {
    grid-area: search !important;
    width: 100% !important;
    max-width: 430px !important;
    min-width: 0 !important;
    justify-self: center !important;
  }

  .oz-header__search-form,
  .oz-header__search-form .search-form,
  .oz-header .ozpls-figma,
  .oz-header .ozpls-figma form,
  .oz-header .ozpls-figma__form,
  .oz-header .ozpls-figma__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .oz-header__search-form {
    padding: 0 !important;
  }

  .oz-header__search-form .search-field,
  .oz-header .ozpls-figma input[type="search"],
  .oz-header .ozpls-figma input[type="text"],
  .oz-header .ozpls-figma input[type="tel"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 42px 0 14px !important;
    border-radius: 6px !important;
    font-size: calc(12px + 1pt) !important;
    box-sizing: border-box !important;
  }

  .oz-header__search-form .search-submit,
  .oz-header .ozpls-figma button,
  .oz-header .ozpls-figma input[type="submit"],
  .oz-header .ozpls-figma .ozpls-figma__submit {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border-radius: 6px !important;
  }

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

/* --- Header móvil: hotfix viewport (antes inline en header.php) --- */
@media (max-width: 991px) {
	html,
	body {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body {
		--oz-header-offset: 0px !important;
	}

	.oz-header,
	.oz-header.is-fixed,
	body.admin-bar .oz-header,
	body.admin-bar .oz-header.is-fixed {
		top: 0 !important;
		margin-top: 0 !important;
		padding-top: 10px !important;
		transform: none !important;
	}

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

	.oz-header-mobilebar {
		margin-top: 0 !important;
		padding-top: 10px !important;
	}

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

	.oz-mobile-menu--categories .oz-submenu a,
	.oz-mobile-menu--categories .oz-submenu li a,
	.oz-mobile-menu--categories .children a,
	.oz-mobile-menu--categories .children li a,
	.oz-mobile-menu--categories .oz-mobile-nav__list .children a,
	.oz-mobile-menu--categories .oz-mobile-nav__list .oz-submenu a {
		color: #4b5563 !important;
		font-weight: 400 !important;
	}

	.oz-mobile-menu--categories .cat-parent > a,
	.oz-mobile-menu--categories .menu-item-has-children > a,
	.oz-mobile-menu--categories .oz-mobile-nav__list > li > a {
		color: #111111 !important;
		font-weight: 600 !important;
	}
}

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

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