:root{
  --brand-1:#699a9e;
  --brand-2:#a95147;
  --brand-3:#809384;
  --ink:#333;
  --muted:#667;
  --soft-0:#ececec;
  --soft-1:#c7d2cc;
  --soft-2:#889a8c;
  --soft-3:#dad6cd;
  --soft-4:#889a8c;
  --accent:#b48746;
}

/* Layout */
body{ 
  color:var(--ink); 
  font-family: "Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4;
  color: #495057;
  text-align: left;
  background-color: #fff;
}
.pt-nav{ padding-top: 90px; }
.navbar-brand span {
  display: block;
  width: 70px;
  height: 47px;
  background: url("https://www.kikascastellon.com/webexapp/themes/custom/kikascastellon/assets/img/logo_web.png") left center / contain no-repeat;
  transition: height 0.2s linear;
  text-indent: -9999px;
}

h1, h2 {
  font-family: "Playfair Display",serif;
}
h3 {
  font-family: "Caveat",serif;
}

@media (max-width: 991.98px){ 
  .pt-nav{ padding-top: 70px; } 
  .navbar {padding:0;}
  .navbar-brand span {width: 55px;}
}


.brand-dot{
  display:inline-block;width:12px;height:12px;border-radius:50%;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
}

.btn-brand-1{ background-color:var(--brand-1); color:#fff; border-color:var(--brand-1); }
.btn-brand-1:hover{ filter:brightness(0.95); color:#fff; }
.badge-brand-2{ background-color:var(--brand-2); color:#fff; }
#resetAllBtn {color:var(--brand-2); border-color:var(--brand-2);}

/* Category scroller */
.category-scroller{ overflow-x:auto; -webkit-overflow-scrolling:touch; background:#fff; }
.nav-categories{ white-space:nowrap; flex-wrap:nowrap; }
.nav-categories .nav-link{
  border-radius:999px; margin:8px 6px; padding:.35rem .75rem;
  color:var(--brand-2);
  border:1px solid var(--soft-1);
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,var(--soft-1),var(--soft-3)) border-box;
}
.nav-categories .nav-link.active{
  color:#fff; background:var(--brand-2); border-color:var(--brand-2);
}

/* Category section */
.section-category{ padding:2.5rem 0 1.5rem; border-bottom:1px solid var(--soft-1); }
.section-category header {margin-bottom:2.5rem;}
@media (max-width: 991.98px){
  .section-category header {margin-bottom:2rem;}
}

.section-category h3{ width: 100%;  font-size:2.5rem; margin-bottom:0; color:var(--brand-2); text-transform:none; font-weight:normal;}
.section-category .cat-desc-short{ color:var(--muted); margin-bottom:.25rem; line-height: 1rem; }

/* Product listing (max 2 cols; 1 on <lg) */
.product-col{ margin-bottom: 1.5rem; /*padding-left: .5rem; padding-right: .5rem;*/ }
@media (min-width: 992px){
  .product-col{ flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 991.98px){
  .product-col{ flex: 0 0 100%; max-width: 100%; }
}

/* Cards off (keep markup for future) */
.product-card.card{ border:none; box-shadow:none; background:transparent; border-radius:0; }
.product-card .card-body{ padding:0 0; border-bottom:1px dotted var(--soft-1); }
.product-card:last-child .card-body{ border-bottom:none; }

/* Title + price with dotted leader */
.title-row{ display:flex; align-items:baseline; }
.product-title{ font-weight:700; font-size:1rem; margin:0; text-transform:none; color:#111; }
.title-leader{ flex:1 1 auto; border-bottom:1px dotted var(--soft-2); margin:0 .5rem; }
.product-price{ font-weight:700; color:var(--brand-1); white-space:nowrap; font-size:.95rem; }

/* Inline NEW tag next to name */
.tag-new-inline{ display:inline-block; margin-left:.35rem; padding:.2rem .4rem; font-size:.65rem; border-radius:999px; background:var(--brand-1); color:#fff; vertical-align:top; }

/* Description smaller & lighter */
.product-desc{ font-size:.875rem; color:var(--muted);  line-height: 1rem;}

/* Extras - improved readability */
.product-extras{ font-size:.82rem; color:#444; }
.extras-line{ display:flex; flex-wrap:wrap; align-items:baseline; }
.extras-label{ font-weight:600; margin-right:.35rem; color: var(--muted)}
.extra-chip{display:inline-block;background-color:#fbfbfb;border:1px solid var(--soft-0);border-radius:5px;padding:0rem 0.3rem 0.1rem .3rem;margin:.1rem .25rem .1rem 0;font-size:.85rem;line-height:1.2;white-space:nowrap}
/*.extra-chip{ display:inline-block;  border:0px solid var(--soft-1); border-radius:8px; background:#fff; }*/
.extra-sep{ display:none; } /* chips already separate */
.availability-note{ font-size:.8rem; color:#555; }
.product-note{ font-size:.8rem; color:#555; }

/* Badges & icons (diets/allergens) */
.btn .badge {top:1px;}
.badge-icon{

}
.badge-icon i{ margin-right:.25rem; line-height:1; }
.badge-diet{  }
.badge-allergen{  }
.badge-tag{ background:var(--soft-3); }
.badge-new{ background:var(--brand-1); color:#fff; border-color:transparent; }

.badge-diet.text-only, .badge-allergen.text-only{ font-size:.85em; color: var(--muted); }
.hide-diets .badge-diet{ display:none !important; }
.hide-allergens .badge-allergen{ display:none !important; }

/* Utilities */
.text-soft{ color:var(--muted); }
hr.soft{ border-color:var(--soft-1); }

/* Accessibility focus */
/*a:focus, button:focus, .btn:focus{ outline:3px solid rgba(105,154,158,.35) !important; outline-offset:1px; }*/

/* Global empty state */
#noResultsGlobal{ display:none; }
#noResultsGlobal.show{ display:block; }


/* Check de alérgenos en modo EXCLUSIÓN (rojo al seleccionar) */
.custom-control-input.allergen-neg:checked ~ .custom-control-label::before{
  background-color: var(--brand-2);   /* rojo Kika’s */
  border-color: var(--brand-2);
}
.custom-control-input.allergen-neg:focus ~ .custom-control-label::before{
  box-shadow: 0 0 0 .2rem rgba(169,81,71,.25);
}

/* Separadores en la barra horizontal */
.nav-categories .nav-sep{
  width:1px; height:18px; background:var(--soft-1);
  margin:8px 6px; flex:0 0 1px; border-radius:1px;
}

/* Modal de categorías: separador y encabezado de grupo */
.list-group-item{padding: 0.5rem 1rem;}
.list-group-sep{
  height:1px; background:var(--soft-1);
  margin:.35rem .25rem;
}
.list-group-heading{
  font-weight:600; color:var(--muted);
  text-transform:uppercase; font-size:.75rem;
  margin:.5rem .25rem .25rem;
}

/* Opcional: estilo para la línea de opciones separadas por comas */
.options-line{ color: var(--muted); font-size:.95rem; line-height:1rem; }


/* Cabeceras de grupo en el listado */
.category-group-heading{
  margin: 1rem 0 0 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--soft-1);
  color: var(--brand-1);
  font-weight: 500;
  font-size: 1.5rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.bundle-section-title {padding:.5rem 2rem 0 2rem; color:var(--brand-3); font-weight:500; font-size:.85rem;}
.menu-bundle { padding: 1rem 0;}
.menu-bundle .bundle-list {list-style: none; padding-left: 0; margin:0 2rem;}
.menu-bundle, .bundle-list, .bundle-collapse{ overflow-anchor: none; }

.menu-bundle .bundle-item {font-size:.9rem;}

.bundle-item {border: 1px solid var(--soft-0); border-radius: 5px; margin-bottom: .25rem; padding:.25rem .5rem;}
.bundle-toggle {
  display:flex; align-items:center; justify-content:space-between;
  width:100%;  background:none; text-align:left;
  border: 0; padding: 0;
  
}
.bundle-toggle.no-details{ cursor: default; }
.bundle-collapse {padding:0rem;}
.bundle-label { }
.bundle-mini { padding: 0;}
.bundle-mini .mini-title { 
  margin-top:1rem;
  text-transform: uppercase;
  line-height: 1rem;
  font-weight: bold;
}
 }
.bundle-mini .mini-desc { font-size:.95em; color:var(--muted); line-height: 1rem; }
.bundle-mini .mini-extras { font-size:.9em; color:var(--muted); }*/

/* Suplementos del bundle (si no lo añadiste aún) */
.bundle-delta{ color:var(--brand-2); font-weight:700; margin-left:.25rem; white-space:nowrap; }


.filters-preview{ display:flex; align-items:center; float: left;}
.filters-preview .count{ font-weight:700; color:var(--ink); }
.filters-preview .sep{ opacity:.6; }
.modal-footer { justify-content: space-between; }