.elementor-kit-10{--e-global-color-primary:#0D3B3E;--e-global-color-secondary:#2B2B2B;--e-global-color-text:#111111;--e-global-color-accent:#E1E1E1;--e-global-color-d5efdc6:#FFFFFF;--e-global-color-5046f92:#0D3B3E;--e-global-color-a4982e1:#1F5F63;--e-global-color-fe452c7:#082A2C;--e-global-color-bf59140:#D8CDBA;--e-global-color-dd29169:#B7BDAA;--e-global-color-5e8d0a4:#D31818;--e-global-color-fbb0daf:#DCA300;--e-global-color-5b6dbbf:#205FFF;--e-global-color-3dba653:#00AE2D;--e-global-color-6e54641:#FFFFFF;--e-global-color-32e1c9d:#1C1C1E;--e-global-color-66b8c86:#02010100;--e-global-typography-primary-font-family:"Rethink Sans";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Rethink Sans";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.3em;--e-global-typography-1e8340c-font-family:"Poppins";--e-global-typography-1e8340c-font-size:72px;--e-global-typography-1e8340c-font-weight:700;--e-global-typography-1e8340c-line-height:1.1em;--e-global-typography-169fdca-font-family:"Poppins";--e-global-typography-169fdca-font-size:64px;--e-global-typography-169fdca-font-weight:400;--e-global-typography-169fdca-line-height:1.3em;--e-global-typography-7afc2c8-font-family:"Poppins";--e-global-typography-7afc2c8-font-size:48px;--e-global-typography-7afc2c8-font-weight:400;--e-global-typography-7afc2c8-line-height:1.3em;--e-global-typography-32bedd5-font-family:"Poppins";--e-global-typography-32bedd5-font-size:32px;--e-global-typography-32bedd5-font-weight:400;--e-global-typography-32bedd5-line-height:1.3em;--e-global-typography-06f2e36-font-family:"Poppins";--e-global-typography-06f2e36-font-size:24px;--e-global-typography-06f2e36-font-weight:500;--e-global-typography-06f2e36-line-height:1.3em;--e-global-typography-f00d840-font-family:"Poppins";--e-global-typography-f00d840-font-size:16px;--e-global-typography-f00d840-font-weight:400;--e-global-typography-f00d840-line-height:1.3em;--e-global-typography-a1a8c71-font-family:"Poppins";--e-global-typography-a1a8c71-font-size:16px;--e-global-typography-a1a8c71-font-weight:500;--e-global-typography-a1a8c71-text-decoration:line-through;--e-global-typography-d2d53f5-font-family:"Poppins";--e-global-typography-d2d53f5-font-size:16px;--e-global-typography-d2d53f5-font-weight:400;--e-global-typography-d2d53f5-line-height:1.3em;--e-global-typography-08470ca-font-family:"Poppins";--e-global-typography-08470ca-font-size:14px;--e-global-typography-08470ca-font-weight:400;--e-global-typography-08470ca-line-height:1em;--e-global-typography-745cbd3-font-family:"Poppins";--e-global-typography-745cbd3-font-size:20px;--e-global-typography-745cbd3-font-weight:400;--e-global-typography-745cbd3-line-height:1.5em;--e-global-typography-d5d5c81-font-family:"Poppins";--e-global-typography-d5d5c81-font-size:20px;--e-global-typography-d5d5c81-font-weight:600;--e-global-typography-d5d5c81-line-height:24px;background-color:var( --e-global-color-6e54641 );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Poppins;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{background-color:var( --e-global-color-5046f92 );font-family:var( --e-global-typography-d2d53f5-font-family ), Poppins;font-size:var( --e-global-typography-d2d53f5-font-size );font-weight:var( --e-global-typography-d2d53f5-font-weight );line-height:var( --e-global-typography-d2d53f5-line-height );color:var( --e-global-color-d5efdc6 );border-radius:20px 20px 20px 20px;padding:16px 20px 16px 20px;}.elementor-kit-10 button:hover,.elementor-kit-10 button:focus,.elementor-kit-10 input[type="button"]:hover,.elementor-kit-10 input[type="button"]:focus,.elementor-kit-10 input[type="submit"]:hover,.elementor-kit-10 input[type="submit"]:focus,.elementor-kit-10 .elementor-button:hover,.elementor-kit-10 .elementor-button:focus{background-color:var( --e-global-color-fe452c7 );color:var( --e-global-color-accent );border-radius:20px 20px 20px 20px;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 p{margin-block-end:16px;}.elementor-kit-10 a{color:var( --e-global-color-5b6dbbf );font-family:var( --e-global-typography-accent-font-family ), Poppins;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-10 a:hover{color:var( --e-global-color-5046f92 );font-family:var( --e-global-typography-text-font-family ), Poppins;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-1e8340c-font-family ), Poppins;font-size:var( --e-global-typography-1e8340c-font-size );font-weight:var( --e-global-typography-1e8340c-font-weight );line-height:var( --e-global-typography-1e8340c-line-height );}.elementor-kit-10 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-169fdca-font-family ), Poppins;font-size:var( --e-global-typography-169fdca-font-size );font-weight:var( --e-global-typography-169fdca-font-weight );line-height:var( --e-global-typography-169fdca-line-height );}.elementor-kit-10 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-7afc2c8-font-family ), Poppins;font-size:var( --e-global-typography-7afc2c8-font-size );font-weight:var( --e-global-typography-7afc2c8-font-weight );line-height:var( --e-global-typography-7afc2c8-line-height );}.elementor-kit-10 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-32bedd5-font-family ), Poppins;font-size:var( --e-global-typography-32bedd5-font-size );font-weight:var( --e-global-typography-32bedd5-font-weight );line-height:var( --e-global-typography-32bedd5-line-height );}.elementor-kit-10 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-06f2e36-font-family ), Poppins;font-size:var( --e-global-typography-06f2e36-font-size );font-weight:var( --e-global-typography-06f2e36-font-weight );line-height:var( --e-global-typography-06f2e36-line-height );}.elementor-kit-10 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-f00d840-font-family ), Poppins;font-size:var( --e-global-typography-f00d840-font-size );font-weight:var( --e-global-typography-f00d840-font-weight );line-height:var( --e-global-typography-f00d840-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:24px;--container-default-padding-right:24px;--container-default-padding-bottom:24px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-10{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-10 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{font-size:var( --e-global-typography-1e8340c-font-size );line-height:var( --e-global-typography-1e8340c-line-height );}.elementor-kit-10 h2{font-size:var( --e-global-typography-169fdca-font-size );line-height:var( --e-global-typography-169fdca-line-height );}.elementor-kit-10 h3{font-size:var( --e-global-typography-7afc2c8-font-size );line-height:var( --e-global-typography-7afc2c8-line-height );}.elementor-kit-10 h4{font-size:var( --e-global-typography-32bedd5-font-size );line-height:var( --e-global-typography-32bedd5-line-height );}.elementor-kit-10 h5{font-size:var( --e-global-typography-06f2e36-font-size );line-height:var( --e-global-typography-06f2e36-line-height );}.elementor-kit-10 h6{font-size:var( --e-global-typography-f00d840-font-size );line-height:var( --e-global-typography-f00d840-line-height );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{font-size:var( --e-global-typography-d2d53f5-font-size );line-height:var( --e-global-typography-d2d53f5-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-10 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{font-size:var( --e-global-typography-1e8340c-font-size );line-height:var( --e-global-typography-1e8340c-line-height );}.elementor-kit-10 h2{font-size:var( --e-global-typography-169fdca-font-size );line-height:var( --e-global-typography-169fdca-line-height );}.elementor-kit-10 h3{font-size:var( --e-global-typography-7afc2c8-font-size );line-height:var( --e-global-typography-7afc2c8-line-height );}.elementor-kit-10 h4{font-size:var( --e-global-typography-32bedd5-font-size );line-height:var( --e-global-typography-32bedd5-line-height );}.elementor-kit-10 h5{font-size:var( --e-global-typography-06f2e36-font-size );line-height:var( --e-global-typography-06f2e36-line-height );}.elementor-kit-10 h6{font-size:var( --e-global-typography-f00d840-font-size );line-height:var( --e-global-typography-f00d840-line-height );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{font-size:var( --e-global-typography-d2d53f5-font-size );line-height:var( --e-global-typography-d2d53f5-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   AL HUDA, SITE CUSTOM CSS
   Sections, in order:
   1  Toast
   2  Registration fee button
   3  Payment period .elementor-kit-10
   4  Conditional bands
   5  WooCommerce notices
   6  WooCommerce links and misc
   7  Loop images
   8 Order received custom css
   ============================================================ */


/* ---------- 1. Toast ---------- */

.ah-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translate(-50%, 16px);
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 18px;
  background: #0D3B3E;
  color: #FFFFFF;
  border: 1px solid rgba(216,205,186,.35);
  border-radius: 999px;
  padding: 14px 14px 14px 26px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
  max-width: min(560px, calc(100vw - 32px));
}
.ah-toast.is-in { opacity: 1; transform: translate(-50%, 0); }

.ah-toast-link {
  background: #D8CDBA;
  color: #0D3B3E !important;
  text-decoration: none !important;
  border-radius: 999px;
  padding: 9px 20px;
  font-weight: 600;
  white-space: nowrap;
  pointer-events: auto;
}
.ah-toast-link:hover { background: #FFFFFF; }

@media (max-width: 640px) {
  .ah-toast {
    left: 16px;
    right: 16px;
    bottom: 76px;
    transform: translateY(14px);
    max-width: none;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    border-radius: 18px;
    padding: 16px;
  }
  .ah-toast.is-in { transform: translateY(0); }
  .ah-toast-link { text-align: center; }
}


/* ---------- 2. Registration fee button ----------
   Two similar class names, do not confuse them.
   .ah-reg-btn      is the CONTAINER, hidden by section 4
   .alhuda-reg-btn  is the BUTTON itself, output by the shortcode
------------------------------------------------------ */

.alhuda-reg-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.alhuda-reg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border: 1px solid rgba(216,205,186,.28);
  border-radius: 999px;
  background: #0A2224;
  color: #D8CDBA !important;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
  cursor: pointer;
}
.alhuda-reg-btn:hover {
  background: #071A1B;
  border-color: rgba(216,205,186,.55);
  color: #FFFFFF !important;
}

.alhuda-reg-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 1px solid rgba(216,205,186,.45);
  border-radius: 999px;
  background: transparent;
  color: #D8CDBA !important;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
}
.alhuda-reg-cart:hover {
  background: #D8CDBA;
  color: #0D3B3E !important;
}

/* confirmed state, covers the shortcode button and any Elementor button */
.alhuda-reg-btn.is-done,
.alhuda-reg-btn.is-added,
.elementor-button.is-done,
.elementor-button.is-added {
  background: #D8CDBA !important;
  background-color: #D8CDBA !important;
  border-color: #D8CDBA !important;
  color: #0D3B3E !important;
  pointer-events: none;
  opacity: .85;
}

@media (max-width: 640px) {
  .alhuda-reg-wrap { flex-direction: column; align-items: stretch; gap: 10px; }
  .alhuda-reg-btn,
  .alhuda-reg-cart { width: 100%; }
}


/* 3 Payment period */
.alhuda-period {
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid rgba(183,189,170,.3);
  border-radius: 16px;
}
.alhuda-period__label {
  color: #D8CDBA; font-weight: 600; font-size: 15px; margin: 0 0 14px;
}
.alhuda-period__row {
  display: flex; align-items: center; gap: 14px; margin-bottom: 14px;
}
.alhuda-period__legend { color: #B7BDAA; font-size: 14px; flex: 0 0 62px; }
.alhuda-period__pair { display: flex; gap: 10px; flex: 1 1 auto; min-width: 0; }
.alhuda-period select {
  flex: 1 1 0; min-width: 0; height: 48px;
  border-radius: 12px; border: 1px solid #B7BDAA;
  background: #FFFFFF; color: #111111; padding: 0 14px;
  font-family: Poppins, sans-serif; font-size: 15px;
}
.alhuda-period select:focus-visible { outline: 2px solid #1F5F63; outline-offset: 2px; }

.alhuda-period__out {
  background: rgba(216,205,186,.12);
  border: 1px solid rgba(216,205,186,.32);
  border-radius: 12px;
  padding: 14px 18px;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
}
.alhuda-period__out-l {
  color: #B7BDAA; font-family: Poppins, sans-serif;
  font-size: 12px; text-transform: uppercase; letter-spacing: .07em;
  flex: 1 1 100%;
}
.alhuda-period__out-v {
  color: #FFFFFF; font-family: 'Rethink Sans', sans-serif;
  font-size: 20px; font-weight: 700; line-height: 1.3;
}
.alhuda-period__out-c {
  color: #D8CDBA; font-family: Poppins, sans-serif; font-size: 14px;
}
.alhuda-period__out-c::before { content: "·"; margin-right: 8px; opacity: .6; }

.alhuda-period__hint { color: #B7BDAA; font-size: 13px; margin: 12px 0 0; }

@media (max-width: 640px) {
  .alhuda-period { padding: 16px; }
  .alhuda-period__row { flex-direction: column; align-items: stretch; gap: 8px; }
  .alhuda-period__legend { flex: none; }
  .alhuda-period__pair { flex-direction: column; }
  .alhuda-period select { width: 100%; }
  .alhuda-period__out-v { font-size: 18px; }
}

/* Clear variations link */
form.cart .reset_variations {
  color: #B7BDAA !important;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: .85;
}
form.cart .reset_variations:hover { color: #D8CDBA !important; opacity: 1; }

/* Variation description, the "7500/- Monthly x 12" line */
.woocommerce-variation-description,
.woocommerce-variation-description p {
  color: #B7BDAA !important;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  margin: 0 0 6px;
}


/* ---------- 4. Conditional bands ----------
   Hide only, never re-declare display.
   The :not(.elementor-editor-active) guard keeps them
   visible and selectable on the Elementor canvas.
------------------------------------------------------ */

/* Preserve Elementor's own flex/grid display. Hide only on the live frontend. */
body:not(.elementor-editor-active):not(.has-subjects) .ah-subjects { display: none !important; }
body:not(.elementor-editor-active):not(.has-cta) .ah-cta { display: none !important; }
body:not(.elementor-editor-active):not(.has-new-student-actions) .ah-new-student { display: none !important; }
body:not(.elementor-editor-active):not(.has-reg-form) .ah-reg-form { display: none !important; }
body:not(.elementor-editor-active):not(.has-reg-fee) .ah-reg-btn { display: none !important; }

/* Explicitly assigned to the ORIGINAL Add to Cart widget in both templates.
   Only External products with a new form URL hide this duplicate action.
   Paid Simple/Variable products retain their payment widget. */
body.has-registration-form-external:not(.elementor-editor-active) .ah-external-registration-fallback {
  display: none !important;
}

/* ---------- 5. WooCommerce notices ---------- */

.woocommerce-notices-wrapper {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0 24px;
}
.woocommerce-notices-wrapper:empty { margin: 0; padding: 0; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #0D3B3E;
  color: #FFFFFF;
  border: 0;
  border-radius: 16px;
  padding: 20px 20px 20px 28px;
  margin: 0 0 14px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { content: none; display: none; }

.woocommerce-error { background: #5E2626; }
.woocommerce-info  { background: #1F5F63; }

/* messages and info are one row, errors are a list of rows */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error li {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.woocommerce-error li {
  margin: 0;
  padding: 6px 0;
  list-style: none;
}
.woocommerce-error li + li {
  border-top: 1px solid rgba(255,255,255,.14);
  margin-top: 6px;
  padding-top: 14px;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  order: 2;
  margin-left: auto;
  background: #D8CDBA !important;
  background-color: #D8CDBA !important;
  color: #0D3B3E !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 11px 24px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1.2 !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}

@media (max-width: 640px) {
  .woocommerce-notices-wrapper { margin-top: 28px; padding: 0 16px; }
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error { padding: 18px; }
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error li { gap: 14px; }
  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button {
    margin-left: 0;
    width: 100%;
    text-align: center;
  }
}


/* ---------- 6. WooCommerce links and misc ---------- */

.woocommerce-MyAccount-content a,
.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-order a {
  color: #0D3B3E;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wc_payment_method img { max-width: 100%; border-radius: 12px; }

/* "Available at the Institute", appended to book prices */
.alhuda-book-note {
  display: block;
  margin-top: 6px;
  color: #1F5F63;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
}


/* ---------- 7. Loop images ---------- */

.ah-banner-img,
.ah-banner-img .elementor-widget-container { height: 100%; }
.ah-banner-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .ah-banner-img img { height: auto; aspect-ratio: 16 / 10; }
}

.ah-card-img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

/* Order received */
.woocommerce-order { max-width: 860px; margin: 0 auto; }

.woocommerce-order p.woocommerce-thankyou-order-received {
  background: #0D3B3E;
  color: #FFFFFF;
  border-radius: 16px;
  padding: 22px 26px;
  font-family: 'Rethink Sans', sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 24px;
}

/* the order number / date / email / total strip */
.woocommerce-order ul.order_details {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0;
}
.woocommerce-order ul.order_details li {
  flex: 1 1 calc(33.333% - 8px);
  min-width: 0;
  background: #F4F0E8;
  border: 1px solid #E3DED3;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 !important;
  float: none !important;
  list-style: none !important;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #1F5F63;
  overflow-wrap: anywhere;
}
.woocommerce-order ul.order_details li::after { display: none !important; }
.woocommerce-order ul.order_details li strong {
  display: block;
  margin-top: 6px;
  font-family: 'Rethink Sans', sans-serif;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  color: #0D3B3E;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/*Order Print action and CTA */
.ah-order-actions {
  margin: 34px 0 10px;
  padding: 22px 24px;
  background: #F4F0E8;
  border: 1px solid #E3DED3;
  border-radius: 14px;
}
.ah-order-actions__note {
  margin: 0 0 16px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #3d3d3d;
}
.ah-order-actions__note strong { color: #0D3B3E; }
.ah-order-actions__row { display: flex; flex-wrap: wrap; gap: 12px; }
.ah-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 13px 26px; border-radius: 999px;
  font-family: Poppins, sans-serif; font-size: 15px; font-weight: 600;
  text-decoration: none !important; cursor: pointer; border: 1px solid transparent;
}
.ah-btn--solid { background: #0D3B3E; color: #FFFFFF !important; }
.ah-btn--solid:hover { background: #1F5F63; }
.ah-btn--line { background: transparent; border-color: #0D3B3E; color: #0D3B3E !important; }
.ah-btn--line:hover { background: #0D3B3E; color: #FFFFFF !important; }
@media (max-width: 600px) { .ah-btn { width: 100%; } }

@media print {
  #wpadminbar,
  header, footer,
  .elementor-location-header,
  .elementor-location-footer,
  .ah-order-actions,
  .woocommerce-breadcrumb,
  nav, .elementor-nav-menu--main { display: none !important; }

  a[href]:after,
  a[href]::after,
  abbr[title]:after { content: "" !important; }

  body, .woocommerce-order { background: #fff !important; color: #000 !important; }
  .woocommerce-order { max-width: 100% !important; margin: 0 !important; }

  .woocommerce-order p.woocommerce-thankyou-order-received {
    background: none !important;
    color: #000 !important;
    font-size: 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 2px solid #000;
    border-radius: 0 !important;
  }
  .woocommerce-order ul.order_details li,
  .woocommerce-order table.shop_table thead th,
  .woocommerce-order .woocommerce-customer-details address,
  .woocommerce-order > p:not(.woocommerce-thankyou-order-received) {
    background: #fff !important;
    border-color: #999 !important;
  }
  .woocommerce-order h2, .woocommerce-order h3 {
    font-size: 16px !important;
    margin: 18px 0 8px !important;
    color: #000 !important;
  }
  table.shop_table { page-break-inside: avoid; }
}

/* gateway instructions, bank transfer */
.woocommerce-order > p:not(.woocommerce-thankyou-order-received) {
  background: #F4F0E8;
  border: 1px solid #E3DED3;
  border-radius: 14px;
  padding: 18px 22px;
  margin: 0 0 30px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: #3d3d3d;
}
.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order .wc-bacs-bank-details-heading {
  background: #F4F0E8;
  border: 1px solid #E3DED3;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 0 0 28px;
}

.woocommerce-order h2,
.woocommerce-order h3 {
  font-family: 'Rethink Sans', sans-serif !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  color: #0D3B3E !important;
  margin: 32px 0 14px !important;
}

.woocommerce-order table.woocommerce-table--order-details,
.woocommerce-order table.shop_table {
  width: 100%;
  border: 1px solid #E3DED3;
  border-radius: 14px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-family: Poppins, sans-serif;
  font-size: 15px;
}
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
  padding: 14px 18px;
  border-bottom: 1px solid #EFEAE0;
  text-align: left;
  overflow-wrap: anywhere;
}
.woocommerce-order table.shop_table thead th {
  background: #F4F0E8;
  color: #0D3B3E;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.woocommerce-order table.shop_table tfoot th { color: #0D3B3E; }
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td {
  font-size: 17px;
  font-weight: 700;
  color: #0D3B3E;
}
.woocommerce-order .wc-item-meta {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: #4a4a4a;
}
.woocommerce-order .wc-item-meta li { margin: 2px 0; }
.woocommerce-order .wc-item-meta li::before { content: none; }
.woocommerce-order .wc-item-meta strong { color: #1F5F63; }

.woocommerce-order .woocommerce-customer-details address {
  border: 1px solid #E3DED3;
  border-radius: 14px;
  padding: 18px 22px;
  font-style: normal;
  font-family: Poppins, sans-serif;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .woocommerce-order ul.order_details li { flex: 1 1 calc(50% - 6px); }
}
@media (max-width: 600px) {
  .woocommerce-order p.woocommerce-thankyou-order-received { font-size: 18px; padding: 18px 20px; }
  .woocommerce-order ul.order_details li { flex: 1 1 100%; }
  .woocommerce-order h2, .woocommerce-order h3 { font-size: 19px !important; }
  .woocommerce-order table.shop_table th,
  .woocommerce-order table.shop_table td { padding: 12px 14px; }
}

/* Free courses, registration only. Hides the injected blocks, keeps the button. *//* BLOCK B: Replace the ENTIRE final "Free courses, registration only" block.
   Each registration action is now controlled by its own ACF field.
   Do not globally hide registration-fee buttons merely because of this tag. */

body.is-free-reg:not(.elementor-editor-active) .alhuda-period,
body.is-free-reg:not(.elementor-editor-active) .elementor-widget-woocommerce-product-price {
  display: none !important;
}

/* BLOCK C: Append this block at the VERY END of Site Custom CSS, after Block B. */

.ah-new-student,
.ah-new-student > .e-con,
.ah-reg-form,
.ah-reg-btn { min-width: 0; }

.ah-reg-form .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  padding: 14px 28px;
  border: 1px solid #D8CDBA;
  border-radius: 999px;
  background: #D8CDBA;
  color: #0D3B3E;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: background-color .15s ease, color .15s ease;
}
.ah-reg-form .elementor-button:hover { background: #FFFFFF; color: #0D3B3E; }
.ah-reg-form .elementor-button:active { background: #B7BDAA; }
.ah-reg-form .elementor-button:focus-visible,
.alhuda-reg-btn:focus-visible,
.alhuda-reg-cart:focus-visible,
.ah-toast-link:focus-visible {
  outline: 3px solid #FFFFFF;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #0D3B3E;
}
.alhuda-reg-btn[aria-busy="true"] { cursor: progress; opacity: .8; }
.alhuda-reg-btn,
.alhuda-reg-cart { min-height: 44px; box-sizing: border-box; }

@media (max-width: 640px) {
  .ah-reg-form .elementor-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ah-toast,
  .ah-reg-form .elementor-button,
  .alhuda-reg-btn,
  .alhuda-reg-cart { transition: none; }
}

/* Keep print overrides last. Later ordinary rules in the supplied CSS
   otherwise overrode the print heading sizes and inherited text colour. */
@media print {
  .ah-toast,
  .ah-new-student { display: none !important; }
  .woocommerce-order h2,
  .woocommerce-order h3 { font-size: 16px !important; color: #000000 !important; }
  .woocommerce-order > p:not(.woocommerce-thankyou-order-received) {
    background: #FFFFFF !important;
    color: #000000 !important;
  }
}/* End custom CSS */