html,body{max-width:100%;overflow-x:hidden}.site-logo{display:block;max-height:50px;max-width:180px}.site-footer a{display:block;color:rgba(255,255,255,.65);text-decoration:none;margin:.45rem 0}.site-footer a:hover{color:#fff}.social-links{display:flex;gap:12px}.social-links a{font-size:1.25rem}.stretched-link-safe{color:inherit;text-decoration:none}.pager-wrap nav ul{display:flex;gap:6px;list-style:none;padding:0}.pager-wrap nav a,.pager-wrap nav span{display:block;padding:.55rem .8rem;border:1px solid var(--line);border-radius:8px;color:var(--brand-dark);text-decoration:none;background:#fff}.pager-wrap nav .active a,.pager-wrap nav .active span{background:var(--brand);color:#fff}.product-thumbs{display:flex;gap:10px;overflow:auto}.product-thumbs img{width:80px;height:80px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.product-description{font-size:1.05rem;line-height:1.8}.branch-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 30px rgba(18,43,29,.05)}.branch-icon{font-size:2.5rem;color:var(--brand)}.quote-price small,.quote-price strong,.quote-subtotal small,.quote-subtotal strong{display:block}.quote-qty-form input{width:88px}.quote-item>form:last-child{margin:0}.catalog-filters{border-radius:18px!important}.alert{border-radius:12px}.quote-item{grid-template-columns:minmax(210px,2fr) 1fr .7fr 1fr auto}.quote-product h2{font-size:1rem;margin:0}.category-card{color:var(--ink)}.product-brand{display:inline-flex;align-items:center;margin-top:.6rem;text-decoration:none}.product-brand img{display:block;max-height:40px;width:auto;object-fit:contain}.product-brand-name{font-weight:700;font-size:.9rem;color:var(--brand-dark)}.product-brand:hover .product-brand-name{color:var(--brand)}.product-card-brand{display:block;font-size:.76rem;font-weight:600;color:var(--muted);text-decoration:none;margin:-.3rem 0 .5rem}.product-card-brand:hover{color:var(--brand)}.brand-header{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.brand-header-logo{display:block;max-height:72px;width:auto;object-fit:contain}.brand-grid-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 16px;text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 5px 18px rgba(0,0,0,.035);transition:.2s}.brand-grid-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(25,48,35,.08)}.brand-grid-card img{max-height:56px;width:auto;object-fit:contain}.brand-grid-name{font-weight:800;font-size:1.05rem;color:var(--ink)}.brand-grid-count{font-size:.78rem;color:var(--muted)}
@media(max-width:1199px){.quote-item{grid-template-columns:minmax(210px,2fr) 1fr .7fr auto}.quote-subtotal{display:block;grid-column:2}.quote-item>form:last-child{grid-column:4;grid-row:1}}
@media(max-width:767px){.hero .display-3{font-size:clamp(2.5rem,14vw,3.4rem)}.hero-overlay{background:rgba(10,17,13,.72)}.product-gallery-card{min-height:320px;padding:20px}.product-detail-img{max-height:300px}.quote-item{grid-template-columns:1fr auto;padding:16px}.quote-product{grid-column:1/3}.quote-price{grid-column:1}.quote-qty-form{grid-column:1}.quote-subtotal{grid-column:1}.quote-item>form:last-child{grid-column:2;grid-row:2}.summary-card{padding:20px}.site-footer .brand{margin-bottom:1rem}}

/* Paginación pública del catálogo */
.pager-wrap .catalog-pager{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.pager-wrap .catalog-page-item{margin:0}
.pager-wrap .catalog-page-item>a,.pager-wrap .catalog-page-item>span{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:42px;min-height:42px;margin:0;padding:0 14px;border:1px solid #e2e8e4;border-radius:10px;background:#fff;color:var(--brand-dark);font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.pager-wrap .catalog-page-number>a,.pager-wrap .catalog-page-number>span{width:42px;min-width:42px;padding:0}
.pager-wrap .catalog-page-item>a:hover{border-color:#e5cccd;background:#f2e6e6;color:var(--brand)}
.pager-wrap .catalog-page-item>a:focus-visible{outline:3px solid rgba(126,2,5,.2);outline-offset:2px}
.pager-wrap .catalog-page-item.active>span{border-color:var(--brand);background:var(--brand);color:#fff}
.pager-wrap .catalog-page-item.disabled>span{border-color:#e8ece9;background:#f6f7f6;color:#98a19b;cursor:default}
.pager-wrap .catalog-page-item>a>span,.pager-wrap .catalog-page-item>span>span{display:inline;width:auto;min-width:0;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit}
.pager-wrap .pager-arrow-before{margin-right:4px}
.pager-wrap .pager-arrow-after{margin-left:4px}

@media(max-width:575px){
    .pager-wrap .catalog-pager{gap:6px}
    .pager-wrap .catalog-page-edge{display:none}
    .pager-wrap .catalog-page-number:not(.is-near){display:none}
    .pager-wrap .catalog-page-item>a,.pager-wrap .catalog-page-item>span{height:40px;min-height:40px;padding:0 10px;font-size:.875rem}
    .pager-wrap .catalog-page-number>a,.pager-wrap .catalog-page-number>span{width:40px;min-width:40px;padding:0}
}

/* Carrusel infinito de productos destacados (home) */
.product-carousel{position:relative}
.product-carousel-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.product-carousel-track::-webkit-scrollbar{display:none}
.product-carousel-track:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.product-carousel-slide{flex:0 0 78%;min-width:0;scroll-snap-align:start}
@media(min-width:576px){.product-carousel-slide{flex-basis:calc(50% - .625rem)}}
@media(min-width:992px){.product-carousel-slide{flex-basis:calc(33.3333% - .834rem)}}
@media(min-width:1200px){.product-carousel-slide{flex-basis:calc(25% - .9375rem)}}
.carousel-arrow{position:absolute;top:40%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(18,43,29,.12);z-index:2;padding:0}
.carousel-arrow:hover,.carousel-arrow:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff}
.carousel-arrow-prev{left:-8px}
.carousel-arrow-next{right:-8px}
@media(max-width:767px){.carousel-arrow{display:none}}
