/* Identidad oficial, accesibilidad y catálogo técnico */
.visually-hidden{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;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.brand-logo{display:flex;align-items:center;flex:0 0 auto;min-width:0;padding:3px 8px;border-radius:7px;background:#fff;box-shadow:0 5px 16px #0004}
.brand-logo img{width:112px;height:60px;object-fit:contain;object-position:center}
.site-header.scrolled .brand-logo img{width:96px;height:44px}
.footer-brand{width:max-content;padding:5px 10px;box-shadow:none}
.footer-brand img{width:132px;height:78px}

.catalog{background:#fff}
.catalog-tools{grid-template-columns:minmax(280px,1.7fr) repeat(2,minmax(180px,1fr));align-items:stretch;margin-bottom:14px}
.catalog-tools .search,.catalog-tools .catalog-select{height:50px;border:1px solid #dedede;border-radius:7px;background:#fff;transition:border-color .25s,box-shadow .25s}
.catalog-tools .search:focus-within,.catalog-tools .catalog-select:focus-within{border-color:var(--red);box-shadow:0 0 0 3px #e3061312}
.catalog-tools .search{padding:0 15px}
.search svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:var(--red);stroke-width:1.8}
.catalog-tools .search input{height:100%;min-width:0}
.catalog-select{display:block;padding:0;position:relative}
.catalog-select:after{content:'⌄';position:absolute;right:13px;top:50%;transform:translateY(-56%);font-size:16px;color:#999;pointer-events:none}
.catalog-tools select{width:100%;height:100%;border:0;background:transparent;padding:0 34px 0 13px;appearance:none;cursor:pointer}
.catalog-status{min-height:23px;margin:0 0 17px;color:#777;font-size:11px;letter-spacing:.15px}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.product-card{min-width:0;border:1px solid #e5e5e5;border-radius:12px;overflow:visible;display:flex;flex-direction:column;cursor:default;box-shadow:0 4px 18px #11111108}
.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #11111112;border-color:#d8d8d8}
.product-image-wrap{position:relative;background:#f5f5f5}
.product-image-button{width:100%;padding:0;border:0;background:transparent}
.product-visual{height:auto;aspect-ratio:1.42/1;position:relative;background:#f5f5f5;padding:20px}
.product-visual img{width:100%;height:100%;object-fit:contain}
.product-visual.is-placeholder{padding:0}
.image-status{position:absolute;left:10px;bottom:10px;padding:5px 8px;border-radius:4px;background:#111d;color:#fff;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.8px;backdrop-filter:blur(4px)}
.product-info{padding:17px 17px 16px;display:flex;flex:1;flex-direction:column}
.product-info>small{display:block;min-height:28px;font-size:8px;line-height:1.4;letter-spacing:1.15px}
.product-title-button{border:0;background:none;padding:0;text-align:left;color:var(--ink);font:700 13px/1.42 Manrope;min-height:56px;margin:5px 0 16px;transition:color .2s}
.product-title-button:hover{color:var(--red)}
.product-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:auto;padding-top:2px}
.product-card .whatsapp-card{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;padding:9px 11px;border-radius:5px;background:var(--black);font-size:8px;white-space:nowrap}
.product-card .whatsapp-card:hover{background:var(--red);transform:translateY(-1px)}
.whatsapp-card span{font-size:13px;line-height:0}
.catalog-empty{grid-column:1/-1;min-height:260px;border:1px dashed #d9d9d9;border-radius:12px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#777}
.catalog-empty>span{font-size:32px;color:var(--red)}
.catalog-empty h3{margin:7px 0 4px;font:700 18px Manrope;color:var(--ink)}
.catalog-empty p{margin:0 0 18px;font-size:12px}
.catalog-empty button{border:1px solid var(--black);border-radius:5px;background:var(--black);color:#fff;padding:9px 14px;font-size:9px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;transition:.25s}
.catalog-empty button:hover{background:var(--red);border-color:var(--red)}
.pagination{flex-wrap:wrap}
.pagination button{border-radius:5px;transition:.2s}
.pagination button:disabled{opacity:.32;cursor:not-allowed;background:#fff;color:#777;border-color:var(--line)}
.pagination button:disabled:hover{background:#fff;color:#777;border-color:var(--line)}
.pagination .page-arrow{width:40px}

.whatsapp{animation:none;transition:transform .25s ease,box-shadow .25s ease;background:#25d366}
.whatsapp:hover{transform:scale(1.05);box-shadow:0 12px 26px #0004}
.whatsapp-icon{width:28px;height:28px;fill:currentColor;display:block}
.socials .whatsapp-icon{width:16px;height:16px}
.modal-product .product-visual{aspect-ratio:auto}
.modal-details .modal-actions{flex-wrap:wrap}

@media(max-width:1050px){
  .brand-logo img{width:104px;height:55px}
  .catalog-tools{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,1fr))}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .site-header{height:68px;padding:0 20px}
  .main-nav{position:fixed;top:68px;left:0;right:0;background:#111;display:none;flex-direction:column;padding:22px 26px;gap:18px}
  .main-nav.open{display:flex}
  .menu-toggle{display:grid;gap:4px;background:none;border:0}
  .menu-toggle i{display:block;width:23px;height:2px;background:#fff}
  .brand-logo img{width:94px;height:48px}
  .catalog-tools{grid-template-columns:1fr 1fr}
  .catalog-tools .search{grid-column:1/-1}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .product-info{padding:14px}
  .product-title-button{font-size:12px}
}
@media(max-width:560px){
  .catalog-tools{grid-template-columns:1fr}
  .catalog-tools .search{grid-column:auto}
  .product-grid{grid-template-columns:1fr;gap:16px}
  .product-visual{aspect-ratio:1.55/1}
  .product-title-button{min-height:auto;margin-bottom:14px;font-size:13px}
  .product-info>small{min-height:auto;margin-bottom:5px}
  .whatsapp,.back-top{right:17px}
  .whatsapp{bottom:18px}
  .back-top{bottom:78px}
  .footer-brand img{width:120px;height:70px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
