/* Velvet · ventana de cada desayuno: todo lo que se puede pedir, por pasos, con el total. Primero móvil. */
.mcard--abre{cursor:pointer}
.mcard--abre:focus-visible{outline:2px solid #F1D46B; outline-offset:3px}
.mcard__abre{display:inline-flex; align-items:center; gap:.35rem; margin-top:.7rem; padding:.5rem .85rem; border-radius:999px;
  background:#F1D46B; color:#103029; font:600 .8rem/1 "Poppins",sans-serif; letter-spacing:.01em}
.mcard__abre::after{content:"›"; font-size:1.1rem; line-height:.6}

.dsy{position:fixed; inset:auto 0 0 0; margin:0; width:100%; max-width:none; max-height:94dvh; padding:0; border:0;
  border-radius:22px 22px 0 0; background:#0E2A24; color:#F6F0E4; overflow:hidden; box-shadow:0 -20px 60px -20px rgba(0,0,0,.7)}
.dsy[open]{display:flex}
.dsy::backdrop{background:rgba(4,16,13,.72); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px)}
.dsy__in{display:flex; flex-direction:column; width:100%; max-height:94dvh; overflow-y:auto; overscroll-behavior:contain; position:relative}
.dsy__foto{flex:none; height:min(42vh,320px); overflow:hidden; background:#36B6E6}
.dsy__foto img{width:100%; height:100%; object-fit:cover; display:block}
.dsy__x{position:absolute; top:.8rem; right:.8rem; z-index:3; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(16,48,41,.85); color:#fff; font-size:1.6rem; line-height:1; box-shadow:0 6px 16px -6px rgba(0,0,0,.6)}
.dsy__x:focus-visible{outline:2px solid #F1D46B; outline-offset:2px}

.dsy__cab{padding:1.1rem 1.15rem .4rem}
.dsy__hora{margin:0 0 .35rem; font:600 .68rem/1.2 "Poppins",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#F1D46B}
.dsy__titulo{display:flex; align-items:baseline; justify-content:space-between; gap:1rem}
.dsy__titulo h2{margin:0; font:700 1.9rem/1.05 "Playfair Display",serif; color:#FBF3E2}
.dsy__precio{font:700 1.5rem/1 "Playfair Display",serif; color:#F1D46B; white-space:nowrap}
.dsy__lema{margin:.5rem 0 0; font:300 .9rem/1.45 "Poppins",sans-serif; color:#CDB48C}

.dsy__paso{margin:.9rem 1.15rem 0; padding:1rem 0 .2rem; border:0; border-top:1px solid rgba(241,212,107,.16); min-width:0}
.dsy__paso legend{display:flex; align-items:center; gap:.6rem; padding:0; float:left; width:100%; margin-bottom:.55rem;
  font:600 1.05rem/1.2 "Poppins",sans-serif; color:#FBF3E2}
.dsy__paso legend + *{clear:both}
.dsy__n{display:inline-grid; place-items:center; flex:none; width:26px; height:26px; border-radius:50%; background:#F1D46B; color:#103029; font-size:.82rem; font-weight:700}
.dsy__nota{margin:0 0 .65rem; font:400 .84rem/1.45 "Poppins",sans-serif; color:#CDB48C}
.dsy__nota--peq{font-size:.76rem; margin-top:.5rem}
.dsy__sub{margin:.85rem 0 .45rem; font:600 .72rem/1.2 "Poppins",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#B99B70}

.dsy__ops{display:grid; gap:.45rem}
.dsy__op{position:relative; display:flex; align-items:center; gap:.75rem; min-height:50px; padding:.65rem .85rem; border-radius:14px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); cursor:pointer; transition:background .18s, border-color .18s}
.dsy__op input{position:absolute; opacity:0; pointer-events:none}
.dsy__op::before{content:""; flex:none; width:20px; height:20px; border-radius:50%; border:2px solid #8A7350; transition:all .18s}
.dsy__op:has(input[type=checkbox])::before{border-radius:6px}
.dsy__txt{flex:1; font:500 .92rem/1.3 "Poppins",sans-serif; color:#F6F0E4}
.dsy__mas{flex:none; font:600 .84rem/1 "Poppins",sans-serif; color:#F1D46B; white-space:nowrap}
.dsy__op:has(input:checked){background:rgba(241,212,107,.12); border-color:rgba(241,212,107,.65)}
.dsy__op:has(input:checked)::before{border-color:#F1D46B; background:#F1D46B; box-shadow:inset 0 0 0 3px #0E2A24}
.dsy__op:has(input[type=checkbox]:checked)::before{box-shadow:none;
  background:#F1D46B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%23103029' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.dsy__op:has(input:focus-visible), .dsy__chip:has(input:focus-visible){outline:2px solid #F1D46B; outline-offset:2px}

.dsy__chips{display:flex; flex-wrap:wrap; gap:.45rem}
.dsy__chip{position:relative; cursor:pointer}
.dsy__chip input{position:absolute; opacity:0; pointer-events:none}
.dsy__chip span{display:inline-flex; align-items:center; min-height:42px; padding:0 1rem; border-radius:999px; border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045); font:500 .88rem/1 "Poppins",sans-serif; color:#F6F0E4; transition:all .18s}
.dsy__chip input:checked + span{background:#F1D46B; border-color:#F1D46B; color:#103029; font-weight:600}
.dsy__con[hidden]{display:none}

.dsy__pie{position:sticky; bottom:0; z-index:2; margin-top:1.2rem; padding:.85rem 1.15rem calc(.9rem + env(safe-area-inset-bottom));
  background:linear-gradient(180deg, rgba(14,42,36,.92), #0B231E 30%); border-top:1px solid rgba(241,212,107,.25);
  display:grid; grid-template-columns:1fr auto; gap:.2rem 1rem; align-items:center}
.dsy__resumen{min-width:0}
.dsy__tutit{margin:0; font:600 .66rem/1.2 "Poppins",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#B99B70}
.dsy__lista{margin:.2rem 0 0; font:400 .8rem/1.35 "Poppins",sans-serif; color:#E8D6B4}
.dsy__total{text-align:right}
.dsy__totit{margin:0; font:600 .66rem/1.2 "Poppins",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#B99B70}
.dsy__totnum{margin:0; font:700 1.7rem/1.1 "Playfair Display",serif; color:#F1D46B; white-space:nowrap}
.dsy__mostrador{grid-column:1/-1; margin:.35rem 0 0; font:500 .76rem/1.3 "Poppins",sans-serif; color:#8FBFB0}

@media (prefers-reduced-motion:no-preference){
  .dsy[open]{animation:dsySube .38s cubic-bezier(.16,1,.3,1)}
  @keyframes dsySube{from{transform:translateY(40px); opacity:0}}
  .dsy__totnum.salta{animation:dsySalta .3s ease}
  @keyframes dsySalta{50%{transform:scale(1.08)}}
}

.dsy__incluye{margin:.6rem 1.15rem 0; padding:.2rem 1rem .9rem; border-radius:14px; background:rgba(241,212,107,.08); border:1px solid rgba(241,212,107,.22)}
.dsy__incluye ul{margin:0; padding:0; list-style:none; display:grid; gap:.4rem}
.dsy__incluye li{position:relative; padding-left:1.4rem; font:400 .9rem/1.4 "Poppins",sans-serif; color:#F6F0E4}
.dsy__incluye li::before{content:"✓"; position:absolute; left:0; top:0; color:#F1D46B; font-weight:700}

/* PC / tablet: ventana centrada */
@media (min-width:760px){
  .dsy{inset:0; margin:auto; width:min(640px,92vw); max-height:90vh; border-radius:22px; box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
  .dsy__in{max-height:90vh}
  .dsy__foto{height:340px}
  .dsy__cab, .dsy__pie{padding-left:1.6rem; padding-right:1.6rem}
  .dsy__paso, .dsy__incluye{margin-left:1.6rem; margin-right:1.6rem}
  .dsy__ops--2{grid-template-columns:1fr 1fr}
  @media (prefers-reduced-motion:no-preference){ .dsy[open]{animation-name:dsyAbre} @keyframes dsyAbre{from{transform:scale(.95); opacity:0}} }
}

/* ONA Fitness: aviso destacado arriba de la carta */
.ona-banda{position:relative; display:flex; align-items:center; gap:1rem; max-width:760px; margin:1.6rem auto 1.4rem; padding:1rem 1.2rem;
  border-radius:20px; background:linear-gradient(120deg,#163E35,#0F2C26 60%); border:1px solid rgba(241,212,107,.55);
  box-shadow:0 22px 50px -28px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.03); overflow:hidden; text-align:left}
.ona-banda::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 92% 50%, rgba(241,212,107,.18), transparent 45%); pointer-events:none}
.ona-banda__logo{flex:none; display:grid; place-items:center; width:104px; height:104px; border-radius:16px; background:#0A211C; border:1px solid rgba(231,213,136,.3)}
.ona-banda__logo img{display:block; width:82px; height:auto; margin:auto}
.ona-banda__txt{flex:1; min-width:0; position:relative; z-index:1}
.ona-banda__tit{margin:0; font:500 1.05rem/1.25 "Poppins",sans-serif; color:#FBF3E2}
.ona-banda__tit b{display:block; font:700 1.6rem/1.05 "Playfair Display",serif; color:#F1D46B}
.ona-banda__sub{margin:.35rem 0 0; font:400 .84rem/1.4 "Poppins",sans-serif; color:#CDB48C}
.ona-banda__pct{position:relative; z-index:1; flex:none; font:800 2.4rem/1 "Playfair Display",serif; color:#F1D46B; transform:rotate(-6deg)}
@media (max-width:560px){
  .ona-banda{margin:1.2rem 16px 1.1rem; gap:.8rem; padding:.85rem .9rem}
  .ona-banda__logo{width:78px; height:78px; border-radius:14px} .ona-banda__logo img{width:62px}
  .ona-banda__tit{font-size:.92rem} .ona-banda__tit b{font-size:1.3rem}
  .ona-banda__sub{font-size:.76rem}
  .ona-banda__pct{display:none}
}

/* tarjetas estrechas del móvil: si el nombre es largo, el precio baja a la línea de abajo en vez de salirse */
@media (max-width:560px){ .mcard__top{flex-wrap:wrap; row-gap:.15rem} .mcard__name{min-width:0} }

/* leyenda de alérgenos (numeración del local, 1-14) */
.alg{max-width:1100px; margin:2.6rem auto 1rem; padding:1.4rem 1.3rem 1.5rem; border-radius:20px; background:rgba(255,255,255,.035); border:1px solid rgba(241,212,107,.22); text-align:left}
.alg__tit{margin:0; font:700 1.5rem/1.15 "Playfair Display",serif; color:#FBF3E2}
.alg__txt{margin:.45rem 0 1.1rem; font:400 .88rem/1.45 "Poppins",sans-serif; color:#CDB48C}
.alg__lista{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7,1fr); gap:.7rem .6rem}
.alg__i{display:flex; align-items:center; gap:.55rem; min-width:0}
.alg__t{margin:0; font:500 .8rem/1.2 "Poppins",sans-serif; color:#F6F0E4}
.mcard__alg{cursor:help}
@media (max-width:1000px){ .alg__lista{grid-template-columns:repeat(4,1fr)} }
@media (max-width:560px){ .alg{margin:2rem 16px 1rem; padding:1.1rem 1rem 1.2rem} .alg__tit{font-size:1.25rem} .alg__lista{grid-template-columns:1fr 1fr; gap:.55rem .5rem} .alg__t{font-size:.78rem} }

/* número de alérgenos al lado de cada opción */
.dsy__alg{flex:none; font:500 .72rem/1 "Poppins",sans-serif; color:#B99B70; letter-spacing:.02em; margin-left:-.35rem}
small.dsy__alg{margin-left:.15rem; font-size:.7rem; color:inherit; opacity:.75}

/* iconos de alérgenos (leyenda de abajo y ventana) */
.alg__ic{position:relative; flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}
.alg__ic svg{width:30px; height:30px}
.alg__num{position:absolute; right:-5px; bottom:-4px; min-width:20px; height:20px; padding:0 4px; border-radius:10px; display:grid; place-items:center;
  background:#0B231E; color:#F1D46B; border:1.5px solid #F1D46B; font:700 .68rem/1 "Poppins",sans-serif}
.mcard__alg[data-abre]{cursor:pointer; text-decoration:underline dotted; text-underline-offset:3px}

/* botón «Alérgenos» de la barra */
.nav__alg{display:inline-flex; align-items:center; gap:.4em; height:40px; padding:0 .95em 0 .7em; margin-left:auto; margin-right:.6rem; border-radius:100px; cursor:pointer;
  border:1.5px solid #F1D46B; background:rgba(241,212,107,.12); color:#F1D46B; font:700 .84rem/1 "Poppins",sans-serif; letter-spacing:.02em;
  transition:background .2s, transform .35s cubic-bezier(.34,1.45,.64,1)}
.nav__alg:hover{background:rgba(241,212,107,.24); transform:translateY(-1px)}
.nav__alg:focus-visible{outline:2px solid #F1D46B; outline-offset:3px}
.nav__alg svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round}
.nav .nav__alg + .idiomas{margin-left:0}
@media (max-width:760px){ .nav__alg{height:36px; padding:0 .75em 0 .55em; font-size:.78rem; margin-right:.4rem} }
@media (max-width:370px){ .nav__alg span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)} .nav__alg{padding:0 .6em} }

/* ventana de alérgenos */
.algpop{position:fixed; inset:auto 0 0 0; margin:0; width:100%; max-width:none; max-height:90dvh; padding:0; border:0; border-radius:22px 22px 0 0;
  background:#0E2A24; color:#F6F0E4; box-shadow:0 -20px 60px -20px rgba(0,0,0,.7); overflow:hidden}
.algpop::backdrop{background:rgba(4,16,13,.72); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px)}
.algpop__in{max-height:90dvh; overflow-y:auto; overscroll-behavior:contain; padding:1.4rem 1.15rem calc(1.4rem + env(safe-area-inset-bottom)); position:relative}
.algpop__tit{margin:0 3rem .2rem 0; font:700 1.5rem/1.15 "Playfair Display",serif; color:#FBF3E2}
.algpop__x{position:absolute; top:.9rem; right:.9rem; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer; background:#F1D46B; color:#103029; font-size:1.5rem; line-height:1}
.algpop__x:focus-visible{outline:2px solid #fff; outline-offset:2px}
.alg__lista--pop{grid-template-columns:1fr 1fr; gap:.85rem .7rem}
@media (prefers-reduced-motion:no-preference){ .algpop[open]{animation:dsySube .38s cubic-bezier(.16,1,.3,1)} }
@media (min-width:760px){
  .algpop{inset:0; margin:auto; width:min(760px,92vw); max-height:88vh; border-radius:22px}
  .algpop__in{max-height:88vh; padding:1.8rem 1.8rem 2rem}
  .alg__lista--pop{grid-template-columns:repeat(3,1fr); gap:1rem .9rem}
  @media (prefers-reduced-motion:no-preference){ .algpop[open]{animation-name:dsyAbre} }
}

/* tarjeta ancha (sándwiches): ocupa toda la fila; en PC foto a la izquierda */
.mcard--ancho{grid-column:1 / -1}
.mcard--ancho .mcard__ph{aspect-ratio:3 / 2}
@media (min-width:760px){
  .mcard--ancho{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:stretch}
  .mcard--ancho .mcard__ph{aspect-ratio:auto; height:100%; min-height:300px}
  .mcard--ancho .mcard__body{justify-content:center; padding:1.6rem 1.8rem}
  .mcard--ancho .mcard__name{font-size:1.35rem}
  .mcard--ancho .mcard__desc{font-size:.98rem}
}

/* tartas enteras por encargo (Dulces) */
.tartas{margin:1.6rem 0 .4rem; padding:1.3rem 1.2rem 1.4rem; border-radius:20px; background:rgba(255,255,255,.04); border:1px solid rgba(241,212,107,.3)}
.tartas__tit{margin:0; font:700 1.35rem/1.15 "Playfair Display",serif; color:#FBF3E2}
.tartas__txt{margin:.4rem 0 1rem; font:400 .9rem/1.45 "Poppins",sans-serif; color:#CDB48C}
.tartas__fotos{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem}
.tartas__fotos li{margin:0}
.tartas__fotos img{display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; border-radius:14px}
.tartas__fotos span{display:block; margin-top:.45rem; font:600 .84rem/1.25 "Poppins",sans-serif; color:#F6F0E4; text-align:center}
.tartas__btn{display:inline-flex; align-items:center; gap:.4rem; margin-top:1.1rem; min-height:46px; padding:0 1.3rem; border-radius:999px; background:#25D366; color:#0B231E;
  font:700 .92rem/1 "Poppins",sans-serif; text-decoration:none}
.tartas__btn:hover{filter:brightness(1.06)}
.tartas__btn:focus-visible{outline:2px solid #F1D46B; outline-offset:3px}
@media (max-width:760px){ .tartas__fotos{grid-template-columns:1fr 1fr} }
