@charset "UTF-8";

/* ======= Contenedor general ======= */
.nutri-wrap {
    max-width:980px;
    margin:0 auto;
    padding:1rem;
}

/* ======= Tarjetas generales ======= */
.card {
    background:#fff;
    border:1px solid #eee;
    border-radius:.75rem;
    padding:1rem;
    margin:.75rem 0;
}

/* ======= Sistema de columnas sin gap ======= */
.grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.grid > * {
    margin:0 .75rem .75rem 0;
}
.col-span {
    grid-column:1/-1;
}

/* ======= Filas flexibles sin gap ======= */
.row {
    display:flex;
    align-items:center;
}
.row > * {
    margin-right:.5rem;
}

/* ======= Etiquetas e inputs ======= */
label {
    display:flex;
    flex-direction:column;
    font-size:.9rem;
    margin-bottom:.25rem;
}
input,
select {
    padding:.5rem;
    border:1px solid #ddd;
    border-radius:.5rem;
}

/* ======= Botones ======= */
.btn {
    display:inline-block;
    background:#111;
    color:#fff;
    padding:.6rem .9rem;
    border-radius:.5rem;
    border:0;
    cursor:pointer;
}
.btn[disabled] {
    opacity:.6;
    cursor:not-allowed;
}
.btn-outline {
    background:#fff;
    color:#111;
    border:1px solid #111;
}

/* ======= Pestañas superiores ======= */
.tabs {
    position:sticky;
    top:0;
    background:#fff;
    display:flex;
    overflow:auto;
    padding:.5rem;
    border-bottom:1px solid #eee;
}
.tabs [role="tab"] {
    border:0;
    background:#f3f4f6;
    padding:.5rem .75rem;
    border-radius:.5rem;
    white-space:nowrap;
    cursor:pointer;
    margin-right:.5rem; /* sustituye gap */
}
.tabs [aria-selected="true"] {
    background:#111;
    color:#fff;
}

/* ======= Secciones del día ======= */
.day {
    padding:1rem .5rem;
}
.day header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:.5rem 0;
}

/* ======= Comidas ======= */
.meal {
    background:#fff;
    border:2px solid #000;      /* borde negro */
    border-radius:.75rem;
    margin:.75rem 0;
    overflow:hidden;
}
.meal__head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:.75rem 1rem;
    background:#d4af37;         /* fondo dorado */
    color:#000;                 /* texto en negro */
    border-bottom:1px solid #000;
}
.meal__head h4 {
    color:#000;
}
.meal__items {
    list-style:none;
    margin:0;
    padding:.5rem 1rem;
}
.meal__items li {
    display:flex;
    justify-content:space-between;
    padding:.4rem 0;
    border-bottom:1px dashed #000;
}
.meal__items li + li {
    margin-top:.4rem;           /* separación vertical */
}
.meal__items li:last-child {
    border-bottom:0;
}
.meal__foot {
    display:flex;
    justify-content:flex-end;
    padding:.5rem 1rem;
    background:#fafafa;
    border-top:1px solid #000;
}

/* ======= Chips / etiquetas ======= */
.chip {
    font-size:.75rem;
    padding:.15rem .5rem;
    border-radius:999px;
    background:#000;            /* chip negro */
    color:#fff;                 /* texto blanco */
}
.chip--fixed {background:#000;color:#fff;}
.chip--g {background:#000;color:#fff;}

/* ======= Texto auxiliar ======= */
.small {
    font-size:.85rem;
    color:#666;
}

/* ===== Overrides para anular los estilos inline del HTML actual ===== */
.nutri-wrap { max-width:980px !important; margin:0 auto !important; padding:1rem !important; }

/* form.card tenía bg/border/padding/margen inline */
.card { background:#fff !important; border:1px solid #eee !important; border-radius:.75rem !important; padding:1rem !important; margin:.75rem 0 !important; }

/* .grid tenía display/grid-template/gap inline */
.grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important; }
.grid > * { margin:0 .75rem .75rem 0 !important; } /* sustituye gap */

/* Tabs container tenía display/border/padding/margins inline */
.tabs { display:flex !important; border-bottom:1px solid #eee !important; padding-bottom:.5rem !important; margin-bottom:.5rem !important; }
.tabs [role="tab"] { border:0 !important; background:#f3f4f6 !important; padding:.5rem .75rem !important; border-radius:.5rem !important; cursor:pointer !important; }
.tabs [aria-selected="true"] { background:#111 !important; color:#fff !important; }

/* Section día tenía padding inline */
.nutri-day { padding:.5rem 0 !important; }
.nutri-day header { display:flex !important; justify-content:space-between !important; align-items:center !important; margin:.25rem 0 .5rem !important; }

/* Cada comida (article) tenía bg/border/radio/margen/overflow inline */
.meal { background:#fff !important; border:2px solid #000 !important; border-radius:.75rem !important; margin:.75rem 0 !important; overflow:hidden !important; }

/* Cabecera de la comida: fondo oro, texto negro (anula bg/border/padding inline) */
.meal__head { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:.75rem 1rem !important; background:#d4af37 !important; color:#000 !important; border-bottom:1px solid #000 !important; }
.meal__head h4 { margin:0 !important; color:#000 !important; }

/* Chip dentro del header */
.chip, .chip--fixed, .chip--g { font-size:.8rem !important; background:#000 !important; color:#fff !important; padding:.1rem .5rem !important; border-radius:999px !important; }

/* Lista de items (anula list-style/márgenes/padding inline) */
.meal__items { list-style:none !important; margin:0 !important; padding:.5rem 1rem !important; }
.meal__items li { display:flex !important; justify-content:space-between !important; padding:.35rem 0 !important; border-bottom:1px dashed #000 !important; }
.meal__items li:last-child { border-bottom:0 !important; }

/* Pie de la comida (anula bg/border/padding inline) */
.meal__foot { display:flex !important; justify-content:flex-end !important; padding:.5rem 1rem !important; background:#fafafa !important; border-top:1px solid #000 !important; }

/* Tipografías auxiliares */
.small { font-size:.85rem !important; color:#666 !important; }
.btn { background:#111 !important; color:#fff !important; padding:.6rem .9rem !important; border-radius:.5rem !important; border:0 !important; cursor:pointer !important; }

.plan-grid-wrap{
  width:100%;
  overflow-x:auto;
  margin-top:1rem;
}

.plan-grid{
  width:100%;
  border-collapse:separate;
  border-spacing:6px;
}

.plan-grid td{
  border:2px solid #d4af37;
  border-radius:8px;
  background:#eeeeee;
  vertical-align:top;
  text-align:center;
  padding:.6rem .45rem;
}

.plan-grid tr:nth-child(even) td.plan-food-cell{
  background:#e1dfda;
}
.plan-grid{
  width:100%;
  border-collapse:separate !important;
  border-spacing:6px;
}

.plan-grid td{
  border:2px solid #d4af37;
  border-radius:14px !important;
  overflow:hidden;
}

.meal-label-cell{
  border-radius:14px !important;
  background:#111 !important;
}

.plan-food-cell{
  border-radius:14px !important;
  background:#eeeeee;
}

.plan-grid tr:nth-child(even) td.plan-food-cell{
  background:#e1dfda;
}

.meal-label-cell{
  background:#111 !important;
  color:#fff;
  width:95px;
  min-width:95px;
  vertical-align:middle !important;
}

.meal-label-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:120px;
}

.meal-icon{
  font-size:1.5rem;
  margin-bottom:.35rem;
  color:#d4af37;
}

.meal-num{
  font-weight:900;
  font-size:.8rem;
  color:#d4af37;
}

.meal-name{
  font-size:.75rem;
  font-weight:700;
  margin-top:.15rem;
}

.plan-food{
  padding:.35rem 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}

.plan-food:last-child{
  border-bottom:0;
}

.plan-food-name{
  display:block;
  font-weight:800;
  font-size:.82rem;
  color:#1a1a1a;
  line-height:1.2;
}

.plan-food-qty{
  display:block;
  margin-top:.15rem;
  font-size:.78rem;
  font-weight:700;
  color:#555;
}

.card{
  border:none !important;
  box-shadow:none !important;
}
/* Quitar borde exterior del bloque/tabla */
.plan-grid-wrap,
.plan-grid{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Evita que la tabla pinte borde global */
.plan-grid{
  border-collapse:separate !important;
  border-spacing:6px !important;
}

/* Mantiene SOLO los bordes de las celdas */
.plan-grid td{
  border:2px solid #d4af37 !important;
  border-radius:14px !important;
}

/* Si el borde viene del contenedor card que rodea el plan */
.nutri-day,
.nutri-day .card,
#days,
#days .card{
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* ===== FORMULARIO PREMIUM ===== */

.nutri-wrap form.card{
  max-width:760px;
  margin:0 auto 20px auto !important;
  background:#fff !important;
  border:2px solid #d4af37 !important;
  border-radius:18px !important;
  padding:22px !important;
  box-shadow:none !important;
}

.nutri-wrap form.card .grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

.nutri-wrap form.card .grid > *{
  margin:0 10px 14px 0;
}

.nutri-wrap form.card label{
  font-weight:800;
  color:#111;
  font-size:.9rem;
}

.nutri-wrap form.card input,
.nutri-wrap form.card select{
  margin-top:6px;
  background:#eeeeee;
  border:2px solid #d4af37;
  border-radius:12px;
  padding:10px;
  font-weight:700;
  color:#111;
}

.nutri-wrap form.card input:focus,
.nutri-wrap form.card select:focus{
  outline:none;
  border-color:#111;
}

.nutri-wrap form.card .btn{
  display:block;
  margin:10px auto 0 auto;
  background:#111 !important;
  color:#fff !important;
  border:2px solid #d4af37 !important;
  border-radius:12px !important;
  padding:12px 22px !important;
  font-weight:900;
}

/* Checkbox % grasa */
.nutri-wrap form.card .row{
  flex-direction:row;
  justify-content:center;
  align-items:center;
}

.nutri-wrap form.card .row input{
  margin-right:8px;
}
/* ===== BLOQUE DESCARGA PREMIUM ===== */

.download-card{
  max-width:760px;
  margin:0 auto 20px auto;
  background:#fff;
  border:2px solid #d4af37;
  border-radius:18px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.download-logo{
  width:130px;
  text-align:center;
  margin-right:20px;
}

.download-logo img{
  max-width:120px;
  height:auto;
  display:block;
  margin:0 auto;
}

.download-content{
  flex:1;
  text-align:center;
}

.download-btn{
  display:inline-block;
  background:#111 !important;
  color:#fff !important;
  border:2px solid #d4af37 !important;
  border-radius:12px !important;
  padding:12px 22px !important;
  font-weight:900;
  text-decoration:none !important;
}

.download-text{
  display:block;
  margin-top:8px;
  color:#555;
  font-size:.85rem;
}

@media(max-width:600px){
  .download-card{
    flex-direction:column;
    text-align:center;
  }

  .download-logo{
    margin-right:0;
    margin-bottom:12px;
  }
}
/* ===== TITULO PRINCIPAL ===== */

.title-card{
  max-width:760px;
  margin:0 auto 20px auto;
  background:#fff;
  border:2px solid #d4af37;
  border-radius:18px;
  padding:14px 20px;
  text-align:center;
}

.title-card h2{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#111;
  letter-spacing:.5px;
}
/* ===== BLOQUE PESTAÑAS ===== */

.tabs{
  max-width:760px;
  margin:0 auto 20px auto;
  background:#fff;
  border:2px solid #d4af37;
  border-radius:18px;
  padding:12px;
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
}

/* botones */
.tabs [role="tab"]{
  border:2px solid #d4af37;
  background:#eeeeee;
  color:#111;
  padding:8px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
  transition:all .2s ease;
}

/* activo */
.tabs [aria-selected="true"]{
  background:#111;
  color:#fff;
  border-color:#d4af37;
}

/* hover */
.tabs [role="tab"]:hover{
  background:#d4af37;
  color:#000;
}

/* responsive */
@media(max-width:600px){
  .tabs{
    gap:6px;
    padding:10px;
  }

  .tabs [role="tab"]{
    padding:7px 10px;
    font-size:.85rem;
  }
}