.comida-inicio{max-width:1100px;margin:28px auto;padding:0 18px}.comida-inicio[hidden]{display:none}.comida-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px}.comida-cabecera h2{font-size:26px;color:#214a3c}.comida-cabecera p,.comida-menu>p{color:#53625c;margin:8px 0 18px}.comida-carrusel{overflow-x:auto;overflow-y:hidden;padding:10px 0 20px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.comida-carrusel::-webkit-scrollbar{display:none}.comida-carrusel-track{display:flex;gap:18px;width:max-content}.comida-carrusel-track>a{flex:0 0 250px;text-decoration:none;color:inherit}.comida-carrusel-producto{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.comida-carrusel-producto:hover{transform:translateY(-3px);box-shadow:0 10px 26px #173f2920}.comida-producto{background:#fff;border:1px solid #dce6df;border-radius:18px;overflow:hidden;padding:12px;box-shadow:0 6px 20px #173f2910}.comida-producto img,.comida-sin-foto{width:100%;height:175px;object-fit:cover;border-radius:12px;background:#f4eee0}.comida-sin-foto{display:grid;place-items:center;font-size:48px}.comida-producto strong,.comida-producto span{display:block;margin-top:9px}.comida-producto h5{font-size:18px;margin:12px 0 8px}.comida-producto p{margin:8px 0}.comida-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.comida-menu{margin:24px 0}.comida-menu h4{font-size:22px;margin:14px 0}.comida-menu button,.comida-inicio button,.producto-editor button{min-height:44px;padding:10px 16px;border:1px solid #b7cec0;border-radius:12px;background:#205c46;color:white;font:inherit;cursor:pointer}.comida-menu button:focus-visible,.comida-inicio button:focus-visible,.comida-producto:focus-visible{outline:3px solid #e5a52b;outline-offset:3px}#comida-pedido{margin:22px 0;padding:18px;background:#f1f6f1;border-radius:16px}.comida-linea,.comida-acciones{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.comida-linea>span{flex:1;min-width:130px}.producto-editor{padding:16px;border:1px solid #d5dfd9;border-radius:12px;margin:12px 0}.producto-editor label{display:block;margin:10px 0}.producto-editor input:not([type=checkbox]){width:100%;padding:10px}.producto-editor input[type=checkbox]{width:auto}.comida-editor-nota{line-height:1.6;color:#526158}@media(max-width:480px){.comida-grid{grid-template-columns:1fr}.comida-cabecera h2{font-size:22px}.comida-carrusel-track>a{flex-basis:225px}}

/* Menú compacto: una sola tarjeta no debe expandirse a toda la fila. */
.perfil-oficial .comida-grid,.comida-menu .comida-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;align-items:stretch}
.comida-menu .comida-producto{min-width:0;padding:10px;display:flex;flex-direction:column}
.comida-menu .comida-producto img,.comida-menu .comida-sin-foto{height:145px;min-height:145px;object-fit:cover}
.comida-menu .comida-producto h5{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.comida-menu .comida-producto button{margin-top:auto;padding:9px 8px;font-size:14px;width:100%}
.comida-menu #comida-pedido{max-width:680px;padding:14px;font-size:14px}
.comida-menu #comida-pedido h4{font-size:19px;margin:4px 0 12px}
@media(max-width:520px){.perfil-oficial .comida-grid,.comida-menu .comida-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.comida-menu .comida-producto{padding:8px}.comida-menu .comida-producto img,.comida-menu .comida-sin-foto{height:115px;min-height:115px}.comida-menu .comida-producto h5{font-size:14px}.comida-menu .comida-producto button{font-size:13px}}
@media(max-width:340px){.perfil-oficial .comida-grid,.comida-menu .comida-grid{grid-template-columns:1fr}}

/* Fotografías completas; reglas limitadas a productos y su visor. */
.comida-menu .comida-producto img,.comida-carrusel .comida-producto img{object-fit:contain;background:#f7f5f0}
.comida-menu .comida-producto .comida-ampliar{padding:0;margin:0 0 4px;background:#f7f5f0;color:#254b3b;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;flex:none;min-height:0}
.comida-ampliar img{display:block}
.comida-menu .comida-ampliar span{display:block;margin:0;padding:7px 4px;font-size:12px;line-height:1.3}
.comida-visor{margin:auto;width:min(900px,94vw);max-height:92vh;max-height:92dvh;padding:20px;border:0;border-radius:18px;background:#fff;color:#21382e;overflow:auto;box-shadow:0 20px 80px #0006}
.comida-visor::backdrop{background:rgba(8,17,13,.82)}
.comida-visor h2{font-size:22px;margin:12px 0;overflow-wrap:anywhere}
.comida-visor-cerrar{display:block;margin-left:auto;min-height:44px;padding:10px 18px;border:1px solid #adc6b7;border-radius:10px;background:#205c46;color:#fff;font:inherit;cursor:pointer}
.comida-visor .comida-foto-grande{display:block;width:100%;height:auto;max-height:62vh;max-height:62dvh;object-fit:contain;background:#f7f5f0;border-radius:10px}
.comida-visor-precio{margin:12px 0;font-size:18px;font-weight:700}
.comida-ingredientes summary{min-height:44px;padding:12px;background:#eef5ed;border-radius:10px;cursor:pointer;font-weight:700}
.comida-ingredientes p{padding:12px 4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.comida-visor button:focus-visible,.comida-ingredientes summary:focus-visible{outline:3px solid #e4ac39;outline-offset:3px}
.producto-editor textarea{display:block;width:100%;padding:10px;font:inherit;resize:vertical}
@media(max-width:520px){.comida-visor{padding:14px}.comida-visor h2{font-size:19px}}

/* Preparaciones y pedido accesible desde cualquier sección. */
.pedido-barra{position:fixed;z-index:1000;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));min-height:54px;padding:14px 18px;border:2px solid #fff;border-radius:16px;background:#205c46;color:white;font:bold 16px Arial,sans-serif;box-shadow:0 5px 24px #0004;cursor:pointer}
.pedido-barra[hidden]{display:none}body.tiene-pedido{padding-bottom:90px}
.pedido-configurar{max-width:620px}.pedido-configurar .dialogo-contenido>img{width:100%;height:180px;object-fit:contain;background:#f7f5f0;border-radius:12px}.pedido-configurar h3{margin:14px 0 8px;font-size:21px}
.pedido-configurar form{display:block}.pedido-extras{padding:12px;margin:18px 0;border:1px solid #cbdcd0;border-radius:12px}.pedido-extras legend{font-weight:bold;padding:0 6px}.pedido-extras label{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 0;border-bottom:1px solid #e6ece6}.pedido-extras label:last-child{border:0}.pedido-extras input{width:20px;height:20px;flex-shrink:0;accent-color:#205c46}.pedido-extras span{flex:1;overflow-wrap:anywhere}.pedido-extras strong{font-size:14px}
.pedido-campo{display:block;margin:14px 0;font-weight:bold}.pedido-campo textarea,.pedido-campo input{display:block;width:100%;padding:12px;margin-top:6px;font:inherit;font-weight:normal;border:1px solid #a8bfae;border-radius:10px}.pedido-campo input{max-width:110px}.pedido-campo textarea{resize:vertical}
.pedido-confirmar,.pedido-dialogo button:not(.comida-visor-cerrar){min-height:44px;padding:10px 14px;border:1px solid #adc6b7;border-radius:10px;background:#205c46;color:#fff;font:inherit;cursor:pointer}.pedido-confirmar{width:100%;font-weight:bold}.pedido-config-total,.pedido-total{font-weight:bold;font-size:20px;margin:16px 0}.pedido-config-error{color:#a32424}.pedido-configurar button:focus-visible,.pedido-barra:focus-visible{outline:3px solid #e4ac39;outline-offset:3px}
.pedido-linea{border-bottom:1px solid #cbdcd0;padding:14px 0;overflow-wrap:anywhere}.pedido-linea p{margin:5px 0;line-height:1.4}.pedido-controles{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.pedido-controles button{min-width:44px}.pedido-controles button:disabled{opacity:.5;cursor:default}.pedido-nota{white-space:pre-wrap}.pedido-resumen-modal h4{font-size:19px}
.producto-extras{margin:18px 0;padding:12px;background:#f1f6f1;border:1px solid #ceded3;border-radius:12px}.producto-extras summary{cursor:pointer;font-weight:bold;padding:10px}.producto-extras>p{margin:12px 0;line-height:1.5}.producto-extra-editor{border:1px solid #cad9cf;border-radius:10px;padding:12px;margin:12px 0;background:white}.producto-extra-editor input[type=checkbox]{width:auto}
@media(max-width:520px){.pedido-barra{font-size:14px}.pedido-configurar .dialogo-contenido>img{height:130px}.pedido-extras label{font-size:14px}}

/* Producto abierto desde el carrusel de inicio. */
.comida-producto-destacado{animation:comidaDestacar 1.8s ease}
@keyframes comidaDestacar{0%,100%{box-shadow:0 6px 20px #173f2910}35%,65%{box-shadow:0 0 0 4px #e5a52b,0 10px 28px #173f2928;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.comida-producto-destacado{animation:none;outline:3px solid #e5a52b;outline-offset:3px}}

/* Grupos de variantes: reglas limitadas al editor y al pedido. */
.producto-grupo-editor{margin:12px 0;padding:12px;border:1px solid #cad9cf;border-radius:12px;background:#fff}
.producto-opcion-editor{padding:12px;margin:10px 0;border:1px solid #dce6df;border-radius:10px;background:#f7faf7}
.producto-editor select{display:block;width:100%;padding:10px;font:inherit;border:1px solid #a8bfae;border-radius:8px}
.producto-grupo-editor>button{margin:6px 8px 0 0}.pedido-grupo>p{font-size:14px;color:#526158}
.pedido-grupo input[type=radio]{width:20px;height:20px}.pedido-grupo strong{text-align:right}

.comida-seccion{margin:14px 0;border:1px solid #c9dfd7;border-radius:16px;background:#fff;overflow:hidden}
.comida-seccion>summary{padding:18px;font-size:19px;font-weight:750;color:#214b3d;background:#edf6f2;cursor:pointer}
.comida-seccion>summary small{font-size:13px;font-weight:400;margin-left:8px;color:#4c665d}
.comida-seccion>.comida-grid{padding:14px}
.comida-seccion>summary:focus-visible{outline:3px solid #28786a;outline-offset:-3px}

.digital-condiciones{font-size:.9rem;color:#294a67;line-height:1.6}.digital-pagos{background:#edf4ff;border:1px solid #cbdaf0;border-radius:18px;padding:20px;margin:24px 0}.digital-pagos ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.digital-pagos li{background:white;border-radius:10px;padding:10px 14px}.pedido-extras[hidden]{display:none}

.digital-seccion{margin:24px 0}.digital-seccion>h5{font-size:1.15rem;color:#294a67;margin:0 0 14px}

.digital-aviso{margin:16px 0;border:1px solid #b4ccec;border-radius:14px;background:#f1f6ff;overflow:hidden}.digital-aviso>summary{display:list-item;cursor:pointer;padding:13px 16px;background:#dfeaff;color:#1c4166;font-weight:700;line-height:1.5}.digital-aviso>summary:focus-visible{outline:3px solid #e7b531;outline-offset:-3px}.digital-aviso>div{padding:0 16px}.digital-aviso p{line-height:1.6}

.pedido-pago{margin:18px 0;padding:16px;border:1px solid #bbd9ce;border-radius:16px;background:linear-gradient(120deg,#f0faf5,#f0f6ff)}.pedido-pago label{display:block;font-weight:700}.pedido-pago select{box-sizing:border-box;display:block;width:100%;max-width:100%;margin-top:9px;padding:12px 40px 12px 12px;min-height:46px;border:1px solid #9abfaf;border-radius:10px;background-color:#fff;color:#183c32;font:inherit}.pedido-pago .pedido-pago-aviso{margin:12px 0 8px;padding:11px;border-radius:10px;background:#dff5e8;color:#1b593b;line-height:1.5;font-weight:600}.pedido-pago small{display:block;line-height:1.5;color:#405a52}.pedido-pago select:focus-visible{outline:3px solid #e8b338;outline-offset:2px}

.pedido-negocio-grupo{margin:16px 0;padding:14px;border:1px solid #c9ded6;border-radius:14px;background:#f8fcfa}.pedido-negocio-grupo h5{font-size:1.1rem;margin:0 0 10px;color:#205a48}.pedido-subtotal-negocio{font-weight:700;text-align:right}.pedido-entrega{display:block;font-weight:600}.pedido-entrega textarea{box-sizing:border-box;display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bdd4c9;border-radius:10px;font:inherit}

/* Entrega propia gratuita, independiente de mandaditos. */
.envio-gratis-dorado{display:inline-flex;align-items:center;position:relative;overflow:hidden;padding:7px 13px;margin:7px 0;border:1px solid #c5a34b;border-radius:999px;background:linear-gradient(115deg,#fff6d5,#efcf78,#fff8e4);color:#5a3b04;font-size:14px;font-weight:750;box-shadow:0 2px 7px #aa812522}.envio-gratis-dorado::after{content:'';position:absolute;inset:-30% auto -30% -65%;width:35%;background:linear-gradient(90deg,transparent,#ffffffb0,transparent);transform:skewX(-20deg);animation:brillo-envio 5s ease-in-out infinite;pointer-events:none}@keyframes brillo-envio{0%,65%{left:-65%}100%{left:140%}}@media(prefers-reduced-motion:reduce){.envio-gratis-dorado::after{animation:none}}.envio-gratis-aviso{padding:12px;background:#fff6d5;color:#5a3b04;border-radius:12px}

/* Secciones temáticas: decoración local sin fotografías adicionales. */
.comida-seccion{--seccion-a:#225b4e;--seccion-b:#173e38;border-color:#d8e2dd;border-radius:19px;box-shadow:0 5px 15px #163b2e08;margin:15px 0}
.comida-seccion[data-tema="mariscos"]{--seccion-a:#244b68;--seccion-b:#172e4b}
.comida-seccion[data-tema="bebidas"]{--seccion-a:#216d73;--seccion-b:#164d58}
.comida-seccion[data-tema="compartir"]{--seccion-a:#98613f;--seccion-b:#6d4330}
.comida-seccion[data-tema="exoticos"]{--seccion-a:#65506e;--seccion-b:#40364f}
.comida-seccion[data-tema="cafe"]{--seccion-a:#795e46;--seccion-b:#493c30}
.comida-seccion[data-tema="postres"]{--seccion-a:#8b4d67;--seccion-b:#60364d}
.comida-seccion[data-tema="pizzas"]{--seccion-a:#9b543d;--seccion-b:#713e32}
.comida-seccion>summary{position:relative;isolation:isolate;display:flex;align-items:center;gap:15px;min-height:94px;padding:18px 22px;list-style:none;overflow:hidden;color:#fff;background:linear-gradient(115deg,var(--seccion-a),var(--seccion-b));font-size:19px;line-height:1.25;transition:filter .15s ease}
.comida-seccion>summary::-webkit-details-marker{display:none}
.comida-seccion>summary::marker{content:''}
.comida-seccion>summary::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(ellipse at 75% 120%,transparent 0 22%,#ffffff15 22.5% 23%,transparent 23.5% 35%,#ffffff10 35.5% 36%,transparent 36.5%),repeating-linear-gradient(130deg,transparent 0 32px,#ffffff05 33px 34px,transparent 35px 65px)}
.comida-seccion>summary:hover{filter:brightness(1.08)}
.comida-seccion>summary:focus-visible{outline:3px solid #f0ca7d;outline-offset:-5px}
.seccion-icono{display:flex;align-items:center;justify-content:center;width:47px;height:47px;flex:0 0 47px;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff0f;color:#fff}
.seccion-icono svg{width:29px;height:29px}
.seccion-textos{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;flex:1}
.seccion-nombre{font-weight:750;overflow-wrap:anywhere;color:#fff}
.comida-seccion>summary small{margin:0;color:#eef5f4;font-size:12px;font-weight:500;letter-spacing:.1px}
.seccion-flecha{display:flex;align-items:center;justify-content:center;flex:0 0 33px;height:33px;border-radius:50%;background:#ffffff13;border:1px solid #ffffff24;transition:transform .2s ease}
.seccion-flecha svg{width:21px;height:21px}
.comida-seccion[open]>summary .seccion-flecha{transform:rotate(180deg)}
@media(max-width:600px){.comida-seccion>summary{padding:17px 15px;gap:12px;min-height:91px;font-size:18px}.seccion-icono{width:42px;height:42px;flex-basis:42px;border-radius:12px}.seccion-icono svg{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.comida-seccion>summary,.seccion-flecha{transition:none}}
