/* v16: alérgenos de la carta impresa (puntos de color) y portadas de sección. Encima de mobile-menu.css, sin tocarlo. */
.vc-alg{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.vc-alg li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 7px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);font:700 10px/1 VCMono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.vc-alg i{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1.5px rgba(255,255,255,.55)}
.vc-alg--leyenda{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 10px;margin:14px 0 16px}
.vc-alg--leyenda li{font-size:11px;padding:7px 12px 7px 8px}
.vc-alg--leyenda i{width:13px;height:13px}
.vc-alg--ficha{margin:14px 0 0}
.vc-alg--ficha li{background:rgba(58,36,79,.08);backdrop-filter:none;color:#3a244f}
.vc-alg--ficha i{box-shadow:0 0 0 1.5px rgba(58,36,79,.2)}
.vc-alg--ficha[hidden]{display:none}
/* Ficha: el logo de relleno lleva display:grid y la foto display:block, que ganan al atributo hidden: sin esto el logo tapaba la foto del plato. */
.vc-sheet-placeholder[hidden],.vc-sheet-media>img[hidden]{display:none}


/* Escritorio: cada sección es una franja-título a lo ancho entre las filas de platos */
@media (min-width:1024px){
  .vc-reel--intro:not(.vc-reel--seccion):not(.vc-reel--leyenda){aspect-ratio:auto;min-height:0;height:clamp(440px,36vw,640px)}
  .vc-reel--seccion{grid-column:1/-1;aspect-ratio:auto;min-height:0;height:150px;margin-top:22px;border-radius:24px}
  .vc-reel--seccion:hover{transform:none}
  .vc-reel--seccion .vc-reel-bg{object-position:50% 55%;filter:brightness(.55)}
  .vc-reel--seccion.is-placeholder{background:linear-gradient(120deg,#3a244f,#24132f)}
  .vc-reel--seccion .vc-placeholder{display:none}
  .vc-reel--seccion .vc-reel-shade{background:linear-gradient(90deg,rgba(18,11,24,.85),rgba(18,11,24,.15) 70%)}
  .vc-reel--seccion .vc-reel-copy--intro{top:50%;bottom:auto;transform:translateY(-50%);display:flex;align-items:baseline;gap:22px;max-width:none;padding:0 34px}
  .vc-reel--seccion .vc-reel-copy--intro>span{order:2;margin:0}

  .vc-reel--seccion .vc-reel-copy--intro p{display:none}
  .vc-reel--leyenda{aspect-ratio:auto;min-height:0}
  .vc-reel--leyenda .vc-placeholder{display:none}
  .vc-reel--leyenda{background:linear-gradient(120deg,#3a244f,#24132f)}
  .vc-reel--leyenda .vc-reel-copy--intro{position:relative;bottom:auto;padding:34px}
  .vc-alg--leyenda{grid-template-columns:repeat(7,max-content)}
}

/* ---- Carta en una página (v16) ---- */
.vc-reel-title-row .vc-plato-t,.vc-reel-copy--intro .vc-cat-t{margin:0;padding:.04em .02em .13em;font:400 clamp(40px,12vw,56px)/1 VCCaveat,cursive;text-wrap:balance;overflow:visible}
.vc-reel--seccion .vc-reel-copy--intro .vc-cat-t,.vc-reel--leyenda .vc-reel-copy--intro .vc-cat-t{font-size:clamp(46px,14vw,64px)}
@media(max-width:390px){.vc-reel-title-row .vc-plato-t,.vc-reel-copy--intro .vc-cat-t{font-size:40px}}

/* Bloque de inicio: logo + «Nuestra carta · 100 % vegana», como el selector original, sobre el vídeo */
.vc-reel--inicio{background:transparent;display:grid;place-items:center}
.vc-inicio{display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 22px;text-align:center;color:#fff}
.vc-inicio-copy>span{display:block;margin-bottom:6px;font:700 10px/1.35 VCMono,monospace;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.vc-inicio-copy h1{margin:0;padding:.05em .1em .16em;font:400 clamp(44px,13vw,60px)/1.04 VCCaveat,cursive;overflow:visible;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.vc-inicio-copy p{max-width:34ch;margin:8px auto 18px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.92)}
.vc-inicio .vc-swipe-hint{color:#fff}

@media (min-width:1024px){
  .vc-reel--inicio{grid-column:1/-1;aspect-ratio:auto;min-height:0;height:auto;padding:40px 34px 24px;box-shadow:none;place-items:center}
  .vc-reel--inicio:hover{transform:none;box-shadow:none}
  .vc-inicio{flex-direction:row;align-items:center;justify-content:center;gap:34px;padding:0;text-align:left;max-width:980px;margin:0 auto}
  .vc-inicio-sello{width:150px;height:150px;flex:0 0 150px}
  .vc-inicio-copy>span{font-size:11px}
  .vc-inicio-copy h1{font-size:clamp(56px,4.8vw,78px)}
  .vc-inicio-copy p{margin:6px 0 16px;max-width:60ch;font-size:16px}
  .vc-reel--cat{margin-top:34px}
  .vc-reel-title-row .vc-plato-t,.vc-reel-copy--intro .vc-cat-t{font-size:clamp(40px,3.3vw,58px)}
  .vc-reel--seccion .vc-reel-copy--intro .vc-cat-t{font-size:54px}
}
.vc-inicio{position:relative;z-index:3}
.vc-inicio-velo{background:linear-gradient(180deg,rgba(18,11,24,.55),rgba(18,11,24,.35) 40%,rgba(18,11,24,.8))}
@media (min-width:1024px){.vc-inicio-bg,.vc-inicio-velo{display:none}}
.vc-inicio-bg{object-fit:cover}

/* ---- Móvil igual que la web: lista con scroll normal, franjas de sección y tarjetas (no un plato por pantalla) ---- */
@media (max-width:1023px){
  .vc-reels-page{height:auto;overflow:visible}
  .vc-video-bg--reels{display:block;position:fixed;inset:0;z-index:0}
  .vcapp--reels{position:relative;z-index:1;height:auto;max-width:none;background:rgba(18,11,24,.45)}
  .vc-top,.vc-top--reels{position:sticky;left:auto;top:0;transform:none;width:100%;background:linear-gradient(180deg,rgba(10,6,13,.96),rgba(10,6,13,.84));backdrop-filter:blur(14px)}
  .vc-menu-view{height:auto;padding:6px 14px calc(var(--safe-bottom) + 96px)}
  .vc-reels{height:auto;overflow:visible;scroll-snap-type:none;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:560px;margin:0 auto}
  .vc-reel{height:auto;aspect-ratio:4/5;min-height:0;scroll-snap-align:none;scroll-snap-stop:normal;border-radius:26px;box-shadow:0 18px 44px rgba(0,0,0,.34)}
  .vc-reel-copy{bottom:18px;padding:0 18px 4px}
  .vc-reel--intro .vc-reel-copy{bottom:22px}
  .vc-reel-count{top:14px;right:14px}
  .vc-placeholder span{display:none}
  .vc-placeholder img{width:min(150px,40vw);transform:translateY(-22%)}
  /* inicio: logo + 100 % vegana, centrado, sobre el vídeo */
  .vc-reel--inicio{aspect-ratio:auto;height:auto;padding:30px 0 14px;background:transparent;box-shadow:none;overflow:visible}
  .vc-inicio-bg,.vc-inicio-velo{display:none}
  .vc-inicio-sello{width:120px;height:120px}
  /* portada de cada categoría */
  .vc-reel--cat{aspect-ratio:4/4.4;margin-top:18px}
  /* franjas de sección */
  .vc-reel--seccion{aspect-ratio:auto;height:auto;min-height:0;margin-top:14px;border-radius:22px}
  .vc-reel--seccion .vc-reel-bg{filter:brightness(.5)}
  .vc-reel--seccion.is-placeholder{background:linear-gradient(120deg,#3a244f,#24132f)}
  .vc-reel--seccion .vc-placeholder{display:none}
  .vc-reel--seccion .vc-reel-shade{background:linear-gradient(90deg,rgba(18,11,24,.8),rgba(18,11,24,.25))}
  .vc-reel--seccion .vc-reel-copy--intro,.vc-reel--leyenda .vc-reel-copy--intro{position:relative;bottom:auto;padding:22px 20px 20px}
  .vc-reel--seccion .vc-reel-copy--intro .vc-cat-t{font-size:44px}
  .vc-reel--seccion .vc-reel-copy--intro p{margin:4px 0 0}
  .vc-reel--leyenda{aspect-ratio:auto;height:auto;margin-top:14px;background:linear-gradient(120deg,#3a244f,#24132f)}
  .vc-reel--leyenda .vc-placeholder{display:none}
  /* barra de abajo: solo Inicio y Reservar */
  .vc-bottom{grid-template-columns:1fr 1fr}
  .vc-bottom [data-prev-reel],.vc-bottom [data-next-reel]{display:none}
}

/* Franjas de sección con su texto descriptivo (escritorio) */
@media (min-width:1024px){
  .vc-reel--seccion{height:auto;min-height:150px}
  .vc-reel--seccion .vc-reel-copy--intro{position:relative;top:auto;bottom:auto;transform:none;display:block;padding:26px 34px}
  .vc-reel--seccion .vc-reel-copy--intro>span{margin-bottom:6px}
  .vc-reel--seccion .vc-reel-copy--intro p{display:block;margin:4px 0 0;max-width:70ch;font-size:16px}
}
.vc-placeholder span{display:none}

/* ---- 16.2: platos en fila, sin foto (la foto sale al pulsar, en la ficha) para que la carta sea más corta ---- */
.vc-reel.vc-reel--fila{height:auto;min-height:0;aspect-ratio:auto;background:linear-gradient(120deg,rgba(43,26,54,.92),rgba(30,18,38,.92));border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 10px 26px rgba(0,0,0,.26);cursor:pointer}
.vc-reel--fila .vc-reel-copy{position:relative;left:auto;right:auto;bottom:auto;padding:16px 18px 16px}
.vc-reel--fila .vc-reel-copy>span{display:none}
.vc-reel--fila .vc-reel-title-row{align-items:baseline;margin-bottom:6px}
.vc-reel--fila .vc-reel-title-row .vc-plato-t{font-size:30px}
.vc-reel--fila .vc-reel-title-row strong{padding-bottom:0;font-size:15px}
.vc-reel--fila .vc-reel-copy p{max-width:none;margin:0 0 10px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.82)}
.vc-reel--fila .vc-alg{margin:0 0 10px}
.vc-reel--fila .vc-alg li{padding:4px 9px 4px 6px;font-size:9.5px;backdrop-filter:none}
.vc-reel--fila .vc-more{min-height:34px;padding:0 13px;backdrop-filter:none;font-size:9.5px}
.vc-reel--fila.con-foto .vc-more{background:var(--coral)}
.vc-reel--fila .vc-reel-copy>:last-child{margin-bottom:0}
@media (max-width:1023px){
  .vc-reels{gap:10px}
  .vc-reel--cat,.vc-reel--seccion,.vc-reel--leyenda{margin-top:16px}
}
@media (min-width:1024px){
  .vc-reel.vc-reel--fila{min-height:0;aspect-ratio:auto;border-radius:22px}
  .vc-reel--fila .vc-reel-copy{padding:20px 22px}
  .vc-reel--fila .vc-reel-title-row .vc-plato-t{font-size:36px}
  .vc-reel--fila .vc-reel-copy p{font-size:14px}
}

/* 16.2: portada de cada categoría más baja */
@media (min-width:1024px){
  .vc-reel.vc-reel--intro.vc-reel--cat:not(.vc-reel--seccion){height:clamp(260px,21vw,360px)}
  .vc-reel--cat .vc-reel-bg{object-position:50% 55%}
}
@media (max-width:1023px){
  .vc-reel.vc-reel--cat{aspect-ratio:16/11}
  .vc-reel--cat .vc-reel-copy--intro p{font-size:13px}
}

/* 16.2: cabeceras de sección en el verde de la marca (#19AB6E) en vez de berenjena */
.vc-reel.vc-reel--seccion.is-placeholder{background:linear-gradient(120deg,#19AB6E,#0f6b45)}
.vc-reel.vc-reel--seccion .vc-reel-shade{background:linear-gradient(90deg,rgba(12,92,58,.92),rgba(25,171,110,.55) 55%,rgba(25,171,110,.2))}
.vc-reel.vc-reel--seccion .vc-reel-bg{filter:brightness(.7) saturate(.85)}

/* ---- 16.3 · idiomas ES · EN · FR ---- */
.vc-lang{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.vc-lang a{display:inline-grid;place-items:center;min-width:40px;min-height:34px;padding:0 10px;border-radius:999px;color:rgba(255,255,255,.78);text-decoration:none;font:800 11px/1 VCMono,monospace;letter-spacing:.1em;transition:background-color .2s,color .2s}
.vc-lang a:hover{color:#fff;background:rgba(255,255,255,.12)}
.vc-lang a[aria-current]{background:#fff;color:#120b18}
.vc-lang a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vc-lang--inicio{margin:14px 0 4px}
.vc-lang--top{display:none}
@media (min-width:1024px){
  .vc-top,.vc-top--reels{grid-template-columns:auto minmax(0,1fr) auto auto}
  .vc-lang--top{display:inline-flex}
  .vc-lang--inicio{display:none}
}
