.elementor-kit-356{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-0895b28-font-family:"PPRadioGrotesk";}.elementor-kit-356 e-page-transition{background-color:#FFBC7D;}.elementor-kit-356 h1{font-family:"PPRadioGrotesk", Sans-serif;}.elementor-kit-356 h2{font-family:"PPRadioGrotesk", Sans-serif;}.elementor-kit-356 h3{font-family:"PPRadioGrotesk", Sans-serif;}.elementor-kit-356 h4{font-family:"PPRadioGrotesk", Sans-serif;}.elementor-kit-356 h5{font-family:"PPRadioGrotesk", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================
   Teorem – Register page CSS
   ========================= */

/* Brand tokens */
:root{
  --brand:#6E56CF;
  --line:#e5e7eb;
  --ink:#1f2937;
  --muted:#6b7280;
}

/* ---------- SECTION (purple background) ---------- */
.teo-auth-1col.elementor-section{
  min-height:100svh;
  padding:0; /* was 24px — remove to get rid of big page padding */
}
.teo-auth-1col.elementor-section > .e-con{
  min-height:inherit;
  display:flex; 
  align-items:center;
  justify-content:center;
}
/* small safety: never force 100% heights inside */
.teo-auth-1col .e-con,
.teo-auth-1col .elementor-widget-wrap{
  height:auto !important; min-height:0 !important;
}

/* ---------- CARD (white box) ---------- */
.teo-card-1col{
  box-sizing:border-box;
  width:100%;
  max-width:530px;        /* widen to taste: 820–920 */
  padding:36px 12px 24px;           /* compact but comfy */
  border-radius:24px;
}

/* Make the shortcode + Woo fill the card width */
.teo-card-1col .elementor-widget-shortcode,
.teo-card-1col .elementor-widget-shortcode .elementor-widget-container,
.teo-card-1col #customer_login,
.teo-card-1col .woocommerce,
.teo-card-1col .woocommerce .u-columns,
.teo-card-1col .woocommerce form.woocommerce-form-register.register{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}

/* ---------- FORM AESTHETICS ---------- */
.teo-card-1col input[type="text"],
.teo-card-1col input[type="email"],
.teo-card-1col input[type="password"],
.teo-card-1col input[type="tel"],
.teo-card-1col input[type="number"],
.teo-card-1col select,
.teo-card-1col textarea{
  width:100%;
  height:48px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 14px;
  font-size:16px;
  background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.teo-card-1col input:focus,
.teo-card-1col select:focus,
.teo-card-1col textarea:focus{
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(110,86,207,.20);
}

/* Name fields side-by-side, stack on mobile */
.teo-card-1col .woocommerce form .form-row{ margin-bottom:12px; }
.teo-card-1col .woocommerce form .form-row-first,
.teo-card-1col .woocommerce form .form-row-last{
  width:calc(50% - 8px) !important; float:left;
}
.teo-card-1col .woocommerce form .form-row-first{ margin-right:16px; }
@media (max-width:640px){
  .teo-card-1col .woocommerce form .form-row-first,
  .teo-card-1col .woocommerce form .form-row-last{
    width:100% !important; float:none; margin-right:0;
  }
}

/* Password eye inside field */
.teo-card-1col .woocommerce .password-input{ position:relative; }
.teo-card-1col .woocommerce .password-input input.input-text{ padding-right:46px; }
.teo-card-1col .woocommerce .show-password-input{
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:24px; height:24px; border:0; background:none; cursor:pointer;
}

/* Buttons */
.teo-card-1col button,
.teo-card-1col input[type="submit"]{
  width:100%; height:48px;
  border:0; border-radius:12px;
  background:var(--brand); color:#fff; font-weight:800; cursor:pointer;
  transition:transform .15s, box-shadow .15s, background .15s;
}
.teo-card-1col button:hover,
.teo-card-1col input[type="submit"]:hover{
  background:#5a45c7; transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(110,86,207,.28);
}

/* Nextend Google button tidy */
.teo-card-1col .nsl-container .nsl-button{
  width:100% !important; height:44px !important; justify-content:center;
  border:1px solid var(--line) !important; border-radius:12px !important;
}
.teo-card-1col .nsl-container{ margin:8px 0 12px; }

/* =========================
   TRUST BAR (inside card)
   Replace the previous trustbar block with this
   ========================= */
.teo-card-1col .teo-trustbar{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-family: "Inter", Sans-serif;
  color: #1E2132;
  font-size: 14px;
}

/* Top row: left (lock + text) and right (Stripe image) */
.teo-card-1col .teo-trustbar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.teo-card-1col .teo-trustbar-top .tt-left{
  display:flex;
  align-items:center;
  gap:10px;
  color:#111827;
}
.teo-card-1col .teo-trustbar-top .tt-left svg{ display:block }
.teo-card-1col .teo-trustbar-top .tt-stripe{
  height:26px;                /* tweak to 24–28px if you prefer */
  width:auto;
  display:block;
}

/* Logos row — exactly 5 across on desktop, centered in their cells */
.teo-card-1col .teo-paylogos{
  display:grid;
  grid-template-columns: repeat(5, minmax(56px, 1fr));
  align-items:center;
  column-gap:18px;
  row-gap:10px;
  margin-top:14px;
}
.teo-card-1col .teo-paylogos img{
  height:22px;               /* tweak 20–24px to taste */
  width:auto;
  display:block;
  margin:0 auto;             /* centers each logo inside its grid cell */
}

/* Tablet */
@media (max-width: 768px){
  .teo-card-1col .teo-trustbar-top{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .teo-card-1col .teo-paylogos{
    grid-template-columns: repeat(5, minmax(56px, 1fr));
  }
}

/* Mobile */
@media (max-width: 480px){
  .teo-card-1col .teo-paylogos{
    grid-template-columns: repeat(3, minmax(56px, 1fr));
  }
}

/* Dumitru Magic */
.bb-template-v2 .woocommerce .bsMyAccount {
margin-bottom: 15px;}

/* Disabled Register button — grey + unclickable (scoped to the card) */
.teo-card-1col .woocommerce button.button:disabled,
.teo-card-1col .woocommerce button.button:disabled:hover,
.teo-card-1col .woocommerce input[type="submit"]:disabled,
.teo-card-1col .woocommerce input[type="submit"]:disabled:hover,
.teo-card-1col .woocommerce .button.disabled,
.teo-card-1col .woocommerce .button.disabled:hover {
  background: #e5e7eb !important;   /* light grey */
  border-color: #e5e7eb !important;
  color: #6b7280 !important;         /* muted text */
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;             /* avoid theme dimming */
  pointer-events: none !important;   /* belt-and-suspenders */
}

/* Grey button + centered spinner while the FORM is busy */
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] button[type="submit"],
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] input[type="submit"],
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] .woocommerce-form-register__submit{
  position: relative;
  background:#e5e7eb !important;     /* grey */
  border-color:#e5e7eb !important;
  color:#6b7280 !important;          /* grey text (we’ll hide it below) */
  pointer-events:none;                /* avoid double clicks */
  opacity:1;
  /* hide label so spinner is clear in the middle; remove if you want text visible */
  color: transparent !important;
}

/* Show spinner dead-center */
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] button[type="submit"]::after,
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] input[type="submit"]::after,
.teo-card-1col form.woocommerce-form-register[aria-busy="true"] .woocommerce-form-register__submit::after{
  content:"";
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:18px; height:18px;
  border:2px solid #6b7280;          /* spinner color */
  border-right-color:transparent;
  border-radius:50%;
  animation: teo-spin .8s linear infinite;
}

@keyframes teo-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* If Woo adds errors on the page, stop showing the loading visuals */
.teo-card-1col form.woocommerce-form-register[aria-busy="true"]:has(.woocommerce-error) 
  button[type="submit"],
.teo-card-1col form.woocommerce-form-register[aria-busy="true"]:has(.woocommerce-error) 
  input[type="submit"],
.teo-card-1col form.woocommerce-form-register[aria-busy="true"]:has(.woocommerce-error) 
  .woocommerce-form-register__submit{
  color: inherit !important;          /* reveal label again */
  background: inherit !important;
  border-color: inherit !important;
  pointer-events:auto;
}

/* 1) Mutually-exclusive "ref-card" variants */
.ref-card.only-no-course,
.ref-card.only-mandatory,
.ref-card.only-electives { display:none; }

.teo-no-courses     .ref-card.only-no-course   { display:flex !important; }
.teo-has-mandatory  .ref-card.only-mandatory   { display:flex !important; }
.teo-only-electives .ref-card.only-electives   { display:flex !important; }

/* 2) Special case: exactly 1 mandatory (overrides the ≥1 card) */
.ref-card.only-mand1 { display:none; }
.teo-mandatory-count-1 .ref-card.only-mandatory { display:none !important; }
.teo-mandatory-count-1 .ref-card.only-mand1     { display:flex !important; }

/* 3) “Any course” component (use class: only-has-course) */
.only-has-course { display:none; }
.teo-has-courses .only-has-course { display:flex !important; }

/* 4) “No mandatory courses” (incl. zero courses) */
.only-no-mand { display:none; }
.teo-no-mandatory .only-no-mand { display:flex !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'PPRadioGrotesk';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://courses.stg-teorem-staging.kinsta.cloud/wp-content/uploads/2025/04/PPRadioGrotesk-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'PPRadioGrotesk';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://courses.stg-teorem-staging.kinsta.cloud/wp-content/uploads/2025/04/PPRadioGrotesk-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */