*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Lora', serif;
    background:#f0edeb;
    color:#b3b1b1;
    overflow-x:hidden;
    max-width:100%;
}

/* CONTROLES DE AUDIO */
audio{
    height: 10px;
}
.contenedor-audio{
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 25px 20px;
    box-sizing: border-box;
    background: #ffffff;
    margin-top: 110px;
    height: 5px;
}

.contenedor-audio audio{
    width: 350px;
    max-width: 100%;
}

/* HEADER */
header{
    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%);
    width:95%;
    padding:10px 30px;
    border-radius:15px;
    z-index:1000;

    background:linear-gradient(
        80deg,
        #000000 -10%,
        #000000 10%,
        #C00000 70%,
        #d60202 99%
    );

    backdrop-filter:blur(10px);
}

/* NAVEGACIÓN */
nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* LOGO */
.logo-area{
    display:flex;
    align-items:center;
    gap:20px;
}

.logo-area img{
    height:85px;
    width:auto;
    object-fit:contain;
    display:block;
}

.logo-area a{
    color:#d9d9d9;
    text-decoration:none;
    font-size:15px;
    transition:.3s;
}

.logo-area a:hover{
    color:#ffffff;
}

/* MENÚ */

.nav-links{
    list-style:none;
    display:flex;
    align-items:center;
    gap:25px;
}

.nav-links li{
    list-style:none;
}

.nav-links a{
    color:#fff;
    text-decoration:none;
    font-size:20px;
    font-weight:bold;
    transition:.3s;
}

.nav-links a:hover{
    color:#bbb5b5;
}

.nav-links a.active{
    color:#bbb5b5;
}

/* BOTÓN CARRITO */
.nav-links button{

    background:#ff0000;
    border:none;
    padding:10px 22px;
    border-radius:10px;
    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s;
}

.nav-links button:hover{

    background:#d60000;

}

.nav-links button a{

    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;

}
.hero {
  padding: clamp(45px, 7vw, 70px) 20px 38px;
  text-align: center;
  margin-top: 90px;
}

.hero h1 {
  font-family: 'Lora', serif;
  font-size: clamp(31px, 4vw, 42px);
  margin-bottom: 12px;
}

.hero h1 span {
  color: var(--rojo);
}

.hero p {
  max-width: 760px;
  margin: auto;
  color: #666;
  font-size: 14px;
  line-height: 1.75;
}
:root {
  --rojo: #c00000;
  --negro: #0a0a0a;
  --gris: #666;
  --borde: #e7e7e7;
  --fondo: #f5f5f5;
  --blanco: #fff;
}

/* ============================================================
   5. CUADRÍCULA DEL CATÁLOGO
   Por defecto muestra 4 productos por fila.
   ============================================================ */
.productos {
  width: min(92%, 1450px);
  margin: auto;
  padding-bottom: 80px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* ============================================================
   6. TARJETA INDIVIDUAL DE PRODUCTO
   ============================================================ */
.card {
  background: #fff;
  border: 1px solid var(--borde);
  border-radius: 17px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  min-width: 0;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
  border-color: #ddd;
}

/* Indicador de enfoque para navegación con teclado. */
.card:focus-visible {
  outline: 3px solid rgba(192, 0, 0, .25);
  outline-offset: 3px;
}

/* Etiqueta roja que aparece sobre la imagen. */
.etiqueta {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: var(--rojo);
  color: #fff;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

/* Área donde se coloca la fotografía del producto. */
.imagen-producto {
  aspect-ratio: 4 / 3;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  overflow: hidden;
}

.imagen-producto img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s;
}

.card:hover .imagen-producto img {
  transform: scale(1.04);
}

/* Parte inferior de la tarjeta: categoría, nombre, precio y botón. */
.contenido {
  padding: 21px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.categoria {
  color: var(--rojo);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.15px;
  margin-bottom: 6px;
}

.nombre {
  font-family: 'Lora', serif;
  font-size: 18px;
  line-height: 1.35;
  margin-bottom: 14px;
  color: #111;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 73px;
}

/* Lista corta que se ve directamente en cada tarjeta. */
.especificaciones {
  list-style: none;
  margin-bottom: 18px;
}

.especificaciones li {
  padding: 7px 0;
  border-bottom: 1px solid #eee;
  font-size: 12px;
  color: #555;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.especificaciones li:last-child {
  border-bottom: none;
}

.especificaciones i {
  color: var(--rojo);
  width: 22px;
}

.precio {
  margin-top: auto;
  margin-bottom: 14px;
  font-size: 25px;
  font-weight: 700;
  color: #111;
}

.precio small {
  font-size: 11px;
  font-weight: 500;
  color: #777;
}

/* Botón que abre Mercado Libre. */
.btn-carrito {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 14px;
  background: var(--rojo);
  color: #fff;
  text-decoration: none;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 600;
  transition: .25s;
}

.btn-carrito:hover {
  background: #000;
}

.ver-detalles {
  margin-top: 11px;
  text-align: center;
  font-size: 10px;
  color: #888;
}

.ver-detalles i {
  color: var(--rojo);
  margin-right: 4px;
}

/* ============================================================
   7. FONDO DE LA VENTANA MODAL
   El modal inicia oculto y aparece al agregar la clase .activo.
   ============================================================ */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10px, 2.4vw, 26px);
  visibility: hidden;
  opacity: 0;
  z-index: 9999;
  transition: opacity .2s ease, visibility .2s ease;
}

.modal.activo {
  visibility: visible;
  opacity: 1;
}

/* Caja blanca del modal: imagen a la izquierda e información a la derecha. */
.modal-contenido {
  width: min(1100px, 100%);
  height: min(88dvh, 820px);
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 42%) minmax(0, 58%);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .4);
  transform: translateY(18px) scale(.97);
  transition: transform .25s ease;
}

.modal.activo .modal-contenido {
  transform: none;
}

/* Botón circular X del modal. */
.cerrar-modal {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: #000;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .2);
  transition: .25s;
}

.cerrar-modal:hover {
  background: var(--rojo);
  transform: rotate(90deg);
}

/* Columna con la imagen grande del producto. */
.modal-imagen {
  background: #f8f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(28px, 4vw, 52px);
  min-width: 0;
}

.modal-imagen img {
  width: 100%;
  height: 100%;
  max-height: 560px;
  object-fit: contain;
}

/* Columna con texto, especificaciones y botón. */
.modal-info {
  padding: 46px 46px 40px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.modal-categoria {
  color: var(--rojo);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}

.modal-info h2 {
  font-family: 'Lora', serif;
  font-size: clamp(24px, 2.5vw, 31px);
  line-height: 1.25;
  padding-right: 42px;
  margin-bottom: 14px;
}

.modal-descripcion {
  font-size: 13px;
  line-height: 1.75;
  color: #666;
  margin-bottom: 24px;
}

.modal-info h3 {
  font-family: 'Lora', serif;
  font-size: 18px;
  margin-bottom: 12px;
}

/* Tabla visual de especificaciones. */
.tabla-especificaciones {
  border: 1px solid #ececec;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 24px;
}

.especificacion-fila {
  display: grid;
  grid-template-columns: minmax(130px, 42%) 1fr;
  gap: 14px;
  padding: 11px 13px;
  border-bottom: 1px solid #eee;
  font-size: 12px;
  background: #fff;
}

.especificacion-fila:nth-child(even) {
  background: #fafafa;
}

.especificacion-fila:last-child {
  border-bottom: none;
}

.especificacion-fila span:first-child {
  font-weight: 600;
  color: #333;
}

.especificacion-fila span:last-child {
  color: #666;
  text-align: right;
  overflow-wrap: anywhere;
}

.modal-precio {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #111;
}

.btn-modal-mercado {
  width: 100%;
  padding: 14px 18px;
  background: var(--rojo);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: .25s;
}

.btn-modal-mercado:hover {
  background: #000;
}

.mercado-nota {
  margin-top: 10px;
  text-align: center;
  font-size: 10px;
  color: #999;
}

/* ============================================================
   8. PIE DE PÁGINA
   ============================================================ */
footer {
  background: #000;
  color: #888;
  padding: 28px 20px;
  text-align: center;
  font-size: 12px;
}

footer strong {
  color: #fff;
}

footer span {
  color: var(--rojo);
}

/* ============================================================
   9. RESPONSIVE - PANTALLAS MEDIANAS
   Menos de 1150 px: 3 tarjetas por fila.
   ============================================================ */
@media (max-width: 1150px) {
  .productos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ============================================================
   10. RESPONSIVE - TABLETS
   Menos de 860 px: 2 tarjetas por fila y modal vertical.
   ============================================================ */
@media (max-width: 860px) {
  .productos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .modal {
    align-items: flex-end;
    padding: 10px;
  }

  .modal-contenido {
    height: min(94dvh, 900px);
    grid-template-columns: 1fr;
    grid-template-rows: minmax(190px, 34dvh) minmax(0, 1fr);
    border-radius: 18px;
  }

  .modal-imagen {
    padding: 28px;
  }

  .modal-imagen img {
    max-height: 30dvh;
  }

  .modal-info {
    padding: 28px 28px calc(28px + env(safe-area-inset-bottom));
  }

  .modal-info h2 {
    padding-right: 44px;
  }
}

/* ============================================================
   11. RESPONSIVE - CELULARES
   Menos de 560 px: una sola columna y modal a pantalla completa.
   ============================================================ */
@media (max-width: 560px) {
  .header {
    padding: 15px 5%;
  }

  .header-icon {
    width: 37px;
    height: 37px;
    font-size: 15px;
  }

  .hero {
    padding: 42px 18px 30px;
  }

  .hero p {
    font-size: 12px;
  }

  .productos {
    width: 94%;
    grid-template-columns: 1fr;
    gap: 17px;
  }

  /* En celular cada tarjeta usa imagen a la izquierda y datos a la derecha. */
  .card {
    display: grid;
    grid-template-columns: 38% 62%;
    min-height: 220px;
  }

  .etiqueta {
    top: 10px;
    left: 10px;
  }

  .imagen-producto {
    aspect-ratio: auto;
    height: 100%;
    min-height: 220px;
    padding: 15px;
  }

  .contenido {
    padding: 17px;
  }

  .nombre {
    font-size: 16px;
    min-height: auto;
    -webkit-line-clamp: 2;
    margin-bottom: 9px;
  }

  .especificaciones {
    margin-bottom: 10px;
  }

  .especificaciones li {
    font-size: 11px;
    padding: 5px 0;
  }

  /* Para ahorrar espacio se muestran solo las dos primeras especificaciones. */
  .especificaciones li:nth-child(n + 3) {
    display: none;
  }

  .precio {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .btn-carrito {
    padding: 10px 9px;
    font-size: 11px;
  }

  .ver-detalles {
    font-size: 9px;
  }

  /* El modal ocupa toda la pantalla en celular. */
  .modal {
    padding: 0;
    align-items: stretch;
  }

  .modal-contenido {
    height: 100dvh;
    max-height: none;
    border-radius: 0;
    grid-template-rows: 220px minmax(0, 1fr);
  }

  .cerrar-modal {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top));
    right: 12px;
    width: 39px;
    height: 39px;
  }

  .modal-imagen {
    padding: 20px 46px 14px;
  }

  .modal-imagen img {
    max-height: 190px;
  }

  .modal-info {
    padding: 22px 18px calc(24px + env(safe-area-inset-bottom));
  }

  .modal-info h2 {
    font-size: 21px;
    margin-bottom: 10px;
  }

  .modal-descripcion {
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 18px;
  }

  /* En celular las especificaciones se apilan verticalmente. */
  .especificacion-fila {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 10px 12px;
  }

  .especificacion-fila span:last-child {
    text-align: left;
  }

  .modal-precio {
    font-size: 26px;
  }

  /* Mantiene visible el botón mientras se recorre la ficha. */
  .btn-modal-mercado {
    position: sticky;
    bottom: 0;
    box-shadow: 0 -8px 20px rgba(255, 255, 255, .9);
  }
}

/* ============================================================
   12. RESPONSIVE - CELULARES MUY PEQUEÑOS
   Menos de 390 px: tarjeta completamente vertical.
   ============================================================ */
@media (max-width: 390px) {
  .card {
    grid-template-columns: 1fr;
  }

  .imagen-producto {
    height: 205px;
    min-height: 0;
  }

  .especificaciones li:nth-child(n + 3) {
    display: block;
  }

  .nombre {
    -webkit-line-clamp: 3;
  }

  .modal-contenido {
    grid-template-rows: 190px minmax(0, 1fr);
  }

  .modal-imagen img {
    max-height: 160px;
  }
}

/*====================================================
=                     FOOTER                         =
====================================================*/

footer{
    position:relative;
    top: 250px;
    background:linear-gradient(
        80deg,
        #000000 -10%,
        #000000 10%,
        #C00000 70%,
        #d60202 99%
    );
    color:#fff;
    padding:60px 5% 30px;
    font-family:'Lora', serif;
}

/* Contenido */

.footer-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}

/* Botón */

.btn-trabajo{
    position: absolute;
    align-items: center;
    width:220px;
    height:55px;
    border:none;
    border-radius:30px;
    background:#e40a0a;
    cursor:pointer;
    transition:.3s;
}

.btn-trabajo:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 25px rgba(0,0,0,.25);
}

.btn-trabajo a{
    display:block;
    width:100%;
    color:#ffffff;
    text-decoration:none;
    font-size:20px;
    font-family:'Lora', serif;
    font-weight:bold;
}

/* Información */

.footer-right{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.footer-right h2{
    font-size:17px;
    font-weight:normal;
    text-align:center;
}

.footer-right a{
    color:#ffffff;
    text-decoration:none;
    transition:.3s;
}

.footer-right a:hover{
    color:#ffd6d6;
}

.correo{

    margin-top:10px;

    font-size:17px;

}
.footer-right a {
  font-size: 17px;
}
/*==========================
        RESPONSIVE
===========================*/

@media(max-width:768px){

.footer-content{

    flex-direction:column;

    text-align:center;

}

.footer-left{

    width:100%;

}

.btn-trabajo{

    width:250px;
    align-items: center;

}

.footer-right{

    width:100%;

}

.footer-right h2{

    font-size:15px;

}

.correo{

    font-size:15px;

}

}

/*====================================================
=          MENÚ FLOTANTE REDES SOCIALES              =
====================================================*/

.social-menu{
    position:fixed;
    top:30%;
    left:5%;
    transform:translate(-50%,-50%);
    z-index:1000;
    cursor:grab;
    user-select:none;
}

.social-menu:active{
    cursor:grabbing;
}

/*==========================
      BOTÓN PRINCIPAL
===========================*/

.main-btn{
    width:65px;
    height:65px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.9);
    color:#ff0000;
    font-size:28px;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
    transition:.3s;
}

.main-btn:hover{

    transform:scale(1.08);

}

.main-label{
    position:absolute;
    left:75px;
    top:50%;
    transform:translateY(-50%);
    padding:6px 12px;
    border-radius:6px;
    background:rgba(0,0,0,.85);
    color:#ffffff;
    font-size:13px;
    opacity:0;
    visibility:hidden;
    transition:.3s;
}

.main-btn:hover .main-label{

    opacity:1;
    visibility:visible;

}

/*==========================
      LISTA DE ICONOS
===========================*/

.social-items{
    position:absolute;
    top:50%;
    left:50%;
    width:280px;
    height:280px;
    transform:translate(-50%,-50%);
    list-style:none;
    opacity:0;
    visibility:hidden;
    transition:.4s;
}

.social-menu:hover .social-items{
    opacity:1;
    visibility:visible;
}

.social-item{
    position:fixed;
    width:55px;
    height:55px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(0);
    transition:.4s;
}

.social-menu:hover .social-item{

    transform:translate(var(--x),var(--y)) scale(1);

}

/* =================================
   POSICIONES SIMÉTRICAS ALREDEDOR
   DEL BOTÓN CENTRAL
================================= */

.social-item:nth-child(1) {
    --x: -25px;
    --y: -150px;
}

.social-item:nth-child(2) {
    --x: 100px;
    --y: -80px;
}

.social-item:nth-child(3) {
    --x: 100px;
    --y: 40px;
}

.social-item:nth-child(4) {
    --x: -25px;
    --y: 80px;
}

.social-item:nth-child(5) {
    --x: -129px;
    --y: 40px;
}

.social-item:nth-child(6) {
    --x: -139px;
    --y: -80px;
}

/*==========================
      BOTONES
===========================*/

.social-link{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-decoration:none;
    color:#db0c0c;
    font-size:22px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.15);
    transition:.3s;
}

.social-link:hover{

    transform:scale(1.15);

}

/*==========================
      COLORES
===========================*/

.facebook:hover{

    background: #000;

}

.whatsapp:hover{
    background-color: #000;
}

.instagram:hover{

    background: #000;

}

.blogger:hover{

    background:#000;

}

.email:hover{
    background: #000;
}

.linkedin:hover{

    background:#000;

}

/*==========================
      ETIQUETAS
===========================*/

.social-label{

    position:absolute;

    left:70px;
    top:50%;

    transform:translateY(-50%);

    background:rgba(0,0,0,.85);

    color:#fff;

    padding:6px 12px;

    border-radius:6px;

    font-size:13px;

    opacity:0;
    visibility:hidden;

    transition:.3s;

}

.social-item:hover .social-label{

    opacity:1;
    visibility:visible;

}

/*==========================
      RESPONSIVE
===========================*/

@media(max-width:768px){

.main-btn{

    width:55px;
    height:55px;

    font-size:24px;

}

.social-item{

    width:48px;
    height:48px;

}

.social-link{

    font-size:20px;

}

.social-label{

    display:none;

}

}

/*====================================================
=              RESPONSIVE GENERAL                    =
====================================================*/

/* ---------- TABLETS ---------- */

@media (max-width:1024px){

header{

    width:96%;
    padding:12px 20px;

}

.logo-area img{

    height:70px;

}

.nav-links{

    gap:18px;

}

.nav-links a{

    font-size:18px;

}

.footer-content{

    flex-direction:column;

}

}


/* ---------- CELULARES ---------- */

@media (max-width:768px){

header{

    top:10px;

    width:95%;

    padding:10px;

}

nav{

    flex-direction:column;

    gap:10px;

}

.logo-area{

    flex-direction:column;

    gap:8px;

}

.logo-area img{

    height:55px;

}

.logo-area a{

    font-size:13px;

}

.nav-links{

    width:100%;

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

}

.nav-links a{

    font-size:15px;

}

.nav-links button{

    position:static;

    margin-top:8px;

}

/* Carrusel */

.carrusel,
.carrusel-imagen{

    height:100vh;

}

.texto-fijo{

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:20px;

}

.texto-fijo h1{

    position:static;

    font-size:2.3rem;

    margin-bottom:20px;

}

.texto-fijo p{

    position:static;

    margin:0;

    font-size:1rem;

    text-align:center;

}

/* Tarjetas */

.card-inicio{

    padding:20px;

}

.estadisticas{

    grid-template-columns:1fr;

}

.item{

    justify-content:center;

}

/* Barras */

.barra_nosotros h1,
.barra_socios h1,
.barra_certificaciones h1{

    font-size:30px;

}

/* Logos */

.logo-item{

    width:120px;

}

.logo-item img{

    max-height:45px;

}

/* Footer */

.footer-right h2{

    font-size:15px;

}

.btn-trabajo{
    position: relative;
    width:220px;
    align-items: center;

}

/* Redes */

.social-menu{

    left:15px;

    top:75%;

    transform:none;

}

}


/* ---------- CELULARES PEQUEÑOS ---------- */

@media (max-width:480px){

header{

    border-radius:10px;

}

.logo-area img{

    height:45px;

}

.nav-links{

    gap:8px;

}

.nav-links a{

    font-size:13px;

}

.texto-fijo h1{

    font-size:1.9rem;

}

.texto-fijo p{

    font-size:.9rem;

}

.contador,
.contador2,
.contador3{

    font-size:2.4rem;

}

.logo-item{

    width:95px;

}

.logo-item img{

    max-height:38px;

}

.footer{

    padding:40px 20px;

}

.footer-right h2{
    align-items: center;
    font-size:13px;

}

.correo{
    font-size:13px;
}

}
/* --- IMAGEN FLOTANTE CIRCULAR --- */
        .floating-circle {
            position: fixed;
            top: 85%;
            right: 4%;
            width: clamp(60px, 9vw, 80px);
            height: clamp(60px, 9vw, 80px);
            border-radius: 50%;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
            cursor: move;
            z-index: 1000;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .floating-circle:hover {
            transform: scale(1.15);
            box-shadow: 0 6px 25px rgba(0, 0, 0, 0.45);
        }

        .floating-circle img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        .floating-circle a {
            display: block;
            width: 100%;
            height: 100%;
            pointer-events: auto;
        }

        /* --- TEXTO EMERGENTE INICIAL --- */
        .tooltip-initial {
            position: fixed;
            background: rgba(0, 0, 0, 0.8);
            color: white;
            padding: clamp(8px, 2vw, 12px) clamp(12px, 3vw, 18px);
            border-radius: 8px;
            font-size: clamp(0.9rem, 2vw, 1.1rem);
            z-index: 1002;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.5s ease, visibility 0.5s ease;
            /* Posición relativa al icono */
            right: calc(clamp(40px, 8vw, 70px) + clamp(15px, 3vw, 25px));
            top: 85%;
            white-space: nowrap; /* Evitar salto de línea */
        }

        /* Flecha del tooltip */
        .tooltip-initial::after {
            content: "";
            position: absolute;
            top: 50%;
            right: -10px;
            transform: translateY(-50%);
            border-width: 10px 0 10px 10px;
            border-style: solid;
            border-color: transparent transparent transparent rgba(0, 0, 0, 0.8);
        }

        /* Botón de cerrar */
        .tooltip-close {
            background: transparent;
            border: none;
            color: #ccc;
            font-size: 1.2rem;
            cursor: pointer;
            margin-left: 8px;
            transition: color 0.2s ease;
        }

        .tooltip-close:hover {
            color: white;
        }

        /* --- AJUSTES EN MÓVILES --- */
        @media (max-width: 480px) {
            .floating-circle {
                top: auto;
                bottom: 30px;
                right: 20px;
            }

            .tooltip-initial {
                top: auto;
                bottom: 30px;
                right: calc(clamp(40px, 8vw, 70px) + clamp(15px, 3vw, 25px));
            }

            .tooltip-initial::after {
                right: -10px;
                top: 50%;
            }
        }