/* Visalia · Tablas SEO (<table>) — estilos. Acompaña al fragmento PHP «Visalia · Tablas SEO». */
.vts-wrap, .vts-elige, .vts-barrio, .vts-plan__tabla { --vts-text:#3f3f50; --vts-blue:#0089c4; --vts-blue-dark:#0f7bad; --vts-bg:#effaff; --vts-radius:16px; --vts-gap:16px; width:100%; }
.vts-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Reset de estilos de tabla del tema */
.vts-tabla, .vts-tabla tr, .vts-tabla th, .vts-tabla td { border:0 !important; box-shadow:none; }
.vts-tabla { margin:0; font-family:inherit; color:var(--vts-text); background:none; }
.vts-tabla th, .vts-tabla td { vertical-align:top; }
.vts-tabla tr:nth-child(n) > th, .vts-tabla tr:nth-child(n) > td { background-color:transparent; }

/* ---------- [visalia_tabla]: cada columna = una tarjeta ---------- */
.vts-wrap { overflow:visible; margin:16px 0 24px; }
.vts-wrap .vts-cols { border-collapse:separate; border-spacing:var(--vts-gap) 0; table-layout:fixed; width:calc(100% + 2 * var(--vts-gap)); margin:0 calc(-1 * var(--vts-gap)); }
.vts-wrap .vts-cols > thead > tr > th,
.vts-wrap .vts-cols > tbody > tr > td { background-color:#fff !important; text-align:center; padding:4px 24px; }
.vts-wrap .vts-cols > thead > tr > th { border-radius:var(--vts-radius) var(--vts-radius) 0 0; padding-top:16px; font-size:20px; line-height:24px; font-weight:700; color:var(--vts-text); }
.vts-wrap .vts-cols > tbody > tr > td { font-size:16px; line-height:26px; font-weight:400; }
.vts-wrap .vts-cols > tbody > tr.vts-last > td { border-radius:0 0 var(--vts-radius) var(--vts-radius); padding-bottom:16px; }
.vts-wrap .vts-cols strong { font-size:20px; font-weight:700; }

/* Variante tarjeta (Energía / Potencia): alineada a la izquierda, icono + título, líneas con check */
.vts-wrap .vts-tarjeta { --vts-gap:16px; }
.vts-wrap .vts-tarjeta > thead > tr > th,
.vts-wrap .vts-tarjeta > tbody > tr > td { text-align:left; padding-left:32px; padding-right:32px; }
.vts-wrap .vts-tarjeta > thead > tr > th { padding-top:32px; padding-bottom:12px; }
.vts-wrap .vts-tarjeta > tbody > tr.vts-last > td { padding-bottom:32px; }
.vts-wrap .vts-tarjeta .vts-th { display:inline-block; vertical-align:middle; font-size:24px; line-height:32px; font-weight:600; }
.vts-wrap .vts-tarjeta .vts-ico { display:inline-block; vertical-align:middle; width:48px; height:48px; margin:0 12px 0 0; }
.vts-wrap .vts-check > tbody > tr > td { position:relative; padding-left:64px; }
.vts-wrap .vts-check > tbody > tr > td::before,
.vts-checks li::before { content:""; position:absolute; left:32px; top:9px; width:16px; height:12px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 6.5l4 4 9-9' fill='none' stroke='%230089c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain; }

/* clase="vts-azul": tarjetas azul claro (para secciones con fondo blanco) */
.vts-wrap .vts-azul > thead > tr > th,
.vts-wrap .vts-azul > tbody > tr > td { background-color:var(--vts-bg) !important; }

/* Móvil: las columnas se apilan como tarjetas sin perder la tabla en el HTML */
@media (max-width:767px) {
	.vts-wrap .vts-cols { display:flex; flex-direction:column; width:100%; margin:0; }
	.vts-wrap .vts-cols > thead, .vts-wrap .vts-cols > tbody, .vts-wrap .vts-cols tr { display:contents; }
	.vts-wrap .vts-cols > thead > tr > th, .vts-wrap .vts-cols > tbody > tr > td { display:block; order:var(--o); }
	.vts-wrap .vts-cols > tbody > tr.vts-last > td { margin-bottom:var(--vts-gap); }
	.vts-wrap .vts-cols > caption { order:0; }
	.vts-wrap .vts-tarjeta > thead > tr > th, .vts-wrap .vts-tarjeta > tbody > tr > td { padding-left:24px; padding-right:24px; }
	.vts-wrap .vts-tarjeta > thead > tr > th { padding-top:24px; }
	.vts-wrap .vts-tarjeta > tbody > tr.vts-last > td { padding-bottom:24px; }
	.vts-wrap .vts-check > tbody > tr > td { padding-left:52px; }
	.vts-wrap .vts-check > tbody > tr > td::before { left:24px; }
}

/* ---------- Interruptor con/sin impuestos (lo activa tarifas.js) ---------- */
.vts-switch-row { display:flex; justify-content:center; margin:0 0 32px; }
.vts-switch { display:inline-flex; align-items:center; gap:10px; padding:10px 20px; background:#fff; border-radius:8px; cursor:pointer; font-size:14px; line-height:20px; }
.vts-switch p { margin:0 !important; padding:0; }

/* ---------- [visalia_tabla_elige] ---------- */
.vts-elige__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; align-items:stretch; }
.vts-plan { display:flex; flex-direction:column; background:#fff; border-radius:var(--vts-radius); padding:32px; color:var(--vts-text); }
.vts-plan__head { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.vts-plan__head .vts-ico { width:48px; height:48px; flex:0 0 48px; margin:0; }
.vts-plan__head h3 { margin:0 !important; padding:0; font-size:28px; line-height:1.2; font-weight:600; color:var(--vts-text); }
.vts-checks { list-style:none !important; margin:0 0 24px !important; padding:0 !important; }
.vts-checks li { position:relative; margin:0 0 8px !important; padding:0 0 0 28px !important; font-size:15px; line-height:24px; }
.vts-checks li::before { left:2px; top:6px; }
.vts-plan__tabla { width:100%; border-collapse:collapse; margin:0 0 24px; }
.vts-plan__tabla tbody + tbody .vts-grupo th { padding-top:20px; }
.vts-plan__tabla .vts-grupo th { padding:0 0 4px; font-size:16px; line-height:24px; font-weight:700; text-align:left; color:var(--vts-text); }
.vts-plan__tabla th[scope="row"], .vts-plan__tabla td { padding:2px 0; font-size:20px; line-height:28px; font-weight:400; color:var(--vts-blue); }
.vts-plan__tabla th[scope="row"] { text-align:left; }
.vts-plan__tabla td { text-align:right; white-space:nowrap; }
.vts-plan__cta { margin-top:auto; display:flex; flex-direction:column; align-items:center; gap:12px; }
.vts-plan__cta .vts-btn { width:100%; justify-content:center; text-align:center; }
.vts-mas { font-weight:600; font-size:15px; color:var(--vts-blue-dark); text-decoration:none; }
.vts-mas:hover { text-decoration:underline; }
@media (max-width:1024px) { .vts-elige__grid { grid-template-columns:1fr; max-width:560px; margin:0 auto; } }
@media (max-width:767px) { .vts-plan { padding:24px; } .vts-plan__head h3 { font-size:24px; } .vts-plan__tabla th[scope="row"], .vts-plan__tabla td { font-size:18px; } }

/* ---------- [visalia_tabla_barrio] ---------- */
.vts-barrio { display:flex; flex-direction:column; gap:24px; }
.vts-barrio__card { display:flex; align-items:center; justify-content:space-between; gap:32px; background:#fff; border-radius:var(--vts-radius); padding:32px 40px; color:var(--vts-text); }
.vts-barrio__info { display:flex; flex-direction:column; align-items:flex-start; gap:16px; flex:0 0 auto; }
.vts-barrio__info h3, .vts-barrio .vts-btn { white-space:nowrap; }
.vts-barrio__info .vts-plan__head { margin:0; }
.vts-barrio__tabla { border-collapse:collapse; margin:0 40px 0 0; min-width:300px; }
.vts-barrio__tabla caption { caption-side:top; text-align:center; font-size:14px; line-height:20px; font-weight:700; padding:0 0 8px; color:var(--vts-text); }
.vts-barrio__tabla tbody tr { display:grid; grid-template-columns:auto auto; justify-content:center; column-gap:8px; margin-bottom:8px; }
.vts-barrio__tabla tbody th, .vts-barrio__tabla .vts-destacado { padding:0; font-size:28px; line-height:36px; font-weight:600; color:var(--vts-blue); text-align:right; }
.vts-barrio__tabla .vts-destacado { text-align:left; }
.vts-barrio__tabla .vts-antes { grid-column:1 / -1; padding:0; font-size:13px; line-height:18px; font-weight:600; color:#8a8a99; text-align:center; }
.vts-barrio__tabla tr:only-child th { display:none; }
.vts-barrio__tabla tr:only-child { grid-template-columns:auto; }
.vts-barrio__tabla tr:only-child .vts-destacado { text-align:center; }
.vts-barrio .vts-nota { margin:0 !important; text-align:center; font-size:13px; line-height:18px; color:#8a8a99; }
@media (max-width:767px) {
	.vts-barrio__card { flex-direction:column; align-items:stretch; padding:24px; }
	.vts-barrio__info { align-items:center; }
	.vts-barrio__tabla { margin:0 auto; min-width:0; }
	.vts-barrio__tabla tbody th, .vts-barrio__tabla .vts-destacado { font-size:22px; line-height:30px; }
}

/* ---------- Tablas en artículos del blog ---------- */
.single-post .w-post-elm.post_content table:not(.vts-tabla) { width:100%; border-collapse:separate; border-spacing:0; margin:24px 0; border:1px solid #d6eef9; border-radius:12px; overflow:hidden; font-size:15px; line-height:22px; color:#3f3f50; }
.single-post .w-post-elm.post_content table:not(.vts-tabla) caption { caption-side:top; text-align:left; font-weight:700; padding:0 0 8px; }
.single-post .w-post-elm.post_content table:not(.vts-tabla) th { background:#effaff; color:#0f7bad; font-weight:700; text-align:left; }
.single-post .w-post-elm.post_content table:not(.vts-tabla) th, .single-post .w-post-elm.post_content table:not(.vts-tabla) td { padding:12px 16px; border:0; border-bottom:1px solid #e6f3fa; }
.single-post .w-post-elm.post_content table:not(.vts-tabla) tr:last-child > * { border-bottom:0; }
@media (max-width:767px) { .single-post .w-post-elm.post_content table:not(.vts-tabla) { display:block; overflow-x:auto; } }
