/*
Theme Name: HR Express Boutique Child
Description: Personalizaciones seguras de HR Express sobre el tema de la boutique.
Author: HR Express
Template: hr-express-boutique-hub-v13l-20260807
Version: 1.0.15
Text Domain: hr-express-boutique-child
*/


/* Compatibilidad visual para la versión nativa de la página Tiendas. */
.hre-stores .wp-block-button.hre-stores__button,
.hre-stores .wp-block-button.hre-stores__text-link { display: contents; }
.hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: 12px 21px; border: 0 !important; border-radius: 5px !important;
  background: var(--hre-flat-orange) !important; color: var(--hre-flat-slate) !important;
  font-size: .9rem; font-weight: 900 !important; letter-spacing: .025em;
  text-decoration: none !important; box-shadow: none !important;
}
.hre-stores .wp-block-button.hre-stores__button--light > .wp-block-button__link {
  border: 1px solid rgba(255,255,255,.3) !important;
  background: rgba(255,255,255,.1) !important; color: #fff !important;
}
.hre-stores .wp-block-button.hre-stores__button--dark > .wp-block-button__link {
  background: var(--stores-blue) !important; color: #fff !important;
}
.hre-stores .wp-block-button.hre-stores__text-link > .wp-block-button__link {
  display: inline-flex; align-items: center; min-height: 48px; padding: 10px 4px;
  border: 0 !important; background: transparent !important; color: var(--hre-accent-ink) !important;
  font-size: .87rem; font-weight: 900 !important; text-decoration: none !important;
}
.hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link:hover,
.hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link:focus-visible { transform: translateY(-1px); }
.hre-stores .wp-block-button.hre-stores__text-link > .wp-block-button__link:hover,
.hre-stores .wp-block-button.hre-stores__text-link > .wp-block-button__link:focus-visible { text-decoration: underline !important; }

.hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link,
.hre-stores .wp-block-button.hre-stores__text-link > .wp-block-button__link { width: auto !important; flex: 0 0 auto; }
@media (max-width: 430px) {
  .hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link { width: 100% !important; }
}

@media (min-width: 431px) {
  .hre-stores .wp-block-button.hre-stores__button > .wp-block-button__link,
  .hre-stores .wp-block-button.hre-stores__text-link > .wp-block-button__link {
    width: max-content !important; inline-size: max-content !important; flex: 0 0 max-content !important;
  }
}

/* Cabeceras compactas del catalogo: reduce desplazamiento sin alterar productos ni POS. */
body.woocommerce-shop .hre-shop-main,
body.tax-product_cat .hre-shop-main,
body.tax-product_tag .hre-shop-main,
body.search.post-type-archive-product .hre-shop-main {
  padding-top: clamp(32px, 4vw, 52px);
}

body.woocommerce-shop .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header,
body.search.post-type-archive-product .woocommerce-products-header {
  padding: clamp(24px, 3vw, 36px) !important;
}

body.woocommerce-shop .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.search.post-type-archive-product .woocommerce-products-header__title {
  max-width: 100%;
  margin-bottom: clamp(16px, 2vw, 24px);
  font-size: clamp(2.25rem, 3.25vw, 3.5rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

body.tax-product_cat .hre-category-archive-visual,
body.tax-product_tag .hre-category-archive-visual {
  min-height: clamp(180px, 18vw, 230px);
  margin-bottom: 0;
}

body.tax-product_cat .hre-category-archive-visual strong,
body.tax-product_tag .hre-category-archive-visual strong {
  font-size: clamp(2rem, 3.25vw, 3.25rem);
  line-height: .96;
}

@media (max-width: 680px) {
  body.woocommerce-shop .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header,
  body.search.post-type-archive-product .woocommerce-products-header {
    padding: 20px !important;
  }

  body.woocommerce-shop .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title,
  body.search.post-type-archive-product .woocommerce-products-header__title {
    margin-bottom: 16px;
    font-size: clamp(2rem, 9vw, 2.6rem);
    line-height: 1.05;
  }

  body.tax-product_cat .hre-category-archive-visual,
  body.tax-product_tag .hre-category-archive-visual {
    min-height: 170px;
  }
}

/* Evita repetir visualmente el nombre de la categoria; el H1 sigue disponible para lectores de pantalla y SEO. */
body.tax-product_cat .woocommerce-products-header:has(.hre-category-archive-visual) > .woocommerce-products-header__title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Cabeceras compactas de paginas informativas. */
body.page .hre-entry__header,
.hre-archive-header {
  padding: clamp(24px, 3vw, 36px) !important;
}

body.page .hre-entry__header h1,
.hre-archive-header h1 {
  max-width: 100%;
  font-size: clamp(2.25rem, 3.25vw, 3.5rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

@media (max-width: 680px) {
  body.page .hre-entry__header,
  .hre-archive-header {
    padding: 20px !important;
  }

  body.page .hre-entry__header h1,
  .hre-archive-header h1 {
    font-size: clamp(2rem, 9vw, 2.6rem);
    line-height: 1.05;
  }
}

/* Segunda pasada: compacta secciones internas extensas sin ocultar funciones. */
body.hre-stores-page .hre-stores {
  gap: clamp(28px, 3vw, 38px);
}

body.hre-stores-page .hre-stores__hero {
  padding: clamp(28px, 3vw, 38px) !important;
}

body.hre-stores-page .hre-stores__hero h2 {
  max-width: 920px;
  font-size: clamp(2.15rem, 3.5vw, 3.35rem);
  line-height: .98;
}

body.hre-stores-page .hre-stores__lead {
  max-width: 800px;
  margin-top: 18px;
  font-size: clamp(1rem, 1.35vw, 1.1rem);
  line-height: 1.55;
}

body.hre-stores-page .hre-stores__actions {
  margin-top: 22px;
}

body.hre-stores-page .hre-stores__intro {
  gap: clamp(24px, 3vw, 44px);
}

body.hre-stores-page .hre-stores__intro h2,
body.hre-stores-page .hre-stores__locations-head h2 {
  font-size: clamp(1.9rem, 3vw, 3rem);
}

body.hre-stores-page .hre-stores__intro-copy {
  gap: 12px;
}

body.hre-stores-page .hre-stores__intro-copy p {
  line-height: 1.62;
}

body.hre-stores-page .hre-stores__locations {
  gap: 22px;
}

body.hre-stores-page .hre-stores__card {
  padding: clamp(22px, 2.5vw, 30px);
}

body.hre-stores-page .hre-stores__card h3 {
  margin-top: 16px;
}

body.hre-stores-page .hre-stores__card-actions {
  margin-top: 18px;
}

body.hre-stores-page .hre-stores__visit {
  padding: clamp(26px, 3vw, 34px);
}

/* Inicio funciona como escaparate: dos filas y acceso al catalogo completo. */
body.home #novedades .hre-product-card:nth-child(n + 11) {
  display: none !important;
}

@media (min-width: 1101px) {
  body.home .hre-discovery__layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  body.home .hre-discovery__intro {
    position: static !important;
    max-width: 760px;
  }

  body.home .hre-discovery__products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 1100px) {
  body.home #novedades .hre-product-card:nth-child(n + 9) {
    display: none !important;
  }
}

/* FAQ: conserva todas las respuestas y reduce margenes repetidos. */
body.page-id-5380 .hre-entry__content > section {
  padding: 24px !important;
}

body.page-id-5380 .hre-entry__content > section h2 {
  font-size: clamp(1.65rem, 2.5vw, 2.15rem);
  line-height: 1.08;
}

body.page-id-5380 .hre-entry__content > section h3 {
  margin-top: 20px !important;
  margin-bottom: 6px !important;
}

body.page-id-5380 .hre-entry__content > section h3 + p {
  margin-top: 0 !important;
}

@media (max-width: 680px) {
  body.hre-stores-page .hre-stores {
    gap: 28px;
  }

  body.hre-stores-page .hre-stores__hero {
    padding: 24px 20px !important;
  }

  body.hre-stores-page .hre-stores__hero h2 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }

  body.hre-stores-page .hre-stores__lead {
    margin-top: 15px;
    line-height: 1.48;
  }

  body.hre-stores-page .hre-stores__actions {
    margin-top: 18px;
  }

  body.home #novedades .hre-product-card:nth-child(n + 7) {
    display: none !important;
  }

  body.page-id-5380 .hre-entry__content > section {
    padding: 20px !important;
  }
}

/* Tiendas ya presenta su introduccion en el hero; evita una segunda cabecera visual repetida. */
body.hre-stores-page .hre-entry__header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Ajuste final: escaparates breves y titulo movil de Tiendas proporcionado. */
body.home #novedades .hre-product-card:nth-child(n + 6) {
  display: none !important;
}

@media (max-width: 1100px) {
  body.home #novedades .hre-product-card:nth-child(n + 5) {
    display: none !important;
  }
}

@media (min-width: 681px) and (max-width: 960px) {
  body.home #novedades .hre-product-card:nth-child(n + 4) {
    display: none !important;
  }
}

@media (max-width: 680px) {
  body.hre-stores-page .hre-stores__hero h2 {
    font-size: clamp(1.85rem, 8vw, 2.2rem);
    line-height: 1.02;
  }
}

/* En movil, departamentos y categorias se recorren lateralmente para evitar filas muy altas. */
@media (max-width: 680px) {
  body.home .hre-category-browser__tabs {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.home .hre-category-browser__tabs::-webkit-scrollbar,
  body.home .hre-category-browser__rail::-webkit-scrollbar {
    display: none;
  }

  body.home .hre-category-browser__tabs button {
    flex: 0 0 145px !important;
    min-width: 145px !important;
    min-height: 64px;
    border-bottom: 0;
    scroll-snap-align: start;
  }

  body.home .hre-category-browser__panel {
    padding: 18px 0 16px;
  }

  body.home .hre-category-browser__rail {
    display: flex !important;
    justify-content: flex-start;
    gap: 12px;
    overflow-x: auto !important;
    padding: 2px 16px 10px;
    scroll-padding-left: 16px;
    scroll-snap-type: x mandatory;
  }

  body.home .hre-category-browser__item {
    flex: 0 0 105px !important;
    width: 105px !important;
    scroll-snap-align: start;
  }
}

/* Restaurar la animacion de entrada del tema en usuarios sin reduccion de movimiento. */
html.js .hre-reveal {
  opacity: 0 !important;
  transform: translateY(30px) !important;
  transition:
    opacity .7s var(--hre-ease, cubic-bezier(.2,.8,.2,1)) var(--hre-delay,0ms),
    transform .7s var(--hre-ease, cubic-bezier(.2,.8,.2,1)) var(--hre-delay,0ms) !important;
}

html.js .hre-reveal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  html.js .hre-reveal,
  html.js .hre-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* El filtro de precio maximo queda sin limite visible al iniciar. */
input[name="max_price"]::placeholder {
  color: transparent !important;
}

/* Texto fijo durante el desplazamiento del escaparate; las tarjetas siguen avanzando. */
@media (min-width: 1101px) {
  body.home .hre-discovery__intro {
    position: sticky !important;
    top: 160px !important;
    align-self: start !important;
    z-index: 2;
    background: var(--hre-blue-soft);
    padding-bottom: 18px;
  }
}

/* Composicion parallax sin superposicion: texto fijo a la izquierda y tarjetas a la derecha. */
@media (min-width: 1101px) {
  body.home .hre-discovery__layout {
    grid-template-columns: minmax(250px, .75fr) minmax(0, 1.45fr) !important;
    gap: clamp(28px, 4vw, 56px) !important;
    align-items: start !important;
  }

  body.home .hre-discovery__intro {
    max-width: 420px !important;
  }

  body.home .hre-discovery__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 14px !important;
  }

  body.home .hre-discovery__products .hre-product-card__media {
    aspect-ratio: 1 / .9 !important;
  }
}



/* HRE-AUDIT-LAYOUT: igualar tarjetas y eliminar offsets automáticos de bloques. */
body.page-id-5382 .hre-stores__values,
body.page-id-5382 .hre-stores__grid {
  align-items: stretch !important;
}

body.page-id-5382 .hre-stores__values > .hre-stores__value,
body.page-id-5382 .hre-stores__grid > .hre-stores__card {
  margin-top: 0 !important;
}

body.page-id-5382 .hre-stores__values > .hre-stores__value {
  height: 100% !important;
}

body.page-id-5382 .hre-stores__grid > .hre-stores__card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.page-id-5382 .hre-stores__grid > .hre-stores__card .hre-stores__card-actions {
  margin-top: auto !important;
}

body.page-id-5382 .hre-stores__visit .wp-block-button {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  body.page-id-5382 .hre-stores__values > .hre-stores__value,
  body.page-id-5382 .hre-stores__grid > .hre-stores__card {
    height: auto !important;
  }

  body.page-id-5382 .hre-stores__grid > .hre-stores__card .hre-stores__card-actions {
    margin-top: 25px !important;
  }
}


/* HRE-MOBILE-RHYTHM-20260915: composicion compacta y botones de sucursales visibles en pantallas pequenas. */
@media (max-width: 680px) {
  body.home .hre-section,
  body.home .hre-page-content--home {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  body.home .hre-section + .hre-section,
  body.home .hre-page-content--home + .hre-section {
    margin-top: 12px !important;
  }
  body.home .hre-section-heading {
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  body.home .hre-products .hre-product-grid,
  body.home .hre-discovery__products {
    row-gap: 22px !important;
  }
  body.home .hre-discovery__layout { gap: 24px !important; }
  body.home .hre-exclusive {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  body.hre-stores-page .hre-stores__card-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }
  body.hre-stores-page .hre-stores__card-actions .wp-block-button__link {
    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
  }
  body.hre-stores-page .hre-stores__card-actions .hre-stores__text-link > .wp-block-button__link {
    justify-content: center !important;
    border: 1px solid var(--hre-flat-orange) !important;
    border-radius: 5px !important;
    background: var(--hre-flat-white) !important;
    color: var(--hre-accent-ink) !important;
  }

  .hre-footer {
    padding-top: 36px !important;
    padding-bottom: 16px !important;
  }
  .hre-footer__grid {
    gap: 22px !important;
    padding-top: 16px !important;
  }
  .hre-footer .hre-logo { margin-bottom: 16px !important; }
  .hre-footer h2 { margin-bottom: 10px !important; }
  .hre-footer li { margin: 7px 0 !important; }
  .hre-footer__grid > div:not(.hre-footer__brand):not(.hre-footer__local),
  .hre-footer__local { padding-top: 12px !important; }
  .hre-footer__local {
    padding-right: 14px !important;
    padding-bottom: 14px !important;
    padding-left: 14px !important;
  }
  .hre-footer__local h2 { margin-bottom: 12px !important; }
  .hre-footer__whatsapp { margin-top: 12px !important; }
  .hre-footer__bottom {
    margin-top: 28px !important;
    padding-top: 16px !important;
    gap: 2px !important;
  }
}

/* HRE-MOBILE-CATEGORY-GRID-20260916: departamentos y categorias completos en pantallas pequenas. */
@media (max-width: 680px) {
  body.home .hre-category-browser {
    overflow: visible !important;
  }
  body.home .hre-category-browser__tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 0 8px !important;
  }
  body.home .hre-category-browser__tabs button {
    width: auto !important;
    min-width: 0 !important;
    flex: none !important;
    height: auto !important;
    min-height: 98px !important;
    padding: 10px !important;
  }
  body.home .hre-category-browser__rail {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 8px !important;
    overflow: visible !important;
    padding: 2px 0 10px !important;
  }
  body.home .hre-category-browser__item {
    width: auto !important;
    min-width: 0 !important;
    flex: none !important;
    justify-items: center !important;
    text-align: center !important;
  }
  body.home .hre-category-browser__item .hre-category-browser__image {
    width: clamp(76px, 27vw, 105px) !important;
    height: clamp(76px, 27vw, 105px) !important;
  }
}