/* Configurador de precios: se marcan canales y el resumen suma en vivo. */
.vc-configurator { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); align-items: start; gap: 24px; }
.vc-channel-picker { display: grid; gap: 12px; }
.vc-channel-option { border: 1.5px solid var(--border); border-radius: 14px; background: var(--bg); transition: border-color .2s ease, box-shadow .2s ease; }
.vc-channel-option.is-selected { border-color: var(--accent); box-shadow: var(--shadow-violet); }
.vc-channel-head { display: flex; padding: 18px 20px; align-items: flex-start; gap: 14px; cursor: pointer; }
.vc-channel-head input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.vc-channel-mark { display: grid; width: 24px; height: 24px; flex: 0 0 24px; margin-top: 2px; place-items: center; border: 1.5px solid var(--border); border-radius: 7px; color: transparent; background: var(--bg); transition: background .2s ease, border-color .2s ease, color .2s ease; }
.vc-channel-mark .vc-icon { width: 15px; height: 15px; }
.is-selected .vc-channel-mark { border-color: var(--accent); color: #fff; background: var(--accent); }
.vc-channel-head input:focus-visible + .vc-channel-mark { outline: 2px solid var(--accent); outline-offset: 3px; }
.vc-channel-title { display: grid; min-width: 0; flex: 1; gap: 3px; }
.vc-channel-name { display: flex; align-items: center; gap: 8px; color: var(--heading); font-family: Sora, sans-serif; font-size: 16px; font-weight: 600; }
.vc-channel-name .vc-icon { width: 18px; height: 18px; color: var(--accent); }
.vc-channel-desc { color: var(--text-2); font-size: 13px; line-height: 1.5; }
.vc-channel-price { display: flex; align-items: baseline; gap: 3px; color: var(--heading); white-space: nowrap; }
.vc-channel-price strong { font-family: Sora, sans-serif; font-size: 22px; letter-spacing: -.03em; }
.vc-channel-price small { color: var(--text-2); font-size: 12px; }
.vc-channel-tiers { display: grid; padding: 0 20px 4px 58px; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.vc-tier { display: grid; padding: 10px 12px; gap: 2px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
.vc-tier.is-active { border-color: var(--accent); background: var(--accent-soft); }
.vc-tier input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.vc-tier input:focus-visible ~ span { outline: 2px solid var(--accent); outline-offset: 3px; }
.vc-tier span { color: var(--heading); font-size: 13px; font-weight: 600; }
.vc-tier small { color: var(--text-2); font-size: 11px; }
.vc-channel-features { display: grid; margin: 0; padding: 6px 20px 18px 58px; gap: 7px; list-style: none; }
.vc-channel-features li { display: flex; align-items: flex-start; gap: 8px; color: var(--text-2); font-size: 13px; }
.vc-channel-features .vc-icon { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; color: var(--accent); }
.vc-configurator-summary { position: sticky; top: 92px; padding: 24px; border: 1.5px solid var(--accent); border-radius: 16px; background: var(--bg); box-shadow: var(--shadow-violet); }
.vc-configurator-summary h3 { margin-bottom: 14px; font-size: 18px; }
.vc-summary-list { display: grid; margin: 0; padding: 0; gap: 9px; list-style: none; }
.vc-summary-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--text); font-size: 14px; }
.vc-summary-list strong { color: var(--heading); font-variant-numeric: tabular-nums; }
.vc-summary-tag { margin-left: 7px; padding: 2px 6px; border-radius: 5px; color: var(--accent); background: var(--accent-soft); font-family: "IBM Plex Mono", monospace; font-size: 10px; }
.vc-summary-empty { margin: 0; color: var(--text-2); font-size: 14px; }
.vc-summary-total { display: flex; margin-top: 16px; padding-top: 16px; align-items: baseline; justify-content: space-between; border-top: 1px solid var(--border); color: var(--heading); }
.vc-summary-total strong { font-family: Sora, sans-serif; font-size: 32px; letter-spacing: -.04em; }
.vc-summary-total small { margin-left: 3px; color: var(--text-2); font-family: "Plus Jakarta Sans", sans-serif; font-size: 13px; letter-spacing: 0; }
.vc-summary-saving { margin: 10px 0 0; color: #18794e; font-size: 13px; font-weight: 600; }
.vc-summary-note { margin: 8px 0 0; color: var(--text-2); font-size: 12px; line-height: 1.5; }
.vc-summary-cta { width: 100%; margin-top: 18px; }
.vc-summary-cta.is-disabled { pointer-events: none; opacity: .5; }
.vc-summary-help { margin: 12px 0 0; color: var(--text-2); font-size: 12px; text-align: center; }
@media (max-width: 991px) {
  .vc-configurator { grid-template-columns: 1fr; }
  .vc-configurator-summary { position: static; }
}
@media (max-width: 640px) {
  .vc-channel-head { padding: 16px; gap: 12px; }
  .vc-channel-price strong { font-size: 19px; }
  .vc-channel-tiers { padding: 0 16px 4px 16px; grid-template-columns: 1fr; }
  .vc-channel-features { padding: 6px 16px 16px 16px; }
}

/* Combinaciones sugeridas: atajos que marcan canales en el configurador. */
.vc-preset-row { display: flex; margin-bottom: 20px; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: 10px; }
.vc-preset { display: grid; min-width: 190px; padding: 14px 18px; gap: 2px; border: 1.5px solid var(--border); border-radius: 12px; background: var(--bg); cursor: pointer; text-align: left; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.vc-preset:hover { border-color: #c7bcf7; }
.vc-preset.is-active { border-color: var(--accent); background: var(--accent-soft); }
.vc-preset:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.vc-preset-name { color: var(--heading); font-family: Sora, sans-serif; font-size: 15px; font-weight: 600; }
.vc-preset-summary { color: var(--text-2); font-size: 12px; }
.vc-preset-price { margin-top: 4px; color: var(--accent); font-family: "IBM Plex Mono", monospace; font-size: 13px; font-variant-numeric: tabular-nums; }
.vc-preset-help { flex-basis: 100%; margin: 4px 0 0; color: var(--text-2); font-size: 12px; text-align: center; }
@media (max-width: 640px) {
  .vc-preset-row { flex-direction: column; }
  .vc-preset { min-width: 0; }
}

/* Compatibility with the currently published theme. */
#configurador{scroll-margin-top:100px}
#configurador [hidden]{display:none!important}
#configurador .vc-section-heading{display:block;text-align:center}
#configurador .vc-section-heading h2{max-width:760px;margin-inline:auto;text-wrap:balance}
#configurador .vc-section-heading>p{margin-inline:auto}
#configurador .vc-pricing-controls{display:flex;justify-content:center;margin-top:22px}
#configurador .vc-period-toggle button{min-height:44px}
#configurador .vc-summary-cta:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.vc-config-comparison .vc-comparison-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px}
.vc-config-comparison table{min-width:780px;width:100%;border-collapse:collapse}
.vc-config-comparison caption{padding:16px;text-align:left;font-size:13px;color:var(--text-2)}
.vc-config-comparison th,.vc-config-comparison td{padding:18px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}
.vc-config-comparison thead th{background:var(--accent-soft);color:var(--heading)}
.vc-config-comparison .vc-comparison-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(prefers-reduced-motion:reduce){#configurador .vc-channel-option,#configurador .vc-channel-mark,#configurador .vc-preset{transition:none}}
#configurador .vc-preset-help{font-size:12px;line-height:1.5}
#configurador .vc-summary-note,#configurador .vc-summary-help{font-size:12px;line-height:1.6}
#configurador .vc-summary-saving{font-size:13px;line-height:1.5}
#configurador .vc-pricing-footnote{max-width:960px;margin:24px auto 0}
#configurador .vc-pricing-footnote p{font-size:12px;line-height:1.6}

/* Oferta disponible en septiembre 2026; estilos acotados a precios. */
.vc-product-hero-copy .vc-availability-notice{font-size:14px;font-weight:600;line-height:1.6;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft);color:var(--heading)}
#configurador .vc-pricing-eyebrow{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.035em}
#configurador .vc-period-caption{font-size:13px;margin:12px auto 0;color:var(--text-2)}
#configurador .vc-period-toggle button{padding:10px 16px}
#configurador .vc-channel-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
#configurador .vc-tier{min-height:68px}
#configurador .vc-channel-features{list-style:none}
#configurador .vc-channel-features li:before{content:'✓';color:var(--accent);flex:0 0 16px}
#configurador .vc-channel-price strong{font-size:clamp(16px,1.6vw,22px)}
#configurador .vc-channel-more{display:block;margin:0 20px 20px 58px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
#configurador .vc-plan-detail{margin:0 20px 18px 58px;padding:14px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:13px;line-height:1.65}
#configurador .vc-coming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
#configurador .vc-coming-card{padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}
#configurador .vc-coming-card h3{font-size:17px;margin:12px 0 6px}
#configurador .vc-coming-card p{font-size:13px;color:var(--text-2);line-height:1.5;margin:0}
#configurador .vc-coming-badge{display:inline-block;padding:6px 10px;border-radius:8px;color:var(--text);background:var(--accent-soft);font-size:12px;font-weight:600;line-height:1.5}
#configurador .vc-summary-total strong{font-size:clamp(24px,2.3vw,32px)}
#configurador .vc-wa-rates{margin-top:64px;padding-top:48px;border-top:1px solid var(--border);scroll-margin-top:100px}
#configurador .vc-wa-heading{max-width:760px;margin:0 auto 28px;text-align:center}
#configurador .vc-wa-heading h2{font-size:clamp(26px,3vw,38px);margin:12px 0;line-height:1.2}
#configurador .vc-wa-heading>p:last-child{color:var(--text-2);font-size:16px;line-height:1.7}
#configurador .vc-wa-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
#configurador .vc-wa-period{border:1px solid var(--border);border-radius:16px;background:var(--bg);padding:26px}
#configurador .vc-wa-next{border-color:var(--accent);background:var(--accent-soft)}
#configurador .vc-wa-period h3{font-size:21px;line-height:1.35;margin:16px 0 10px}
#configurador .vc-wa-period p{font-size:14px;line-height:1.75;margin:8px 0;color:var(--text)}
#configurador .vc-wa-table{overflow:auto;border:1px solid var(--border);border-radius:14px}
#configurador .vc-wa-table table{width:100%;min-width:590px;border-collapse:collapse;background:var(--bg)}
#configurador .vc-wa-table caption{padding:16px;text-align:left;font-size:13px;color:var(--text-2)}
#configurador .vc-wa-table th,#configurador .vc-wa-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--border);font-size:14px;line-height:1.5}
#configurador .vc-wa-table thead{background:var(--accent-soft);color:var(--heading)}
#configurador .vc-wa-table small,.vc-config-comparison td small{display:block;color:var(--text-2);font-size:12px;font-weight:400;margin-top:4px}
#configurador .vc-wa-note,#configurador .vc-wa-sources{font-size:12px;line-height:1.7;color:var(--text-2);margin:16px 0 0}
#configurador .vc-wa-sources a{text-decoration:underline;text-underline-offset:3px}
#configurador .vc-wa-table:focus-visible,#configurador a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.vc-config-comparison .vc-section-heading{display:block;text-align:center}
.vc-config-comparison .vc-section-heading h2,.vc-config-comparison .vc-section-heading p{margin-inline:auto}
@media(max-width:640px){
  #configurador .vc-preset-row{display:grid;grid-template-columns:1fr;gap:8px}
  #configurador .vc-preset{grid-template-columns:1fr auto;column-gap:12px;padding:12px 16px}
  #configurador .vc-preset-summary{grid-column:1;grid-row:2}
  #configurador .vc-preset-price{grid-column:2;grid-row:1/3;align-self:center}
  #configurador .vc-channel-head{display:grid;grid-template-columns:24px minmax(0,1fr)}
  #configurador .vc-channel-price{grid-column:2;margin-left:0}
  #configurador .vc-channel-name{font-size:17px}
  #configurador .vc-plan-detail,#configurador .vc-channel-more{margin-left:16px;margin-right:16px}
  #configurador .vc-coming-grid,#configurador .vc-wa-periods{grid-template-columns:1fr}
  #configurador .vc-wa-period{padding:20px}
  #configurador .vc-wa-rates{margin-top:40px;padding-top:32px}
}

/* Planes WhatsApp Esencial, Impulso y A medida. */
#configurador .vc-configurator-plans{grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:24px}
#configurador .vc-configurator-plans .vc-channel-picker{display:contents}
#configurador [data-vc-channel-option="whatsapp"]{grid-column:1/-1}
#configurador .vc-configurator-plans .vc-configurator-summary{grid-column:2;grid-row:2/4}
#configurador .vc-configurator-plans .vc-coming-grid{grid-column:1}
#configurador .vc-wa-plans{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 24px 24px;gap:18px}
#configurador .vc-wa-plan{padding:24px;gap:10px;align-content:start;border-radius:16px;background:var(--bg)}
#configurador .vc-wa-plan.is-active{background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
#configurador .vc-wa-plan .vc-wa-plan-name{font-size:23px;line-height:1.3}
#configurador .vc-wa-plan small{font-size:12px;line-height:1.6}
#configurador .vc-wa-plan .vc-wa-plan-desc{font-size:14px;min-height:44px}
#configurador .vc-wa-plan .vc-wa-plan-price{display:flex;align-items:baseline;gap:6px;min-height:48px;margin-top:6px}
#configurador .vc-wa-plan-price strong{font-size:32px;letter-spacing:-.04em;color:var(--heading);line-height:1.4}
#configurador .vc-wa-plan .vc-wa-plan-price small{font-size:14px;font-weight:400}
#configurador .vc-wa-plan .vc-wa-plan-action{display:flex;justify-content:space-between;align-items:center;min-height:46px;border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin:10px 0;font-size:14px;background:var(--bg)}
#configurador .vc-wa-plan.is-active .vc-wa-plan-action{background:var(--accent);border-color:var(--accent);color:white}
#configurador .vc-wa-plan.is-active .vc-wa-plan-action span{color:white}
#configurador .vc-wa-plan-features{display:grid;gap:13px;padding-top:16px;border-top:1px solid var(--border)}
#configurador .vc-wa-plan .vc-wa-plan-features>span{display:flex;gap:10px;font-size:14px;font-weight:400;line-height:1.5}
#configurador .vc-wa-plan-features>span:before{content:'✓';color:var(--accent);font-weight:700}
#configurador .vc-wa-plan .vc-wa-plan-badge{justify-self:start;padding:5px 9px;background:var(--accent-soft);border-radius:6px;color:var(--accent);font-weight:600;margin-top:10px}
#configurador .vc-wa-included{margin:0 24px;padding:20px;border-radius:12px;background:var(--bg-2);font-size:14px;color:var(--heading)}
#configurador .vc-wa-included p{font-size:14px;line-height:1.7;color:var(--text-2);margin:8px 0 0}
#configurador .vc-wa-extras{display:flex;flex-wrap:wrap;gap:16px 32px;margin:20px 24px;font-size:13px;color:var(--text-2)}
#configurador .vc-wa-extras strong{display:block;color:var(--heading);margin-bottom:3px}
#configurador [data-vc-channel-option="whatsapp"] .vc-channel-more{margin-left:24px}
#configurador .vc-billing-explainer{padding:24px;background:var(--bg-2);border:1px solid var(--border);border-radius:16px;margin-bottom:24px}
#configurador .vc-billing-explainer h3{font-size:20px;margin:0 0 12px}
#configurador .vc-billing-explainer p{font-size:14px;line-height:1.75;margin:8px 0}
@media(max-width:991px){
 #configurador .vc-configurator-plans{grid-template-columns:1fr}
 #configurador .vc-configurator-plans .vc-configurator-summary{grid-column:1;grid-row:auto}
 #configurador .vc-wa-plans{gap:10px;padding:8px 16px 16px}
 #configurador .vc-wa-plan{padding:18px}
}
@media(max-width:720px){
 #configurador .vc-wa-plans{grid-template-columns:1fr}
 #configurador .vc-wa-plan .vc-wa-plan-desc{min-height:0}
 #configurador .vc-wa-plan{gap:8px;padding:22px}
 #configurador .vc-wa-included{margin-inline:16px}
 #configurador .vc-wa-extras{margin-inline:16px}
}

#configurador .vc-wa-next-step{margin:0 24px 24px;text-align:right}
#tu-plan-chlozo{scroll-margin-top:110px}
@media(max-width:720px){#configurador .vc-wa-next-step{margin-inline:16px}#configurador .vc-wa-next-step a{width:100%;font-size:14px}}
