  .skeleton-card{cursor:default;box-shadow:none;}
  .skeleton-foto{width:100%;aspect-ratio:1/1;background:linear-gradient(100deg, var(--border) 20%, var(--border2) 40%, var(--border) 60%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;}
  .skeleton-line{height:10px;border-radius:4px;background:var(--border);}
  @keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

  /* === PAGINA DEL RELOJ (estilo TAG Heuer) === */
  #modal.prod{position:fixed;left:0;right:0;bottom:0;top:var(--header-h,90px);z-index:140;background:#fff;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s linear .4s;}
  #modal.prod.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s;}
  /* con la pagina abierta el encabezado siempre es blanco (aunque estemos sobre la portada) */
  body.prod-abierto header{background:#fff !important;border-bottom-color:var(--border) !important;}
  body.prod-abierto header .desktop-link,body.prod-abierto header .icon-btn,body.prod-abierto header .menu-btn,body.prod-abierto header .header-bottom a{color:#333 !important;}
  body.prod-abierto header .header-center img{filter:invert(1) !important;}
  body.prod-abierto header .fav-count{background:#fff !important;color:#24405f !important;}

  .prod-wrap{max-width:1560px;margin:0 auto;padding:14px clamp(16px,1.6vw,24px) 0;}
  .prod-volver{width:auto;padding:6px 0 14px;}
  .prod-top{display:grid;grid-template-columns:1fr 1fr;align-items:start;}
  .prod-foto{position:sticky;top:0;aspect-ratio:1/1;max-height:calc(100vh - var(--header-h,90px) - 60px);width:100%;background:linear-gradient(135deg,#d6d6d9 0%,#ececee 45%,#fafafa 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .prod-foto img{width:100%;height:100%;object-fit:contain;padding:7%;mix-blend-mode:multiply;}
  /* galeria: las fotos se apilan y se cambia con fundido */
  .prod-foto .pf-img{position:absolute;inset:0;opacity:0;transition:opacity .4s var(--ease);user-select:none;-webkit-user-drag:none;}
  .prod-foto .pf-img.on{opacity:1;}
  .pf-flecha{position:absolute;top:50%;z-index:2;width:38px;height:38px;margin-top:-19px;border:none;border-radius:50%;background:rgba(255,255,255,.9);color:var(--black);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:background var(--fast) var(--ease);}
  .pf-flecha:hover{background:#fff;}
  .pf-flecha.izq{left:14px;} .pf-flecha.der{right:14px;}
  .pf-flecha svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .pf-puntos{position:absolute;left:0;right:0;bottom:16px;z-index:2;display:flex;justify-content:center;gap:8px;}
  .pf-punto{width:6px;height:6px;padding:0;border:none;border-radius:999px;background:rgba(9,9,11,.25);cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease);}
  .pf-punto.on{width:18px;background:var(--black);}
  @media (hover:none){ .pf-flecha{width:32px;height:32px;margin-top:-16px;} }
  .prod-foto .sinfoto{font-size:var(--fs-etiqueta);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);}
  .prod-info{width:100%;max-width:560px;justify-self:center;padding:clamp(32px,14vh,150px) clamp(24px,4vw,64px) 32px;}
  .prod-cabeza{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
  .prod-txt{min-width:0;}
  .prod-eti{display:block;font-size:var(--fs-etiqueta);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:14px;margin-bottom:8px;}
  .prod-eti.disponible{color:var(--estado-disponible);}
  .prod-eti.transito{color:var(--estado-transito);}
  .prod-eti.pedido{color:var(--estado-pedido);}
  .prod-eti.agotado{color:var(--muted);}
  .prod-nombre{font-family:var(--font-texto);font-size:15px;font-weight:600;letter-spacing:.01em;text-transform:uppercase;line-height:20px;color:var(--black);overflow-wrap:anywhere;}
  .prod-spec{font-size:var(--fs-seccion);line-height:20px;color:var(--black);margin-top:2px;}
  .prod-ref{font-size:var(--fs-etiqueta);line-height:16px;color:var(--gris-texto);margin-top:8px;}
  .sku-copy{cursor:pointer;}
  .sku-copy:hover{color:var(--black);text-decoration:underline;}
  .btn-favorito.prod-fav{position:static;flex:none;width:30px;height:30px;padding:0;margin-top:-4px;background:none;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--black);}
  .prod-fav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;}
  .prod-fav.activo{color:#e0245e;}
  .prod-fav.activo svg{fill:currentColor;}
  .prod-precio{font-size:16px;font-weight:500;line-height:20px;color:var(--black);margin-top:22px;font-variant-numeric:tabular-nums;}
  .prod-precio.cotizar{font-size:var(--fs-seccion);font-weight:400;font-style:italic;color:var(--gris-texto);}
  #modal .btn-wa{margin-top:28px;}
  .prod-nota{font-size:var(--fs-etiqueta);line-height:18px;color:var(--gris-texto);margin-top:14px;}

  /* Boton de compra: negro con letra blanca (WhatsApp) */
  .btn-wa{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;background:var(--black);color:#fff;border:1px solid var(--black);border-radius:0;padding:14px 20px;font-family:inherit;font-size:var(--fs-etiqueta);font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),transform .12s var(--ease);}
  .btn-wa svg{width:16px;height:16px;flex-shrink:0;}
  @media (hover:hover){ .btn-wa:hover{background:#fff;color:var(--black);} }
  .btn-wa:active{transform:scale(.98);}
  .btn-wa.confirmando,.btn-wa.confirmando:hover{background:#3f3f46;border-color:#3f3f46;color:#fff;}

  /* Barras desplegables debajo del boton (Descripcion / Especificaciones tecnicas) */
  .prod-acordeones{margin-top:36px;}
  .det{border-top:1px solid #8e8e93;}
  .det:last-child{border-bottom:1px solid #8e8e93;}
  .det-btn{list-style:none;display:flex;align-items:center;gap:16px;padding:26px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .det-btn::-webkit-details-marker{display:none;}
  .det-titulo{flex:1;font-size:var(--fs-etiqueta);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--black);}
  .det-mas{position:relative;flex:none;width:16px;height:16px;}
  .det-mas::before,.det-mas::after{content:'';position:absolute;left:0;top:50%;width:16px;height:1.2px;margin-top:-.6px;background:var(--black);transition:transform .3s var(--ease);}
  .det-mas::after{transform:rotate(90deg);}
  .det[open] .det-mas::after{transform:rotate(0deg);}
  .det-panel{padding:0 0 30px;}
  .det[open] .det-panel{animation:detIn .35s var(--ease);}
  @keyframes detIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
  .det-texto{font-size:var(--fs-texto);line-height:21px;color:#333;}
  /* Especificaciones: todos los grupos visibles a la vez, cada uno con su icono */
  .esp-grupo{display:flex;align-items:flex-start;gap:22px;}
  .esp-grupo + .esp-grupo{margin-top:30px;}
  .esp-ico{flex:none;width:58px;height:58px;color:var(--black);}
  .esp-ico svg{width:100%;height:100%;display:block;}
  .esp-txt{flex:1;min-width:0;padding-top:4px;}
  .esp-titulo{font-size:var(--fs-etiqueta);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--black);margin-bottom:10px;}
  .spec-row{font-size:var(--fs-texto);line-height:22px;color:var(--gris-texto);}
  .spec-row b{font-weight:400;color:var(--black);}

  /* Garantias: envio, caja, autentico */
  .prod-garantias{max-width:1560px;margin:clamp(48px,6vw,96px) auto 0;padding:0 clamp(16px,1.6vw,24px) calc(48px + env(safe-area-inset-bottom,0px));}
  .prod-regla{position:relative;height:12px;padding:0 34px;background:radial-gradient(circle,var(--black) 1px,transparent 1.4px) 0 50%/25px 12px repeat-x;background-origin:content-box;background-clip:content-box;}
  .prod-regla::before,.prod-regla::after{content:'';position:absolute;top:0;width:10px;height:12px;background:linear-gradient(var(--black),var(--black)) 0 50%/100% 1.2px no-repeat;}
  .prod-regla::before{left:0;border-left:1.2px solid var(--black);}
  .prod-regla::after{right:0;border-right:1.2px solid var(--black);}
  .prod-gar-fila{display:grid;grid-template-columns:repeat(3,1fr);max-width:1300px;margin:clamp(40px,5vw,72px) auto 0;}
  .prod-gar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:16px 12px;}
  .prod-gar + .prod-gar{border-left:1px solid var(--border2);}
  .prod-gar svg{height:34px;width:auto;color:var(--black);}
  .prod-gar span{font-size:var(--fs-etiqueta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:16px;color:var(--black);}

  @media (max-width:820px){
    .prod-wrap{padding-top:10px;}
    .prod-top{grid-template-columns:1fr;}
    .prod-foto{position:relative;max-height:none;margin:0 calc(-1 * clamp(16px,1.6vw,24px));width:auto;}
    .prod-info{max-width:none;padding:24px 0 0;}
    .prod-acordeones{margin-top:28px;}
    .det-btn{padding:22px 0;}
    .esp-grupo{gap:16px;}
    .esp-ico{width:48px;height:48px;}
    .prod-regla{padding:0 22px;background-size:18px 12px;}
    .prod-gar{padding:12px 6px;gap:10px;}
    .prod-gar svg{height:28px;}
    .prod-gar span{font-size:10px;letter-spacing:.08em;line-height:14px;}
  }

  .fab-wa{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:100;text-decoration:none;transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease);}
  .fab-wa svg{width:26px;height:26px;}
  body:not(.vista-catalogo) .fab-wa{display:none;} /* en la pagina principal no va el boton flotante */
  @media (hover:hover){ .fab-wa:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl);} }
  .fab-wa:active{transform:scale(0.94);}
  @media(min-width:640px){ .fab-wa{right:28px;bottom:28px;} }

  .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--black);color:#fff;padding:10px 18px;border-radius:var(--r-pill);font-size:13px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:400;max-width:88vw;text-align:center;}
  .toast.show{opacity:1;transform:translate(-50%,0);}
