/* =====================================================
   COMER.CSS · RESTAURANTES PREMIUM
===================================================== */

#view-food{
  padding-top:4px;
  padding-bottom:110px;
}

/* CABECERA */
#view-food .section-title{
  display:grid !important;
  grid-template-columns:62px 1fr !important;
  align-items:center !important;
  gap:16px !important;
  margin:4px 0 18px !important;
}

#view-food .section-title > span{
  width:58px !important;
  height:58px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(22,55,69,.16) !important;
  box-shadow:0 12px 28px rgba(22,55,69,.12) !important;
}

#view-food .section-title h2{
  font-family:"Caveat",cursive !important;
  font-size:clamp(3rem,5vw,4.4rem) !important;
  line-height:.9 !important;
  font-weight:700 !important;
  color:#123949 !important;
}

#view-food .section-title p{
  font-family:"Inter",system-ui,sans-serif !important;
  color:#4f6670 !important;
  font-size:1rem !important;
}

/* BOTÓN AÑADIR */
.add-restaurant-section{
  margin:0 0 18px !important;
}

#addRestaurantBtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#123949,#0f5b73) !important;
  color:#fff8e8 !important;
  border:none !important;
  box-shadow:0 12px 24px rgba(22,55,69,.22) !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.82rem !important;
  font-weight:900 !important;
}

#addRestaurantBtn::before{
  content:"＋ ";
}

/* DASHBOARD */
.food-dashboard{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
  margin:0 0 22px !important;
}

.food-stat{
  position:relative !important;
  overflow:hidden !important;
  min-height:82px !important;
  padding:14px 12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.90) !important;
  border:1px solid rgba(22,55,69,.16) !important;
  box-shadow:0 14px 30px rgba(22,55,69,.11) !important;
  backdrop-filter:blur(10px) !important;
  text-align:center !important;
}

.food-stat::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:4px;
  border-radius:0 0 20px 20px;
  background:linear-gradient(90deg,#0f5b73,#d9c47a);
}

.food-stat strong{
  display:block !important;
  font-family:"Caveat",cursive !important;
  font-size:2.15rem !important;
  line-height:1 !important;
  color:#123949 !important;
  font-weight:700 !important;
}

.food-stat span{
  display:block !important;
  margin-top:6px !important;
  font-family:"Inter",system-ui,sans-serif !important;
  color:#5d6f76 !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
}

/* FILTROS */
.food-filter-wrap{
  display:grid !important;
  gap:10px !important;
  margin:0 0 16px !important;
}

.food-price-filter,
.food-tag-filter{
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
  padding-bottom:2px !important;
}

.food-price-filter::-webkit-scrollbar,
.food-tag-filter::-webkit-scrollbar{
  display:none !important;
}

.food-price-filter button,
.food-tag-filter button{
  flex:0 0 auto !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  color:#123949 !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 8px 18px rgba(22,55,69,.08) !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.78rem !important;
  font-weight:900 !important;
}

.food-price-filter button.active,
.food-tag-filter button.active{
  background:linear-gradient(135deg,#123949,#0f5b73) !important;
  color:#fff8e8 !important;
  border:none !important;
}

/* RESUMEN */
.food-results-summary{
  margin:0 0 16px !important;
  padding:12px 15px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 10px 22px rgba(22,55,69,.08) !important;
  color:#0f5b73 !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.88rem !important;
  font-weight:900 !important;
}

/* ZONAS */
.food-zone-block{
  display:grid !important;
  gap:14px !important;
  margin-bottom:24px !important;
}

.food-zone-title{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 16px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 12px 26px rgba(22,55,69,.09) !important;
}

.food-zone-title > span{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  color:#123949 !important;
}

.food-zone-title h3{
  font-family:"Caveat",cursive !important;
  font-size:2rem !important;
  line-height:.95 !important;
  color:#123949 !important;
  font-weight:700 !important;
}

.food-zone-title p{
  font-family:"Inter",system-ui,sans-serif !important;
  color:#5d6f76 !important;
  font-size:.84rem !important;
}

/* LISTA */
.food-zone-list{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:18px !important;
}

/* CARD RESTAURANTE */
.food-card-premium{
  position:relative !important;
  overflow:hidden !important;
  padding:20px 22px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(22,55,69,.16) !important;
  box-shadow:0 16px 36px rgba(22,55,69,.12) !important;
  backdrop-filter:blur(10px) !important;
}

.food-card-premium::before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  bottom:20px;
  width:7px;
  border-radius:0 20px 20px 0;
  background:linear-gradient(180deg,#0f5b73,#d9c47a);
}

.food-card-premium::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,214,140,.06),transparent 42%),
    radial-gradient(circle at 82% 72%,rgba(119,176,198,.07),transparent 44%);
  opacity:.72;
}

.food-header{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:46px 1fr auto !important;
  align-items:flex-start !important;
  gap:14px !important;
}

.food-icon{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.82) !important;
  color:#123949 !important;
  border:1px solid rgba(22,55,69,.16) !important;
  box-shadow:0 8px 18px rgba(22,55,69,.10) !important;
  font-size:1.25rem !important;
}

.food-info h3{
  font-family:"Caveat",cursive !important;
  font-size:clamp(2rem,3vw,2.65rem) !important;
  line-height:.95 !important;
  font-weight:700 !important;
  color:#123949 !important;
}

.food-info small{
  display:block !important;
  margin-top:4px !important;
  font-family:"Inter",system-ui,sans-serif !important;
  color:#5d6f76 !important;
  font-size:.9rem !important;
}

.food-price{
  min-height:30px !important;
  padding:0 11px !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  color:#0f5b73 !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.76rem !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* TEXTOS */
.food-type,
.food-description{
  position:relative !important;
  z-index:2 !important;
  font-family:"Inter",system-ui,sans-serif !important;
  color:#4f6670 !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
}

.food-type{
  margin-top:14px !important;
  font-weight:900 !important;
  color:#0f5b73 !important;
}

.food-description{
  margin-top:12px !important;
}

/* TAGS */
.food-tags{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}

.food-tags span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:26px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  color:#0f5b73 !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.72rem !important;
  font-weight:900 !important;
}

/* LINKS */
.food-links{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:15px !important;
}

.food-links a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:38px !important;
  padding:0 15px !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.82) !important;
  color:#123949 !important;
  border:1px solid rgba(22,55,69,.16) !important;
  box-shadow:0 8px 18px rgba(22,55,69,.08) !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.82rem !important;
  font-weight:900 !important;
}

/* ACCIONES */
#view-food .hotel-actions{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:16px !important;
}

#view-food .hotel-actions button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:38px !important;
  min-height:38px !important;
  border-radius:14px !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.8rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.edit-restaurant-btn{
  background:linear-gradient(135deg,#123949,#0f5b73) !important;
  color:#fff8e8 !important;
  border:none !important;
  box-shadow:0 12px 24px rgba(22,55,69,.22) !important;
}

.delete-restaurant-btn{
  background:rgba(255,255,255,.76) !important;
  color:#b94747 !important;
  border:1px solid rgba(185,71,71,.18) !important;
}

/* RESPONSIVE */
@media(max-width:900px){
  .food-zone-list{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:760px){
  #view-food .section-title{
    grid-template-columns:52px 1fr !important;
  }

  #view-food .section-title h2{
    font-size:2.6rem !important;
  }

  .food-dashboard{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .food-zone-list{
    grid-template-columns:1fr !important;
  }

  .food-card-premium{
    padding:18px !important;
    border-radius:26px !important;
  }

  .food-header{
    grid-template-columns:42px 1fr !important;
  }

  .food-price{
    grid-column:1 / -1 !important;
    margin-left:56px !important;
    width:max-content !important;
  }

  #view-food .hotel-actions{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:420px){
  .food-dashboard{
    grid-template-columns:1fr !important;
  }
}
/* COMER · RESULTADOS Y ETIQUETAS LIMPIAS */

#view-food .food-results-summary{
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 10px 22px rgba(22,55,69,.08) !important;

  color:#0f5b73 !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:.86rem !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;

  padding:12px 15px !important;
  border-radius:18px !important;
}

/* Quitar marrón heredado en Comer */
#view-food .label,
#view-food .food-zone-title p,
#view-food .food-stat span,
#view-food .food-price,
#view-food .food-tags span,
#view-food .food-type{
  color:#0f5b73 !important;
}

/* Títulos manuscritos reales */
#view-food .food-zone-title h3,
#view-food .food-info h3{
  font-family:"Caveat",cursive !important;
  color:#123949 !important;
  font-weight:700 !important;
}

/* Etiquetas más limpias */
#view-food .food-tags span,
#view-food .food-price{
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 6px 14px rgba(22,55,69,.06) !important;
}
/* =====================================================
   COMER · SIN RESULTADOS / ESTADO VACÍO
===================================================== */

#view-food #foodList > section,
#view-food #foodList > article,
#view-food #foodList .empty-state,
#view-food .food-zone-block:has(.food-zone-title){
  background:transparent !important;
}

#view-food .food-zone-title{
  background:rgba(255,255,255,.90) !important;
  border:1px solid rgba(22,55,69,.14) !important;
  box-shadow:0 10px 24px rgba(22,55,69,.08) !important;
}

#view-food .food-zone-title h3,
#view-food #foodList h3,
#view-food #foodList h4{
  font-family:"Caveat",cursive !important;
  color:#123949 !important;
  font-size:1.85rem !important;
  font-weight:700 !important;
}

#view-food #foodList p{
  font-family:"Inter",system-ui,sans-serif !important;
  color:#4f6670 !important;
  font-size:1rem !important;
}

#view-food .food-zone-title p{
  color:#4f6670 !important;
}

/* anula crema/marrón heredado */
#view-food .food-zone-title,
#view-food .food-card-premium,
#view-food .note-card,
#view-food .info-card{
  background:rgba(255,255,255,.92) !important;
}
#view-food .food-zone-block{
  background:transparent !important;
}
/* =====================================================
   COMER · CIERRE VISUAL FINAL PRO
===================================================== */

body #view-food{
  padding-bottom:140px !important;
}

/* Cabecera más limpia */
body #view-food .section-title h2{
  font-size:clamp(2.8rem,4.5vw,4rem) !important;
}

body #view-food .section-title p{
  font-size:.98rem !important;
}

/* Botón añadir más integrado */
body #view-food #addRestaurantBtn{
  height:36px !important;
  min-height:36px !important;
  padding:0 15px !important;
  border-radius:14px !important;
  font-size:.78rem !important;
}

/* Filtros compactos y ordenados */
body #view-food .food-filter-wrap{
  gap:9px !important;
  margin:0 0 14px !important;
}

body #view-food .food-price-filter,
body #view-food .food-tag-filter{
  gap:8px !important;
  padding:2px 0 4px !important;
}

body #view-food .food-price-filter button,
body #view-food .food-tag-filter button{
  height:34px !important;
  min-height:34px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  font-size:.76rem !important;
}

/* Resumen fino */
body #view-food .food-results-summary{
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  padding:10px 14px !important;
  border-radius:18px !important;
  margin:0 0 16px !important;
}

/* Dashboard menos grande */
body #view-food .food-dashboard{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-bottom:20px !important;
}

body #view-food .food-stat{
  min-height:76px !important;
  padding:13px 12px !important;
  border-radius:22px !important;
  background:#fff !important;
}

body #view-food .food-stat strong{
  font-size:1.85rem !important;
}

body #view-food .food-stat span{
  font-size:.7rem !important;
  letter-spacing:.15em !important;
}

/* Zona */
body #view-food .food-zone-block{
  margin-bottom:20px !important;
  gap:12px !important;
}

body #view-food .food-zone-title{
  min-height:62px !important;
  padding:12px 16px !important;
  border-radius:24px !important;
  background:linear-gradient(90deg,#eef9fc,#ffffff) !important;
}

body #view-food .food-zone-title > span{
  width:42px !important;
  height:42px !important;
  border-radius:15px !important;
}

body #view-food .food-zone-title h3{
  font-size:1.85rem !important;
}

body #view-food .food-zone-title p{
  font-size:.82rem !important;
}

/* Lista en cards más compactas */
body #view-food .food-zone-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

/* Card restaurante */
body #view-food .food-card-premium{
  padding:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#fff !important;
  min-height:auto !important;
}

/* Cabecera coloreada */
body #view-food .food-header{
  display:grid !important;
  grid-template-columns:44px 1fr 40px !important;
  gap:12px !important;
  align-items:start !important;
  padding:15px 17px 12px !important;
  border-bottom:1px solid rgba(22,55,69,.10) !important;
  background:linear-gradient(90deg,#fff8e8,#ffffff) !important;
}

body #view-food .food-card-premium:nth-child(2n) .food-header{
  background:linear-gradient(90deg,#eef9fc,#ffffff) !important;
}

body #view-food .food-card-premium:nth-child(3n) .food-header{
  background:linear-gradient(90deg,#f2fbf4,#ffffff) !important;
}

body #view-food .food-icon{
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  font-size:1.15rem !important;
  background:#fff !important;
}

body #view-food .food-info h3{
  font-size:1.85rem !important;
  line-height:.92 !important;
}

body #view-food .food-info small{
  font-size:.84rem !important;
}

/* Favorito */
body #view-food .food-favorite{
  width:38px !important;
  height:38px !important;
}

/* Precio */
body #view-food .food-price{
  margin:12px 17px 0 !important;
  min-height:26px !important;
  padding:0 10px !important;
  width:max-content !important;
  font-size:.72rem !important;
}

/* Tipo */
body #view-food .food-type{
  margin:10px 17px 0 !important;
  font-size:.9rem !important;
}

/* Tags */
body #view-food .food-tags{
  margin:10px 17px 0 !important;
  gap:7px !important;
}

body #view-food .food-tags span{
  min-height:24px !important;
  padding:0 9px !important;
  font-size:.68rem !important;
}

/* Descripción */
body #view-food .food-description{
  margin:10px 17px 0 !important;
  font-size:.9rem !important;
}

/* Links */
body #view-food .food-links{
  margin:12px 17px 0 !important;
  gap:8px !important;
}

body #view-food .food-links a{
  height:34px !important;
  min-height:34px !important;
  padding:0 13px !important;
  border-radius:13px !important;
  font-size:.76rem !important;
}

/* Acciones */
body #view-food .hotel-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px !important;
  margin:14px 17px 17px !important;
}

body #view-food .hotel-actions button{
  height:35px !important;
  min-height:35px !important;
  border-radius:13px !important;
  font-size:.76rem !important;
}

/* Limpiar chips vacíos */
body #view-food .food-tags span:empty{
  display:none !important;
}

/* Responsive */
@media(max-width:900px){
  body #view-food .food-zone-list{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  body #view-food .food-dashboard{
    grid-template-columns:repeat(2,1fr) !important;
  }

  body #view-food .food-header{
    grid-template-columns:40px 1fr 38px !important;
  }

  body #view-food .food-info h3{
    font-size:1.65rem !important;
  }
}

@media(max-width:420px){
  body #view-food .food-dashboard{
    grid-template-columns:1fr !important;
  }
}
/* =====================================================
   COMER · AJUSTE FINAL CERRADO
===================================================== */

/* Zonas más compactas */
body #view-food .food-zone-block{
  gap:10px !important;
  margin-bottom:18px !important;
}

body #view-food .food-zone-title{
  min-height:54px !important;
  padding:10px 14px !important;
}

body #view-food .food-zone-title h3{
  font-size:1.65rem !important;
}

/* Cards más bajas y elegantes */
body #view-food .food-card-premium{
  border-radius:24px !important;
  min-height:auto !important;
}

body #view-food .food-header{
  grid-template-columns:38px 1fr 36px !important;
  padding:13px 15px 10px !important;
}

body #view-food .food-icon{
  width:36px !important;
  height:36px !important;
  border-radius:13px !important;
  font-size:1rem !important;
}

body #view-food .food-info h3{
  font-size:1.62rem !important;
  line-height:.94 !important;
}

body #view-food .food-info small{
  font-size:.78rem !important;
  margin-top:2px !important;
}

body #view-food .food-favorite{
  width:34px !important;
  height:34px !important;
  font-size:.95rem !important;
}

/* Precio, tipo y etiquetas */
body #view-food .food-price{
  margin:10px 15px 0 !important;
  min-height:24px !important;
  font-size:.68rem !important;
}

body #view-food .food-type{
  margin:8px 15px 0 !important;
  font-size:.84rem !important;
}

body #view-food .food-tags{
  margin:8px 15px 0 !important;
  gap:6px !important;
}

body #view-food .food-tags span{
  min-height:22px !important;
  padding:0 8px !important;
  font-size:.66rem !important;
}

/* Maps y botones */
body #view-food .food-links{
  margin:10px 15px 0 !important;
}

body #view-food .food-links a{
  height:32px !important;
  min-height:32px !important;
  font-size:.72rem !important;
}

body #view-food .hotel-actions{
  margin:12px 15px 15px !important;
}

body #view-food .hotel-actions button{
  height:32px !important;
  min-height:32px !important;
  font-size:.72rem !important;
}

/* Menos hueco vertical entre cards */
body #view-food .food-zone-list{
  gap:12px !important;
}

/* Tablet */
@media(max-width:900px){
  body #view-food .food-zone-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Móvil */
@media(max-width:760px){
  body #view-food .food-zone-list{
    grid-template-columns:1fr !important;
  }
}