.catalog { --catalog-gap: clamp(.7rem, 1.65vw, 1.5rem); }
.catalog [hidden] { display: none !important; }
.catalog-heading { position: relative; margin-bottom: clamp(1.5rem, 2vw, 2.5rem); padding-top: .55rem; text-align: center; }
.catalog-heading__eyebrow { margin: 0 0 .5rem; color: var(--brand-red); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.catalog-heading h1 { margin: 1.85rem 0 0; color: #15213a; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 2.5vw, 2.5rem); font-weight: 400; line-height: 1.15; }
.catalog-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; padding-inline: clamp(0rem, 2vw, 2.5rem); color: #15213a; font-size: .72rem; line-height: 1.3; text-align: left; }
.catalog-breadcrumb > * + * { margin-left: .65rem; padding-left: .65rem; border-left: 1px solid #aeb4be; }
.catalog-breadcrumb a { color: inherit; text-decoration: none; }
.catalog-breadcrumb a:hover, .catalog-breadcrumb a:focus-visible { color: var(--brand-red); text-decoration: underline; text-underline-offset: .22em; }
.catalog-heading__description { max-width: 44rem; margin: 1.1rem auto 0; color: var(--brand-muted); font-size: .9rem; }
.catalog-heading__description p:last-child { margin-bottom: 0; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.9rem; margin-bottom: 1rem; border-top: 1px solid var(--brand-line); border-bottom: 1px solid var(--brand-line); }
.catalog-toolbar__summary { display: flex; align-items: center; gap: 1.4rem; }
.catalog-toolbar__views { display: flex; align-items: center; gap: .1rem; }
.catalog-view-buttons { display: flex; align-items: center; gap: .1rem; padding-left: .35rem; border-left: 1px solid var(--brand-line); }
.catalog-view-button { display: inline-grid; width: 1.35rem; height: 2.2rem; padding: 0; place-items: center; color: #d7dce0; background: transparent; border: 0; cursor: pointer; transition: color 200ms ease; }
.catalog-view-button:hover, .catalog-view-button[aria-pressed="true"] { color: var(--brand-black); }
.catalog-view-button svg { width: 1rem; height: 1rem; fill: currentColor; }
.catalog-view-button[data-catalog-toggle-filters] { width: 2.2rem; }
.catalog-filter-icon { width: 1.2rem; height: 1.2rem; background: currentColor; -webkit-mask: url('../images/icons/filter.svg') center / contain no-repeat; mask: url('../images/icons/filter.svg') center / contain no-repeat; }
.catalog-view-button:focus-visible { outline: 2px solid var(--brand-black); outline-offset: 2px; }
.catalog-filter-toggle { display: none; align-items: center; gap: .5rem; padding: .7rem 0; border: 0; background: transparent; font-size: .8rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.catalog-filter-toggle svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.catalog-count { margin: 0; color: var(--brand-muted); font-size: .78rem; white-space: nowrap; }
.catalog-sort { position: relative; z-index: 4; margin-left: auto; color: var(--brand-muted); font-size: .78rem; }
.catalog-sort__trigger { display: flex; align-items: center; gap: .65rem; min-height: 2.55rem; padding: .35rem .65rem .35rem .8rem; color: var(--brand-black); background: #fff; border: 1px solid transparent; border-radius: var(--control-radius); font: inherit; cursor: pointer; }
.catalog-sort__label { color: var(--brand-muted); }
.catalog-sort__value { font-weight: 700; }
.catalog-sort__trigger svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; transition: transform 180ms ease; }
.catalog-sort.is-open .catalog-sort__trigger, .catalog-sort__trigger:hover, .catalog-sort__trigger:focus-visible { border-color: var(--brand-black); outline: none; }
.catalog-sort.is-open .catalog-sort__trigger svg { transform: rotate(180deg); }
.catalog-sort__menu { position: absolute; top: calc(100% + .35rem); right: 0; width: max-content; min-width: 13.5rem; padding: .35rem; background: #fff; border: 1px solid var(--brand-line); border-radius: var(--control-radius); box-shadow: 0 .8rem 1.8rem rgba(0,0,0,.12); }
.catalog-sort__menu button { display: flex; width: 100%; padding: .65rem .75rem; color: var(--brand-black); background: transparent; border: 0; font: inherit; font-size: .8rem; text-align: left; cursor: pointer; }
.catalog-sort__menu button:hover, .catalog-sort__menu button:focus-visible { color: #fff; background: var(--brand-black); outline: none; }
.catalog-sort__menu button[aria-selected="true"]::after { margin-left: auto; color: var(--brand-red); content: '•'; font-size: 1rem; line-height: .8; }
.catalog-active { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.catalog-active--drawer { display: none; }
.catalog-active button { padding: .43rem .7rem; background: #fff; border: 1px solid var(--brand-line); border-radius: 2rem; color: var(--brand-black); font-size: .73rem; cursor: pointer; }
.catalog-active button:hover, .catalog-active button:focus-visible { border-color: var(--brand-black); }
.catalog-active .catalog-active__clear { border: 0; color: var(--brand-muted); text-decoration: underline; text-underline-offset: .2em; }
.catalog-layout { display: grid; grid-template-columns: minmax(12rem, 16.5rem) minmax(0, 1fr); gap: clamp(1.5rem, 2vw, 3rem); }
.catalog--filters-hidden .catalog-layout { grid-template-columns: minmax(0, 1fr); }
.catalog--filters-hidden .catalog-filters { display: none; }
.catalog-filters { min-width: 0; }
.catalog-filters__header { display: flex; align-items: center; justify-content: space-between; }
.catalog-filters__header h2 { margin: 0; font-size: .94rem; font-weight: 700; text-transform: uppercase; }
.catalog-filters__drawer-header { display: none; }
.catalog-facet { padding: 1rem 0; border-bottom: 1px solid var(--brand-line); }
.catalog-facet summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; list-style: none; font-size: .8rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.catalog-facet summary::-webkit-details-marker { display: none; }
.catalog-facet summary::after { content: '+'; font-size: 1.15rem; font-weight: 400; }
.catalog-facet[open] summary::after { content: '−'; }
.catalog-facet__options { display: grid; gap: .1rem; max-height: 15rem; margin-top: .9rem; overflow-y: auto; }
.catalog-facet__option { display: flex; align-items: center; gap: .65rem; min-height: 2.15rem; color: #383838; font-size: .79rem; cursor: pointer; }
.catalog-facet__option input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--brand-black); cursor: pointer; }
.catalog-facet__option span:nth-child(2) { min-width: 0; flex: 1; }
.catalog-facet__count { color: #969696; font-size: .72rem; }
.catalog-facet--box .catalog-facet__options { display: flex; flex-wrap: wrap; gap: .45rem; }
.catalog-facet--box .catalog-facet__option { position: relative; min-height: 2.1rem; padding: .35rem .85rem; border: 1px solid var(--brand-line); border-radius: var(--control-radius); }
.catalog-facet--box .catalog-facet__option:has(input:checked) { color: #fff; background: var(--brand-black); border-color: var(--brand-black); }
.catalog-facet--box .catalog-facet__option input { position: absolute; opacity: 0; }
.catalog-facet--box .catalog-facet__option:focus-within { outline: 2px solid var(--brand-red); outline-offset: 2px; }
.catalog-facet--box .catalog-facet__option .catalog-facet__count { position: absolute; right: 3px; bottom: 0; color: inherit; opacity: .7; font-size: .6rem; min-width: 8px; display: none; }
.catalog-price .catalog-facet__option { gap: .4rem; }
.catalog-price .catalog-facet__option span:nth-child(2) { flex: 0 0 auto; }
.catalog-price .catalog-facet__count { color: inherit; font-size: inherit; }
.catalog-filters__footer { display: none; }
.catalog--loading .catalog-toolbar,
.catalog--loading .catalog-layout { display: none; }
.catalog-loading { display: none; }
.catalog--loading .catalog-loading { display: block; }
.catalog-loading__toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 3.9rem; margin-bottom: 1rem; border-top: 1px solid var(--brand-line); border-bottom: 1px solid var(--brand-line); }
.catalog-loading__layout { display: grid; grid-template-columns: minmax(12rem, 16.5rem) minmax(0, 1fr); gap: clamp(1.5rem, 2vw, 3rem); }
.catalog-loading__filters { display: grid; align-content: start; gap: .8rem; padding: .9rem 0 1.2rem; border-bottom: 1px solid var(--brand-line); }
.catalog-loading__filters .catalog-skeleton--filter-title:nth-of-type(4) { margin-top: .65rem; }
.catalog-loading__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem var(--catalog-gap); }
.catalog-loading__card { min-width: 0; padding: .45rem; background: #fff; border-radius: .6rem; box-shadow: 0 5px 18px rgba(0,0,0,.065); }
.catalog-skeleton { display: block; border-radius: .25rem; background: linear-gradient(100deg, #f0f1f2 30%, #fafafa 50%, #f0f1f2 70%) #f0f1f2; background-size: 200% 100%; animation: catalog-skeleton-shimmer 1.25s ease-in-out infinite; }
.catalog-skeleton--label { width: 4.25rem; height: .78rem; }
.catalog-skeleton--controls { width: 13rem; height: .78rem; }
.catalog-skeleton--filter-title { width: 42%; height: .78rem; }
.catalog-skeleton--filter-option { width: 82%; height: .62rem; }
.catalog-skeleton--image { width: 100%; aspect-ratio: 1; }
.catalog-skeleton--name { width: 74%; height: .78rem; margin: .8rem 0 .55rem; }
.catalog-skeleton--price { width: 43%; height: .7rem; }
@keyframes catalog-skeleton-shimmer { to { background-position: -200% 0; } }
.catalog-status { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; min-height: 15rem; color: var(--brand-muted); font-size: .9rem; text-align: center; }
.catalog-status--inline { min-height: 2.5rem; margin-bottom: .8rem; }
.catalog-status button { padding: .6rem 1rem; color: #fff; background: var(--brand-black); border: 0; border-radius: var(--control-radius); cursor: pointer; }
.catalog-status__loader { width: 1.1rem; height: 1.1rem; border: 2px solid #ddd; border-top-color: var(--brand-red); border-radius: 50%; animation: catalog-spin .75s linear infinite; }
@keyframes catalog-spin { to { transform: rotate(360deg); } }
.catalog-results { min-width: 0; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem var(--catalog-gap); }
.catalog[data-catalog-view="small"] .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.catalog[data-catalog-view="dense"] .catalog-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.catalog[data-catalog-view="list"] .catalog-grid { grid-template-columns: 1fr; gap: .75rem; }
.catalog-card { min-width: 0; overflow: hidden; background: #fff; border-radius: .6rem; box-shadow: 0 5px 18px rgba(0,0,0,.065); font-family: Arial, Helvetica, sans-serif; }
.catalog-card a { display: block; color: inherit; text-decoration: none; }
.catalog-card__media { position: relative; overflow: hidden; aspect-ratio: 1; background: #fff; border-radius: var(--media-radius); }
.catalog-card__image-link { width: 100%; height: 100%; }
.catalog-card__image-link.has-image-error { display: block; background: #f3f1ed; }
.catalog-card__image-link img { width: 100%; height: 100%; object-fit: contain; transition: transform 350ms ease; }
.catalog-card__image-link:hover img, .catalog-card__image-link:focus-visible img { transform: scale(1.025); }
.catalog-card__badge, .catalog-card__stock { position: absolute; z-index: 1; top: .35rem; padding: .34rem .55rem; color: #fff; background: var(--brand-red); border-radius: .3rem; font-size: .68rem; font-weight: 700; line-height: 1; text-transform: uppercase; pointer-events: none; }
.catalog-card__badge { left: .35rem; }
.catalog-card__stock { right: .35rem; text-align: right; }
.catalog-card__whatsapp { position: absolute; z-index: 2; right: .4rem; bottom: .35rem; width: 2rem; height: 2rem; border-radius: 50%; transition: transform 180ms ease; }
.catalog-card__whatsapp:hover, .catalog-card__whatsapp:focus-visible { transform: scale(1.1); }
.catalog-card__whatsapp img { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-card__details { min-height: 3.8rem; padding: .35rem .4rem .55rem; }
.catalog-card__name { margin: 0 0 .45rem; font-size: .86rem; font-weight: 400; line-height: 1.25; }
.catalog-card__price { display: flex; flex-wrap: wrap; gap: .45rem; align-items: baseline; color: var(--brand-black); font-size: .81rem; font-weight: 700; }
.catalog-card__price s { color: #929292; }
.catalog-card__price strong { color: var(--brand-black); font-weight: 700; }
.catalog[data-catalog-view="list"] .catalog-card { display: grid; grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr); border-radius: var(--media-radius); }
.catalog[data-catalog-view="list"] .catalog-card__media { min-height: 10rem; aspect-ratio: auto; }
.catalog[data-catalog-view="list"] .catalog-card__details { display: flex; flex-direction: column; justify-content: center; min-height: 0; padding: 1.2rem; }
.catalog[data-catalog-view="list"] .catalog-card__name { font-size: 1rem; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: .4rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.catalog-pagination a, .catalog-pagination span { display: inline-grid; min-width: 2.5rem; min-height: 2.5rem; padding: .4rem; place-items: center; color: var(--brand-black); text-decoration: none; font-size: .78rem; }
.catalog-pagination a:hover, .catalog-pagination a:focus-visible, .catalog-pagination [aria-current="page"] { color: #fff; background: var(--brand-black); }
.catalog-noscript { margin-top: 2rem; }
body.catalog-drawer-open { overflow: hidden; }
.site-main.catalog { padding-top: 0; }
@media (max-width: 991.98px) {
    .catalog-layout { display: block; }
    .catalog-loading__layout { display: block; }
    .catalog-loading__filters { display: none; }
    .catalog--filters-hidden .catalog-filters { display: flex; }
    .catalog-toolbar__views > [data-catalog-toggle-filters] { display: none; }
    .catalog-toolbar > .catalog-active { display: none; }
    .catalog-active--drawer:not([hidden]) { display: flex; }
    .catalog-filter-toggle { display: inline-flex; }
    .catalog-filters { position: fixed; inset: 0 auto 0 0; z-index: 1061; display: flex; flex-direction: column; width: min(25rem, 88vw); padding: 1.2rem; overflow-y: auto; visibility: hidden; background: #fff; transform: translateX(-100%); transition: transform 220ms ease, visibility 220ms; }
    .catalog-filters.is-open { visibility: visible; transform: translateX(0); }
    .catalog-backdrop:not([hidden]) { position: fixed; inset: 0; z-index: 1060; display: block; background: rgba(0,0,0,.5); }
    .catalog-toolbar .catalog-filters__header { display: none; }
    .catalog-filters__drawer-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .4rem; }
    .catalog-filters__drawer-header h2 { margin: 0; font-size: .94rem; font-weight: 700; text-transform: uppercase; }
    .catalog-filters__drawer-header button { width: 2.7rem; height: 2.7rem; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; }
    .catalog-filters__footer { position: sticky; bottom: -1.2rem; display: flex; gap: .5rem; margin: auto -1.2rem -1.2rem; padding: 1rem 1.2rem; background: #fff; border-top: 1px solid var(--brand-line); }
    .catalog-filters__footer button { flex: 1; padding: .8rem .5rem; background: #fff; border: 1px solid var(--brand-black); border-radius: var(--control-radius); font-size: .73rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
    .catalog-filters__footer button:last-child { color: #fff; background: var(--brand-black); }
}
@media (max-width: 700px) {
    .catalog-facet__options { max-height: none; overflow-y: visible; }
    .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .catalog-loading__toolbar { min-height: 3.1rem; }
    .catalog-loading__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .catalog-skeleton--controls { width: 7rem; }
    .catalog-view-buttons { display: none; }
    .catalog[data-catalog-view="small"] .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog[data-catalog-view="dense"] .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog[data-catalog-view="list"] .catalog-grid { grid-template-columns: 1fr; }
    .catalog[data-catalog-view="list"] .catalog-card { grid-template-columns: 7rem minmax(0, 1fr); }
    .catalog[data-catalog-view="list"] .catalog-card__media { min-height: 7rem; }
    .catalog[data-catalog-view="list"] .catalog-card__details { padding: .75rem; }
    .catalog-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 0; margin-bottom: .8rem; padding: 0; background: #fff; }
    .catalog-toolbar__summary { display: contents; }
    .catalog-sort { grid-row: 1; grid-column: 1; min-height: 3.1rem; margin: 0; color: var(--brand-black); background: #f3f3f3; border-right: 1px solid #dfdfdf; font-size: .82rem; font-weight: 700; text-transform: uppercase; }
    .catalog-sort__trigger { justify-content: center; width: 100%; min-height: 3.1rem; padding: 0 .5rem; background: transparent; border: 0; }
    .catalog-sort__label { font-size: 0; color: inherit; }
    .catalog-sort__label::after { content: 'Sort'; font-size: .82rem; }
    .catalog-sort__value { display: none; }
    .catalog-sort__trigger svg { width: .9rem; height: .9rem; }
    .catalog-sort.is-open .catalog-sort__trigger, .catalog-sort__trigger:hover, .catalog-sort__trigger:focus-visible { border: 0; }
    .catalog-sort__menu { top: calc(100% + .25rem); right: auto; left: 0; width: 100%; min-width: 12rem; padding: .25rem; }
    .catalog-filter-toggle { grid-row: 1; grid-column: 2; justify-content: center; gap: .25rem; min-height: 3.1rem; padding: 0 .5rem; color: var(--brand-black); background: #f3f3f3; font-size: 0; }
    .catalog-filter-toggle svg { display: none; }
    .catalog-filter-toggle::before { width: .38rem; height: .38rem; margin-top: -.45rem; background: var(--brand-red); border-radius: 50%; content: ''; }
    .catalog-filter-toggle::after { content: 'Filter'; font-size: .82rem; }
    .catalog-count { grid-row: 2; grid-column: 1 / -1; justify-self: center; margin: 0; padding: 1rem .5rem .75rem; font-size: .78rem; }
    .catalog-toolbar__views { display: none; }
    .catalog-card__name { font-size: .8rem; }
    .catalog-card__price { font-size: .72rem; }
    .catalog-card__badge, .catalog-card__stock { font-size: .56rem; padding: .3rem .38rem; }
    .catalog-card__whatsapp { width: 1.75rem; height: 1.75rem; }
    .catalog-pagination { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .catalog-filters, .catalog-view-button, .catalog-card__image-link img, .catalog-card__whatsapp { transition: none; }
    .catalog-status__loader { animation-duration: 1.5s; }
    .catalog-skeleton { animation: none; }
}
