/* Pestaña Costos */
.cc-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0 8px; }
.cc-tiles > div { background: #fff; border-radius: 18px; padding: 15px 16px; box-shadow: 0 2px 14px rgba(20, 48, 31, .1); }
.cc-tiles span { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--gris); }
.cc-tiles b { display: block; margin: 5px 0 4px; font-family: var(--serif); font-size: 19px; line-height: 1.2; color: var(--bosque); }
.cc-tiles p { margin: 0; font-size: 13px; color: var(--gris); }
.cc-sec { margin-top: 26px; }
.cc-sec h2 { font-size: 22px; }
.cc-sec > .sub { margin: 4px 0 11px; color: var(--gris); }
.cc-sec .mini { color: var(--gris); font-size: 12.5px; }
.cc-sec a { color: var(--verde); }
table.tabla.cc-tabla { min-width: 0; font-size: 13.5px; }
.cc-tabla td { vertical-align: top; }
.cc-tabla tr.cc-rec td { background: var(--menta); }
.cc-tabla tr.cc-total td { background: #f4efe2; border-bottom: 0; }
.cc-barra { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: baseline; background: #fff; border-radius: 18px; padding: 13px 16px; box-shadow: 0 2px 14px rgba(20, 48, 31, .1); }
.cc-barra output { font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--bosque); }
.cc-barra input { grid-column: 1 / -1; width: 100%; accent-color: var(--verde); }
.cc-lista { display: grid; gap: 7px; margin: 12px 0 8px; }
.cc-fila { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; font-size: 14px; }
.cc-fila .v { font-weight: 600; }
.cc-fila i { grid-column: 1 / -1; display: block; height: 8px; border-radius: 0 4px 4px 0; background: #b9c8bd; }
.cc-fila.rec i { background: var(--verde); }
.cc-fila.rec .n { font-weight: 600; }
.cc-fila em { font-style: normal; font-size: 11.5px; color: var(--verde); }
@media (max-width: 860px) { .cc-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .cc-tiles { grid-template-columns: 1fr; }
  .cc-wrap { background: transparent; box-shadow: none; overflow: visible; }
  .cc-tabla, .cc-tabla tbody, .cc-tabla tr, .cc-tabla td { display: block; width: 100%; }
  .cc-tabla thead { display: none; }
  .cc-tabla tr { background: #fff; border-radius: 16px; padding: 8px 12px; margin-bottom: 10px; box-shadow: 0 2px 10px rgba(20, 48, 31, .08); }
  .cc-tabla tr.cc-rec { background: var(--menta); }
  .cc-tabla tr.cc-total { background: #f4efe2; }
  .cc-tabla td { border-bottom: 0; padding: 4px 0; background: transparent !important; text-align: left; }
  .cc-tabla td::before { content: attr(data-t); display: block; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--gris); }
  .cc-tabla td:first-child::before { display: none; }
}

/* Precio del paquete estándar */
.cc-precio { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 14px 22px; margin: 16px 0 10px; padding: 20px 22px; background: #fff; border-radius: 18px; box-shadow: 0 2px 14px rgba(20, 48, 31, .1); }
.cc-precio span { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--gris); }
.cc-precio b { display: block; margin-top: 4px; font-family: var(--serif); font-size: 34px; line-height: 1.1; color: var(--bosque); }
.cc-precio em { font-style: normal; font-size: 13.5px; color: var(--verde); font-weight: 600; }
.cc-precio p { margin: 8px 0 0; font-size: 13.5px; color: var(--gris); }
.cc-precio h3 { margin: 0 0 6px; font-size: 15px; color: var(--bosque); }
.cc-precio ul { margin: 0; padding-left: 18px; font-size: 13.5px; }
.cc-precio li { margin: 3px 0; }
.cc-p-mant { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; align-items: center; padding-top: 14px; border-top: 1px solid #e4ebe5; }
.cc-p-mant b { font-size: 26px; }
.cc-p-mant p { margin: 0; }
@media (max-width: 760px) { .cc-precio, .cc-p-mant { grid-template-columns: 1fr; } }
