/* ============================================================
   GLOBAL MEAT PRODUCT, S.L. — hoja de estilos del sitio
   ============================================================ */
:root{
  --vino:#8B1739;
  --vino-osc:#6B0F2B;
  --vino-claro:#A83352;
  --naranja:#E89113;
  --naranja-osc:#C6790A;
  --blanco:#FFFFFF;
  --hueso:#FAF7F7;
  --linea:#E6DCDE;
  --texto:#2A2124;
  --texto-sec:#6E6165;

  --display:"Barlow Condensed",system-ui,sans-serif;
  --cuerpo:"Barlow",system-ui,-apple-system,sans-serif;

  --max:1240px;
  --r:4px;
}

/* ---------- 2. BASE ----------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--hueso);color:var(--texto);
  font-family:var(--cuerpo);font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.03;margin:0}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem);color:var(--vino)}
h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--vino)}
h3{font-size:1.4rem;font-weight:600}
p{margin:0 0 1rem}

.contenedor{max-width:var(--max);margin:0 auto;padding:0 24px}
.seccion{padding:82px 0}
.seccion-blanca{background:var(--blanco)}
.intro{max-width:60ch;color:var(--texto-sec);font-size:1.06rem}
.regla{width:70px;height:5px;background:var(--naranja);margin-bottom:22px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.6rem;border:2px solid transparent;border-radius:var(--r);
  font-weight:600;font-size:.97rem;text-decoration:none;cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn-vino{background:var(--vino);color:#fff}
.btn-vino:hover{background:var(--vino-osc)}
.btn-naranja{background:var(--naranja);color:#fff}
.btn-naranja:hover{background:var(--naranja-osc)}
.btn-linea{background:transparent;color:var(--vino);border-color:var(--vino)}
.btn-linea:hover{background:var(--vino);color:#fff}
.btn-claro{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-claro:hover{background:#fff;color:var(--vino)}

.banda{background:var(--vino);color:#fff;padding:20px 0;text-align:center}
.banda h2,.banda p{color:#fff;margin:0}
.banda p{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:600}
.banda-naranja{background:var(--naranja)}

/* ---------- 3. CABECERA ------------------------------------- */
.barra-idiomas{background:var(--vino-osc);color:rgba(255,255,255,.75);font-size:.78rem}
.barra-idiomas .contenedor{display:flex;justify-content:flex-end;align-items:center;gap:16px;height:34px}
.barra-idiomas .datos-rapidos{margin-right:auto;display:flex;gap:20px}
.barra-idiomas a{text-decoration:none}
.barra-idiomas a:hover{color:#fff}
.idiomas{display:flex;gap:6px;align-items:center}
.btn-lang {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
}
.btn-lang:hover, .btn-lang.activo {
  color: #ffffff;
  border-bottom-color: var(--naranja);
  background: rgba(255,255,255,0.12);
}

/* RTL Layout (Árabe) */
[dir="rtl"] { text-align: right; }
[dir="rtl"] .nav { margin-left: 0; margin-right: auto; }
[dir="rtl"] .barra-idiomas .datos-rapidos { margin-right: 0; margin-left: auto; }
[dir="rtl"] .burbujas-flotantes { right: auto; left: 24px; }
[dir="rtl"] .gmp-chatbot-ventana { right: auto; left: 24px; }

.cabecera{position:sticky;top:0;z-index:60;background:var(--vino);box-shadow:0 1px 0 rgba(0,0,0,.1)}
.cabecera-fila{display:flex;align-items:center;gap:26px;height:88px}
.logo{background:#fff;padding:8px 14px;border-radius:var(--r);display:block}
.logo img{height:44px;width:auto}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{
  text-decoration:none;font-weight:600;font-size:.93rem;letter-spacing:.02em;
  color:rgba(255,255,255,.88);padding:6px 0;border-bottom:2px solid transparent;
}
.nav a:hover,.nav a.activo{color:#fff;border-bottom-color:var(--naranja)}
.cabecera-acciones{display:flex;align-items:center;gap:10px}
.social{display:flex;gap:8px}
.social a{
  width:34px;height:34px;border:1px solid rgba(255,255,255,.45);border-radius:50%;
  display:grid;place-items:center;color:#fff;text-decoration:none;
}
.social a:hover{background:#fff;color:var(--vino);border-color:#fff}
.btn-solicitud{position:relative;padding:.7rem 1.2rem}
.contador{
  position:absolute;top:-8px;right:-8px;min-width:21px;height:21px;padding:0 6px;
  background:#fff;color:var(--vino);border-radius:11px;font-size:.74rem;font-weight:700;
  display:none;align-items:center;justify-content:center;
}
.contador.visible{display:flex}
.menu-movil{display:none;background:none;border:1px solid rgba(255,255,255,.45);border-radius:var(--r);padding:.5rem .7rem;color:#fff;cursor:pointer;font-size:1.1rem}

/* ---------- 4. PORTADA -------------------------------------- */
.portada{background:var(--blanco);overflow:hidden;padding:72px 0}
.portada-rejilla{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:center}
.portada .sub{font-size:1.14rem;color:var(--texto-sec);max-width:46ch;margin:1.5rem 0 2.2rem}
.portada .sub strong{color:var(--vino);font-weight:600}
.portada-botones{display:flex;flex-wrap:wrap;gap:12px}

.franja{background:var(--naranja);color:#fff}
.franja .contenedor{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.franja div{padding:26px 26px 26px 0;border-right:1px solid rgba(255,255,255,.3)}
.franja div:last-child{border-right:0}
.franja dt{font-family:var(--display);font-size:2.5rem;font-weight:700;line-height:1}
.franja dd{margin:.2rem 0 0;font-size:.95rem;color:rgba(255,255,255,.92)}

.atajos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.atajo{
  background:#fff;border:1px solid var(--linea);border-top:5px solid var(--vino);
  padding:28px;display:flex;flex-direction:column;text-decoration:none;
}
.atajo:nth-child(2){border-top-color:var(--naranja)}
.atajo h3{color:var(--vino);font-size:1.5rem}
.atajo p{color:var(--texto-sec);font-size:.95rem;margin:.5rem 0 1.2rem}
.atajo span{margin-top:auto;color:var(--naranja-osc);font-weight:600;font-size:.92rem}
.atajo:hover{border-color:var(--vino-claro)}
.atajo:hover span{color:var(--vino)}

/* ---------- 5. ENCABEZADO DE PÁGINA ------------------------- */
.encabezado{background:var(--blanco);padding:64px 0 40px;text-align:center}
.encabezado .regla{margin:0 auto 20px}
.encabezado p{max-width:62ch;margin:1rem auto 0;color:var(--texto-sec)}

/* ---------- 6. CATÁLOGO ------------------------------------- */
.catalogo-cabecera{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-bottom:30px}
.catalogo-pestanas{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-pestana{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 18px;font-family:var(--cuerpo);font-size:.88rem;font-weight:600;line-height:1.3;
  color:var(--texto);background:var(--blanco);border:1px solid var(--linea);border-radius:9999px;
  cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .2s ease;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.btn-pestana:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--vino);transform:translateY(-1px)}
.btn-pestana.activa{background:var(--vino);border-color:var(--vino);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(139,23,57,.25)}
.btn-pestana.activa:hover{background:var(--vino-osc);border-color:var(--vino-osc);color:#fff}
.btn-pestana-link{color:var(--texto)}
.buscador{position:relative;flex:0 0 350px;max-width:100%}
.buscador input{
  width:100%;padding:.75rem 1rem .75rem 2.6rem;font-size:.92rem;font-family:inherit;
  border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--texto);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.buscador input:focus{background:#fff;border-color:var(--vino);box-shadow:0 0 0 3px rgba(139,23,57,.1)}
.buscador svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--texto-sec)}

@keyframes pulsoCardPdf {
  0% { box-shadow: 0 0 0 0 rgba(139, 23, 57, .45); }
  60% { box-shadow: 0 0 0 12px rgba(139, 23, 57, 0); }
  100% { box-shadow: 0 0 0 0 rgba(139, 23, 57, 0); }
}
.tarjeta-destacada-pulso {
  animation: pulsoCardPdf 1.6s ease-out;
  border-color: var(--vino) !important;
}

.catalogo-cuerpo{display:grid;grid-template-columns:236px 1fr;gap:44px;align-items:start}
.familias{
  position:sticky;
  top:96px;
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  padding-bottom:120px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(139,23,57,0.25) transparent;
}
.familias::-webkit-scrollbar{width:5px}
.familias::-webkit-scrollbar-track{background:transparent}
.familias::-webkit-scrollbar-thumb{background:rgba(139,23,57,0.22);border-radius:4px}
.familias::-webkit-scrollbar-thumb:hover{background:rgba(139,23,57,0.45)}
.familias h4{font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--vino);margin:0 0 10px;padding-bottom:10px;border-bottom:2px solid var(--naranja)}
.familias button{
  display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:10px;
  background:none;border:0;border-left:3px solid transparent;
  padding:.64rem .8rem;text-align:left;font-size:1rem;color:var(--texto);cursor:pointer;
}
.familias button:hover{background:var(--hueso)}
.familias button[aria-pressed="true"]{border-left-color:var(--naranja);background:var(--hueso);color:var(--vino);font-weight:600}
.familias button span{font-size:.82rem;color:var(--texto-sec);font-variant-numeric:tabular-nums}

.subfamilias{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--hueso);border:1px solid var(--linea);border-radius:999px;padding:.42rem 1rem;font-size:.88rem;color:var(--texto-sec);cursor:pointer}
.chip:hover{border-color:var(--vino-claro);color:var(--vino)}
.chip[aria-pressed="true"]{background:var(--vino);border-color:var(--vino);color:#fff}

.resultado-info{font-size:.9rem;color:var(--texto-sec);margin:18px 0 14px}
.rejilla-productos{display:grid;grid-template-columns:repeat(auto-fill,minmax(234px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
.producto{background:#fff;padding:20px;display:flex;flex-direction:column;gap:9px}
.producto .ruta{font-size:.78rem;color:var(--naranja-osc);margin:0}
.producto h3{font-size:1.24rem;color:var(--vino)}
.producto .en{font-size:.86rem;color:var(--texto-sec);margin:-8px 0 0}
.producto dl{margin:6px 0 0;font-size:.85rem;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}
.producto dt{color:var(--texto-sec)}
.producto dd{margin:0}
.etiquetas{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.etiqueta{font-size:.74rem;padding:.2rem .6rem;border-radius:2px;border:1px solid var(--linea);color:var(--texto-sec)}
.etiqueta.congelado{border-color:#C9D9E8;background:#F0F5FA;color:#2F5680}
.etiqueta.frio{border-color:#EBD4B4;background:#FDF6EB;color:var(--naranja-osc)}
.producto .anadir{
  margin-top:12px;width:100%;background:var(--hueso);border:1px solid var(--linea);color:var(--vino);
  padding:.62rem;border-radius:var(--r);font-size:.9rem;font-weight:600;cursor:pointer;
}
.producto .anadir:hover{background:var(--vino);border-color:var(--vino);color:#fff}
.producto .anadir.puesto{background:var(--naranja);border-color:var(--naranja);color:#fff}
.vacio{padding:56px 24px;text-align:center;color:var(--texto-sec);border:1px dashed var(--linea)}
.vacio p{margin-bottom:.5rem}

/* ---------- PAGINACIÓN CATÁLOGO P10 ---------- */
.paginacion-catalogo{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid var(--linea);
  flex-wrap:wrap;
}
.paginacion-numeros{
  display:flex;
  align-items:center;
  gap:6px;
}
.btn-pag{
  background:#fff;
  border:1px solid var(--linea);
  color:var(--texto);
  padding:8px 16px;
  border-radius:var(--r);
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  transition:all .2s ease;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:inherit;
}
.btn-pag:hover:not(:disabled){
  background:var(--hueso);
  border-color:var(--vino);
  color:var(--vino);
}
.btn-pag:disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}
.btn-pag-num{
  min-width:38px;
  height:38px;
  padding:0 8px;
  background:#fff;
  border:1px solid var(--linea);
  border-radius:var(--r);
  font-size:.9rem;
  font-weight:600;
  color:var(--texto);
  cursor:pointer;
  transition:all .2s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
}
.btn-pag-num:hover:not(.activo){
  background:var(--hueso);
  border-color:var(--naranja);
  color:var(--vino);
}
.btn-pag-num.activo{
  background:var(--vino);
  border-color:var(--vino);
  color:#fff;
  font-weight:700;
  box-shadow:0 2px 6px rgba(134,23,38,.2);
}
.pag-elipsis{
  padding:0 6px;
  color:var(--texto-sec);
  font-weight:600;
}


/* ---------- 7. PANEL DE SOLICITUD --------------------------- */
.velo{position:fixed;inset:0;background:rgba(42,33,36,.5);opacity:0;visibility:hidden;transition:opacity .2s;z-index:80}
.velo.abierto{opacity:1;visibility:visible}
.panel{position:fixed;top:0;right:0;height:100%;width:min(430px,100%);background:#fff;z-index:90;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
.panel.abierto{transform:translateX(0)}
.panel-cab{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--vino);color:#fff}
.panel-cab h3{color:#fff;font-size:1.5rem}
.panel-cerrar{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:#fff}
.panel-lista{flex:1;overflow-y:auto;padding:8px 24px}
.linea{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--linea)}
.linea-info{flex:1;min-width:0}
.linea-info strong{display:block;font-size:1rem;color:var(--vino)}
.linea-info small{color:var(--texto-sec);font-size:.82rem}
.cantidad{display:flex;align-items:center;border:1px solid var(--linea);border-radius:var(--r)}
.cantidad button{background:none;border:0;width:28px;height:32px;cursor:pointer;color:var(--vino);font-size:1.05rem}
.cantidad input{width:52px;border:0;text-align:center;font-family:inherit;font-size:.88rem;padding:0}
.quitar{background:none;border:0;color:var(--texto-sec);cursor:pointer;font-size:.8rem;text-decoration:underline;padding:0;margin-top:2px}
.panel-pie{padding:20px 24px;border-top:1px solid var(--linea);background:var(--hueso)}
.panel-pie textarea{width:100%;min-height:74px;padding:.7rem;border:1px solid var(--linea);border-radius:var(--r);font-family:inherit;font-size:.9rem;resize:vertical;margin-bottom:12px}
.panel-pie .btn{width:100%;margin-bottom:8px}
.panel-vacio{padding:52px 0;text-align:center;color:var(--texto-sec);font-size:.93rem}
.panel-vacio a{color:var(--vino)}

/* ---------- 8. SECCIONES ------------------------------------ */
.ofertas-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.oferta{background:#fff;border:1px solid var(--linea);border-top:5px solid var(--vino);padding:28px;display:flex;flex-direction:column}
.oferta:last-child{border-top-color:var(--naranja)}
.oferta h3{font-size:1.6rem;color:var(--vino)}
.oferta .especies{color:var(--texto-sec);font-size:.95rem;margin:.4rem 0 1.4rem}
.oferta-enlaces{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.oferta-enlaces a{text-decoration:none;font-size:.89rem;font-weight:600;padding:.6rem 1.1rem;border:1px solid var(--linea);border-radius:var(--r)}
.oferta-enlaces a:hover{border-color:var(--vino);color:var(--vino)}

.doble{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.coberturas{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--linea)}
.coberturas li{padding:15px 0;border-bottom:1px solid var(--linea);display:flex;gap:16px;align-items:baseline}
.coberturas b{font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--vino);min-width:108px}
.coberturas span{color:var(--texto-sec);font-size:.94rem}

.recursos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.recurso{background:#fff;border:1px solid var(--linea);padding:24px}
.recurso h3{color:var(--vino);font-size:1.3rem;margin-bottom:.4rem}
.recurso p{color:var(--texto-sec);font-size:.94rem;margin:0}

.contacto{background:var(--vino);color:#fff}
.contacto h2{color:#fff}
.contacto p{color:rgba(255,255,255,.82);max-width:44ch}
.contacto-botones{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.contacto-datos{border-left:3px solid var(--naranja);padding-left:28px}
.contacto-datos div{margin-bottom:20px}
.contacto-datos small{display:block;color:rgba(255,255,255,.6);font-size:.8rem;margin-bottom:2px}
.contacto-datos a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.contacto-datos strong{font-size:1.08rem;font-weight:600}

.ficha{background:#fff;border:1px solid var(--linea);padding:30px}
.ficha dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0;font-size:.97rem}
.ficha dt{color:var(--texto-sec)}
.ficha dd{margin:0}
.ficha a{color:var(--vino)}

.formulario{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo.ancho{grid-column:1/-1}
.campo label{font-size:.86rem;font-weight:600;color:var(--texto-sec)}
.campo input,.campo select,.campo textarea{
  padding:.75rem;border:1px solid var(--linea);border-radius:var(--r);
  font-family:inherit;font-size:.96rem;background:#fff;color:var(--texto);
}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--vino);outline:none}
.aviso{font-size:.84rem;color:var(--texto-sec);grid-column:1/-1;margin:0}

/* ---------- 9. PIE Y FLOTANTE ------------------------------- */
.pie{background:var(--vino-osc);color:rgba(255,255,255,.7);padding:44px 0 26px;font-size:.9rem}
.pie-fila{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.pie .logo{display:inline-block}
.pie-enlaces{display:flex;gap:22px;flex-wrap:wrap}
.pie-enlaces a{text-decoration:none;color:rgba(255,255,255,.78)}
.pie-enlaces a:hover{color:#fff}
.pie-legal{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.82rem;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}

.flotante{
  position:fixed;right:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}

/* ---------- 10. RESPONSIVE ---------------------------------- */
@media (max-width:1000px){
  .seccion{padding:60px 0}
  .portada{padding:48px 0}
  .portada-rejilla{grid-template-columns:1fr;gap:30px}
  .portada-img{order:-1}
  .franja .contenedor{grid-template-columns:1fr}
  .franja div{border-right:0;border-bottom:1px solid rgba(255,255,255,.3);padding:18px 0}
  .franja div:last-child{border-bottom:0}
  .doble,.ofertas-rejilla,.atajos,.recursos,.formulario{grid-template-columns:1fr;gap:24px}
  .contacto-datos{border-left:0;border-top:3px solid var(--naranja);padding-left:0;padding-top:26px}
  .catalogo-cuerpo{grid-template-columns:1fr;gap:26px}
  .familias{position:static;max-height:none;overflow-y:visible;overflow-x:auto;display:flex;gap:8px;padding-bottom:6px}
  .familias h4{display:none}
  .familias button{width:auto;border-left:0;border:1px solid var(--linea);border-radius:999px;white-space:nowrap;padding:.45rem 1rem}
  .familias button[aria-pressed="true"]{background:var(--vino);border-color:var(--vino);color:#fff}
  .familias button[aria-pressed="true"] span{color:rgba(255,255,255,.7)}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--vino);flex-direction:column;gap:0;padding:0 24px 18px}
  .nav.abierto{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18)}
  .menu-movil{display:block}
  .social,.barra-idiomas .datos-rapidos{display:none}
  .cabecera-acciones{margin-left:auto}
  .btn-solicitud{padding:.6rem .9rem;font-size:.88rem}
  .logo img{height:36px}
  .cabecera-fila{height:76px;justify-content:space-between}
}
@media (max-width:768px){
  h1{font-size:clamp(1.9rem,6.8vw,2.4rem);line-height:1.15}
  .portada{padding:32px 0 40px}
  .portada-rejilla{gap:24px}
  .portada-img img{max-width:320px;margin:0 auto}
  .portada .sub{font-size:1.02rem;margin:1.2rem 0 1.8rem}
  .burbujas-flotantes{bottom:16px;right:16px;gap:8px}
  .flotante-wa, .gmp-chatbot-btn{width:48px;height:48px}
}
@media (max-width:480px){
  .contenedor{padding:0 16px}
  .logo{padding:6px 10px}
  .logo img{height:30px}
  .cabecera-acciones{gap:8px}
  .btn-solicitud{padding:.5rem .75rem;font-size:.8rem}
  .menu-movil{padding:.45rem .6rem;font-size:1rem}
  .portada-botones .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   BURBUJAS FLOTANTES (WhatsApp + Chatbot IA side-by-side)
   ============================================================ */
.burbujas-flotantes {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 12px;
}

.flotante-wa {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flotante-wa:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 30px rgba(37, 211, 102, 0.55);
}

.gmp-chatbot-contenedor {
  position: relative;
  font-family: var(--font-body, system-ui, -apple-system, sans-serif);
}

.gmp-chatbot-btn {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #861726 0%, #b41e33 100%);
  color: #ffffff;
  border: none;
  box-shadow: 0 8px 24px rgba(134, 23, 38, 0.35);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gmp-chatbot-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 30px rgba(134, 23, 38, 0.45);
}

.gmp-chatbot-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background: #fcc419;
  color: #78350f;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 10px;
  border: 2px solid #ffffff;
}

.gmp-chatbot-ventana {
  position: fixed;
  bottom: 92px;
  right: 24px;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: 540px;
  max-height: calc(100vh - 120px);
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 10000;
  animation: gmpFadeInUp 0.3s ease;
}

@keyframes gmpFadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.gmp-chatbot-cabecera {
  background: #1e293b;
  color: #ffffff;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.gmp-chatbot-avatar {
  position: relative;
  width: 40px;
  height: 40px;
  background: #334155;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.status-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  background: #22c55e;
  border-radius: 50%;
  border: 2px solid #1e293b;
}

.gmp-chatbot-titulo {
  flex: 1;
}

.gmp-chatbot-titulo h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
}

.gmp-chatbot-sub {
  font-size: 11px;
  color: #94a3b8;
  display: block;
}

.gmp-chatbot-cerrar {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

.gmp-chatbot-cerrar:hover { color: #ffffff; }

.gmp-chatbot-mensajes {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #f8fafc;
}

.gmp-chat-msg {
  max-width: 85%;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 12px;
  padding: 10px 14px;
}

.gmp-chat-msg p { margin: 0 0 6px 0; }
.gmp-chat-msg p:last-child { margin-bottom: 0; }

.gmp-chat-user {
  align-self: flex-end;
  background: #861726;
  color: #ffffff;
  border-bottom-right-radius: 2px;
}

.gmp-chat-ia {
  align-self: flex-start;
  background: #ffffff;
  color: #1e293b;
  border: 1px solid #e2e8f0;
  border-bottom-left-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.gmp-typing {
  color: #64748b;
  font-style: italic;
  font-size: 12px;
}

.gmp-typing .dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #94a3b8;
  border-radius: 50%;
  margin: 0 2px;
  animation: gmpBlink 1.4s infinite fill-mode:both;
}

@keyframes gmpBlink {
  0% { opacity: 0.2; } 50% { opacity: 1; } 100% { opacity: 0.2; }
}

.gmp-handoff-badge {
  margin-top: 8px;
  padding: 8px;
  background: #fff8e6;
  border: 1px solid #fcc419;
  border-radius: 6px;
  color: #78350f;
  font-size: 11px;
  font-weight: 600;
}

.gmp-chatbot-chips {
  padding: 8px 12px;
  background: #ffffff;
  border-top: 1px solid #f1f5f9;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  white-space: nowrap;
}

.gmp-chip-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #334155;
  font-size: 11px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.2s;
}

.gmp-chip-btn:hover {
  background: #e2e8f0;
}

.gmp-chatbot-form {
  display: flex;
  padding: 12px;
  background: #ffffff;
  border-top: 1px solid #e2e8f0;
  gap: 8px;
}

.gmp-chatbot-form input {
  flex: 1;
  border: 1px solid #cbd5e1;
  border-radius: 20px;
  padding: 8px 14px;
  font-size: 13px;
  outline: none;
}

.gmp-chatbot-form input:focus {
  border-color: #861726;
}

.gmp-chatbot-form button {
  background: #861726;
  color: #ffffff;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

.gmp-chatbot-form button:hover {
  background: #b41e33;
}

/* ============================================================
   SECCIÓN PRODUCTOS DESTACADOS EN PDF & BANNER CATÁLOGO
   ============================================================ */
.seccion-destacados-pdf {
  padding: 54px 0 68px;
  background-color: var(--hueso);
}

.destacados-pdf-encabezado {
  text-align: center;
  margin-bottom: 32px;
}

.destacados-pdf-titulo {
  color: var(--vino);
  font-family: var(--cuerpo);
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px 0;
}

.destacados-pdf-sub {
  color: var(--texto-sec);
  font-size: 0.98rem;
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.5;
}

.pdf-cards-rejilla {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 36px;
}

.card-pdf {
  background: var(--blanco);
  border: 1px solid var(--linea);
  border-radius: 8px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-pdf:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.card-pdf-info {
  flex: 1;
  min-width: 0;
}

.card-pdf-titulo {
  color: var(--vino);
  font-family: var(--cuerpo);
  font-size: 1.12rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  line-height: 1.3;
}

.card-pdf-desc {
  color: var(--texto-sec);
  font-size: 0.86rem;
  margin: 0;
  line-height: 1.45;
}

.card-pdf-acciones {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.btn-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 7px 14px;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  line-height: 1.2;
}

.btn-pdf:hover {
  transform: translateY(-1px);
}

.btn-pdf-es {
  background-color: var(--vino);
  color: #ffffff;
  border: 1px solid var(--vino);
}

.btn-pdf-es:hover {
  background-color: var(--vino-osc);
  border-color: var(--vino-osc);
  color: #ffffff;
}

.btn-pdf-en {
  background-color: #ffffff;
  color: var(--vino);
  border: 1px solid var(--vino);
}

.btn-pdf-en:hover {
  background-color: var(--vino);
  color: #ffffff;
}

.banner-no-encontrado {
  background-color: var(--vino);
  border-radius: 8px;
  padding: 34px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  box-shadow: 0 4px 14px rgba(139, 23, 57, 0.15);
}

.banner-no-encontrado-texto {
  flex: 1;
}

.banner-no-encontrado-texto h3 {
  color: #ffffff;
  font-family: var(--cuerpo);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
  margin: 0 0 8px 0;
  line-height: 1.25;
}

.banner-no-encontrado-texto p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0;
  max-width: 720px;
}

.banner-no-encontrado-accion {
  flex-shrink: 0;
}

.btn-banner-oferta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.85);
  background-color: transparent;
  color: #ffffff;
  padding: 10px 22px;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-banner-oferta:hover {
  background-color: #ffffff;
  color: var(--vino);
  border-color: #ffffff;
}

@media (max-width: 860px) {
  .pdf-cards-rejilla {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .seccion-destacados-pdf {
    padding: 42px 0 54px;
  }
  .card-pdf {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
  }
  .card-pdf-acciones {
    width: 100%;
    justify-content: flex-start;
  }
  .banner-no-encontrado {
    flex-direction: column;
    align-items: flex-start;
    padding: 26px 22px;
    gap: 18px;
  }
  .banner-no-encontrado-accion {
    width: 100%;
  }
  .btn-banner-oferta {
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
/* ============================================================
   HERO CATÁLOGO (COMPACTO Y CENTRADO)
   ============================================================ */
.catalogo-hero-seccion {
  padding: 32px 0 20px;
  background-color: var(--blanco);
  border-bottom: 1px solid var(--linea);
}

.catalogo-hero-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}

.catalogo-hero-tag {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--naranja);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: inline-block;
}

.catalogo-hero-titulo {
  color: var(--vino);
  font-family: var(--cuerpo);
  font-size: clamp(1.85rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 12px 0;
  text-align: center;
}

.catalogo-hero-sub-empresa {
  color: var(--texto-sec);
  font-size: 0.98rem;
  line-height: 1.55;
  opacity: 0.95;
  margin: 0;
  text-align: center;
  max-width: 68ch;
}

@media (max-width: 600px) {
  .catalogo-hero-seccion {
    padding: 24px 0 16px;
  }
  .catalogo-hero-titulo {
    font-size: 1.6rem;
  }
}



