div.zptext.zptext-align-center.zptext-align-mobile-left.zptext-align-tablet-left > p > span > a {
    color: #d1d5db !important;
    text-decoration: none !important;
}

div.zptext.zptext-align-center.zptext-align-mobile-left.zptext-align-tablet-left > p > span > a:hover {
    color: #9ca3af !important;
}

/*
 * render2web Academy — responsive CSS for mobile phones.
 * Paste this complete file into Site > Customization > Code > Custom CSS Editor.
 * Rules are limited to screens up to 767px. Tablet and desktop rules are untouched.
 * Product pages still need to load this shared stylesheet with the <link> tag in
 * their page header; the Custom CSS Editor alone does not currently inject it there.
 */

/* Preserve the existing footer-link colors from the published custom CSS. */
div.zptext.zptext-align-center.zptext-align-mobile-left.zptext-align-tablet-left > p > span > a {
  color: #d1d5db !important;
  text-decoration: none !important;
}

div.zptext.zptext-align-center.zptext-align-mobile-left.zptext-align-tablet-left > p > span > a:hover {
  color: #9ca3af !important;
}

@media (max-width: 767px) {
  /* Shared readable text, flexible media, touch targets and site header. */
  .page-container :is(h1, h2, h3, h4, h5, h6) {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .page-container img,
  .page-container iframe,
  .page-container video {
    max-width: 100%;
  }

  .page-container [data-element-type="video"].zpelem-video iframe.zpvideo {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .page-container .zpheading [style*="font-size"] {
    font-size: inherit !important;
  }

  .page-container h1.zpheading {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.18 !important;
  }

  .page-container h2.zpheading {
    font-size: clamp(26px, 6.8vw, 30px) !important;
    line-height: 1.25 !important;
  }

  .page-container h3.zpheading {
    font-size: 23px !important;
    line-height: 1.3 !important;
  }

  .page-container .zpicon-heading {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  .page-container [data-element-type="imagetext"] h4 {
    font-size: 19px !important;
    line-height: 1.35 !important;
  }

  .page-container a.zpbutton,
  .page-container button.zpbutton {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 48px;
    line-height: 1.4;
    white-space: normal;
  }

  .theme-header .zpcontainer .theme-branding-info .theme-logo-parent a img.mobileLogoAuto {
    width: 200px !important;
    height: auto !important;
    max-width: calc(100vw - 88px);
  }

  .theme-responsive-menu-container {
    box-sizing: border-box;
    width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .page-container > .zpsection {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  /* Home page hero, calls to action, and trust indicators. */
  body:has(.zpsection.zpshape-divider-section) .page-container .zs-bx-hero-heading {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.16 !important;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container .zpshape-divider-section h4.zpheading {
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container .zpsection [data-element-type="buttongroup"] {
    max-width: 100%;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container .zpsection [data-element-type="buttongroup"] .zpbutton {
    min-height: 48px;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container .zpelem-newsletter h2 {
    font-size: clamp(26px, 7vw, 30px) !important;
    line-height: 1.25 !important;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container .zpelem-newsletter input,
  body:has(.zpsection.zpshape-divider-section) .page-container .zpelem-newsletter button {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
  }

  /* Category tiles become a compact two-column grid on the home and annual-plan pages. */
  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zprow-container-fluid,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zprow-container-fluid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zprow-container-fluid > .zpelem-col,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zprow-container-fluid > .zpelem-col {
    box-sizing: border-box;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zpelem-imagetext,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpelem-imagetext {
    box-sizing: border-box;
    width: 100% !important;
    height: 100%;
    padding: 14px 10px !important;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zpimagetext-container,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimagetext-container {
    width: 100%;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zpimagetext-container figure,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimagetext-container figure {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 140px;
    align-items: center;
    justify-content: center;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zpimagetext-container figure img,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimagetext-container figure img {
    display: block;
    width: 140px !important;
    height: 140px !important;
    max-width: 100%;
    object-fit: contain;
  }

  body:has(.zpsection.zpshape-divider-section) .page-container [data-element-id="elm_rXhXEkKhImsRPy54aVS1Eg"] .zpimage-text,
  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text {
    margin-top: 8px;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text :is(p, li) {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text h4 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text > div span {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text > div:nth-of-type(2) span {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text > div:last-child:has(br) {
    display: none;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimagetext-container figure {
    height: 120px;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimagetext-container figure img {
    width: 120px !important;
    height: 120px !important;
  }

  body:has([data-product-id="3311044000000060589"]) .page-container [data-element-id="elm_EMt8CctZUpf-b-oSNRqJUw"] .zpimage-text :is(a, span) {
    overflow-wrap: anywhere;
  }

  /* Shared course and package cards used by home, catalog, routes, and annual plan. */
  .page-container .tc-single-course {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-width: 0;
    margin-bottom: 14px;
  }

  .page-container .tc-single-course .tc-course-content {
    box-sizing: border-box;
    width: 100%;
    padding: 16px !important;
  }

  .page-container .tc-single-course .tc-course-footer {
    margin: 8px 0 12px;
    padding-bottom: 0;
  }

  .page-container .tc-single-course .tc-course-title {
    margin: 0 0 8px;
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .page-container .tc-single-course .tc-course-subtitle {
    font-size: 15px;
    line-height: 1.5;
  }

  .page-container .tc-single-course .tc-course-tag {
    max-width: calc(100% - 20px);
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* All courses page filters: preserve the controls and make each easy to tap. */
  body:has(.search-page-section) .search-page-section,
  body:has(.search-page-section) .search-input-area {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  body:has(.search-page-section) .search-input-area {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  body:has(.search-page-section) .search-input-area input,
  body:has(.search-page-section) .search-input-dropdown,
  body:has(.search-page-section) .search-input-area .btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
  }

  body:has(.search-page-section) .search-input-area .btn {
    font-size: 16px;
    line-height: 1.4;
  }

  body:has(.search-page-section) .filter-title {
    font-size: 13px;
    line-height: 1.35;
  }

  /* Course-route and annual-product pages share purchase and course-list widgets. */
  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container > .zpsection {
    padding-top: 26px;
    padding-bottom: 26px;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container > .zpsection:first-child h1.zpheading {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.16 !important;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container > .zpsection:first-child img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .tc-single-ticket {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 18px 16px;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .ticket-header,
  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .ticket-header-rs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: 0;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .ticket-title {
    margin: 0;
    font-size: 20px !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .price-section {
    font-size: 28px;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body:has(.page-container .tc-single-ticket):not(:has(.page-container .tc-curriculum-list)) .page-container .tc-single-ticket button.button.secondary {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 17px;
    line-height: 1.4;
    white-space: normal;
  }

  /* Shared footer touch targets. */
  .footer-container > .zpsection {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .footer-container .zpelem-text a {
    display: inline-block;
    padding: 8px 4px;
    line-height: 1.5;
  }

  /* Individual-course landing pages: hero, video, instructor, price and curriculum. */
  body:has(.page-container .tc-curriculum-list) .theme-header .zpcontainer .theme-branding-info .theme-logo-parent a img.mobileLogoAuto {
    width: 200px !important;
    height: auto !important;
    max-width: calc(100vw - 88px);
  }

  body:has(.page-container .tc-curriculum-list) .theme-responsive-menu-container {
    box-sizing: border-box;
    width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body:has(.page-container .tc-curriculum-list) .page-container > .zpsection {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .zpheading {
    font-size: 24px;
    line-height: 1.3;
    overflow-wrap: break-word;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .zpheading [style*="font-size"] {
    font-size: inherit !important;
  }

  body:has(.page-container .tc-curriculum-list) .page-container > .zpsection:first-child h1.zpheading {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.18 !important;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .zpelem-text :is(h1, h2, h3) {
    font-size: 24px;
    line-height: 1.35;
    overflow-wrap: break-word;
  }

  body:has(.page-container .tc-curriculum-list) .page-container a.zpbutton[href*="redirect-to-purchase"],
  body:has(.page-container .tc-curriculum-list) .page-container a.zpbutton[href*="/purchase?"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 1.4;
    white-space: normal;
    justify-content: center;
  }

  body:has(.page-container .tc-curriculum-list) .page-container > .zpsection:first-child [data-element-type="spacer"] {
    display: none;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imageheadingtext"] img {
    display: block;
    max-width: 100%;
    height: auto;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imageheadingtext"] .zpimage-heading {
    font-size: 20px;
    line-height: 1.4;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imageheadingtext"] .zpimage-heading [style*="font-size:26px"] {
    font-size: 20px !important;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="video"].zpelem-video iframe.zpvideo {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] .zpimagetext-container figure img {
    display: block;
    width: 180px !important;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] h3 {
    font-size: 22px;
    line-height: 1.35;
    margin-block: 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] .zpimage-text > p:has(> br:only-child) {
    display: none;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] blockquote,
  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] h5 {
    margin: 0 !important;
    padding: 0;
  }

  body:has(.page-container .tc-curriculum-list) .page-container [data-element-type="imagetext"] h5 {
    font-size: 16px;
    line-height: 1.5;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-single-ticket {
    box-sizing: border-box;
    padding: 20px 16px;
    min-width: 0;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-ticket-listing.ticket-1 .tc-single-ticket .ticket-header,
  body:has(.page-container .tc-curriculum-list) .page-container .ticket-header-rs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    min-width: 0;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .ticket-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.4;
    white-space: normal;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .price-section {
    font-size: 30px;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-ticket-listing .tc-single-ticket button.button.secondary {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 1.4;
    justify-content: center;
    white-space: normal;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-curriculum-single {
    padding: 16px;
    margin-bottom: 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-curriculum-list-header {
    min-height: 44px;
    align-items: flex-start;
    gap: 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-curriculum-list-header h6 {
    flex: 1;
    min-width: 0;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: break-word;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .lesson-toggle {
    flex-shrink: 0;
    font-size: 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .lesson-single {
    flex-direction: column;
    gap: 10px;
    padding: 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .lesson-single > div {
    min-width: 0;
    width: 100%;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .free-tag {
    display: inline-block;
    margin-left: 0;
    white-space: normal;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .access-lesson {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    white-space: normal;
    text-align: center;
    padding: 10px 12px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-course-content {
    padding: 16px;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-course-title {
    font-size: 20px;
    line-height: 1.4;
  }

  body:has(.page-container .tc-curriculum-list) .page-container .tc-course-subtitle {
    font-size: 15px;
    line-height: 1.6;
  }
}

/* Botón Inscribirme del módulo Tickets */
.tc-ticket-listing button.button.secondary {
  box-sizing: border-box;
  min-height: 62px;
  padding: 16px 28px !important;
  background: #ffd32a !important;
  color: #123550 !important;
  border: 1px solid #ffd32a !important;
  border-radius: 12px !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  box-shadow: 0 7px 16px rgba(181, 132, 0, 0.23) !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

/* Efecto al pasar el cursor */
.tc-ticket-listing button.button.secondary:hover {
  background: #ffca0a !important;
  border-color: #ffca0a !important;
  box-shadow: 0 9px 20px rgba(181, 132, 0, 0.3) !important;
  transform: translateY(-1px);
}

/* Foco visible al navegar con teclado */
.tc-ticket-listing button.button.secondary:focus-visible {
  outline: 3px solid rgba(20, 93, 245, 0.4) !important;
  outline-offset: 3px;
}

/* Ajustes para móviles */
@media (max-width: 767px) {
  .tc-ticket-listing button.button.secondary {
    width: 100%;
    min-height: 54px;
    padding: 14px 20px !important;
    font-size: 17px !important;
    transform: none;
  }

  .tc-ticket-listing button.button.secondary:hover {
    transform: none;
  }
}

/* Botón principal de inscripción del encabezado */
.zpelem-button .zpbutton-wrapper {
  min-height: 64px;
  border-radius: 12px !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  box-shadow: 0 7px 18px rgba(18, 91, 225, 0.24);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.zpelem-button .zpbutton-wrapper:hover {
  background-color: #0d56e6 !important;
  box-shadow: 0 10px 22px rgba(18, 91, 225, 0.3);
}

/* Tamaño cómodo en pantallas pequeñas */
@media (max-width: 767px) {
  .zpelem-button .zpbutton-wrapper {
    min-height: 56px;
    font-size: 18px !important;
  }
}