button{font-family:inherit}

.vyl-hov-1:hover{border-color:#3FA0DA !important}
.vyl-card-btn:hover{opacity:0.88}
.fs-btn-dark{display:inline-block;background:#171A1C;color:#fff;padding:14px 26px;border-radius:8px;font-weight:700;font-size:14.5px;text-align:center}
a.fs-btn-dark:hover{background:#3B4247;color:#fff}
.fs-btn-line{display:inline-block;background:transparent;color:#171A1C;border:1px solid #171A1C;padding:13px 26px;border-radius:8px;font-weight:700;font-size:14.5px;text-align:center}
a.fs-btn-line:hover{background:#171A1C;color:#fff}
.fs-btn-blue{display:inline-block;background:#3FA0DA;color:#fff;padding:14px 26px;border-radius:8px;font-weight:700;font-size:14.5px;text-align:center}
a.fs-btn-blue:hover{background:#1F78AB;color:#fff}

.fs-wrap{max-width:1280px;margin:0 auto}
.fs-section{padding:clamp(56px,8vw,104px) 32px 0}
.fs-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
.fs-h2{font-weight:800;font-size:clamp(28px,3.6vw,44px);letter-spacing:-0.03em;line-height:1.08;color:#171A1C}
.fs-lead{max-width:60ch;font-size:17px;line-height:1.65;color:#5B6368}
.fs-kicker{font-size:13px;font-weight:700;color:#3FA0DA;letter-spacing:0.01em;margin-bottom:12px}

/* ---- placeholders de imagen ---- */
.fs-ph{position:relative;overflow:hidden;background:#EEF1F3;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px}
.fs-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fs-ph > span{font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.5;color:#7A8288;max-width:34ch}
.fs-ph > span b{display:block;color:#3B4247;font-weight:500;margin-bottom:4px;letter-spacing:0.04em}
.fs-ph--dark{background:transparent;border:none;border-radius:0}

/* ---- reproductor de demo ---- */
.fs-player{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border:1px solid #DDE1E4;border-radius:99px;background:#fff}
.fs-play{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#171A1C;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fs-play[disabled]{background:#C9CED2;cursor:default}
.fs-bar{flex:1;height:3px;background:#E7E9EB;border-radius:99px;overflow:hidden;cursor:pointer;min-width:40px}
.fs-bar-fill{width:0%;height:100%;background:#171A1C}
.fs-time{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8A9095;flex-shrink:0;text-align:right;min-width:34px}
.fs-player.is-empty .fs-time{min-width:0;font-size:10.5px;text-transform:uppercase;letter-spacing:0.03em}

/* ---- programación del día ---- */
.fs-day{border-top:2px solid #171A1C}
.fs-day-row{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:baseline;padding:15px 0;border-bottom:1px solid #E7E9EB}
.fs-day-row time{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;color:#171A1C}
.fs-day-row b{font-size:16px;font-weight:700;color:#171A1C}
.fs-day-row span{font-size:13px;color:#8A9095}

/* ---- temas ---- */
.fs-topic{display:grid;grid-template-columns:200px minmax(0,1fr) 270px;gap:clamp(18px,3vw,36px);align-items:center;padding:22px 0;border-top:1px solid #E7E9EB}
.fs-topic:last-child{border-bottom:1px solid #E7E9EB}
.fs-topic h3{font-weight:800;font-size:22px;letter-spacing:-0.02em;color:#171A1C}
.fs-topic p{margin-top:6px;font-size:14.5px;line-height:1.6;color:#5B6368;max-width:54ch}

/* ---- voces ---- */

/* ---- cómo funciona ---- */
.fs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.fs-step-n{font-weight:800;font-size:clamp(56px,7vw,92px);line-height:0.9;letter-spacing:-0.05em;color:#E7E9EB}
.fs-step h3{margin-top:14px;font-weight:800;font-size:20px;letter-spacing:-0.015em;color:#171A1C}
.fs-step p{margin-top:8px;font-size:14.5px;line-height:1.6;color:#5B6368}

/* ---- planes ---- */
.fs-plans{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #171A1C;border-radius:10px;overflow:hidden}
.fs-plan{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;background:#fff}
.fs-plan.is-dark{background:#171A1C;color:#fff}
.fs-plan h3{font-weight:800;font-size:26px;letter-spacing:-0.02em}
.fs-plan-sub{margin-top:6px;font-size:14.5px;line-height:1.55;color:#5B6368}
.fs-plan.is-dark .fs-plan-sub{color:rgba(255,255,255,0.65)}
.fs-price{margin-top:26px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fs-price b{font-weight:800;font-size:clamp(34px,3.8vw,50px);letter-spacing:-0.045em;line-height:1}
.fs-price span{font-size:14px;color:#8A9095}
.fs-plan.is-dark .fs-price span{color:rgba(255,255,255,0.6)}
.fs-list{list-style:none;margin:28px 0 32px;padding-top:22px;border-top:1px solid rgba(127,135,140,0.35);display:flex;flex-direction:column;gap:12px}
.fs-list li{font-size:15px;line-height:1.5;padding-left:18px;position:relative}
.fs-list li::before{content:"";position:absolute;left:0;top:0.62em;width:7px;height:2px;background:#3FA0DA}
.fs-plan .fs-cta{margin-top:auto}
.fs-plan.is-dark .fs-btn-line{color:#fff;border-color:#fff}
.fs-plan.is-dark a.fs-btn-line:hover{background:#fff;color:#171A1C}

/* ---- faq ---- */
.fs-faq{border-top:2px solid #171A1C}
.fs-faq details{border-bottom:1px solid #E7E9EB}
.fs-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:700;font-size:16.5px;color:#171A1C}
.fs-faq summary::-webkit-details-marker{display:none}
.fs-faq summary::after{content:"+";font-size:24px;font-weight:400;color:#8A9095;transition:transform .2s ease}
.fs-faq details[open] summary::after{transform:rotate(45deg)}
.fs-faq details p{padding:0 0 22px;max-width:68ch;font-size:15px;line-height:1.65;color:#5B6368}

@media (max-width: 1000px){
  .fs-split{grid-template-columns:1fr}
  .fs-topic{grid-template-columns:140px minmax(0,1fr)}
  .fs-topic .fs-player{grid-column:1 / -1}

}
@media (max-width: 720px){
  .fs-steps{grid-template-columns:1fr}
  .fs-plans{grid-template-columns:1fr}
  .fs-topic{grid-template-columns:1fr}
  .fs-day-row{grid-template-columns:64px 1fr}
  .fs-day-row span{grid-column:2}

}
@media (max-width: 860px){
  .fs-radioon{grid-template-columns:1fr !important}
  .fs-radioon .fs-ph{min-height:260px !important}
}
.fs-wa{display:inline-flex !important;align-items:center;justify-content:center;gap:9px}

/* el a:hover global de base.css pisa el color del texto: se fija en cada botón */
a.fs-btn-dark,a.fs-btn-blue{color:#fff}
a.fs-btn-line{color:#171A1C}
.fs-plan.is-dark a.fs-btn-line{color:#fff}

/* ---- animación de la programación del día ---- */
.fs-day-row{transition:opacity .5s ease,background-color .4s ease}
.fs-day-row.is-wait{opacity:0.3}
.fs-day-row.is-gen{background:#F2F8FC}
.fs-day-st{display:inline-flex;align-items:center;gap:8px;min-width:120px;justify-content:flex-end;transition:color .3s ease}
.fs-day-row.is-gen .fs-day-st{color:#2C8FC4;font-weight:600}
.fs-day-row.is-done .fs-day-st{color:#5B6368}
.fs-day-row.is-done .fs-day-st::before{content:"";width:6px;height:6px;border-radius:50%;background:#2FA58A}
.fs-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
.fs-eq i{width:3px;background:#3FA0DA;border-radius:1px;animation:fsEq .8s ease-in-out infinite}
.fs-eq i:nth-child(2){animation-delay:.15s}
.fs-eq i:nth-child(3){animation-delay:.3s}
@keyframes fsEq{0%,100%{height:3px}50%{height:12px}}
@media (prefers-reduced-motion: reduce){
  .fs-day-row{transition:none}
  .fs-eq i{animation:none;height:8px}
}

/* ---- personalización y auspicios ---- */
.fs-custom{padding:36px 0;border-top:1px solid #E7E9EB}
.fs-custom:first-child{border-top:2px solid #171A1C}
.fs-custom:last-child{border-bottom:1px solid #E7E9EB}
.fs-custom h3{font-weight:800;font-size:22px;letter-spacing:-0.02em;color:#171A1C}
.fs-custom p{margin-top:10px;max-width:56ch;font-size:14.5px;line-height:1.6;color:#5B6368}
.fs-custom .fs-player{max-width:300px;margin-top:20px}

/* ---- otros países ---- */
.fs-countries{border-top:2px solid #171A1C}
.fs-country{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:center;padding:36px 0;border-bottom:1px solid #E7E9EB}
.fs-country h3{font-weight:800;font-size:22px;letter-spacing:-0.02em;color:#171A1C}
.fs-country p{margin-top:6px;font-size:14px;color:#5B6368}
@media (max-width: 720px){ .fs-country{grid-template-columns:1fr} }

.fs-plan + .fs-plan{border-left:1px solid #171A1C}
@media (max-width: 1000px){
  .fs-plans{grid-template-columns:1fr}
  .fs-plan + .fs-plan{border-left:none;border-top:1px solid #171A1C}
}
@media (min-width: 1001px){ .fs-plan-sub{min-height:4.7em} }

/* ---- elección de servicio ---- */
.fs-choices{border-top:2px solid #171A1C}
.fs-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:24px 0;border-bottom:1px solid #E7E9EB;color:#171A1C}
.fs-choice b{grid-column:1;font-weight:800;font-size:22px;letter-spacing:-0.02em}
.fs-choice span{grid-column:1;font-size:14.5px;line-height:1.55;color:#5B6368;max-width:52ch}
.fs-choice i{grid-column:2;grid-row:1 / span 2;align-self:center;font-style:normal;font-weight:700;font-size:13.5px;color:#2C8FC4}
a.fs-choice:hover{color:#171A1C}
a.fs-choice:hover i{text-decoration:underline}
.fs-h3{font-weight:800;font-size:clamp(22px,2.4vw,28px);letter-spacing:-0.02em;color:#171A1C}

/* ---- tablas de planes ---- */
.fs-tablewrap{overflow-x:auto;border:1px solid #171A1C;border-radius:10px}
.fs-table{width:100%;min-width:700px;border-collapse:collapse;background:#fff}
.fs-table th,.fs-table td{padding:18px 22px;text-align:left;vertical-align:top;border-top:1px solid #E7E9EB;font-size:14.5px;line-height:1.5;color:#3B4247}
.fs-table thead th{white-space:nowrap;border-top:none;border-bottom:2px solid #171A1C;vertical-align:bottom;padding-top:24px;padding-bottom:18px}
.fs-table tbody th{font-weight:700;font-size:13.5px;color:#171A1C;width:22%;background:#FAFBFB}
.fs-plan-name{display:inline-block;vertical-align:middle;font-weight:800;font-size:22px;letter-spacing:-0.02em;color:#171A1C}
.fs-tag{display:inline-block;margin:0 0 0 10px;vertical-align:middle;font-style:normal;font-size:11px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;color:#2C8FC4;border:1px solid #2C8FC4;border-radius:99px;padding:2px 9px}
.fs-big{font-weight:800;font-size:26px;letter-spacing:-0.03em;color:#171A1C}
.fs-trow-price th,.fs-trow-price td{background:#F2F8FC}
.fs-tprice{display:block;font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-0.035em;line-height:1.1;color:#171A1C}
.fs-trow-price small{display:block;margin-top:4px;font-size:12px;color:#8A9095}
.fs-muted{color:#8A9095}
.fs-off{display:inline-block;background:#171A1C;color:#fff;font-size:12px;font-weight:800;padding:4px 11px;border-radius:99px}
.fs-trow-buy th{background:#fff}
.fs-btn-sm{padding:11px 20px !important;font-size:13.5px !important}
@media (max-width: 720px){
  .fs-table tbody th{position:sticky;left:0;z-index:1;min-width:120px}
}

/* ---- incluido en todos los planes ---- */
.fs-incl{list-style:none;display:flex;flex-direction:column;border-top:2px solid #171A1C}
.fs-incl li{padding:16px 0 16px 20px;border-bottom:1px solid #E7E9EB;font-size:15.5px;line-height:1.5;color:#3B4247;position:relative}
.fs-incl li::before{content:"";position:absolute;left:0;top:1.35em;width:8px;height:2px;background:#3FA0DA}

/* ---- demos de Panorama ---- */
.fs-pdemos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:28px}
.fs-pdemo{border-top:2px solid #171A1C;padding-top:18px;display:flex;flex-direction:column}
.fs-pdemo h3{font-weight:800;font-size:22px;letter-spacing:-0.02em;color:#171A1C}
.fs-pdemo p{margin:6px 0 20px;font-size:14px;line-height:1.55;color:#5B6368;flex:1}
@media (max-width: 860px){ .fs-pdemos{grid-template-columns:1fr} }

/* ---- tablas en móvil ---- */
.fs-swipe{display:none;margin:0 0 10px;font-size:12.5px;color:#8A9095}
@media (max-width: 720px){
  .fs-swipe{display:block}
  .fs-table{min-width:600px}
  .fs-table th,.fs-table td{padding:14px 12px;font-size:13.5px}
  .fs-table tbody th{width:26%;min-width:104px;font-size:12.5px}
  .fs-plan-name{font-size:19px}
  .fs-tprice{font-size:22px}
}
