
/* Heritage Village course cards */
.ys-courses-showcase{
  --hv-navy:#efe3cc;
  --hv-navy-2:#9f7d47;
  --hv-gold:#a98955;
  --hv-gold-light:#f3eadb;
  --hv-pink:#f7e6ef;
  --hv-green:#00b99b;
  --hv-text:#151515;
  width:100%;
  box-sizing:border-box;
  background:var(--hv-gold-light);
  padding:32px 18px 46px;
  border-radius:0;
  overflow:hidden;
}
.ys-courses-toolbar{max-width:1450px;margin:0 auto 24px}
.ys-courses-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.ys-course-tab{
  appearance:none;border:0;background:transparent;color:#6e5937;
  padding:10px 22px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;
  transition:.2s ease;
}
.ys-course-tab:hover,.ys-course-tab.is-active{background:var(--hv-gold);color:#fff}
.ys-courses-heading{text-align:center;margin:0 auto 20px;color:#3d3224}.ys-courses-heading h2{margin:0 0 6px;font-size:34px;color:var(--hv-gold)}.ys-courses-heading p{margin:0;color:#5a4d3a;line-height:1.8}.ys-carousel-viewport{max-width:1450px;margin:0 auto;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}.ys-carousel-viewport.is-dragging{cursor:grabbing}.ys-courses-track{display:flex;gap:22px;align-items:stretch;will-change:transform}.ys-carousel-slide{flex:0 0 calc((100% - 66px)/4)}.ys-carousel-slide.is-hidden{display:none}
.ys-course-card-pro{
  min-width:0;background:#fff;border:0;border-radius:28px;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  transition:transform .22s ease,box-shadow .22s ease;
}
.ys-course-card-pro:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(0,0,0,.2)}
.ys-course-image-link{display:block;text-decoration:none}
.ys-course-image{height:265px;position:relative;overflow:hidden;background:#eee}
.ys-course-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ys-course-card-pro:hover .ys-course-image img{transform:scale(1.04)}
.ys-course-image-placeholder{height:100%;display:grid;place-items:center;background:var(--hv-gold-light);color:var(--hv-gold);font-weight:800}
.ys-course-favorite{
  position:absolute;right:18px;bottom:-27px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:#fff;color:#ef238c;border:1px solid #f0dff0;
  font-size:28px;line-height:1;box-shadow:0 3px 12px rgba(0,0,0,.08)
}
.ys-course-body-pro{padding:24px 24px 22px}
.ys-course-badges{display:flex;gap:7px;align-items:center;min-height:30px}
.ys-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:700;line-height:1}
.ys-badge-month{background:#f6e7f1;color:#ef2390}
.ys-badge-level{background:#e9defb;color:#7347cf}
.ys-course-body-pro h3{margin:17px 0 14px;font-size:25px;line-height:1.35;font-weight:800}
.ys-course-body-pro h3 a{color:var(--hv-text);text-decoration:none}
.ys-course-body-pro h3 a:hover{color:var(--hv-gold)}
.ys-course-meta-pro{display:grid;gap:10px;margin:0 0 18px;font-size:14px;color:#202020}
.ys-course-meta-pro>div{display:flex;align-items:flex-start;gap:9px;line-height:1.55}
.ys-meta-icon{width:18px;flex:0 0 18px;text-align:center;color:var(--hv-gold);font-weight:800}
.ys-course-card-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:12px}
.ys-course-price{font-size:20px;font-weight:800;color:#202020;white-space:nowrap}
.ys-course-price small{font-size:12px;font-weight:600}
.ys-btn-pro{
  display:inline-flex;align-items:center;justify-content:center;min-width:145px;
  padding:13px 20px;border-radius:999px;background:var(--hv-gold);
  color:#fff!important;text-decoration:none!important;font-weight:800;border:0;
  transition:.2s ease
}
.ys-btn-pro:hover{background:#87683b;transform:translateY(-1px)}
.ys-course-status{padding:12px 16px;border-radius:999px;font-weight:800;font-size:13px}
.ys-course-status.is-open{background:#e8f7f2;color:#087e6c}
.ys-course-status.is-soon{background:#f4ecd9;color:#7c6844}
.ys-course-status.is-closed{background:#f6e9ea;color:#9a343b}
.ys-courses-empty{text-align:center;color:#4a3d2c;padding:35px 10px;font-weight:700}
@media(max-width:1200px){.ys-carousel-slide{flex-basis:calc((100% - 44px)/3)}.ys-course-image{height:230px}}
@media(max-width:900px){.ys-carousel-slide{flex-basis:calc((100% - 20px)/2)}.ys-course-image{height:240px}}
@media(max-width:600px){
  .ys-courses-showcase{padding:24px 12px 35px}
  .ys-carousel-slide{flex-basis:88%;}
  .ys-course-image{height:250px}
  .ys-course-body-pro{padding:22px}
  .ys-course-body-pro h3{font-size:23px}
  .ys-course-card-footer{flex-wrap:wrap}
  .ys-btn-pro{flex:1;min-width:130px}
}

.ys-carousel-controls{max-width:1450px;margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:18px}.ys-carousel-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--hv-gold);background:#fff;color:var(--hv-gold);font-size:32px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}.ys-carousel-arrow:disabled{opacity:.35;cursor:not-allowed}.ys-carousel-dots{display:flex;gap:8px;align-items:center}.ys-carousel-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#fff;opacity:.65;cursor:pointer}.ys-carousel-dot.is-active{width:11px;height:11px;background:var(--hv-gold);opacity:1}.ys-courses-tabs{margin-bottom:18px}.ys-courses-showcase{position:relative}.ys-course-card-pro{height:auto}.ys-course-image{height:255px}.ys-course-body-pro{min-height:335px;display:flex;flex-direction:column}.ys-course-card-footer{margin-top:auto}

/* Booking form — balanced RTL layout */
.ys-booking{width:100%;box-sizing:border-box;margin-top:8px}.ys-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}.ys-stepper span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border-radius:12px;background:#f4ead8;color:#8f7141;font-weight:800;font-size:14px;text-align:center}.ys-stepper span.active{background:#b0925d;color:#fff}.ys-booking-form{display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid #eee2cf;border-radius:18px;padding:24px;box-sizing:border-box}.ys-booking-form>h2{margin:0;color:#1f1b17;font-size:28px;line-height:1.4}.ys-booking-form>p{margin:0;color:#665b4d;line-height:1.9}.ys-course-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ys-course-summary>div{min-width:0;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;background:#fbf7ef;border:1px solid #eee2cf}.ys-course-summary b{font-size:12px;color:#8f7141}.ys-course-summary span{font-size:14px;font-weight:800;color:#25211d;overflow-wrap:anywhere}.ys-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ys-booking-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-weight:800;color:#29251f;font-size:14px}.ys-booking-form .ys-label-text{display:block;min-height:21px;line-height:21px}.ys-booking-form .ys-field-optional{display:inline;font-size:12px;font-weight:400;color:#777;margin-inline-start:3px}.ys-booking-form .ys-field-required{display:inline;color:#c62828;font-weight:700}.ys-booking-form input,.ys-booking-form select,.ys-booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8ccb8!important;background:#fff!important;color:#201c18!important;border-radius:10px!important;padding:12px 13px!important;min-height:46px!important;font:inherit!important;box-shadow:none!important}.ys-booking-form select{appearance:auto}.ys-booking-form textarea{min-height:105px!important;resize:vertical}.ys-booking-form>label{width:100%}.ys-booking-form .ys-btn{align-self:flex-start;min-width:260px;min-height:50px;padding:13px 24px;border:0;border-radius:999px;background:#b0925d;color:#fff;font-weight:900;font-size:16px;cursor:pointer;transition:.2s ease}.ys-booking-form .ys-btn:hover{background:#967843;transform:translateY(-1px)}.ys-notice{padding:16px;border-radius:12px;background:#fbf7ef;color:#765d32}
@media(max-width:900px){.ys-course-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ys-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ys-booking-form{padding:16px}.ys-grid2,.ys-course-summary,.ys-stepper{grid-template-columns:1fr}.ys-booking-form>h2{font-size:23px}.ys-booking-form .ys-btn{width:100%;min-width:0}.ys-course-single-image img{width:100%;height:auto;display:block;object-fit:cover}}
/* ==========================================================
   Heritage Village — Professional WooCommerce Checkout 3.7
   Scoped to the plugin checkout so the active theme cannot
   collapse the form fields into tiny inputs.
========================================================== */
.ys-hv-checkout {
  --hv-gold:#b0925d;
  --hv-gold-dark:#8f7141;
  --hv-gold-soft:#f4ead8;
  --hv-cream:#faf7ef;
  --hv-border:#e4d7c2;
  --hv-text:#27221b;
  --hv-muted:#716757;
  background:#f7f3eb !important;
  padding:48px 18px 76px !important;
  direction:rtl;
  box-sizing:border-box;
}
.ys-hv-checkout * { box-sizing:border-box; }
.ys-hv-checkout .ys-checkout-wrap { width:100%; max-width:1220px; margin:0 auto; }
.ys-hv-checkout .ys-checkout-card {
  background:#fff;
  border:1px solid rgba(176,146,93,.18);
  border-radius:26px;
  padding:34px;
  box-shadow:0 14px 45px rgba(68,53,31,.09);
}
.ys-hv-checkout .ys-checkout-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:0 0 25px;
  margin:0 0 25px;
  border-bottom:1px solid #eee5d8;
}
.ys-hv-checkout .ys-checkout-kicker {
  display:inline-flex;
  align-items:center;
  background:var(--hv-gold-soft);
  color:var(--hv-gold-dark);
  padding:7px 15px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}
.ys-hv-checkout .ys-checkout-title h1 {
  margin:10px 0 6px;
  color:var(--hv-text);
  font-size:34px;
  line-height:1.25;
  font-weight:900;
}
.ys-hv-checkout .ys-checkout-title p {
  margin:0;
  color:var(--hv-muted);
  line-height:1.8;
}
.ys-checkout-steps { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.ys-checkout-steps span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 13px;
  border-radius:999px;
  background:#f6f1e8;
  color:#88765b;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.ys-checkout-steps span.is-done { background:#eee3cf; color:#765c31; }
.ys-checkout-steps span.is-active { background:var(--hv-gold); color:#fff; }

/* Booking summary */
.ys-checkout-booking-summary {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  background:var(--hv-cream);
  border:1px solid var(--hv-border);
  border-radius:18px;
  padding:16px;
  margin-bottom:28px;
}
.ys-checkout-course-media { min-height:145px; border-radius:14px; overflow:hidden; background:#eee4d3; }
.ys-checkout-course-media img { width:100%; height:100%; min-height:145px; object-fit:cover; display:block; }
.ys-checkout-course-placeholder { height:100%; min-height:145px; display:grid; place-items:center; color:var(--hv-gold); font-weight:900; }
.ys-checkout-course-info { min-width:0; display:flex; flex-direction:column; justify-content:center; }
.ys-checkout-course-label { color:var(--hv-gold-dark); font-size:12px; font-weight:800; margin-bottom:4px; }
.ys-checkout-course-info h2 { margin:0 0 13px; color:var(--hv-text); font-size:23px; line-height:1.4; }
.ys-checkout-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.ys-checkout-summary-grid > div { background:#fff; border:1px solid #eee3d2; border-radius:10px; padding:10px 12px; min-width:0; }
.ys-checkout-summary-grid small { display:block; color:#88775e; font-size:11px; margin-bottom:4px; }
.ys-checkout-summary-grid strong { display:block; color:var(--hv-text); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }

/* WooCommerce checkout structure */
.ys-hv-checkout .ys-checkout-real { direction:rtl; width:100%; }
.ys-hv-checkout .ys-checkout-real form.checkout,
.ys-hv-checkout form.woocommerce-checkout {
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr) !important;
  gap:28px !important;
  align-items:start !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
.ys-hv-checkout .ys-checkout-real #customer_details,
.ys-hv-checkout .ys-checkout-real #order_review {
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  min-width:0 !important;
}
.ys-hv-checkout .ys-checkout-real #customer_details {
  grid-column:1;
  grid-row:1;
  background:#fff;
  border:1px solid var(--hv-border);
  border-radius:18px;
  padding:26px;
}
.ys-hv-checkout .ys-checkout-real #order_review {
  grid-column:2;
  grid-row:1;
  background:#fff;
  border:1px solid var(--hv-border);
  border-radius:18px;
  padding:26px;
  position:sticky;
  top:24px;
  box-shadow:0 8px 25px rgba(68,53,31,.05);
}
.ys-hv-checkout .ys-checkout-real #order_review_heading { display:none !important; }

/* WooCommerce headings */
.ys-hv-checkout .ys-checkout-real h3 {
  margin:0 0 22px !important;
  color:var(--hv-text) !important;
  font-size:22px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
  border-bottom:1px solid #eee5d8;
  padding-bottom:13px;
}
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields { margin:0; }

/* Kill theme float/width rules and make fields predictable */
.ys-hv-checkout .ys-checkout-real .form-row,
.ys-hv-checkout .ys-checkout-real .form-row-first,
.ys-hv-checkout .ys-checkout-real .form-row-last,
.ys-hv-checkout .ys-checkout-real .form-row-wide {
  float:none !important;
  width:100% !important;
  max-width:none !important;
  clear:none !important;
  margin:0 0 17px !important;
  padding:0 !important;
}
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 16px;
}
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper .form-row-wide,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper .form-row-wide,
.ys-hv-checkout .ys-checkout-real .form-row-wide {
  grid-column:1 / -1;
}
.ys-hv-checkout .ys-checkout-real label {
  display:block !important;
  width:100% !important;
  margin:0 0 7px !important;
  padding:0 !important;
  color:var(--hv-text) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}
.ys-hv-checkout .ys-checkout-real .required { color:#a97d38 !important; }

/* Inputs — high specificity to override the theme */
.ys-hv-checkout .ys-checkout-real input.input-text,
.ys-hv-checkout .ys-checkout-real input[type="text"],
.ys-hv-checkout .ys-checkout-real input[type="email"],
.ys-hv-checkout .ys-checkout-real input[type="tel"],
.ys-hv-checkout .ys-checkout-real input[type="number"],
.ys-hv-checkout .ys-checkout-real input[type="password"],
.ys-hv-checkout .ys-checkout-real select,
.ys-hv-checkout .ys-checkout-real textarea {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid #d5c8b3 !important;
  border-radius:11px !important;
  background:#fff !important;
  color:#27221b !important;
  font-family:inherit !important;
  font-size:15px !important;
  line-height:1.5 !important;
  box-shadow:none !important;
  outline:none;
}
.ys-hv-checkout .ys-checkout-real textarea {
  height:115px !important;
  min-height:115px !important;
  resize:vertical;
}
.ys-hv-checkout .ys-checkout-real input.input-text:focus,
.ys-hv-checkout .ys-checkout-real select:focus,
.ys-hv-checkout .ys-checkout-real textarea:focus {
  border-color:var(--hv-gold) !important;
  box-shadow:0 0 0 3px rgba(176,146,93,.13) !important;
}
.ys-hv-checkout .ys-checkout-real .select2-container,
.ys-hv-checkout .ys-checkout-real .select2-container--default { width:100% !important; max-width:100% !important; }
.ys-hv-checkout .ys-checkout-real .select2-container .select2-selection--single {
  height:50px !important;
  border:1px solid #d5c8b3 !important;
  border-radius:11px !important;
  background:#fff !important;
}
.ys-hv-checkout .ys-checkout-real .select2-container .select2-selection__rendered { line-height:48px !important; padding-right:14px !important; padding-left:35px !important; color:#27221b !important; }
.ys-hv-checkout .ys-checkout-real .select2-container .select2-selection__arrow { height:48px !important; }

/* Order review */
.ys-hv-checkout .ys-checkout-real table.shop_table,
.ys-hv-checkout .ys-checkout-real table.woocommerce-checkout-review-order-table {
  width:100% !important;
  border-collapse:collapse !important;
  border:0 !important;
  margin:0 !important;
}
.ys-hv-checkout .ys-checkout-real table.shop_table th,
.ys-hv-checkout .ys-checkout-real table.shop_table td {
  padding:13px 5px !important;
  border-bottom:1px solid #eee5d8 !important;
  background:transparent !important;
  color:var(--hv-text) !important;
  font-size:14px !important;
  vertical-align:middle !important;
}
.ys-hv-checkout .ys-checkout-real table.shop_table .order-total th,
.ys-hv-checkout .ys-checkout-real table.shop_table .order-total td {
  border-bottom:0 !important;
  padding-top:18px !important;
  font-size:18px !important;
  font-weight:900 !important;
}
.ys-hv-checkout .ys-checkout-real #payment {
  margin-top:20px !important;
  padding:17px !important;
  border:1px solid #eadfcf !important;
  border-radius:13px !important;
  background:var(--hv-cream) !important;
}
.ys-hv-checkout .ys-checkout-real #payment ul.payment_methods {
  margin:0 !important;
  padding:0 0 12px !important;
  border:0 !important;
}
.ys-hv-checkout .ys-checkout-real #payment .payment_box { border-radius:10px !important; background:#fff !important; }
.ys-hv-checkout .ys-checkout-real #payment .place-order { margin:0 !important; padding:0 !important; }
.ys-hv-checkout .ys-checkout-real #place_order {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:none !important;
  min-height:55px !important;
  height:auto !important;
  margin:17px 0 0 !important;
  padding:13px 22px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--hv-gold) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:17px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:transform .2s ease,background .2s ease;
}
.ys-hv-checkout .ys-checkout-real #place_order:hover { background:var(--hv-gold-dark) !important; transform:translateY(-1px); }
.ys-hv-checkout .ys-checkout-real .woocommerce-privacy-policy-text,
.ys-hv-checkout .ys-checkout-real .woocommerce-terms-and-conditions-wrapper { color:#766c5e; font-size:12px; line-height:1.8; }
.ys-hv-checkout .ys-checkout-real .woocommerce-error,
.ys-hv-checkout .ys-checkout-real .woocommerce-info,
.ys-hv-checkout .ys-checkout-real .woocommerce-message { border-radius:11px !important; }

/* Empty state */
.ys-hv-checkout .ys-checkout-empty { text-align:center; padding:60px 25px; background:var(--hv-cream); border:1px solid var(--hv-border); border-radius:18px; color:#6d5a3d; }
.ys-hv-checkout .ys-checkout-empty-icon { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 12px; border-radius:50%; background:var(--hv-gold); color:#fff; font-weight:900; font-size:25px; }
.ys-hv-checkout .ys-checkout-empty h2 { margin:0 0 8px; color:var(--hv-text); }
.ys-hv-checkout .ys-checkout-empty p { margin:0; line-height:1.8; }
.ys-hv-checkout .ys-checkout-back { display:inline-flex; margin-top:20px; padding:13px 26px; border-radius:999px; background:var(--hv-gold); color:#fff !important; text-decoration:none !important; font-weight:800; }

@media(max-width:950px){
  .ys-hv-checkout .ys-checkout-title { align-items:flex-start; flex-direction:column; }
  .ys-checkout-steps { justify-content:flex-start; }
  .ys-checkout-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ys-hv-checkout .ys-checkout-real form.checkout,
  .ys-hv-checkout form.woocommerce-checkout { grid-template-columns:1fr !important; }
  .ys-hv-checkout .ys-checkout-real #customer_details,
  .ys-hv-checkout .ys-checkout-real #order_review { grid-column:1 !important; grid-row:auto !important; }
  .ys-hv-checkout .ys-checkout-real #order_review { position:static; }
}
@media(max-width:600px){
  .ys-hv-checkout { padding:25px 10px 45px !important; }
  .ys-hv-checkout .ys-checkout-card { padding:18px; border-radius:18px; }
  .ys-hv-checkout .ys-checkout-title h1 { font-size:28px !important; }
  .ys-checkout-booking-summary { grid-template-columns:1fr; }
  .ys-checkout-course-media { min-height:190px; }
  .ys-checkout-course-media img,.ys-checkout-course-placeholder { min-height:190px; }
  .ys-checkout-summary-grid { grid-template-columns:1fr; }
  .ys-hv-checkout .ys-checkout-real #customer_details,
  .ys-hv-checkout .ys-checkout-real #order_review { padding:18px; }
  .ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper,
  .ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper { grid-template-columns:1fr; gap:0; }
  .ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper .form-row-wide { grid-column:auto; }
  .ys-checkout-steps { width:100%; }
  .ys-checkout-steps span { flex:1; }
}


/* ==========================================================
   Checkout 3.8 hard reset — protect WooCommerce fields from
   theme float/flex/width rules.
========================================================== */
.ys-hv-checkout .ys-checkout-real form.checkout,
.ys-hv-checkout .ys-checkout-real form.woocommerce-checkout {
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr) !important;
  gap:30px !important;
  width:100% !important;
  max-width:1220px !important;
  margin:0 auto !important;
  padding:0 !important;
  float:none !important;
  clear:both !important;
  align-items:start !important;
}
.ys-hv-checkout .ys-checkout-real #customer_details,
.ys-hv-checkout .ys-checkout-real #customer_details .col2-set,
.ys-hv-checkout .ys-checkout-real #customer_details .col-1,
.ys-hv-checkout .ys-checkout-real #customer_details .col-2,
.ys-hv-checkout .ys-checkout-real #order_review {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  position:relative !important;
}
.ys-hv-checkout .ys-checkout-real #customer_details { grid-column:1 !important; grid-row:1 !important; }
.ys-hv-checkout .ys-checkout-real #order_review { grid-column:2 !important; grid-row:1 !important; }
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper,
.ys-hv-checkout .ys-checkout-real .woocommerce-shipping-fields__field-wrapper,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 16px !important;
  width:100% !important;
  min-width:0 !important;
}
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper > .form-row,
.ys-hv-checkout .ys-checkout-real .woocommerce-shipping-fields__field-wrapper > .form-row,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper > .form-row {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:0 !important;
  grid-column:auto !important;
  box-sizing:border-box !important;
}
.ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper > .form-row-wide,
.ys-hv-checkout .ys-checkout-real .woocommerce-shipping-fields__field-wrapper > .form-row-wide,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper > .form-row-wide,
.ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper > #order_comments_field {
  grid-column:1 / -1 !important;
}
.ys-hv-checkout .ys-checkout-real .form-row label,
.ys-hv-checkout .ys-checkout-real .form-row > label,
.ys-hv-checkout .ys-checkout-real .form-row .woocommerce-input-wrapper {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  box-sizing:border-box !important;
}
.ys-hv-checkout .ys-checkout-real .form-row .woocommerce-input-wrapper { margin:0 !important; padding:0 !important; }
.ys-hv-checkout .ys-checkout-real input.input-text,
.ys-hv-checkout .ys-checkout-real input[type=text],
.ys-hv-checkout .ys-checkout-real input[type=email],
.ys-hv-checkout .ys-checkout-real input[type=tel],
.ys-hv-checkout .ys-checkout-real input[type=number],
.ys-hv-checkout .ys-checkout-real input[type=password],
.ys-hv-checkout .ys-checkout-real input[type=date],
.ys-hv-checkout .ys-checkout-real select,
.ys-hv-checkout .ys-checkout-real textarea,
.ys-hv-checkout .ys-checkout-real .select2-container {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  margin:0 !important;
}
.ys-hv-checkout .ys-checkout-real input.input-text,
.ys-hv-checkout .ys-checkout-real input[type=text],
.ys-hv-checkout .ys-checkout-real input[type=email],
.ys-hv-checkout .ys-checkout-real input[type=tel],
.ys-hv-checkout .ys-checkout-real input[type=number],
.ys-hv-checkout .ys-checkout-real input[type=password],
.ys-hv-checkout .ys-checkout-real input[type=date],
.ys-hv-checkout .ys-checkout-real select {
  height:50px !important;
  min-height:50px !important;
  padding:11px 14px !important;
}
.ys-hv-checkout .ys-checkout-real textarea {
  min-height:120px !important;
  height:120px !important;
  padding:12px 14px !important;
}
.ys-hv-checkout .ys-checkout-real .select2-container { min-height:50px !important; }
.ys-hv-checkout .ys-checkout-real .select2-container .select2-selection--single { width:100% !important; min-width:100% !important; }
.ys-hv-checkout .ys-checkout-real .woocommerce-validated input.input-text,
.ys-hv-checkout .ys-checkout-real .woocommerce-validated select { width:100% !important; }

@media(max-width:950px){
  .ys-hv-checkout .ys-checkout-real form.checkout,
  .ys-hv-checkout .ys-checkout-real form.woocommerce-checkout { grid-template-columns:1fr !important; }
  .ys-hv-checkout .ys-checkout-real #customer_details,
  .ys-hv-checkout .ys-checkout-real #order_review { grid-column:1 !important; grid-row:auto !important; }
}
@media(max-width:600px){
  .ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper,
  .ys-hv-checkout .ys-checkout-real .woocommerce-shipping-fields__field-wrapper,
  .ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper { grid-template-columns:1fr !important; }
  .ys-hv-checkout .ys-checkout-real .woocommerce-billing-fields__field-wrapper > .form-row-wide,
  .ys-hv-checkout .ys-checkout-real .woocommerce-shipping-fields__field-wrapper > .form-row-wide,
  .ys-hv-checkout .ys-checkout-real .woocommerce-additional-fields__field-wrapper > .form-row-wide { grid-column:auto !important; }
}


/* ==========================================================
   Ithra Courses & Booking Pro 3.9
   Moyasar hosted-payment UI
========================================================== */
.ys-hv-checkout .ys-moyasar-payment-description{
  margin:0 0 10px;
  color:#665a49;
  line-height:1.8;
  font-size:14px;
}
.ys-hv-checkout .ys-moyasar-payment-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding:7px 12px;
  border-radius:999px;
  background:#f3eadb;
  color:#8b6d3e;
  font-size:12px;
  font-weight:800;
}

/* v3.9.1 booking form field states */



/* Carousel mobile/RTL hardening — v3.9.3
 * Keep the track in RTL and move it in the correct direction.
 * This prevents the mobile carousel from translating the cards out of view.
 */
.ys-carousel-viewport{
  position:relative;
  width:100%;
  max-width:1450px;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
  direction:rtl;
  box-sizing:border-box;
  overscroll-behavior-x:contain;
}
.ys-courses-track{
  direction:rtl;
  width:100%;
  min-width:100%;
  box-sizing:border-box;
  transform:translate3d(0,0,0);
}
.ys-carousel-slide{
  box-sizing:border-box;
  min-width:0;
}
@media (max-width:600px){
  .ys-carousel-viewport{
    width:100%;
    max-width:100%;
    padding:0;
    overflow:hidden;
    touch-action:pan-y;
  }
  .ys-courses-track{
    gap:12px;
    width:100%;
    min-width:100%;
    will-change:transform;
  }
  .ys-carousel-slide{
    flex:0 0 calc(100% - 4px);
    width:calc(100% - 4px);
  }
}


/* v3.9.4 — mobile RTL carousel definitive fix */
.ys-courses-carousel {
  width:100%;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}
.ys-courses-carousel .ys-carousel-viewport {
  width:100%;
  max-width:100%;
  overflow:hidden !important;
  position:relative;
  direction:rtl;
  box-sizing:border-box;
}
.ys-courses-carousel .ys-courses-track {
  display:flex;
  flex-direction:row;
  direction:rtl;
  align-items:stretch;
  gap:22px;
  width:max-content;
  min-width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.ys-courses-carousel .ys-carousel-slide {
  flex-shrink:0;
  box-sizing:border-box;
}
@media (max-width:600px) {
  .ys-courses-carousel { padding-left:12px; padding-right:12px; }
  .ys-courses-carousel .ys-carousel-viewport { width:100%; }
  .ys-courses-carousel .ys-courses-track {
    width:max-content;
    min-width:100%;
    gap:12px;
  }
  .ys-courses-carousel .ys-carousel-slide {
    flex:0 0 100%;
    width:100%;
    max-width:100%;
  }
}



/* 3.11.6 — Definitive CTA layout fix.
   Keep the registration CTA inside the card footer regardless of theme flex rules. */
.ys-courses-carousel .ys-course-card-footer{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-top:auto !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-course-price{
  min-width:0 !important;
  width:auto !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.ys-courses-carousel a.ys-course-register-final,
.ys-courses-carousel a.ys-course-register-cta.ys-course-register-final{
  display:inline-flex !important;
  flex:0 0 145px !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
  flex-basis:145px !important;
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
  inline-size:145px !important;
  min-inline-size:145px !important;
  max-inline-size:145px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  position:relative !important;
  inset:auto !important;
  float:none !important;
  clear:none !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:hidden !important;
  z-index:2 !important;
  background:#a98955 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-align:center !important;
  white-space:nowrap !important;
  direction:rtl !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.ys-courses-carousel a.ys-course-register-final::before,
.ys-courses-carousel a.ys-course-register-final::after{
  content:none !important;
  display:none !important;
}
.ys-courses-carousel .ys-course-register-final-label{
  display:inline-block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  transform:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-indent:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.ys-courses-carousel .ys-course-register-final-label::before,
.ys-courses-carousel .ys-course-register-final-label::after{
  content:none !important;
  display:none !important;
}
@media(max-width:600px){
  .ys-courses-carousel .ys-course-card-footer{
    grid-template-columns:1fr !important;
    row-gap:12px !important;
  }
  .ys-courses-carousel .ys-course-price{
    width:100% !important;
    max-width:100% !important;
    text-align:right !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .ys-courses-carousel a.ys-course-register-final,
  .ys-courses-carousel a.ys-course-register-cta.ys-course-register-final{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    inline-size:100% !important;
    min-inline-size:0 !important;
    max-inline-size:100% !important;
    flex:0 0 52px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    justify-self:stretch !important;
  }
}

/* 3.11.8 — FINAL mobile registration CTA hardening.
 * The live page previously received an inline width (~1540px) from another
 * front-end rule/script. Inline !important can beat stylesheet !important,
 * so the plugin's JS removes only hostile layout properties from the CTA.
 * The CTA remains fully styled by this stylesheet and always stays inside
 * the course-card footer.
 */
.ys-courses-carousel .ys-course-card-footer {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-course-register-final,
.ys-courses-carousel .ys-course-register-final-label {
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  transform:none !important;
  text-indent:0 !important;
  clip:auto !important;
  clip-path:none !important;
}
.ys-courses-carousel .ys-course-register-final {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:static !important;
  float:none !important;
  clear:none !important;
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
  inline-size:145px !important;
  min-inline-size:145px !important;
  max-inline-size:145px !important;
  flex:0 0 145px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  background:#a98955 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-align:center !important;
  white-space:nowrap !important;
  direction:rtl !important;
  box-sizing:border-box !important;
  z-index:2 !important;
}
.ys-courses-carousel .ys-course-register-final-label {
  display:inline-block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.ys-courses-carousel .ys-course-register-final::before,
.ys-courses-carousel .ys-course-register-final::after,
.ys-courses-carousel .ys-course-register-final-label::before,
.ys-courses-carousel .ys-course-register-final-label::after {
  content:none !important;
  display:none !important;
}
@media (max-width:600px) {
  .ys-courses-carousel .ys-course-card-footer {
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:12px !important;
    align-items:center !important;
  }
  .ys-courses-carousel .ys-course-register-final {
    display:inline-flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    inline-size:100% !important;
    min-inline-size:0 !important;
    max-inline-size:100% !important;
    flex:0 0 52px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    justify-self:stretch !important;
  }
}



/* 3.11.9 — FINAL registration CTA contract.
 * Server renders the Arabic caption directly inside the anchor.
 * Inline !important is also applied by courses.js to defeat theme-injected
 * inline dimensions. These rules provide the stylesheet fallback.
 */
.ys-courses-carousel .ys-course-card-footer{
  display:grid !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-course-register-final{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
  inline-size:145px !important;
  min-inline-size:145px !important;
  max-inline-size:145px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  position:static !important;
  float:none !important;
  clear:none !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#a98955 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-align:center !important;
  white-space:nowrap !important;
  direction:rtl !important;
  transform:none !important;
  z-index:2 !important;
}
@media (max-width:600px){
  .ys-courses-carousel .ys-course-card-footer{
    grid-template-columns:1fr !important;
    row-gap:12px !important;
  }
  .ys-courses-carousel .ys-course-register-final{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    inline-size:100% !important;
    min-inline-size:0 !important;
    max-inline-size:100% !important;
    flex:0 0 52px !important;
    justify-self:stretch !important;
  }
}


/* 3.12.1 FINAL — clean registration CTA contract.
 * No JavaScript sizing, no MutationObserver, no mobile 100% override.
 * The button is intentionally the same compact size on desktop and mobile.
 */
.ys-courses-carousel .ys-course-card-footer{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 145px !important;
  align-items:center !important;
  column-gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-course-card-footer .ys-course-price{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.ys-courses-carousel a.ys-course-register-final,
.ys-courses-carousel a.ys-course-register-cta.ys-course-register-final{
  display:flex !important;
  flex:0 0 145px !important;
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
  inline-size:145px !important;
  min-inline-size:145px !important;
  max-inline-size:145px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 14px !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:end !important;
  align-self:center !important;
  position:relative !important;
  float:none !important;
  clear:none !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:20 !important;
  background:#a98955 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-family:Arial,Tahoma,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-indent:0 !important;
  white-space:nowrap !important;
  direction:rtl !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.ys-courses-carousel a.ys-course-register-final .ys-course-register-final-label{
  display:block !important;
  position:static !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  clip:auto !important;
  clip-path:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Arial,Tahoma,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-indent:0 !important;
  white-space:nowrap !important;
  direction:rtl !important;
  unicode-bidi:plaintext !important;
  transform:none !important;
}
.ys-courses-carousel a.ys-course-register-final::before,
.ys-courses-carousel a.ys-course-register-final::after,
.ys-courses-carousel a.ys-course-register-final .ys-course-register-final-label::before,
.ys-courses-carousel a.ys-course-register-final .ys-course-register-final-label::after{
  content:none !important;
  display:none !important;
}
@media (max-width:600px){
  .ys-courses-carousel .ys-course-card-footer{
    grid-template-columns:minmax(0,1fr) 145px !important;
    column-gap:10px !important;
    row-gap:0 !important;
  }
  .ys-courses-carousel a.ys-course-register-final,
  .ys-courses-carousel a.ys-course-register-cta.ys-course-register-final{
    display:flex !important;
    flex:0 0 145px !important;
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    inline-size:145px !important;
    min-inline-size:145px !important;
    max-inline-size:145px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    justify-self:end !important;
    align-self:center !important;
  }
}


/* ==========================================================
   3.12.2 FINAL — Registration CTA mobile/desktop repair
   Keep the CTA visible, inside the card footer, and the same
   compact size on desktop and mobile. This block intentionally
   comes last so it wins over the historical 3.11.x/3.12.1 rules.
   ========================================================== */
.ys-courses-carousel .ys-course-card-pro,
.ys-courses-carousel .ys-course-body-pro,
.ys-courses-carousel .ys-course-card-footer{
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-course-body-pro{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
}
.ys-courses-carousel .ys-course-card-footer{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 145px !important;
  align-items:center !important;
  column-gap:12px !important;
  row-gap:0 !important;
  width:100% !important;
  height:52px !important;
  min-height:52px !important;
  max-height:none !important;
  margin-top:16px !important;
  padding:0 !important;
  position:relative !important;
  inset:auto !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:5 !important;
}
.ys-courses-carousel .ys-course-card-footer .ys-course-price{
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  visibility:visible !important;
  opacity:1 !important;
}
.ys-courses-carousel .ys-course-card-footer a.ys-course-register-final,
.ys-courses-carousel .ys-course-card-footer a.ys-course-register-cta.ys-course-register-final{
  display:flex !important;
  position:relative !important;
  inset:auto !important;
  float:none !important;
  clear:none !important;
  flex:0 0 145px !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
  flex-basis:145px !important;
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
  inline-size:145px !important;
  min-inline-size:145px !important;
  max-inline-size:145px !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 14px !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  z-index:20 !important;
  box-sizing:border-box !important;
  background:#a98955 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-family:Arial,Tahoma,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-indent:0 !important;
  white-space:nowrap !important;
  direction:rtl !important;
  writing-mode:horizontal-tb !important;
}
.ys-courses-carousel .ys-course-register-final-label{
  display:block !important;
  position:static !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  clip:auto !important;
  clip-path:none !important;
  transform:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Arial,Tahoma,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-indent:0 !important;
  white-space:nowrap !important;
  direction:rtl !important;
  unicode-bidi:plaintext !important;
}
.ys-courses-carousel .ys-course-register-final::before,
.ys-courses-carousel .ys-course-register-final::after,
.ys-courses-carousel .ys-course-register-final-label::before,
.ys-courses-carousel .ys-course-register-final-label::after{
  content:none !important;
  display:none !important;
}
@media(max-width:600px){
  .ys-courses-carousel .ys-course-body-pro{
    padding:22px !important;
    min-height:0 !important;
  }
  .ys-courses-carousel .ys-course-card-footer{
    grid-template-columns:minmax(0,1fr) 145px !important;
    column-gap:10px !important;
    row-gap:0 !important;
    height:52px !important;
    min-height:52px !important;
    margin-top:16px !important;
  }
  .ys-courses-carousel .ys-course-card-footer a.ys-course-register-final,
  .ys-courses-carousel .ys-course-card-footer a.ys-course-register-cta.ys-course-register-final{
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    inline-size:145px !important;
    min-inline-size:145px !important;
    max-inline-size:145px !important;
    flex:0 0 145px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    justify-self:end !important;
  }
}

/* ==========================================================
   3.12.3 — MOBILE-FIRST CAROUSEL / CTA REPAIR
   The previous mobile rules used percentage flex-basis inside a
   max-content flex track. On narrow RTL viewports this can resolve
   against the wrong containing block, making each card narrower than
   the viewport and pushing the CTA outside the visible card.
   This final block gives the mobile slide a definite viewport-relative
   width and stacks the footer safely.
========================================================== */
.ys-courses-carousel,
.ys-courses-carousel .ys-carousel-viewport {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-courses-track {
  display:flex !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
}
.ys-courses-carousel .ys-carousel-slide {
  box-sizing:border-box !important;
  min-width:0 !important;
  flex-shrink:0 !important;
}
@media (max-width:600px) {
  .ys-courses-carousel {
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .ys-courses-carousel .ys-carousel-viewport {
    width:100% !important;
    overflow:hidden !important;
  }
  .ys-courses-carousel .ys-courses-track {
    gap:12px !important;
  }
  .ys-courses-carousel .ys-carousel-slide {
    flex:0 0 calc(100vw - 24px) !important;
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    min-width:calc(100vw - 24px) !important;
  }
  .ys-courses-carousel .ys-course-card-pro {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .ys-courses-carousel .ys-course-body-pro {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    padding:22px !important;
  }
  .ys-courses-carousel .ys-course-card-footer {
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:14px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-top:18px !important;
    padding:0 !important;
    align-items:center !important;
    justify-items:stretch !important;
    overflow:visible !important;
  }
  .ys-courses-carousel .ys-course-card-footer .ys-course-price {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .ys-courses-carousel .ys-course-card-footer a.ys-course-register-final,
  .ys-courses-carousel .ys-course-card-footer a.ys-course-register-cta.ys-course-register-final {
    display:flex !important;
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    inline-size:145px !important;
    min-inline-size:145px !important;
    max-inline-size:145px !important;
    flex:0 0 145px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    margin:0 auto !important;
    padding:0 14px !important;
    position:relative !important;
    inset:auto !important;
    float:none !important;
    justify-self:center !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    z-index:30 !important;
  }
  .ys-courses-carousel .ys-course-register-final-label {
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    position:static !important;
    white-space:nowrap !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }
}
