
.ecr-menu-wrapper{
  --ecr-text:#2e2a28;
  --ecr-muted:#827d78;
  --ecr-line:#cec8c2;
  --ecr-accent:#231f1c;
  --ecr-bg:#f7f4f1;
  color:var(--ecr-text);
  font-size:0.94em;
}
.ecr-menu-title{
  margin:0 0 28px;
  text-align:center;
  font-weight:500;
  font-size:clamp(26px,3.4vw,38px);
}
.ecr-category-block{margin:0 0 40px;}
.ecr-category-title{
  margin:0 0 26px;
  text-align:center;
  font-size:clamp(22px,2vw,32px);
  font-weight:500;
  letter-spacing:.03em;
  color:var(--ecr-accent);
  position:relative;
  padding-bottom:10px;
}
.ecr-category-title::after{
  content:"";
  display:block;
  width:64px;
  height:1px;
  background:var(--ecr-line);
  margin:12px auto 0;
}
.ecr-menu-list{
  display:flex;
  flex-direction:column;
  gap:26px;
}
.ecr-item{position:relative;}
.ecr-line-head{
  display:flex;
  align-items:baseline;
  gap:12px;
}
.ecr-name-wrap{
  flex:0 1 auto;
  min-width:0;
}
.ecr-item-name{
  margin:0;
  font-size:22px;
  font-weight:400;
  line-height:1.16;
}
.ecr-dots{
  flex:1 1 auto;
  min-width:28px;
  align-self:auto;
  margin-bottom:0;
  position:relative;
  top:-0.08em;
  height:1px;
  background-image:repeating-linear-gradient(to right,var(--ecr-line) 0 8px,transparent 8px 15px);
  opacity:.78;
}
.ecr-price-wrap{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto;
  grid-template-rows:auto auto;
  justify-items:end;
  align-items:end;
  white-space:nowrap;
  line-height:1;
}
.ecr-price{
  display:block;
  grid-row:1;
  font-size:25px;
  font-weight:500;
  letter-spacing:.01em;
  color:#545454;
  line-height:1;
}
.ecr-secondary-price{
  display:block;
  grid-row:2;
  margin-top:4px;
  font-size:17px;
  color:#545454;
  text-align:right;
  line-height:1;
}
.ecr-secondary-price .ecr-secondary-label{
  font-size:.8em;
}
.ecr-subtitle,
.ecr-description{
  font-size:clamp(14px,1vw,16px);
  line-height:1.4;
}
.ecr-subtitle{
  margin-top:2px;
  color:var(--ecr-muted);
  font-style:italic;
}
.ecr-description{
  margin-top:6px;
  color:#5d5752;
}
.ecr-type-vino .ecr-item-name,
.ecr-type-bebida .ecr-item-name{
  font-size:clamp(16px,1.45vw,24px);
  font-weight:400;
  letter-spacing:.01em;
}
.ecr-type-vino .ecr-subtitle,
.ecr-type-bebida .ecr-subtitle{
  margin-top:2px;
  font-size:clamp(14px,0.96vw,16px);
  color:#9a938d;
}
.ecr-allergens{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  position:relative;
}
.ecr-allergen-icons{display:flex;gap:8px;flex-wrap:wrap;}
.ecr-allergen-icon{
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  color:#6a5e53;
  line-height:0;
}
.ecr-allergen-icon svg{width:16px !important;height:16px !important;max-width:16px;max-height:16px;display:block;flex:0 0 16px;}
.ecr-allergen-trigger{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:var(--ecr-accent);
  border-radius:999px;
  padding:7px 14px;
  font-size:12px;
  letter-spacing:.04em;
  cursor:pointer;
  transition:all .2s ease;
}
.ecr-allergen-trigger:hover{background:#faf8f6;border-color:rgba(0,0,0,.2);}
.ecr-allergen-popup{
  position:absolute;
  left:0;
  top:calc(100% + 12px);
  z-index:20;
  display:none;
  width:min(320px,calc(100vw - 40px));
  padding:16px 18px;
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.08);
  backdrop-filter:blur(2px);
}
.ecr-allergen-popup::before{
  content:"";
  position:absolute;
  top:-7px;
  left:24px;
  width:12px;
  height:12px;
  background:#fff;
  border-left:1px solid rgba(0,0,0,.08);
  border-top:1px solid rgba(0,0,0,.08);
  transform:rotate(45deg);
}
.ecr-allergen-popup strong{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#4c4640;
}
.ecr-allergen-popup ul{margin:0;padding-left:18px;}
.ecr-allergen-popup li{margin:0 0 6px;color:#4e4742;}
.ecr-allergens.is-open .ecr-allergen-popup{display:block;}
@media (hover:hover){
  .ecr-allergens.ecr-allergens-tooltip:hover .ecr-allergen-popup,
  .ecr-allergens.ecr-allergens-ambos:hover .ecr-allergen-popup{display:block;}
}
@media (max-width: 767px){
  .ecr-menu-wrapper{font-size:.98em;}
  .ecr-category-title{font-size:clamp(20px,6vw,28px);}
  .ecr-menu-list{gap:24px;}
  .ecr-line-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name price" "dots dots";
    align-items:center;
    column-gap:12px;
    row-gap:4px;
  }
  .ecr-name-wrap{
    grid-area:name;
    align-self:center;
  }
  .ecr-price-wrap{
    grid-area:price;
    margin-left:0;
    align-items:flex-end;
    justify-content:center;
    align-self:center;
  }
  .ecr-dots{
    grid-area:dots;
    order:initial;
    flex-basis:auto;
    top:0;
    margin-top:0;
    height:1px;
    width:100%;
  }
  .ecr-item-name{
    font-size:22px;
    line-height:1.1;
  }
  .ecr-subtitle{margin-top:1px;font-size:clamp(13px,4vw,15px);}
  .ecr-description{margin-top:5px;font-size:clamp(14px,4.2vw,16px);}
  .ecr-price{
    font-size:25px;
    color:#545454;
  }
  .ecr-secondary-price{
    margin-top:2px;
    font-size:17px;
    line-height:1.05;
    color:#545454;
  }
  .ecr-secondary-price .ecr-secondary-label{font-size:.88em;}
  .ecr-allergen-trigger{font-size:12px;padding:7px 12px;}
}


/* Menús */
.ecr-menu-card{
  max-width:860px;
  margin:0 auto 36px;
  padding:34px 34px 28px;
  border:1px solid #d8d0a1;
  background:#fff;
}
.ecr-menu-card-title{
  margin:0 0 12px;
  font-size:clamp(28px,3vw,42px);
  text-align:center;
  font-weight:600;
  color:#2e2a28;
}
.ecr-menu-card-badge{
  display:block;
  width:fit-content;
  margin:0 auto 18px;
  padding:10px 18px;
  border-radius:10px;
  background:#b12a24;
  color:#fff;
  font-weight:700;
}
.ecr-menu-card-intro{
  text-align:center;
  margin:0 0 22px;
  color:#4f4a46;
  font-size:18px;
}
.ecr-menu-card-groups{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.ecr-menu-card-group{
  position:relative;
  padding-top:10px;
}
.ecr-menu-card-group::before{
  content:"";
  display:block;
  width:46px;
  height:2px;
  background:#b3a44c;
  margin-bottom:12px;
}
.ecr-menu-card-group-title{
  margin:0 0 10px;
  font-size:clamp(24px,2vw,36px);
  font-weight:500;
  color:#2c2723;
}
.ecr-menu-card-list{
  margin:0;
  padding:0;
  list-style:none;
}
.ecr-menu-card-list li{
  margin:0 0 10px;
  font-size:clamp(18px,1.6vw,30px);
  line-height:1.22;
  color:#1f1b19;
}
.ecr-menu-card-note{
  margin-top:6px;
  color:#3f3a36;
  font-size:18px;
}
.ecr-menu-card-price-line{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-top:26px;
}
.ecr-menu-card-price-label{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:20px;
}
.ecr-menu-card-price-dots{
  flex:1 1 auto;
  height:1px;
  position:relative;
  top:-0.08em;
  background-image:repeating-linear-gradient(to right,#a9a08e 0 8px,transparent 8px 15px);
}
.ecr-menu-card-price{
  font-size:34px;
  color:#2e2a28;
}
.ecr-menu-card-secondary,
.ecr-menu-card-footer{
  margin-top:12px;
  color:#3f3a36;
  font-size:18px;
}
@media (max-width: 767px){
  .ecr-menu-card{
    padding:24px 18px 22px;
  }
  .ecr-menu-card-title{
    font-size:32px;
  }
  .ecr-menu-card-list li{
    font-size:18px;
  }
  .ecr-menu-card-note,
  .ecr-menu-card-secondary,
  .ecr-menu-card-footer{
    font-size:16px;
  }
  .ecr-menu-card-price{
    font-size:28px;
  }
}


/* Menús */
.ecr-menu-card{max-width:860px;margin:0 auto 36px;padding:34px 34px 28px;border:1px solid #d8d0a1;background:#fff;}
.ecr-menu-card-title{margin:0 0 12px;font-size:clamp(28px,3vw,42px);text-align:center;font-weight:600;color:#2e2a28;}
.ecr-menu-card-badge{display:block;width:fit-content;margin:0 auto 18px;padding:10px 18px;border-radius:10px;background:#b12a24;color:#fff;font-weight:700;}
.ecr-menu-card-intro{text-align:center;margin:0 0 22px;color:#4f4a46;font-size:18px;}
.ecr-menu-card-groups{display:flex;flex-direction:column;gap:22px;}
.ecr-menu-card-group{position:relative;padding-top:10px;}
.ecr-menu-card-group::before{content:"";display:block;width:46px;height:2px;background:#b3a44c;margin-bottom:12px;}
.ecr-menu-card-group-title{margin:0 0 10px;font-size:clamp(24px,2vw,36px);font-weight:500;color:#2c2723;}
.ecr-menu-card-list{margin:0;padding:0;list-style:none;}
.ecr-menu-card-list li{margin:0 0 10px;font-size:clamp(18px,1.6vw,30px);line-height:1.22;color:#1f1b19;}
.ecr-menu-card-note{margin-top:6px;color:#3f3a36;font-size:18px;}
.ecr-menu-card-price-line{display:flex;align-items:baseline;gap:12px;margin-top:26px;}
.ecr-menu-card-price-label{text-transform:uppercase;letter-spacing:.04em;font-size:20px;}
.ecr-menu-card-price-dots{flex:1 1 auto;height:1px;position:relative;top:-0.08em;background-image:repeating-linear-gradient(to right,#a9a08e 0 8px,transparent 8px 15px);}
.ecr-menu-card-price{font-size:34px;color:#2e2a28;}
.ecr-menu-card-secondary,.ecr-menu-card-footer{margin-top:12px;color:#3f3a36;font-size:18px;}
@media (max-width: 767px){
  .ecr-menu-card{padding:24px 18px 22px;}
  .ecr-menu-card-title{font-size:32px;}
  .ecr-menu-card-list li{font-size:18px;}
  .ecr-menu-card-note,.ecr-menu-card-secondary,.ecr-menu-card-footer{font-size:16px;}
  .ecr-menu-card-price{font-size:28px;}
}
