{"id":238,"date":"2026-08-01T18:39:04","date_gmt":"2026-08-01T18:39:04","guid":{"rendered":"https:\/\/viadialoga.com\/?page_id=238"},"modified":"2026-08-09T04:07:08","modified_gmt":"2026-08-09T04:07:08","slug":"individual-class-plans","status":"publish","type":"page","link":"https:\/\/viadialoga.com\/es\/individual-class-plans\/","title":{"rendered":"Group Class Plans"},"content":{"rendered":"\n<!-- =========================================\nV\u00cdA DIALOGA \u2014 FULL-WIDTH RESPONSIVE NAVIGATION\n\nDesktop: horizontal and edge-to-edge\nTablet: horizontal and edge-to-edge\nMobile: dropdown hamburger menu\nNo JavaScript required\n========================================= -->\n\n<style>\n  .vd-site-nav,\n  .vd-site-nav * {\n    box-sizing: border-box;\n  }\n\n  .vd-site-nav {\n    --vd-dark: #172f2a;\n    --vd-green: #1d5a49;\n    --vd-green-hover: #17483b;\n    --vd-cream: #fbfaf7;\n    --vd-white: #ffffff;\n    --vd-border: #d9e2de;\n    --vd-text: #26302d;\n\n    position: relative;\n    z-index: 1000;\n\n    \/*\n     * Breaks the navigation outside the WordPress\n     * content container on desktop, tablet, and mobile.\n     *\/\n    width: 100vw;\n    max-width: none;\n    margin-right: calc(50% - 50vw);\n    margin-left: calc(50% - 50vw);\n\n    padding: 0;\n    border-bottom: 1px solid var(--vd-border);\n    background: var(--vd-cream);\n    color: var(--vd-text);\n    font-family: Arial, Helvetica, sans-serif;\n  }\n\n  .vd-nav-inner {\n    display: flex;\n    width: 100%;\n    min-height: 76px;\n    margin: 0;\n    padding: 0 32px;\n    align-items: center;\n    justify-content: space-between;\n    gap: 28px;\n  }\n\n  .vd-nav-brand {\n    display: inline-flex;\n    color: var(--vd-dark);\n    font-size: clamp(1.55rem, 3vw, 2.15rem);\n    font-weight: 800;\n    line-height: 1;\n    text-decoration: none;\n    white-space: nowrap;\n    align-items: center;\n  }\n\n  .vd-nav-brand:hover {\n    color: var(--vd-green);\n    text-decoration: none;\n  }\n\n  .vd-nav-links {\n    display: flex;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 6px;\n  }\n\n  .vd-nav-links li {\n    margin: 0;\n    padding: 0;\n  }\n\n  .vd-nav-link {\n    display: inline-flex;\n    min-height: 44px;\n    padding: 10px 15px;\n    border-radius: 9px;\n    color: var(--vd-text);\n    font-size: 0.98rem;\n    font-weight: 700;\n    line-height: 1.2;\n    text-decoration: none;\n    align-items: center;\n    justify-content: center;\n    transition:\n      background 0.2s ease,\n      color 0.2s ease,\n      transform 0.2s ease;\n  }\n\n  .vd-nav-link:hover {\n    background: #edf4f1;\n    color: var(--vd-green);\n    text-decoration: none;\n    transform: translateY(-1px);\n  }\n\n  .vd-nav-link:focus-visible,\n  .vd-nav-brand:focus-visible,\n  .vd-nav-toggle-label:focus-visible {\n    outline: 3px solid rgba(29, 90, 73, 0.25);\n    outline-offset: 3px;\n  }\n\n  .vd-nav-schedule {\n    margin-left: 6px;\n    padding-right: 20px;\n    padding-left: 20px;\n    background: var(--vd-green);\n    color: var(--vd-white);\n  }\n\n  .vd-nav-schedule:hover {\n    background: var(--vd-green-hover);\n    color: var(--vd-white);\n  }\n\n  \/*\n   * Hidden checkbox controls the mobile menu.\n   *\/\n\n  .vd-nav-toggle {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    opacity: 0;\n    pointer-events: none;\n  }\n\n  .vd-nav-toggle-label {\n    display: none;\n    width: auto;\n    min-width: 90px;\n    height: 42px;\n    padding: 0 13px;\n    border: 1px solid var(--vd-border);\n    border-radius: 9px;\n    background: var(--vd-white);\n    cursor: pointer;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n  }\n\n  .vd-nav-toggle-text {\n    color: var(--vd-dark);\n    font-size: 0.92rem;\n    font-weight: 700;\n    line-height: 1;\n  }\n\n  .vd-nav-toggle-icon,\n  .vd-nav-toggle-icon::before,\n  .vd-nav-toggle-icon::after {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 2px;\n    background: var(--vd-dark);\n    transition:\n      transform 0.2s ease,\n      opacity 0.2s ease;\n  }\n\n  .vd-nav-toggle-icon {\n    position: relative;\n  }\n\n  .vd-nav-toggle-icon::before,\n  .vd-nav-toggle-icon::after {\n    position: absolute;\n    left: 0;\n    content: \"\";\n  }\n\n  .vd-nav-toggle-icon::before {\n    top: -7px;\n  }\n\n  .vd-nav-toggle-icon::after {\n    top: 7px;\n  }\n\n  \/*\n   * Tablet layout remains horizontal.\n   *\/\n\n  @media (max-width: 900px) and (min-width: 621px) {\n    .vd-nav-inner {\n      min-height: 70px;\n      padding-right: 20px;\n      padding-left: 20px;\n      gap: 12px;\n    }\n\n    .vd-nav-brand {\n      font-size: 1.55rem;\n    }\n\n    .vd-nav-links {\n      gap: 2px;\n    }\n\n    .vd-nav-link {\n      padding-right: 10px;\n      padding-left: 10px;\n      font-size: 0.9rem;\n    }\n\n    .vd-nav-schedule {\n      margin-left: 2px;\n      padding-right: 14px;\n      padding-left: 14px;\n    }\n  }\n\n  \/*\n   * Mobile dropdown begins only below 620px.\n   *\/\n\n  @media (max-width: 620px) {\n    .vd-nav-inner {\n      position: relative;\n      min-height: 68px;\n      padding: 0 12px;\n      flex-wrap: wrap;\n      gap: 0;\n    }\n\n    .vd-nav-brand {\n      font-size: 1.45rem;\n    }\n\n    .vd-nav-toggle-label {\n      display: inline-flex;\n      margin-right: 16px;\n    }\n\n    .vd-nav-links {\n      display: none;\n      width: calc(100% + 24px);\n      margin-right: -12px;\n      margin-left: -12px;\n      padding: 0;\n      border-top: 1px solid var(--vd-border);\n      background: var(--vd-white);\n      flex-direction: column;\n      align-items: stretch;\n      gap: 0;\n    }\n\n    .vd-nav-links li {\n      width: 100%;\n      border-bottom: 1px solid var(--vd-border);\n    }\n\n    .vd-nav-links li:last-child {\n      border-bottom: 0;\n    }\n\n    .vd-nav-link {\n      width: 100%;\n      min-height: 54px;\n      padding: 14px 20px;\n      border: 0;\n      border-radius: 0;\n      justify-content: flex-start;\n    }\n\n    .vd-nav-link:hover {\n      background: #edf4f1;\n      transform: none;\n    }\n\n    .vd-nav-schedule {\n      margin: 0;\n      background: var(--vd-green);\n      color: var(--vd-white);\n      justify-content: center;\n    }\n\n    .vd-nav-schedule:hover {\n      background: var(--vd-green-hover);\n      color: var(--vd-white);\n    }\n\n    .vd-nav-toggle:checked ~ .vd-nav-links {\n      display: flex;\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon {\n      background: transparent;\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon::before {\n      top: 0;\n      transform: rotate(45deg);\n    }\n\n    .vd-nav-toggle:checked\n      + .vd-nav-toggle-label\n      .vd-nav-toggle-icon::after {\n      top: 0;\n      transform: rotate(-45deg);\n    }\n  }\n<\/style>\n\n<nav class=\"vd-site-nav\" aria-label=\"Main navigation\">\n  <div class=\"vd-nav-inner\">\n\n    <a class=\"vd-nav-brand\" href=\"https:\/\/viadialoga.com\/\" aria-label=\"V\u00eda Dialoga home\">\n      V\u00eda Dialoga\n    <\/a>\n\n    <input class=\"vd-nav-toggle\" id=\"vdNavToggle\" type=\"checkbox\">\n\n    <label class=\"vd-nav-toggle-label\" for=\"vdNavToggle\" aria-label=\"Open or close navigation menu\">\n      <span class=\"vd-nav-toggle-text\">Menu<\/span>\n      <span class=\"vd-nav-toggle-icon\"><\/span>\n    <\/label>\n\n    <ul class=\"vd-nav-links\">\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/\">\n          Home\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/about-us\/\">\n          About Us\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/prices\/\">\n          Prices\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link\" href=\"https:\/\/viadialoga.com\/free-study-material\/\">\n          Free Study Material\n        <\/a>\n      <\/li>\n\n      <li>\n        <a class=\"vd-nav-link vd-nav-schedule\" href=\"https:\/\/viadialoga.com\/schedule\/\">\n          Schedule\n        <\/a>\n      <\/li>\n    <\/ul>\n\n  <\/div>\n<\/nav>\n\n\n\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .vd-class-description {\n    text-align: left;\n  }\n\n  .vd-class-description h2 {\n    margin: 0;\n    line-height: 1.05;\n  }\n\n  .vd-class-description .vd-heading-break {\n    display: block;\n    height: 10px;\n  }\n\n  .vd-class-description p {\n    margin: 0;\n    line-height: 1.25;\n  }\n\n  .vd-class-description p + p {\n    margin-top: 8px;\n  }\n\n  \/* Desktop only *\/\n  @media (min-width: 1024px) {\n    .vd-class-description {\n      text-align: center;\n    }\n\n    .vd-class-description h2 {\n      line-height: 1.03;\n      text-align: center;\n    }\n\n    .vd-class-description .vd-heading-break {\n      height: 8px;\n    }\n\n    .vd-class-description p {\n      line-height: 1.22;\n    }\n\n    .vd-class-description p + p {\n      margin-top: 6px;\n    }\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 700px) {\n    .vd-class-description h2 {\n      line-height: 1.02;\n      text-align: center;\n    }\n\n    .vd-class-description .vd-heading-break {\n      height: 8px;\n    }\n\n    .vd-class-description p {\n      line-height: 1.16;\n    }\n\n    .vd-class-description p + p {\n      margin-top: 6px;\n    }\n  }\n<\/style>\n\n<section class=\"vd-class-description\">\n  <h2>Learn Through Real Communication<\/h2>\n  <span class=\"vd-heading-break\" aria-hidden=\"true\"><\/span>\n\n  <p>\n    Our live group classes bring English and Spanish learners together, creating\n    an experience that feels more like real-life communication than traditional\n    language instruction.\n  <\/p>\n\n  <p>\n    Instructors move naturally between English and Spanish while guiding\n    conversations, short lessons, role-playing, reading activities, and\n    interactive exercises. Students practice speaking, listening, reading, and\n    writing while working toward their learning goals.\n  <\/p>\n\n  <p>\n    Each class includes 45 minutes of guided instruction followed by a\n    10-minute shared question period.\n  <\/p>\n<\/section>\n\n\n\n<!-- =========================================\nV\u00cdA DIALOGA \u2014 Group CLASS PLANS\nReplace policy URLs and Stripe URLs before launch.\n========================================= -->\n\n<style>\n  .vd-pricing-page,\n  .vd-pricing-page * {\n    box-sizing: border-box;\n  }\n\n  .vd-pricing-page {\n    --vd-dark: #172f2a;\n    --vd-green: #1d5a49;\n    --vd-green-hover: #17483b;\n    --vd-light-green: #eef6f2;\n    --vd-blue: #137f9b;\n    --vd-gold: #d79621;\n    --vd-text: #202725;\n    --vd-muted: #66706c;\n    --vd-border: #d9e2de;\n    --vd-background: #fbfaf7;\n    --vd-white: #ffffff;\n    --vd-danger: #a52a2a;\n\n    max-width: 1120px;\n    margin: 0 auto;\n    padding: 32px 18px 64px;\n    color: var(--vd-text);\n    background: var(--vd-background);\n    font-family: Arial, Helvetica, sans-serif;\n    line-height: 1.5;\n  }\n\n  .vd-hero {\n    text-align: center;\n    margin-bottom: 32px;\n  }\n\n  .vd-eyebrow {\n    margin: 0 0 8px;\n    color: var(--vd-green);\n    font-size: 0.9rem;\n    font-weight: 700;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n  }\n\n  .vd-title {\n    margin: 0;\n    color: var(--vd-dark);\n    font-size: clamp(2rem, 5vw, 3.6rem);\n    line-height: 1.08;\n  }\n\n  .vd-subtitle {\n    max-width: 740px;\n    margin: 14px auto 0;\n    color: var(--vd-muted);\n    font-size: 1.08rem;\n  }\n\n  .vd-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);\n    gap: 28px;\n    align-items: start;\n  }\n\n  .vd-panel {\n    padding: 26px;\n    border: 1px solid var(--vd-border);\n    border-radius: 18px;\n    background: var(--vd-white);\n    box-shadow: 0 10px 30px rgba(23, 47, 42, 0.07);\n  }\n\n  .vd-panel h2 {\n    margin: 0 0 6px;\n    color: var(--vd-dark);\n    font-size: 1.5rem;\n  }\n\n  .vd-panel-intro {\n    margin: 0 0 22px;\n    color: var(--vd-muted);\n  }\n\n  .vd-field {\n    margin-bottom: 22px;\n  }\n\n  .vd-label {\n    display: block;\n    margin-bottom: 8px;\n    color: var(--vd-dark);\n    font-size: 1rem;\n    font-weight: 700;\n  }\n\n  .vd-select {\n    width: 100%;\n    min-height: 50px;\n    padding: 11px 42px 11px 14px;\n    border: 1px solid #aebbb5;\n    border-radius: 10px;\n    background-color: var(--vd-white);\n    color: var(--vd-text);\n    font-size: 1rem;\n    cursor: pointer;\n  }\n\n  .vd-select:focus,\n  .vd-checkbox:focus,\n  .vd-checkout-button:focus {\n    outline: 3px solid rgba(19, 127, 155, 0.22);\n    outline-offset: 2px;\n  }\n\n  .vd-selection-summary {\n    margin-top: 20px;\n    padding: 22px;\n    border: 1px solid #c9ddd4;\n    border-radius: 14px;\n    background: var(--vd-light-green);\n  }\n\n  .vd-summary-label {\n    margin: 0 0 4px;\n    color: var(--vd-muted);\n    font-size: 0.84rem;\n    font-weight: 700;\n    letter-spacing: 0.06em;\n    text-transform: uppercase;\n  }\n\n  .vd-selected-plan {\n    margin: 0;\n    color: var(--vd-dark);\n    font-size: 1.45rem;\n    font-weight: 800;\n  }\n\n  .vd-plan-description {\n    margin: 7px 0 18px;\n    color: var(--vd-muted);\n  }\n\n  .vd-price-line {\n    display: flex;\n    align-items: baseline;\n    gap: 8px;\n    margin-bottom: 8px;\n  }\n\n  .vd-price {\n    color: var(--vd-dark);\n    font-size: clamp(2rem, 5vw, 3rem);\n    font-weight: 800;\n    line-height: 1;\n  }\n\n  .vd-price-period {\n    color: var(--vd-muted);\n    font-size: 1rem;\n  }\n\n  .vd-policy-box {\n    margin-top: 24px;\n    padding: 18px;\n    border: 1px solid var(--vd-border);\n    border-radius: 12px;\n    background: #fafafa;\n  }\n\n  .vd-policy-box h3 {\n    margin: 0 0 8px;\n    color: var(--vd-dark);\n    font-size: 1.05rem;\n  }\n\n  .vd-policy-links {\n    margin: 0 0 15px;\n    color: var(--vd-muted);\n    font-size: 0.92rem;\n  }\n\n  .vd-policy-links a {\n    display: block;\n    margin-top: 6px;\n    color: var(--vd-blue);\n    font-weight: 700;\n    text-decoration: underline;\n  }\n\n  .vd-agreement-label {\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    cursor: pointer;\n  }\n\n  .vd-checkbox {\n    width: 20px;\n    height: 20px;\n    margin-top: 2px;\n    flex: 0 0 auto;\n    accent-color: var(--vd-green);\n  }\n\n  .vd-agreement-text {\n    font-size: 0.94rem;\n  }\n\n  .vd-checkout-button {\n    width: 100%;\n    min-height: 54px;\n    margin-top: 18px;\n    padding: 14px 22px;\n    border: 0;\n    border-radius: 10px;\n    background: var(--vd-green);\n    color: var(--vd-white);\n    font-size: 1.05rem;\n    font-weight: 800;\n    cursor: pointer;\n    transition:\n      background 0.2s ease,\n      transform 0.2s ease,\n      opacity 0.2s ease;\n  }\n\n  .vd-checkout-button:hover:not(:disabled) {\n    background: var(--vd-green-hover);\n    transform: translateY(-1px);\n  }\n\n  .vd-checkout-button:disabled {\n    cursor: not-allowed;\n    opacity: 0.45;\n  }\n\n  .vd-secure-note {\n    margin: 10px 0 0;\n    color: var(--vd-muted);\n    font-size: 0.86rem;\n    text-align: center;\n  }\n\n  .vd-message {\n    min-height: 24px;\n    margin: 12px 0 0;\n    color: var(--vd-danger);\n    font-size: 0.9rem;\n    font-weight: 700;\n    text-align: center;\n  }\n\n  .vd-how-it-works {\n    margin-top: 34px;\n    padding: 28px;\n    border-radius: 18px;\n    background: var(--vd-dark);\n    color: var(--vd-white);\n  }\n\n  .vd-how-it-works h2 {\n    margin: 0 0 22px;\n    color: var(--vd-white);\n    text-align: center;\n  }\n\n  .vd-steps {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 18px;\n  }\n\n  .vd-step {\n    text-align: center;\n  }\n\n  .vd-step-number {\n    display: grid;\n    width: 38px;\n    height: 38px;\n    margin: 0 auto 10px;\n    border-radius: 50%;\n    background: var(--vd-white);\n    color: var(--vd-dark);\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .vd-step h3 {\n    margin: 0 0 5px;\n    color: var(--vd-white);\n    font-size: 1rem;\n  }\n\n  .vd-step p {\n    margin: 0;\n    color: #d9e6e1;\n    font-size: 0.9rem;\n  }\n\n  .vd-support-note {\n    margin: 26px 0 0;\n    color: var(--vd-muted);\n    font-size: 0.92rem;\n    text-align: center;\n  }\n\n  .vd-support-note a {\n    color: var(--vd-blue);\n    font-weight: 700;\n  }\n\n  @media (max-width: 820px) {\n    .vd-layout {\n      grid-template-columns: 1fr;\n    }\n\n    .vd-steps {\n      grid-template-columns: repeat(2, 1fr);\n    }\n  }\n\n  @media (max-width: 520px) {\n    .vd-pricing-page {\n      padding-right: 12px;\n      padding-left: 12px;\n    }\n\n    .vd-panel,\n    .vd-how-it-works {\n      padding: 20px;\n      border-radius: 14px;\n    }\n\n    .vd-steps {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style>\n\n<main class=\"vd-pricing-page\" id=\"vdPricingPage\">\n  <header class=\"vd-hero\">\n    <p class=\"vd-eyebrow\">V\u00eda Dialoga Memberships<\/p>\n\n    <h1 class=\"vd-title\">Group Class Plans<\/h1>\n\n    <p class=\"vd-subtitle\">\n      Choose the class package and billing option that best fit your\n      language-learning goals.\n    <\/p>\n  <\/header>\n\n  <section class=\"vd-layout\">\n    <div class=\"vd-panel\">\n      <h2>Choose your membership<\/h2>\n\n      <p class=\"vd-panel-intro\">\n        Your classes renew each billing period while your membership remains\n        active.\n      <\/p>\n\n      <div class=\"vd-field\">\n        <label class=\"vd-label\" for=\"vdPlan\">Class package<\/label>\n\n        <select class=\"vd-select\" id=\"vdPlan\">\n          <option value=\"group-4\">4 Group Classes<\/option>\n          <option value=\"group-8\">8 Group Classes<\/option>\n          <option value=\"combo-4-1\">4 Group + 1 One-on-One<\/option>\n          <option value=\"combo-8-2\">8 Group + 2 One-on-One<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"vd-field\">\n        <label class=\"vd-label\" for=\"vdBilling\">Billing option<\/label>\n\n        <select class=\"vd-select\" id=\"vdBilling\">\n          <option value=\"monthly\">Monthly<\/option>\n          <option value=\"yearly\">Yearly<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"vd-selection-summary\" aria-live=\"polite\" aria-atomic=\"true\">\n        <p class=\"vd-summary-label\">Your selection<\/p>\n\n        <p class=\"vd-selected-plan\" id=\"vdSelectedPlan\">\n          4 Group Classes\n        <\/p>\n\n        <p class=\"vd-plan-description\" id=\"vdPlanDescription\">\n          Includes access to four live group classes during each membership\n          period.\n        <\/p>\n\n        <div class=\"vd-price-line\">\n          <span class=\"vd-price\" id=\"vdPrice\">$49.99<\/span>\n          <span class=\"vd-price-period\" id=\"vdPricePeriod\">per month<\/span>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <aside class=\"vd-panel\">\n      <h2>Complete your purchase<\/h2>\n\n      <p class=\"vd-panel-intro\">\n        Review the terms below before continuing to Stripe\u2019s secure checkout.\n      <\/p>\n\n      <div class=\"vd-policy-box\">\n        <h3>Membership policies<\/h3>\n\n        <div class=\"vd-policy-links\">\n          <a href=\"\/terms-of-service\/\" target=\"_blank\" rel=\"noopener\">\n            Terms of Service\n          <\/a>\n          <a href=\"\/subscription-policy\/\" target=\"_blank\" rel=\"noopener\">\n            Subscription Policy\n          <\/a>\n          <a href=\"\/cancellation-policy\/\" target=\"_blank\" rel=\"noopener\">\n            Cancellation Policy\n          <\/a>\n          <a href=\"\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">\n            Privacy Policy\n          <\/a>\n        <\/div>\n\n        <label class=\"vd-agreement-label\" for=\"vdPolicyAgreement\">\n          <input class=\"vd-checkbox\" id=\"vdPolicyAgreement\" type=\"checkbox\">\n\n          <span class=\"vd-agreement-text\">\n            I confirm that I have reviewed and agree to the listed policies. I\n            understand that this membership renews automatically at the\n            displayed rate until canceled.\n          <\/span>\n        <\/label>\n      <\/div>\n\n      <button class=\"vd-checkout-button\" id=\"vdCheckoutButton\" type=\"button\" disabled=\"\">\n        Continue to Secure Checkout\n      <\/button>\n\n      <p class=\"vd-secure-note\">\n        Secure subscription checkout powered by Stripe.\n      <\/p>\n\n      <p class=\"vd-message\" id=\"vdMessage\" role=\"alert\"><\/p>\n    <\/aside>\n  <\/section>\n\n<\/main>\n\n<script>\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    \"use strict\";\n\n    \/*\n     * Replace every placeholder Stripe URL before accepting payments.\n     *\n     * Each monthly and yearly option receives its own Stripe Payment Link.\n     * Example:\n     * https:\/\/buy.stripe.com\/your-real-link\n     *\/\n\n    const plans = {\n      \"group-4\": {\n        name: \"4 Group Classes\",\n        description:\n          \"Includes access to four live group classes during each membership period.\",\n        monthly: {\n          price: \"$49.99\",\n          period: \"per month\",\n          renewal:\n            \"Renews automatically at $49.99 each month until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-GROUP-4-MONTHLY\"\n        },\n        yearly: {\n          price: \"$139.99\",\n          period: \"per year\",\n          renewal:\n            \"Renews automatically at the displayed annual price each year until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-GROUP-4-YEARLY\"\n        }\n      },\n\n      \"group-8\": {\n        name: \"8 Group Classes\",\n        description:\n          \"Includes access to eight live group classes during each membership period.\",\n        monthly: {\n          price: \"$84.99\",\n          period: \"per month\",\n          renewal:\n            \"Renews automatically at $84.99 each month until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-GROUP-8-MONTHLY\"\n        },\n        yearly: {\n          price: \"$REPLACE\",\n          period: \"per year\",\n          renewal:\n            \"Renews automatically at the displayed annual price each year until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-GROUP-8-YEARLY\"\n        }\n      },\n\n      \"combo-4-1\": {\n        name: \"4 Group + 1 One-on-One\",\n        description:\n          \"Includes four live group classes and one private one-on-one lesson during each membership period.\",\n        monthly: {\n          price: \"$79.99\",\n          period: \"per month\",\n          renewal:\n            \"Renews automatically at $79.99 each month until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-COMBO-4-1-MONTHLY\"\n        },\n        yearly: {\n          price: \"$REPLACE\",\n          period: \"per year\",\n          renewal:\n            \"Renews automatically at the displayed annual price each year until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-COMBO-4-1-YEARLY\"\n        }\n      },\n\n      \"combo-8-2\": {\n        name: \"8 Group + 2 One-on-One\",\n        description:\n          \"Includes eight live group classes and two private one-on-one lessons during each membership period.\",\n        monthly: {\n          price: \"$REPLACE\",\n          period: \"per month\",\n          renewal:\n            \"Renews automatically at the displayed monthly price each month until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-COMBO-8-2-MONTHLY\"\n        },\n        yearly: {\n          price: \"$REPLACE\",\n          period: \"per year\",\n          renewal:\n            \"Renews automatically at the displayed annual price each year until canceled.\",\n          stripeUrl: \"https:\/\/buy.stripe.com\/REPLACE-COMBO-8-2-YEARLY\"\n        }\n      }\n    };\n\n    const planSelect = document.getElementById(\"vdPlan\");\n    const billingSelect = document.getElementById(\"vdBilling\");\n    const selectedPlan = document.getElementById(\"vdSelectedPlan\");\n    const planDescription = document.getElementById(\"vdPlanDescription\");\n    const price = document.getElementById(\"vdPrice\");\n    const pricePeriod = document.getElementById(\"vdPricePeriod\");\n    const agreement = document.getElementById(\"vdPolicyAgreement\");\n    const checkoutButton = document.getElementById(\"vdCheckoutButton\");\n    const message = document.getElementById(\"vdMessage\");\n\n    function getCurrentSelection() {\n      const plan = plans[planSelect.value];\n      const billing = plan[billingSelect.value];\n\n      return {\n        plan: plan,\n        billing: billing\n      };\n    }\n\n    function updatePage() {\n      const current = getCurrentSelection();\n\n      selectedPlan.textContent = current.plan.name;\n      planDescription.textContent = current.plan.description;\n      price.textContent = current.billing.price;\n      pricePeriod.textContent = current.billing.period;\n\n      message.textContent = \"\";\n    }\n\n    function updateButtonState() {\n      checkoutButton.disabled = !agreement.checked;\n\n      if (agreement.checked) {\n        message.textContent = \"\";\n      }\n    }\n\n    planSelect.addEventListener(\"change\", updatePage);\n    billingSelect.addEventListener(\"change\", updatePage);\n    agreement.addEventListener(\"change\", updateButtonState);\n\n    checkoutButton.addEventListener(\"click\", function () {\n      const current = getCurrentSelection();\n      const stripeUrl = current.billing.stripeUrl;\n\n      if (!agreement.checked) {\n        message.textContent =\n          \"Please review and accept the policies before continuing.\";\n        return;\n      }\n\n      if (\n        !stripeUrl ||\n        stripeUrl.includes(\"REPLACE\") ||\n        current.billing.price.includes(\"REPLACE\")\n      ) {\n        message.textContent =\n          \"This checkout option has not been connected to Stripe yet.\";\n        return;\n      }\n\n      window.location.href = stripeUrl;\n    });\n\n    updatePage();\n    updateButtonState();\n  });\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>V\u00eda Dialoga Menu Home About Us Prices Free Study Material Schedule Learn Through Real Communication Our live group classes bring English and Spanish learners together, creating an experience that feels more like real-life communication than traditional language instruction. Instructors move naturally between English and Spanish while guiding conversations, short lessons, role-playing, reading activities, and interactive [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-238","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":21,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/238\/revisions"}],"predecessor-version":[{"id":502,"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/pages\/238\/revisions\/502"}],"wp:attachment":[{"href":"https:\/\/viadialoga.com\/es\/wp-json\/wp\/v2\/media?parent=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}