*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#101010;color:#fff}.top{height:74px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;position:sticky;top:0;z-index:20;background:#111;border-bottom:1px solid #333}.brand img{height:52px;width:auto}.top nav{display:flex;gap:22px}.top a{color:#fff;text-decoration:none}.hero{min-height:68vh;display:grid;align-items:end;padding:8% 7%;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.3)),url('burger-bg.jpg') center/cover}.hero h1{font-size:clamp(42px,7vw,86px);max-width:850px;margin:8px 0}.eyebrow{font-weight:800;letter-spacing:2px}.btn{display:inline-block;border:0;border-radius:12px;padding:13px 20px;background:#f28c00;color:#111;font-weight:900;text-decoration:none;cursor:pointer}.section{padding:55px 6%;max-width:1300px;margin:auto}.section-title{margin-bottom:30px}.category{font-size:28px;margin-top:45px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{background:#1b1b1b;border:1px solid #303030;border-radius:18px;overflow:hidden}.product-image{height:190px;background:#252525;display:grid;place-items:center;font-size:65px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;display:block}.product-body{padding:18px}.product-body h4{font-size:22px;margin:0 0 7px}.product-body p{color:#bbb;min-height:45px}.product-body strong{font-size:21px;display:inline-block;margin:12px 20px 0 0}.feature{margin:40px 6%;padding:60px 7%;border-radius:24px;background:#202020}.bottom-nav{display:none}.form{max-width:700px;margin:40px auto;padding:28px;background:#191919;border-radius:18px}.form label{display:block;margin:15px 0 7px;font-weight:700}.form input,.form select,.form textarea{width:100%;padding:13px;border-radius:10px;border:1px solid #444;background:#101010;color:#fff}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cart-item{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #333}.qty button{width:34px;height:34px}.danger{background:#a83232!important;color:#fff!important}@media(max-width:700px){.top{height:64px}.top nav{display:none}.hero{min-height:65vh;padding:25px}.section{padding:35px 18px}.row{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:65px;background:#111;border-top:1px solid #333;z-index:50;justify-content:space-around}.bottom-nav a{color:#fff;text-decoration:none;text-align:center;padding:8px;font-size:20px}.bottom-nav small{display:block;font-size:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-image{height:145px}.product-body{padding:12px}.product-body h4{font-size:17px}.product-body strong{font-size:17px;margin-right:5px}.btn{padding:10px 13px}.hero h1{font-size:45px}}@media(min-width:701px) and (max-width:1050px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-image{height:175px}}@media(max-width:380px){.product-grid{gap:10px}.product-image{height:125px}.product-body{padding:10px}.product-body h4{font-size:15px}.product-body p{font-size:13px;min-height:38px}.product-body strong{font-size:15px}.btn{padding:9px 10px;font-size:13px}}

/* =========================================================
   CORRECCIÓN CARTA - Lo de Iván Food Burger
   Las imágenes se mantienen proporcionadas y las tarjetas
   conservan el número de columnas según el dispositivo.
   ========================================================= */

#carta .product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
}

#carta .product-card {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
}

#carta .product-image {
    width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #252525 !important;
}

#carta .product-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

@media (min-width: 701px) and (max-width: 1050px) {
    #carta .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    #carta .product-image {
        height: 175px !important;
        min-height: 175px !important;
        max-height: 175px !important;
    }
}

@media (max-width: 700px) {
    #carta .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    #carta .product-image {
        height: 145px !important;
        min-height: 145px !important;
        max-height: 145px !important;
    }

    #carta .product-body {
        padding: 12px !important;
    }
}

@media (max-width: 380px) {
    #carta .product-grid {
        gap: 10px !important;
    }

    #carta .product-image {
        height: 125px !important;
        min-height: 125px !important;
        max-height: 125px !important;
    }
}

/* =========================================================
   MENÚ PRO FIJO ABAJO - PC Y MÓVIL
   ========================================================= */
.top nav{
  display:none !important;
}

.bottom-nav{
  display:flex !important;
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:72px !important;
  z-index:10000 !important;
  background:#111 !important;
  border-top:1px solid #333 !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:0 !important;
  padding:0 8px !important;
  box-sizing:border-box !important;
}

.bottom-nav a{
  flex:1 1 0 !important;
  max-width:180px !important;
  color:#fff !important;
  text-decoration:none !important;
  text-align:center !important;
  padding:8px 8px 7px !important;
  font-size:23px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
}

.bottom-nav small{
  display:block !important;
  font-size:12px !important;
  line-height:1.1 !important;
}

body{
  padding-bottom:72px !important;
}

@media(max-width:700px){
  .bottom-nav{
    height:68px !important;
    padding:0 4px !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
  }

  .bottom-nav a{
    max-width:none !important;
    font-size:22px !important;
    padding:6px 3px !important;
  }

  .bottom-nav small{
    font-size:10px !important;
  }

  body{
    padding-bottom:68px !important;
  }
}


/* Formulario del botón Añadir: mantiene el diseño y permite funcionar incluso sin JavaScript. */
.add-to-cart-form{display:inline-block;margin:0;padding:0;border:0;background:transparent}
.add-to-cart-form .btn{margin-top:0}

/* =========================================================
   EFECTO DEL CARRITO REAL DEL MENÚ INFERIOR
   No crea ningún carrito lateral.
   ========================================================= */

.bottom-nav a.cart-bounce{
  animation:cartBounce .65s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 0 10px rgba(242,140,0,.75));
}

@keyframes cartBounce{
  0%{transform:scale(1)}
  25%{transform:scale(1.22)}
  45%{transform:scale(.92)}
  65%{transform:scale(1.10)}
  100%{transform:scale(1)}
}

.product-fly-clone{
  position:fixed!important;
  z-index:999999!important;
  margin:0!important;
  pointer-events:none!important;
  object-fit:contain!important;
  border-radius:12px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 18px rgba(242,140,0,.3)!important;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s ease!important;
  will-change:transform,opacity;
}

.add-cart-flash{
  position:fixed;
  z-index:99999;
  width:9px;
  height:9px;
  border-radius:50%;
  pointer-events:none;
  background:#f28c00;
  box-shadow:0 0 8px #f28c00,0 0 20px rgba(242,140,0,.75);
  animation:addCartFlash .55s ease-out forwards;
}

@keyframes addCartFlash{
  0%{transform:scale(.5);opacity:1}
  100%{transform:scale(3.2);opacity:0}
}

/* Oculta cualquier resto del antiguo carrito lateral */
#floatingCartButton,
.floating-cart,
.floating-cart-button{
  display:none!important;
}


/* =========================================================
   CONTADOR DEL CARRITO - CÍRCULO NARANJA
   ========================================================= */

.bottom-nav a[href="carrito.php"]{
  position:relative !important;
}

.bottom-nav a[href="carrito.php"] #bottomCartCount{
  position:absolute !important;
  top:3px !important;
  left:50% !important;
  margin-left:10px !important;

  min-width:22px !important;
  height:22px !important;
  padding:0 5px !important;

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

  background:#f28c00 !important;
  color:#111 !important;

  border:2px solid #111 !important;
  border-radius:50% !important;

  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;

  box-shadow:0 2px 6px rgba(0,0,0,.45) !important;
  z-index:20 !important;
}
/* ===== ARREGLO DEFINITIVO CARRITO MÓVIL ===== */

@media screen and (max-width: 700px){

    .cart-item{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        align-items:stretch !important;
    }

    .cart-item-info{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        width:100% !important;
        min-width:0 !important;
        gap:10px !important;
    }

    .cart-item-thumb{
        width:70px !important;
        height:70px !important;
        min-width:70px !important;
        max-width:70px !important;
        flex:0 0 70px !important;
        object-fit:cover !important;
    }

    .cart-item-info > div{
        min-width:0 !important;
        flex:1 1 auto !important;
    }

    .cart-item-info b{
        font-size:16px !important;
        line-height:1.2 !important;
    }

    .cart-item .qty{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:flex-end !important;
        width:100% !important;
        min-width:0 !important;
        gap:5px !important;
    }

    .cart-item .qty button{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex:0 0 40px !important;
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        height:40px !important;
        padding:0 !important;
        margin:0 !important;
    }

    .cart-item .qty{
        font-size:18px !important;
        white-space:nowrap !important;
    }
}