.elementor-267300 .elementor-element.elementor-element-31ed5c4e{--display:flex;--justify-content:space-between;--gap:22px 0px;--row-gap:22px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#1D1D1D47;--border-color:#1D1D1D47;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1em;--padding-bottom:7em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-31ed5c4e:not(.elementor-motion-effects-element-type-background), .elementor-267300 .elementor-element.elementor-element-31ed5c4e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F8FA;}.elementor-267300 .elementor-element.elementor-element-6f420a1d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:13px 0px;--row-gap:13px;--column-gap:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-6f420a1d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-267300 .elementor-element.elementor-element-46833575{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 9px;--row-gap:0px;--column-gap:9px;--grid-auto-flow:row;--align-items:start;--overflow:hidden;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-46833575.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-267300 .elementor-element.elementor-element-69c413db{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:5px 0px;--row-gap:5px;--column-gap:0px;--overflow:hidden;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-69c413db.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-267300 .elementor-element.elementor-element-654a59a3{width:var( --container-widget-width, 41px );max-width:41px;--container-widget-width:41px;--container-widget-flex-grow:0;z-index:2;text-align:center;}.elementor-267300 .elementor-element.elementor-element-654a59a3 > .elementor-widget-container{background-color:#1D1D1D;margin:0px 0px 0px 0px;padding:9px 0px 9px 0px;border-radius:51px 51px 51px 51px;}.elementor-267300 .elementor-element.elementor-element-654a59a3 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:#FFFFFF;}.elementor-267300 .elementor-element.elementor-element-35256a08 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-267300 .elementor-element.elementor-element-35256a08{text-align:center;}.elementor-267300 .elementor-element.elementor-element-35256a08 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;color:#333333;}.elementor-267300 .elementor-element.elementor-element-2fba9b64{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:5px 0px;--row-gap:5px;--column-gap:0px;--overflow:hidden;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-2fba9b64.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-267300 .elementor-element.elementor-element-5079a07b{width:var( --container-widget-width, 41px );max-width:41px;--container-widget-width:41px;--container-widget-flex-grow:0;z-index:2;text-align:center;}.elementor-267300 .elementor-element.elementor-element-5079a07b > .elementor-widget-container{background-color:#1D1D1D42;margin:0px 0px 0px 0px;padding:9px 0px 9px 0px;border-radius:51px 51px 51px 51px;}.elementor-267300 .elementor-element.elementor-element-5079a07b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:#FFFFFF;}.elementor-267300 .elementor-element.elementor-element-5844393a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-267300 .elementor-element.elementor-element-5844393a{text-align:center;}.elementor-267300 .elementor-element.elementor-element-5844393a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;color:#333333;}.elementor-267300 .elementor-element.elementor-element-10ac4197{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:5px 0px;--row-gap:5px;--column-gap:0px;--overflow:hidden;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-10ac4197.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-267300 .elementor-element.elementor-element-690bbb44{width:var( --container-widget-width, 41px );max-width:41px;--container-widget-width:41px;--container-widget-flex-grow:0;z-index:2;text-align:center;}.elementor-267300 .elementor-element.elementor-element-690bbb44 > .elementor-widget-container{background-color:#1D1D1D42;margin:0px 0px 0px 0px;padding:9px 0px 9px 0px;border-radius:51px 51px 51px 51px;}.elementor-267300 .elementor-element.elementor-element-690bbb44 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:#FFFFFF;}.elementor-267300 .elementor-element.elementor-element-78ea2867 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-267300 .elementor-element.elementor-element-78ea2867{text-align:center;}.elementor-267300 .elementor-element.elementor-element-78ea2867 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;color:#333333;}.elementor-267300 .elementor-element.elementor-element-35c885a1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:5px 0px;--row-gap:5px;--column-gap:0px;--overflow:hidden;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-35c885a1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-267300 .elementor-element.elementor-element-b47851d{width:var( --container-widget-width, 41px );max-width:41px;--container-widget-width:41px;--container-widget-flex-grow:0;z-index:2;text-align:center;}.elementor-267300 .elementor-element.elementor-element-b47851d > .elementor-widget-container{background-color:#1D1D1D42;margin:0px 0px 0px 0px;padding:9px 0px 9px 0px;border-radius:51px 51px 51px 51px;}.elementor-267300 .elementor-element.elementor-element-b47851d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:#FFFFFF;}.elementor-267300 .elementor-element.elementor-element-6080d952 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-267300 .elementor-element.elementor-element-6080d952{text-align:center;}.elementor-267300 .elementor-element.elementor-element-6080d952 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;color:#333333;}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-267300 .elementor-element.elementor-element-143f4551{width:100%;max-width:100%;}.elementor-267300 .elementor-element.elementor-element-143f4551 .elementor-progress-wrapper .elementor-progress-bar{background-color:#28A745;}.elementor-267300 .elementor-element.elementor-element-143f4551 .elementor-progress-wrapper{background-color:#1D1D1D29;border-radius:17px;overflow:hidden;}.elementor-267300 .elementor-element.elementor-element-143f4551 .elementor-progress-bar{height:6px;line-height:6px;}.elementor-267300 .elementor-element.elementor-element-655792c4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:21px 0px;--row-gap:21px;--column-gap:0px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-19d65d7f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-267300 .elementor-element.elementor-element-d54308d{--display:flex;}@media(min-width:768px){.elementor-267300 .elementor-element.elementor-element-31ed5c4e{--content-width:1024px;}}@media(max-width:1366px){.elementor-267300 .elementor-element.elementor-element-31ed5c4e{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-6f420a1d{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-46833575{--grid-auto-flow:row;--align-items:center;--margin-top:22px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-69c413db{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-267300 .elementor-element.elementor-element-35256a08 .elementor-heading-title{font-size:12px;}.elementor-267300 .elementor-element.elementor-element-2fba9b64{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-5844393a .elementor-heading-title{font-size:12px;}.elementor-267300 .elementor-element.elementor-element-10ac4197{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-78ea2867 .elementor-heading-title{font-size:12px;}.elementor-267300 .elementor-element.elementor-element-35c885a1{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-6080d952 .elementor-heading-title{font-size:12px;}.elementor-widget-progress .elementor-title{font-size:var( --e-global-typography-text-font-size );}.elementor-267300 .elementor-element.elementor-element-143f4551 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-267300 .elementor-element.elementor-element-655792c4{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--border-radius:12px 12px 12px 12px;}}@media(max-width:1024px){.elementor-267300 .elementor-element.elementor-element-31ed5c4e{--flex-wrap:wrap;}.elementor-267300 .elementor-element.elementor-element-46833575{--grid-auto-flow:row;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-progress .elementor-title{font-size:var( --e-global-typography-text-font-size );}.elementor-267300 .elementor-element.elementor-element-655792c4{--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}}@media(max-width:767px){.elementor-267300 .elementor-element.elementor-element-31ed5c4e{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2em;--padding-bottom:9em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-6f420a1d{--width:100%;--padding-top:0em;--padding-bottom:2em;--padding-left:1em;--padding-right:1em;}.elementor-267300 .elementor-element.elementor-element-46833575{--width:100%;--e-con-grid-template-columns:repeat(4, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-69c413db{--width:100%;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-267300 .elementor-element.elementor-element-654a59a3 > .elementor-widget-container{padding:8px 8px 8px 8px;}.elementor-267300 .elementor-element.elementor-element-654a59a3{--container-widget-width:30px;--container-widget-flex-grow:0;width:var( --container-widget-width, 30px );max-width:30px;}.elementor-267300 .elementor-element.elementor-element-654a59a3 .elementor-heading-title{font-size:16px;}.elementor-267300 .elementor-element.elementor-element-35256a08 .elementor-heading-title{font-size:10px;}.elementor-267300 .elementor-element.elementor-element-2fba9b64{--width:100%;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-5079a07b > .elementor-widget-container{padding:8px 8px 8px 8px;}.elementor-267300 .elementor-element.elementor-element-5079a07b{--container-widget-width:30px;--container-widget-flex-grow:0;width:var( --container-widget-width, 30px );max-width:30px;}.elementor-267300 .elementor-element.elementor-element-5079a07b .elementor-heading-title{font-size:16px;}.elementor-267300 .elementor-element.elementor-element-5844393a .elementor-heading-title{font-size:10px;}.elementor-267300 .elementor-element.elementor-element-10ac4197{--width:100%;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-690bbb44 > .elementor-widget-container{padding:8px 8px 8px 8px;}.elementor-267300 .elementor-element.elementor-element-690bbb44{--container-widget-width:30px;--container-widget-flex-grow:0;width:var( --container-widget-width, 30px );max-width:30px;}.elementor-267300 .elementor-element.elementor-element-690bbb44 .elementor-heading-title{font-size:16px;}.elementor-267300 .elementor-element.elementor-element-78ea2867 .elementor-heading-title{font-size:10px;}.elementor-267300 .elementor-element.elementor-element-35c885a1{--width:100%;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-267300 .elementor-element.elementor-element-b47851d > .elementor-widget-container{padding:8px 8px 8px 8px;}.elementor-267300 .elementor-element.elementor-element-b47851d{--container-widget-width:30px;--container-widget-flex-grow:0;width:var( --container-widget-width, 30px );max-width:30px;}.elementor-267300 .elementor-element.elementor-element-b47851d .elementor-heading-title{font-size:16px;}.elementor-267300 .elementor-element.elementor-element-6080d952 .elementor-heading-title{font-size:10px;}.elementor-widget-progress .elementor-title{font-size:var( --e-global-typography-text-font-size );}.elementor-267300 .elementor-element.elementor-element-655792c4{--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}}/* Start custom CSS for container, class: .elementor-element-6f420a1d */.elementor-234015 .elementor-element.elementor-element-57d20c1 {
    --overflow: visible !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ce62a69 *//* ══════════════════════════════════════════════════════════════════════
   FAMA Enrollment — Stylesheet (Scoped to #app)
   Light palette only: #FFF / #F5F5F5 / #EBEBEB / #E0E0E0 / #D6D6D6
                       #1D1D1D / #141414 / #292929 / #333333
═══════════════════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS & BASE APP CONTAINER ── */
#app {
  max-width: 100%; 
  margin: 0 auto;
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;

  /* Backgrounds */
  --white:   #FFFFFF;
  --bg:      #F5F5F5;
  --surface: #EBEBEB;
  --border:  #E0E0E0;
  --divider: #D6D6D6;

  /* Text */
  --text:         #1D1D1D;
  --text-dark:    #141414;
  --text-mid:     #292929;
  --text-soft:    #333333;
  --text-muted:   #666666;
  --text-faint:   #999999;

  /* Status */
  --success: #2D6A4F;
  --error:   #B91C1C;

  /* Active / selected state */
  --active-border: #1D1D1D;
  --active-bg:     #F0F0F0;

  /* Typography */
  --font-serif: 'Montserrat', sans-serif;
  --font-sans:  'Montserrat', sans-serif;

  /* Shape */
  --radius:    12px;
  --radius-sm:  8px;
}

/* ── RESET SCOPED ── */
#app *, 
#app *::before, 
#app *::after { 
  box-sizing: border-box; 
  margin: 0; 
  padding: 0; 
}

/* ── BASE ELEMENTS SCOPED ── */
#app button { font-family: var(--font-sans); cursor: pointer; border: none; background: none; }
#app select { font-family: var(--font-sans); -webkit-appearance: none; appearance: none; }


/* ── OVERRIDE: HOVER EFECTOS (FONDO NEGRO, TEXTO BLANCO, SIN BORDES MAGENTA) ── */
#app .chip:hover,
#app .two-btn:hover,
#app .lab-plan-btn:hover,
#app #btn-back:hover,
#app #btn-next:not(.disabled):hover,
#app #btn-new-enrollment:hover {
  background-color: #000000 !important;
  color: #FFFFFF !important;
  border-color: #000000 !important;
}

#app #btn-next.disabled:hover {
  background: var(--surface) !important;
  color: var(--text-muted) !important;
  border-color: transparent !important;
}

/* Forzar texto blanco en los hijos del botón lab-plan al hacer hover */
#app .lab-plan-btn:hover .lab-plan-name,
#app .lab-plan-btn:hover .lab-plan-sub {
  color: #FFFFFF !important;
}


/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .35; }
}
#app .fade-up { animation: fadeUp .2s ease forwards; }
#app .hidden  { display: none !important; }


/* ══════════════════════════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════════════════════════ */
/* ── HEADER ── */
#app #app-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
#app #brand-name { font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--text-dark); letter-spacing: -.5px; }
#app #brand-sub { font-size: 10px; color: var(--text-muted); letter-spacing: 2px; text-transform: uppercase; margin-top: 2px; }
#app #header-secure { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--text-muted); }
#app #secure-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--success); animation: pulse 2.5s infinite; }

/* ── GRID ── */
#app #app-grid { display: grid; grid-template-columns: 1fr 320px; gap: 20px; align-items: start; }


/* ══════════════════════════════════════════════════════════════════════
   MAIN CARD
═══════════════════════════════════════════════════════════════════════ */
#app #main-card { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); padding: 28px 32px; }
@media (max-width: 480px) { #app #main-card { padding: 20px 18px; } }


/* ══════════════════════════════════════════════════════════════════════
   STEP BAR
═══════════════════════════════════════════════════════════════════════ */
#app #stepbar { display: flex; align-items: center; margin-bottom: 28px; }
#app .step-item { display: flex; align-items: center; flex: 1; }
#app .step-item:last-child { flex: none; }
#app .step-dot { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; flex-shrink: 0; transition: all .25s; }
#app .step-dot.done { background: var(--text-dark); border: 1.5px solid var(--text-dark); color: var(--white); }
#app .step-dot.active { background: var(--white); border: 2px solid var(--text-dark); color: var(--text-dark); }
#app .step-dot.pending { background: transparent; border: 1.5px solid var(--divider); color: var(--text-faint); }
#app .step-label { font-size: 10px; font-weight: 600; margin-left: 6px; white-space: nowrap; transition: color .25s; }
#app .step-label.done { color: var(--text); }
#app .step-label.active { color: var(--text-dark); }
#app .step-label.pending { color: var(--text-muted); }
#app .step-line { flex: 1; height: 1px; margin: 0 8px; transition: background .25s; }
#app .step-line.done { background: var(--text-dark); }
#app .step-line.pending { background: var(--border); }
@media (max-width: 600px) { #app .step-label { display: none; } }


/* ══════════════════════════════════════════════════════════════════════
   STEP CONTENT & UTILITIES
═══════════════════════════════════════════════════════════════════════ */
#app #step-content { min-height: 280px; }

#app .section-title { font-family: var(--font-serif); font-size: 22px; font-weight: 700; color: var(--text-dark); letter-spacing: -.3px; margin-bottom: 4px; }
#app .section-sub { font-size: 12px; color: var(--text-muted); margin-bottom: 20px; }
#app .lbl { display: block; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }

/* UTILITY CLASSES EXTRACTED FROM JS */
#app .cat-desc-wrap { width: 100%; margin-bottom: 8px; }
#app .anytime-text { font-size: 10px; margin-top: 6px; }
#app .field-note-white { background-color: var(--white) !important; }
#app .pointer { cursor: pointer; }
#app .w-100 { width: 100%; }
#app .mt-4 { margin-top: 4px; }
#app .mt-6 { margin-top: 6px; }
#app .mt-8 { margin-top: 8px; }
#app .mt-10 { margin-top: 10px; }
#app .mt-12 { margin-top: 12px; }
#app .mt-14 { margin-top: 14px; }
#app .mt-16 { margin-top: 16px; }
#app .mb-4 { margin-bottom: 4px; }
#app .mb-6 { margin-bottom: 6px; }
#app .mb-8 { margin-bottom: 8px; }
#app .mb-10 { margin-bottom: 10px; }
#app .mb-12 { margin-bottom: 12px; }
#app .mb-16 { margin-bottom: 16px; }
#app .flex-wrap { flex-wrap: wrap; }
#app .fs-8 { font-size: 8px; }
#app .fs-10 { font-size: 10px; }
#app .fw-500 { font-weight: 500; }
#app .opacity-45 { opacity: .45; }
#app .pl-10 { padding-left: 10px; }
#app .pr-10 { padding-right: 10px; }


/* ══════════════════════════════════════════════════════════════════════
   CATEGORY CHIPS
═══════════════════════════════════════════════════════════════════════ */
#app .chip-row { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
#app .chip { padding: 8px 16px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: transparent; color: var(--text-muted); font-size: 13px; font-weight: 600; transition: all .15s; }
#app .chip.active { border-color: var(--active-border); background: var(--text-dark); color: var(--white); }


/* ══════════════════════════════════════════════════════════════════════
   SELECT BOXES
═══════════════════════════════════════════════════════════════════════ */
#app .select-box-list { display: flex; flex-direction: column; gap: 8px; }

/* Grid mod for DATES Step */
#app.is-date-step .select-box-list { flex-direction: row; flex-wrap: wrap; }
#app.is-date-step .select-box      { width: 143px; }
#app.is-date-step .select-box-row  { justify-content: center; }

#app .select-box { padding: 14px 18px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: var(--white); text-align: left; transition: all .15s; width: 100%; }
#app .select-box:hover  { border-color: var(--text-soft); }
#app .select-box.active { border-color: var(--active-border); background: var(--active-bg); }

#app .select-box-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
#app .select-box-label { font-family: var(--font-serif); font-size: 16px; font-weight: 600; color: var(--text); white-space: normal; }

#app .payment-name,
#app .payment-sub { white-space: normal; }

#app .select-box-sub { font-size: 11px; color: var(--text-muted); margin-top: 3px; white-space: normal; }
#app .select-box-note { font-size: 11px; color: var(--error); margin-top: 4px; }
#app .select-box-price { font-weight: 700; font-size: 15px; color: var(--text-dark); white-space: nowrap; flex-shrink: 0; }


/* ══════════════════════════════════════════════════════════════════════
   STYLED NATIVE SELECT
═══════════════════════════════════════════════════════════════════════ */
#app .field { margin-bottom: 18px; }
#app .styled-select-wrap { position: relative; }
#app .styled-select { width: 100%; padding: 11px 36px 11px 14px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: #fff; color: var(--text-muted); font-size: 14px; outline: none; transition: border-color .15s; cursor: pointer; }
#app .styled-select.has-value { border-color: var(--text-soft); color: var(--text); }
#app .styled-select:focus { border-color: var(--active-border); }
#app .styled-select-arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; font-size: 10px; }
#app .field-note { font-size: 11px; color: var(--text-muted); padding: 9px 12px; border-radius: var(--radius-sm); background: var(--bg); border: 1px solid var(--border); margin-top: 8px; }


/* ══════════════════════════════════════════════════════════════════════
   CLASS TIME CARDS
═══════════════════════════════════════════════════════════════════════ */
#app .class-time-list { display: flex; flex-direction: column; gap: 8px; }
#app .class-time-card { padding: 16px 20px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: var(--white); text-align: left; display: flex; justify-content: space-between; align-items: center; transition: all .15s; width: 100%; }
#app .class-time-card:hover { border-color: var(--text-soft); }
#app .class-time-card.active { border-color: var(--active-border); background: var(--active-bg); }
#app .class-time-main { font-family: var(--font-serif); font-size: 18px; font-weight: 600; color: var(--text); }
#app .class-time-range { font-size: 11px; color: var(--text-muted); margin-top: 2px; }


/* ══════════════════════════════════════════════════════════════════════
   TAGS
═══════════════════════════════════════════════════════════════════════ */
#app .tag { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
#app .tag-dark { background: var(--text-dark); color: var(--white); border: 1px solid var(--text-dark); }
#app .tag-muted { background: var(--surface); color: var(--text-muted); border: 1px solid var(--border); font-size: 8px; }
#app .tag-success { background: rgba(45,106,79,.08); color: var(--success); border: 1px solid rgba(45,106,79,.25); }


/* ══════════════════════════════════════════════════════════════════════
   DATE BOXES
═══════════════════════════════════════════════════════════════════════ */
#app .date-boxes { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
#app .date-box { padding: 11px 14px; border-radius: var(--radius-sm); flex: 1; min-width: 110px; }
#app .date-box-start,
#app .date-box-end,
#app .date-box-dur { background: var(--white); border: 1px solid var(--border); }
#app .date-box-lbl { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
#app .date-box-val { font-size: 13px; font-weight: 600; color: var(--text-muted); }


/* ══════════════════════════════════════════════════════════════════════
   TIER BLOCK
═══════════════════════════════════════════════════════════════════════ */
#app .tier-block { padding: 18px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--white); margin-bottom: 12px; }
#app .tier-block-title { font-size: 10px; font-weight: 700; color: var(--text-soft); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; }

#app .two-btn-row { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
#app .two-btn { flex: 1; padding: 9px 12px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: var(--white); color: var(--text-muted); font-size: 13px; font-weight: 600; transition: all .15s; min-width: 100px; }
#app .two-btn.active { border-color: var(--active-border); background: var(--text-dark); color: var(--white); }

#app .lab-plan-row { display: flex; gap: 8px; flex-wrap: wrap; }
#app .lab-plan-btn { flex: 1; padding: 11px 8px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: var(--white); text-align: center; transition: all .15s; min-width: 85px; cursor: pointer; }
#app .lab-plan-btn.active { border-color: var(--active-border); background: var(--active-bg); }

#app .lab-plan-name { font-family: var(--font-serif); font-size: 15px; font-weight: 600; color: var(--text); white-space: normal; }
#app .lab-plan-sub { font-size: 10px; color: var(--text-muted); margin-top: 2px; white-space: normal; }
#app .lab-plan-lbl { margin-top: 18px; }

#app .locked-tier-block { opacity: 0.7; pointer-events: none; }
#app .locked-delivery { padding: 9px 13px; border-radius: var(--radius-sm); background: var(--white); border: 1px solid var(--divider); color: var(--text-soft); margin-bottom: 14px; font-size: 11px; }
#app .spanish-fixed { padding: 13px; border-radius: var(--radius-sm); background: var(--white); border: 1px solid var(--border); }
#app .sched-lines { font-size: 12px; color: var(--text-soft); line-height: 2; margin-top: 8px; }


/* ── INTENSIVE LABS ── */
#app .intensive-note { font-size: 10px; color: var(--text-muted); }

/* Wrapper for Intensive Three Columns & Highlights */
#app .intensive-summary-wrap { 
  background: #f7f7f7; 
  padding: 14px; 
  border-radius: var(--radius-sm); 
  border: 1px solid var(--border); 
}

#app .three-col-info { 
  display: flex; 
  justify-content: space-between; 
  text-align: center; 
}

#app .info-col-card { 
  flex: 1; 
  border-right: 1px solid var(--border); 
  padding: 0 8px; 
  background: transparent;
}
#app .info-col-card:last-child { border-right: none; }
#app .info-col-icon  { margin-bottom: 6px; }
#app .info-col-title { font-size: 10px; color: #666; text-transform: uppercase; font-weight: 600; }
#app .info-col-value { font-size: 12px; font-weight: 600; margin-top: 2px; color: var(--text-dark); }

/* ── HIGHLIGHT INFO BOXES ── */
#app .info-box-highlight { 
  background: #F5F5F5; 
  border: 1px solid var(--border); 
  padding: 12px; 
  border-radius: 8px; 
  display: flex; 
  align-items: center; 
  gap: 12px; 
}
#app .info-box-highlight.info-sm { 
  padding: 10px; 
  border-radius: 6px; 
  align-items: flex-start; 
  gap: 10px; 
}

/* Override background for highlight box when placed inside intensive-summary-wrap */
#app .intensive-summary-wrap .info-box-highlight { 
  background: #fff; 
}

#app .info-box-icon { flex-shrink: 0; }
#app .info-box-highlight.info-sm .info-box-icon { margin-top: 2px; }
#app .info-box-text { flex: 1; font-size: 12px; line-height: 1.4; font-weight: 500; color: var(--text-dark); }
#app .info-box-highlight.info-sm .info-box-text { font-size: 10px; }
#app .info-box-btn { background: #1d1d1d; color: #fff; padding: 8px 14px; border-radius: 4px; font-size: 12px; text-decoration: none; white-space: nowrap; font-weight: 600; }

@media (max-width: 767px) {
  #app .intensive-summary-wrap .info-box-highlight { flex-direction: column; text-align: center; }
  #app .info-box-btn { width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════════
   INLINE SCHEDULE PREVIEW
═══════════════════════════════════════════════════════════════════════ */
#app .inline-preview { margin-top: 10px; padding: 10px 13px; border-radius: var(--radius-sm); background: var(--white); border: none; }
#app .preview-line { font-size: 10px; color: var(--text-soft); margin-bottom: 3px; line-height: 1.5; text-align: center; }
#app .preview-line:last-child { margin-bottom: 0; }


/* ══════════════════════════════════════════════════════════════════════
   PAYMENT CARDS
═══════════════════════════════════════════════════════════════════════ */
#app .payment-list { display: flex; flex-direction: column; gap: 8px; }
#app .payment-card { padding: 15px 18px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: var(--white); text-align: left; display: flex; align-items: center; gap: 14px; transition: all .15s; width: 100%; }
#app .payment-card:hover { border-color: var(--text-soft); }
#app .payment-card.active { border-color: var(--active-border); background: var(--active-bg); }
#app .payment-card.highlight { background: var(--bg); }
#app .payment-icon { font-size: 20px; flex-shrink: 0; }
#app .payment-card-body { flex: 1; }
#app .payment-name { font-family: var(--font-serif); font-size: 16px; font-weight: 600; color: var(--text); }
#app .payment-sub { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

#app .payment-radio { width: 17px; height: 17px; border-radius: 50%; border: 1.5px solid var(--divider); flex-shrink: 0; margin-left: auto; transition: all .18s; }
#app .payment-card.active .payment-radio { border-width: 5px; background-color: #000; border-color: #fff; }


/* ══════════════════════════════════════════════════════════════════════
   REVIEW STEP
═══════════════════════════════════════════════════════════════════════ */
#app .review-list { display: flex; flex-direction: column; gap: 6px; }
#app .review-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 13px; border-radius: var(--radius-sm); background: var(--bg); }
#app .review-row-lbl { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }
#app .review-row-val { font-size: 13px; font-weight: 500; color: var(--text); }
#app .review-row-val.bold { font-weight: 700; }
#app .review-row-val.lg { font-size: 18px; font-family: var(--font-serif); }
#app .review-row-val.muted { color: var(--text-muted); }

#app .review-pending { color: #e02424; font-style: italic; }
#app .edit-icon-img { width: 25px; height: 25px; cursor: pointer; opacity: .6; margin-left: 6px; vertical-align: middle; }

#app .review-divider { height: 1px; background: var(--border); margin: 4px 0; }
#app .warning-note { font-size: 10px; color: var(--text-muted); margin-top: 10px; }


/* ══════════════════════════════════════════════════════════════════════
   NAVIGATION BUTTONS
═══════════════════════════════════════════════════════════════════════ */
#app #nav-row { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border); }
#app #btn-back { padding: 10px 20px; border-radius: var(--radius-sm); border: 1.5px solid var(--border); background: transparent; color: var(--text-muted); font-size: 13px; font-weight: 600; transition: all .15s; }
#app #btn-next { padding: 11px 26px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 700; transition: all .2s; }
#app #btn-next.ready-normal { background: var(--text-dark); color: var(--white); }
#app #btn-next.ready-final  { background: var(--text-dark); color: var(--white); box-shadow: 0 2px 12px rgba(0,0,0,.15); }
#app #btn-next.disabled     { background: var(--surface); color: var(--text-muted); cursor: not-allowed; border-color: transparent; }

#app #btn-next.loading { opacity: .7; cursor: default; }
#app .btn-spinner { display: inline-block; width: 12px; height: 12px; border: 2px solid #1d1d1d; border-top-color: transparent; border-radius: 50%; animation: spin .6s linear infinite; vertical-align: middle; margin-right: 6px; }
@keyframes spin { to { transform: rotate(360deg); } }


/* ══════════════════════════════════════════════════════════════════════
   SUMMARY SIDEBAR
═══════════════════════════════════════════════════════════════════════ */
#app #summary { background: var(--white); border-radius: var(--radius); border: 1px solid var(--border); overflow: hidden; position: sticky; top: 20px; }

@media (max-width: 767px) {
    #app #summary { position: static; }
}

#app #summary-header { padding: 18px 22px; background: var(--bg); border-bottom: 1px solid var(--border); }
#app #summary-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 2.5px; color: var(--text-muted); text-transform: uppercase; margin-bottom: 6px; }
#app #summary-prog-name { font-family: var(--font-serif); font-size: 18px; font-weight: 700; color: var(--text-dark); line-height: 1.25; }
#app #summary-empty { font-size: 12px; color: var(--text-muted); }

#app #summary-body { padding: 18px 22px; }

#app .sum-section   { margin-bottom: 16px; }
#app .sum-lbl       { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
#app .sum-date-row  { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
#app .sum-date-main { font-size: 13px; font-weight: 600; color: var(--text); }
#app .sum-date-arrow{ font-size: 11px; color: var(--text-muted); }
#app .sum-date-end  { font-size: 13px; color: var(--text-muted); }
#app .sum-range     { font-size: 11px; color: var(--text-soft); margin-top: 3px; }
#app .sum-sched-line{ font-size: 11px; color: var(--text-soft); margin-bottom: 4px; line-height: 1.5; }


/* ── SUMMARY TABLES & LEGENDS (Refactored to native table) ── */
#app .sum-sched-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px;}
#app .sum-legend-item { display: flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; }
#app .color-box-theory { width: 16px; height: 16px; background-color: #0BD5CE; border-radius: 3px; }
#app .color-box-lab { width: 16px; height: 16px; background-color: #3166AF; border-radius: 3px; }
#app .color-box-selfpaced { width: 16px; height: 16px; background-color: #E5D0E3; border-radius: 3px; }

#app .color-box-theory-sm { width: 14px; height: 14px; background-color: #0BD5CE; border-radius: 2px; }
#app .color-box-lab-sm { width: 14px; height: 14px; background-color: #3166AF; border-radius: 2px; }
#app .color-box-selfpaced-sm { width: 14px; height: 14px; background-color: #E5D0E3; border-radius: 2px; }

/* Native Table Core Styling */
#app .sum-sched-table { width: 100%; border-collapse: collapse; font-size: 10px; margin-top: 8px; }
#app .sum-sched-table th { text-align: left; font-weight: 600; color: #999; padding-bottom: 6px; font-size: 9px; text-transform: uppercase; border: none; }
#app .sum-sched-table td { padding: 6px 0; color: var(--text-dark); vertical-align: top; border: none; background: transparent !important; }
#app .sum-sched-table tr { border-bottom: 1px dashed #E0E0E0; background: transparent !important; transition: none !important; }
#app .sum-sched-table tr:hover { background: transparent !important; } /* Overrides WP themes */
#app .sum-sched-table tr:last-child { border-bottom: none; }
#app .sum-sched-table th:last-child { text-align: right; width: 40%; font-weight: 600; }
#app .sum-sched-table td:last-child { text-align: right; width: 40%; font-weight: 500; }
#app .sum-sched-table td:first-child { font-weight: 500; color: #666; }

#app .sum-col-mode { display: flex; align-items: center; gap: 6px; }

#app .sum-tier-block { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--bg); border: 1px solid var(--border); margin-bottom: 8px; }
#app .sum-tier-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-soft); margin-bottom: 6px; }
#app .sum-tier-line { font-size: 11px; color: var(--text-soft); margin-bottom: 3px; }
#app .sum-tier-pending { font-size: 11px; color: var(--text-faint); font-style: italic; margin-top: 2px; }

#app .sum-tier-instruction { font-size: 10px; font-style: italic; color: var(--text-muted); }
#app .sum-tier-title { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; margin-top: 8px; }

#app .sum-modality { display: flex; align-items: center; font-size: 10px; font-weight: 600; color: var(--text-dark); margin-top: 8px; }
#app .sum-modality img { margin-right: 8px; }

#app .sum-divider { height: 1px; background: var(--border); margin: 7px 0; }
#app .sum-price-row  { display: flex; justify-content: space-between; margin-bottom: 5px; }
#app .sum-price-lbl  { font-size: 12px; color: var(--text-muted); }
#app .sum-price-val  { font-size: 12px; color: var(--text-soft); }

#app .sum-total-row  { display: flex; justify-content: space-between; align-items: center; padding-top: 9px; margin-top: 6px; border-top: 1px solid var(--border); }
#app .sum-total-lbl { font-family: var(--font-serif); font-size: 17px; color: var(--text); font-weight: 700; }
#app .sum-total-val { font-size: 19px; font-weight: 700; color: var(--text-dark); }

#app .sum-pay-box { margin-top: 12px; padding: 12px 15px; border-radius: var(--radius-sm); background: var(--surface); border: 1.5px solid var(--active-border); }
#app .sum-pay-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 7px; }
#app .sum-pay-inner  { display: flex; justify-content: space-between; align-items: center; }
#app .sum-pay-amount { font-size: 19px; font-weight: 700; color: var(--text-dark); }
#app .sum-pay-method { font-size: 11px; color: var(--text-muted); max-width: 140px; text-align: right; }

#app .summary-note { text-align: center; border-top: 1px dashed #E0E0E0; padding-top: 6px; max-width: 166px; margin: 9px auto 0; font-size: 10px; }


/* ══════════════════════════════════════════════════════════════════════
   MOBILE OVERRIDES & EXTERNAL ELEMENT FIXES
═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  #app #app-grid { grid-template-columns: 1fr; }
  
  /* Asegurar que el main-card quede arriba del summary */
  #app #main-card { order: -1; }
  
  /* Ocultar bloque solicitado en mobile */
  .elementor-element-0f209f0 { display: none !important; }
  
  /* Ajuste de posición solicitado en mobile */
  .elementor-element-3bba76f { left: 10px !important; bottom: 200px !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d54308d */.coursescontainer {
    display: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-31ed5c4e */.elementor-element-3e59446 .e-con-inner {
    border-radius: 8px;
    border: 0px solid #CFCFCF;
    margin-top: 20px;
}

@media (max-width: 767px) {
    footer[data-elementor-type="footer"] {
        display: none !important;
    }
}/* End custom CSS */
/* Start custom CSS */.woocommerce .product .stock {
    display: block !important;
    font-size: 16px;
    font-weight: 600;
    color: #cc0000;
    margin-top: 10px;
}/* End custom CSS */