:root { --custom-brand-blue: #1573FD; }
/* =========================================================
   Ken Brown · Módulo Catálogo
   ========================================================= */
.kb-catalog { font-family: 'Google Sans Flex', sans-serif; --kb-catalog-text: var(--custom-brand-text,#28242A); --kb-catalog-line: #d9d4cf; --kb-catalog-bg: #f7f4f1; position: relative; padding: 1rem 0 4rem; color: var(--kb-catalog-text); }
.kb-catalog.is-loading { cursor: progress; }
.kb-catalog.is-loading .kb-catalog__dynamic { opacity: .58; pointer-events: none; }
.kb-catalog__dynamic { transition: opacity .2s ease; }
.kb-catalog__notice { padding: 2rem 0; color: var(--kb-catalog-text); font-size: .95rem; }

/* =========================================================
   Categorías principales
   ========================================================= */
.kb-catalog-main-row { display: flex; align-items: center; gap: clamp(1.3rem,2.5vw,2.6rem); overflow-x: auto; padding: 1.25rem 0 .85rem; scrollbar-width: none; }
.kb-catalog-main-row::-webkit-scrollbar { display: none; }
.kb-catalog-main-label { display: inline-flex; align-items: center; gap: .45rem; flex: 0 0 auto; color: var(--kb-catalog-text); font-size: clamp(13px,.85vw,14px); font-weight: 300; line-height: 1.2; white-space: nowrap; }
.kb-catalog-main-label__icon { display: block; width: 13px; height: 13px; flex: 0 0 13px; }
.kb-catalog-main-nav { display: flex; align-items: center; gap: clamp(.45rem,1vw,.95rem); flex: 0 0 auto; }
.kb-catalog-main-nav__button { flex: 0 0 auto; padding: .45rem .65rem; border: 0; border-bottom: 1px solid transparent; background-color: transparent; color: var(--kb-catalog-text); font-size: clamp(13px,.85vw,14px); font-weight: 300; line-height: 1.2; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; transition: background-color .28s ease, color .28s ease, border-color .28s ease, font-weight .28s ease; }
.kb-catalog-main-nav__button:hover, .kb-catalog-main-nav__button:focus { background-color: var(--custom-brand-blue); color: #fff; opacity: 1; }
.kb-catalog-main-nav__button.is-active { border-bottom-color: var(--kb-catalog-text); font-weight: 500; opacity: 1; }
.kb-catalog-main-nav__button.is-active:hover, .kb-catalog-main-nav__button.is-active:focus { border-bottom-color: #fff; }
.kb-catalog-main-nav__button:focus-visible { outline: 2px solid rgba(40,36,42,.2); outline-offset: 3px; }

/* =========================================================
   Cabecera de la grilla + solapas
   ========================================================= */
.kb-catalog-panel { padding-top: 3rem; }
.kb-catalog-panel__header { display: flex; align-items: flex-end; gap: clamp(2rem,5vw,5rem); margin-bottom: 1rem; overflow-x: auto; scrollbar-width: none; }
.kb-catalog-panel__header::-webkit-scrollbar { display: none; }
.kb-catalog-panel__title { flex: 0 0 auto; margin: 0; padding: .35rem 0; border-bottom: 1px solid var(--kb-catalog-text); color: var(--kb-catalog-text); font-size: .76rem; font-weight: 600; line-height: 1.2; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.kb-catalog-tabs { display: flex; align-items: center; gap: clamp(1.5rem,3vw,3rem); }
.kb-catalog-tabs__button { flex: 0 0 auto; padding: .35rem 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--kb-catalog-text); font-size: .7rem; font-weight: 400; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; transition: border-color .25s ease, opacity .25s ease; }
.kb-catalog-tabs__button:hover, .kb-catalog-tabs__button:focus { opacity: .6; }
.kb-catalog-tabs__button.is-active { border-bottom-color: var(--kb-catalog-text); font-weight: 600; opacity: 1; }
.kb-catalog-tabs__button:focus-visible { outline: 2px solid rgba(40,36,42,.2); outline-offset: 4px; }

/* =========================================================
   Grilla
   ========================================================= */
.kb-catalog-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; background-color: #fff; border: 1px solid #fff; }
.kb-product-card { position: relative; min-width: 0; background-color: var(--kb-catalog-bg); overflow: hidden; }
.kb-product-card--featured { grid-column: span 2; }
.kb-product-card__link { display: flex; flex-direction: column; height: 100%; color: var(--kb-catalog-text); text-decoration: none; }
.kb-product-card__media { position: relative; display: flex; align-items: center; justify-content: center; height: 260px; padding: 1rem .85rem .5rem; overflow: hidden; }
.kb-product-card--featured .kb-product-card__media { height: 260px; padding: 1rem 1.5rem .5rem; }
.kb-product-card__image { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.kb-product-card__link:hover .kb-product-card__image { transform: scale(1.025); }
.kb-product-card__content { position: relative; margin-top: auto; min-height: 112px; padding: .75rem 2.25rem 1rem .8rem; }
.kb-product-card__eyebrow { margin-bottom: .35rem; color: rgba(40,36,42,.55); font-size: .57rem; font-weight: 400; line-height: 1.3; text-transform: uppercase; }
.kb-product-card__title { margin: 0; color: var(--kb-catalog-text); font-size: .75rem; font-weight: 400; line-height: 1.15; }
.kb-product-card__model { margin-top: .15rem; color: var(--kb-catalog-text); font-size: .7rem; font-weight: 700; line-height: 1.15; }
.kb-product-card__plus { position: absolute; right: .6rem; bottom: .8rem; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid rgba(40,36,42,.3); border-radius: 50%; color: var(--kb-catalog-text); font-size: .8rem; font-weight: 400; line-height: 1; }

/* =========================================================
   Ver más
   ========================================================= */
.kb-catalog-more { display: flex; justify-content: center; padding-top: 2rem; }
.kb-catalog-more__button, .kb-catalog-more__link { display: inline-flex; align-items: center; justify-content: center; min-width: 132px; padding: .7rem 1.5rem; border: 1px solid var(--kb-catalog-text); border-radius: 999px; background-color: transparent; color: var(--kb-catalog-text); font-size: .72rem; font-weight: 600; letter-spacing: .045em; text-transform: uppercase; transition: background-color .25s ease, color .25s ease; }
.kb-catalog-more__button:hover, .kb-catalog-more__button:focus, .kb-catalog-more__link:hover, .kb-catalog-more__link:focus { background-color: var(--kb-catalog-text); color: #fff; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 991.98px) {
  .kb-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kb-product-card--featured { grid-column: span 2; }
  .kb-product-card__media, .kb-product-card--featured .kb-product-card__media { height: 230px; }
}

@media (max-width: 767.98px) {
  .kb-catalog { padding-bottom: 3rem; }
  .kb-catalog-main-row { padding-inline: .25rem; }
  .kb-catalog-panel { padding-top: 2.25rem; }
  .kb-catalog-panel__header { align-items: flex-start; gap: 2rem; }
  .kb-product-card__media, .kb-product-card--featured .kb-product-card__media { height: 225px; padding: 1rem .75rem .25rem; }
  .kb-product-card__content { min-height: 105px; }
}

@media (max-width: 575.98px) {
  .kb-catalog-grid { grid-template-columns: 1fr; }
  .kb-product-card--featured { grid-column: span 1; }
  .kb-product-card__media, .kb-product-card--featured .kb-product-card__media { height: 270px; }
}


/* =========================================================
   Ken Brown · Archive WooCommerce
   Reutiliza la estética del catálogo, con fondo blanco.
   ========================================================= */
.kb-archive-products { --kb-catalog-text: var(--custom-brand-text,#28242A); --kb-catalog-line: #e7e3df; --kb-catalog-bg: #fff; padding: 2.5rem 0 4rem; background-color: #fff; color: var(--kb-catalog-text); font-family: 'Google Sans Flex', sans-serif; }
.kb-archive-main-nav { display: flex; align-items: center; gap: clamp(1.5rem,4vw,4rem); overflow-x: auto; padding: .8rem 0 1.15rem; scrollbar-width: none; }
.kb-archive-main-nav::-webkit-scrollbar { display: none; }
.kb-archive-main-nav__link { flex: 0 0 auto; padding: .35rem 0; border-bottom: 1px solid transparent; color: var(--kb-catalog-text); font-size: .72rem; font-weight: 600; line-height: 1.2; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; text-decoration: none; transition: border-color .25s ease, opacity .25s ease; }
.kb-archive-main-nav__link:hover, .kb-archive-main-nav__link:focus { color: var(--kb-catalog-text); opacity: .65; }
.kb-archive-main-nav__link.is-active { border-bottom-color: var(--kb-catalog-text); opacity: 1; }
.kb-archive-main-nav__link:focus-visible { outline: 2px solid rgba(40,36,42,.2); outline-offset: 4px; }

.kb-archive-subnav { display: flex; align-items: center; gap: clamp(1.5rem,3vw,3rem); overflow-x: auto; padding: 1.9rem 0 1rem; scrollbar-width: none; }
.kb-archive-subnav::-webkit-scrollbar { display: none; }
.kb-archive-subnav__link { flex: 0 0 auto; padding: .35rem 0; border-bottom: 1px solid transparent; color: var(--kb-catalog-text); font-size: .7rem; font-weight: 400; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; text-decoration: none; transition: border-color .25s ease, opacity .25s ease; }
.kb-archive-subnav__link:hover, .kb-archive-subnav__link:focus { color: var(--kb-catalog-text); opacity: .6; }
.kb-archive-subnav__link.is-active { border-bottom-color: var(--kb-catalog-text); font-weight: 600; opacity: 1; }
.kb-archive-subnav__link:focus-visible { outline: 2px solid rgba(40,36,42,.2); outline-offset: 4px; }

.kb-archive-products__listing { padding-top: 1rem; }
.kb-archive-products .alm-listing { margin: 0; padding: 0; }
.kb-archive-products .alm-reveal { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; width: 100%; background-color: #fff; }
.kb-archive-products .alm-reveal + .alm-reveal { margin-top: 12px; }
.kb-archive-products .kb-product-card { min-width: 0; background-color: #fff; border: 1px solid #f6f5f5; }
.kb-archive-products .kb-product-card__media { background-color: #fff; }
.kb-archive-products .kb-product-card__content { background-color: #fff; }
.kb-archive-products .kb-product-badge { font-family: 'Google Sans Flex', sans-serif; }

.kb-archive-products .alm-btn-wrap { padding-top: 2rem; }
.kb-archive-products .alm-btn-wrap .alm-load-more-btn { min-width: 132px; height: auto; padding: .7rem 1.5rem; border: 1px solid var(--kb-catalog-text) !important; border-radius: 999px !important; background: #fff !important; color: var(--kb-catalog-text) !important; box-shadow: none !important; font-family: 'Google Sans Flex', sans-serif; font-size: .72rem !important; font-weight: 600; line-height: 1.2; letter-spacing: .045em; text-transform: uppercase; }
.kb-archive-products .alm-btn-wrap .alm-load-more-btn:hover, .kb-archive-products .alm-btn-wrap .alm-load-more-btn:focus { background: var(--kb-catalog-text) !important; color: #fff !important; }
.kb-archive-products .alm-btn-wrap .alm-load-more-btn.done { display: none !important; }

@media (max-width: 991.98px) {
  .kb-archive-products .alm-reveal { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
  .kb-archive-products { padding: 2rem 0 3rem; }
  .kb-archive-main-nav, .kb-archive-subnav { justify-content: flex-start; padding-inline: .25rem; }
}

@media (max-width: 575.98px) {
  .kb-archive-products .alm-reveal { grid-template-columns: 1fr; }
}

.kb-catalog-more__link { text-decoration: none; }

.kb-archive-main-nav__link--root { display: inline-flex; align-items: center; gap: .45rem; }
.kb-archive-main-nav__icon { display: block; width: 13px; height: 13px; flex: 0 0 13px; }
