/* ===== Reset / base ===== */
*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}
:root{
  --violeta:#642391;
  --violeta-2:#6e2f8d;
  --blanco:#fff;
  --negro:#111;
  --sombra:0 0 15px rgba(0,0,0,.4);
}
body{
  font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  color:#fff;
  background:url("../../img/fondotextura.png") no-repeat center center fixed;
  background-size:cover;
}

/* ===== Menú superior ===== */
.menu-superior{
  position:fixed;top:0;left:0;width:100%;
  background:var(--violeta);
  color:#fff; padding:10px 30px;
  display:flex;justify-content:space-between;align-items:center;
  z-index:999;
}
.menu-izquierda{display:flex;align-items:center;gap:25px}
.logo-menu{height:40px}
.menu-superior a{color:#fff;text-decoration:none;font-weight:700}
.menu-superior a:hover{text-decoration:underline}
.buscador{padding:6px 12px;border-radius:6px;border:none;font-size:1rem;width:110px}
.menu-derecha{display:flex;align-items:center;gap:15px}
.btn-acceder{background:transparent;color:#fff;padding:8px 14px;border-radius:6px;font-weight:700}
.btn-acceder:hover{background:rgba(255,255,255,.12)}

/* ===== Secciones ===== */
section{background:rgba(255,255,255,.07);backdrop-filter:blur(3px);
  margin:40px auto;padding:40px 30px;border-radius:12px;max-width:1200px;box-shadow:var(--sombra)}
header{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 20px}

/* Intro */
.seccion-intro{margin:60px auto;max-width:1200px;padding:20px;color:#fff;text-align:center}
.bloques-intro{display:flex;justify-content:center;gap:40px;margin-bottom:40px;flex-wrap:wrap}
.bloque-intro{background:rgba(255,255,255,.1);backdrop-filter:blur(4px);padding:40px;width:260px;border-radius:12px;color:#fff;box-shadow:0 0 12px rgba(0,0,0,.3);transition:.3s}
.bloque-intro:hover{transform:scale(1.05);background:rgba(255,255,255,.2)}
.galeria-intro{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.galeria-intro img{width:220px;height:150px;object-fit:cover;border-radius:10px}

/* ===== Grid de productos ===== */
#productos,#mixes,#servicios,#pedidos,#contacto{background:transparent;margin:40px auto;padding:40px 20px}
.productos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}
.producto{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 8px rgba(0,0,0,.2);backdrop-filter:blur(2px);border-radius:10px;padding:12px;transition:.2s}
.producto:hover{transform:scale(1.03)}
.producto img{width:100%;height:150px;object-fit:cover;border-radius:8px}
.producto h3,.producto p{color:#fff}
.precio{font-weight:700;color:#4CAF50;margin:10px 0;font-size:1.2rem}

/* ===== Carrito (widget) ===== */
.carrito{position:fixed;bottom:20px;right:20px;background:#fff;color:#130a0a;padding:20px;border-radius:12px;box-shadow:0 0 12px rgba(0,0,0,.4);max-width:300px;z-index:999}
.carrito h3{margin:0 0 8px;font-size:1.2rem;color:var(--violeta-2)}
.carrito ul{list-style:none;padding:0;max-height:150px;overflow-y:auto;margin-bottom:10px}
.carrito button{width:100%;padding:8px;background:var(--violeta);color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer}
.carrito button:hover{filter:brightness(1.05)}

/* ===== Toast ===== */
.mensaje-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  background:var(--violeta);color:#fff;padding:12px 24px;border-radius:8px;font-size:1rem;z-index:9999;opacity:0;pointer-events:none;transition:.3s}
.mensaje-toast.mostrar{opacity:1}

/* ===== Menú lateral móvil ===== */
.hamburger{font-size:24px;background:none;border:none;color:#fff;cursor:pointer;display:block;position:absolute;top:15px;right:15px;z-index:1001}
.panel-menu{position:fixed;top:0;right:-100%;width:220px;height:100%;background:#7515b6;transition:right .3s ease;z-index:9999;padding:20px}
.panel-menu.open{right:0}
.menu-overlay{display:none}

/* ===== Modal de checkout ===== */
.modal-overlay{position:fixed;inset:0;display:none;justify-content:center;align-items:center;background:rgba(0,0,0,.7);backdrop-filter:blur(2px);z-index:10000}
.modal-content{position:relative;width:min(92vw,460px);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.35);padding:22px;color:#222}
.cerrar-modal{position:absolute;top:10px;right:12px;font-size:22px;line-height:1;cursor:pointer}
.form-finalizar{display:flex;flex-direction:column;gap:10px}
.form-finalizar .campo label{font-size:13px;font-weight:600;margin-bottom:4px;display:block;color:#333}
.form-finalizar input,.form-finalizar select{width:100%;height:40px;font-size:14px;padding:8px 10px;border-radius:8px;border:1px solid #aaa;box-sizing:border-box}
.botones-modal.compacto{display:flex;gap:8px;margin-top:8px}
.btn-primario,.btn-secundario{height:42px;font-size:15px;border-radius:10px;border:none}
.btn-primario{background:var(--violeta);color:#fff}.btn-primario:hover{filter:brightness(1.05)}
.btn-secundario{background:#9a9a9a;color:#fff}

/* ===== Footer ===== */
footer{background:#222;color:#ccc;text-align:center;padding:25px;font-size:.95rem}

/* ===== Responsive ===== */
@media (max-width:768px){
  body{background:url("../../img/fondotextura.png") no-repeat center center fixed;background-size:cover}
  .menu-superior{flex-direction:column;padding:10px}
  .menu-izquierda{flex-direction:column;gap:10px;align-items:center}
  .menu-derecha{flex-direction:column;align-items:center;margin-top:10px}
  .buscador{width:90%}
  .carrito{bottom:10px;right:10px;width:90%;max-width:none;font-size:.9rem}
  header{height:auto;padding-top:100px;padding-bottom:30px}
  .productos{grid-template-columns:1fr}
  .bloque-intro,.galeria-intro img{width:90%}
  .modal-content{width:95%;padding:20px}
  section{padding:20px 15px}
}
