/* Secciones: información, barra inferior móvil y pie de página. */
.info { position: relative; overflow: hidden; display: grid; gap: var(--s8); margin-top: var(--s12); padding: var(--s8) var(--s6); border-radius: var(--r-xl); color: #fff; background: radial-gradient(circle at 92% 10%, rgba(255,255,255,.1) 0 14%, transparent 15%), radial-gradient(circle at 4% 100%, rgba(255,255,255,.08) 0 18%, transparent 19%), linear-gradient(135deg, var(--verde), var(--verde-osc)); box-shadow: var(--sombra-2); }
@media (min-width: 900px) { .info { grid-template-columns: 1.15fr 1fr .9fr; gap: var(--s10); padding: var(--s10) var(--s10); } }
.info-col { position: relative; display: grid; gap: var(--s3); align-content: start; min-width: 0; }
.info h2 { display: flex; align-items: center; gap: var(--s3); font-size: var(--t-xl); font-weight: 800; letter-spacing: -.03em; color: #fff; }
.info-ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); background: rgba(255,255,255,.16); } .info-ico .ico { width: 22px; height: 22px; }
.info p { color: rgba(255,255,255,.88); font-size: var(--t-sm); }
.zonas-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.zonas-lista li { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s3) var(--s4); border-radius: var(--r); background: rgba(255,255,255,.12); font-size: var(--t-sm); } .zonas-lista li > span:first-child { min-width: 0; } .zonas-lista b { color: #fff; } .zonas-lista small { color: rgba(255,255,255,.8); }
.zonas-lista li > span:last-child, .zonas-lista li > b { font-weight: 800; font-size: var(--t-base); font-variant-numeric: tabular-nums; white-space: nowrap; }
.btn-claro { background: #fff; color: var(--verde-osc); border-color: #fff; width: max-content; } .btn-claro:hover { background: var(--verde-suave); }
.info-estado { font-size: var(--t-base) !important; color: #fff !important; } .info-estado b { display: inline-block; padding: 2px var(--s3); border-radius: var(--r-pill); background: rgba(255,255,255,.18); }
.horarios { margin: 0; display: grid; gap: var(--s2); font-variant-numeric: tabular-nums; } .horarios > div { display: grid; gap: 2px; padding: var(--s3) var(--s4); border-radius: var(--r); background: rgba(255,255,255,.1); }
.horarios dt { font-weight: 700; } .horarios dd { margin: 0; color: rgba(255,255,255,.88); font-size: var(--t-sm); }
.horarios .hoy { background: #fff; } .horarios .hoy dt { color: var(--verde-osc); } .horarios .hoy dd { color: var(--tinta); font-weight: 600; }
.hoy-tag { display: inline-block; margin-left: var(--s1); padding: 2px var(--s2); border-radius: var(--r-pill); background: var(--verde); color: #fff; font-size: 11px; font-weight: 700; vertical-align: 1px; }
.contacto { display: grid !important; gap: var(--s2); font-size: var(--t-base) !important; line-height: 1.4 !important; } .contacto .ico { color: #fff; margin-right: var(--s2); } .contacto a { color: #fff; }
.contacto-acc { display: grid; gap: var(--s2); margin-top: var(--s3); } .contacto-acc .btn { width: 100%; } .contacto-acc .btn-primario { background: #fff; color: var(--verde-osc); } .contacto-acc .btn-primario:hover { background: var(--verde-suave); } .contacto-acc .btn-borde { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; } .contacto-acc .btn-borde:hover { background: rgba(255,255,255,.14); }
.aviso-demo { margin-top: var(--s4); background: var(--naranja-suave); border: 1px solid color-mix(in srgb, var(--naranja) 35%, #fff); color: var(--tinta); border-radius: var(--r); padding: var(--s3) var(--s4); font-size: var(--t-sm); }

.barra-carrito { position: fixed; left: var(--s3); right: var(--s3); bottom: calc(var(--s3) + env(safe-area-inset-bottom)); z-index: 40; max-width: 520px; margin-inline: auto; min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--s4); border: 0; border-radius: var(--r-lg); background: var(--verde); color: #fff; font-weight: 600; box-shadow: var(--sombra-3); transform: translateY(160%); transition: transform .28s var(--ease); }
.barra-carrito.on { transform: none; } .barra-carrito b { font-size: var(--t-xl); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
@media (min-width: 900px) { .barra-carrito { display: none; } }

/* Pie de página: claro, con marca, categorías como etiquetas y ayuda */
.pie { margin-top: var(--s12); background: var(--verde-suave); border-top: 1px solid var(--verde-medio); padding-bottom: 88px; color: var(--tinta); }
@media (min-width: 900px) { .pie { padding-bottom: 0; } }
.pie-cols { display: grid; gap: var(--s8); padding-block: var(--s10) var(--s8); }
@media (min-width: 900px) { .pie-cols { grid-template-columns: 1.3fr 1.2fr .8fr; gap: var(--s12); } }
.pie h2 { font-size: var(--t-base); font-weight: 800; letter-spacing: -.01em; margin-bottom: var(--s4); color: var(--tinta); }
.pie-logo { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); } .pie-logo img { width: 52px; height: 52px; border-radius: 50%; box-shadow: var(--sombra-1); } .pie-logo b { font-size: var(--t-xl); letter-spacing: -.03em; color: var(--verde); }
.pie-marca > p { color: var(--tinta-2); max-width: 36ch; margin-bottom: var(--s4); }
.pie-contacto { list-style: none; margin: 0 0 var(--s5); padding: 0; display: grid; gap: var(--s2); font-size: var(--t-sm); } .pie-contacto li { display: flex; align-items: flex-start; gap: var(--s3); } .pie-contacto .ico { color: var(--verde); margin-top: 2px; } .pie-contacto a { color: var(--tinta); }
.pie-chips { display: flex; flex-wrap: wrap; gap: var(--s2); }
.pie-chips button { min-height: 40px; padding: 0 var(--s4); border: 1.5px solid var(--verde-medio); border-radius: var(--r-pill); background: #fff; color: var(--tinta); font-weight: 600; font-size: var(--t-sm); transition: background-color .15s, border-color .15s, color .15s; }
.pie-chips button:hover { background: var(--verde); border-color: var(--verde); color: #fff; }
.pie-links { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s1); }
.pie-links a, .pie-links button { display: inline-flex; align-items: center; min-height: 40px; padding: 0; border: 0; background: none; color: var(--tinta); font-size: var(--t-sm); font-weight: 500; text-align: left; text-decoration: none; } .pie-links a:hover, .pie-links button:hover { color: var(--verde); text-decoration: underline; text-underline-offset: 4px; }
.pie-fin { background: #fff; border-top: 1px solid var(--verde-medio); font-size: var(--t-sm); color: var(--tinta-2); }
.pie-fin-fila { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s2) var(--s4); padding-block: var(--s3); }
.pie-fin button { display: inline-flex; align-items: center; gap: var(--s2); min-height: 40px; padding: 0 var(--s4); border: 1.5px solid var(--linea); border-radius: var(--r-pill); background: #fff; color: var(--verde); font-weight: 700; font-size: var(--t-sm); } .pie-fin button:hover { background: var(--verde-suave); }
