@charset "UTF-8";
/* 
Theme Name: Digital Planning
Description: Hello Elementor Child theme, created by Digital Planning
Author: Digital Planning
Template: hello-elementor
Version: 3.4.6
Text Domain: digital-planning
*/
.testimonial-box .elementor-image-box-content {
  display: flex;
  flex-direction: column-reverse;
}

.testimonial-box .elementor-image-box-description, .testimonial-box h3.elementor-image-box-title {
  text-align: left;
}

.crown-icon {
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
}

.logged-in .member-login-btn, .logged-in .hide-loggedin {
  display: none;
}

/* Hide the Logout button if the user is NOT logged in */
body:not(.logged-in) .member-logout-btn,
body:not(.logged-in) li.member-login-btn,
body:not(.logged-in) .hide-loggedout,
body:not(.woocommerce-lost-password) .login-password-reset {
  display: none !important;
}

.user-icon svg g {
  fill: white;
}

/*Product page*/
.woocommerce span.onsale {
  background-color: #ab495c;
}

.elementor-element.elementor-element-6fcdd6df.e-con-full.e-flex.e-con.e-child {
  z-index: 1;
}

/* Disable all click/touch interactions for this element */
a.woocommerce-product-gallery__trigger {
  pointer-events: none !important;
  user-select: none !important; /* Prevents text selection if applicable */
  display: none;
}

/* Hide the '0/0 Steps' text inside the Loop Grid only */
.boutique-loop-progress-wrap .ld-progress-steps {
  display: none !important;
}

/* Optional: Center the percentage now that the steps are gone */
.boutique-loop-progress-wrap .ld-progress-stats {
  justify-content: center !important;
  text-align: center;
}

@media (min-width: 767px) {
  li.hide-mobile.menu-item > a {
    display: none;
  }
}
/**
 * WooCommerce Basket Styles
 * Custom styling for WooCommerce cart page
 */
/* --- 1. GLOBAL LAYOUT & SPACING --- */
.woocommerce-cart .e-cart__container {
  gap: 40px !important;
  margin-top: 40px;
}

/* Style the sections as clean white cards */
.e-cart-section {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
}

/* --- 2. THE PRODUCT TABLE --- */
.woocommerce-cart-form__contents thead {
  background: transparent !important;
}

.woocommerce-cart-form__contents thead th {
  font-family: "Inter", sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 11px !important;
  color: #A64D59 !important; /* Rose Pink */
  border-bottom: 1px solid #f2efef !important;
  padding: 15px 0 !important;
}

.woocommerce-cart-form__cart-item td {
  padding: 25px 0 !important;
  border-bottom: 1px solid #f9f4f4 !important;
  vertical-align: middle !important;
}

/* Product Name Link */
.product-name a {
  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  color: #4A0E0E !important; /* Burgundy */
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Thumbnail styling */
.product-thumbnail img {
  border-radius: 3px !important;
  width: 80px !important;
  height: auto !important;
}

/* Remove 'X' button styling */
.product-remove a.remove {
  color: #B36B77 !important;
  font-size: 20px !important;
  background: transparent !important;
}

.product-remove a.remove:hover {
  color: #4A0E0E !important;
  background: transparent !important;
}

/* --- 3. COUPON & ACTIONS --- */
.coupon.e-cart-section {
  margin: 0 !important;
}

/* --- 4. BASKET TOTALS (SIDEBAR) --- */
.e-cart-totals h2 {
  font-family: "Playfair Display", serif !important;
  color: #4A0E0E !important;
  font-size: 20px !important;
  margin-top: 25px !important;
  border-bottom: none !important;
}

.cart_totals table.shop_table {
  border: none !important;
}

.cart_totals .shop_table tr th,
.cart_totals .shop_table tr td {
  padding: 15px 0 !important;
  font-family: "Inter", sans-serif !important;
  border-top: 1px solid #f9f4f4 !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  border-top: 2px solid #4A0E0E !important;
  padding-top: 20px !important;
}

/* Checkout Button */
.wc-proceed-to-checkout a.checkout-button {
  background: #4A0E0E !important; /* Burgundy */
  color: #ffffff !important;
  border-radius: 5px !important;
  padding: 18px 30px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 20px rgba(74, 14, 14, 0.15) !important;
  transition: all 0.3s ease !important;
}

.wc-proceed-to-checkout a.checkout-button:hover {
  background: #A64D59 !important; /* Rose Pink on hover */
  transform: translateY(-2px);
}

/* --- 1. THE COUPON CONTAINER --- */
.coupon.e-cart-section {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 25px 30px !important;
}

/* Align the Input and Button */
.form-row.coupon-col {
  display: flex !important;
  gap: 15px !important;
  align-items: center !important;
}

.coupon-col-start {
  flex: 1 1 0% !important;
  min-width: 0;
  padding: 0;
}

.coupon-col-end {
  flex-shrink: 0;
}

/* --- 2. THE INPUT FIELD --- */
#coupon_code.input-text {
  width: 100% !important;
  background: #fdfcfc !important;
  border: 1px solid #ede8e8 !important;
  border-radius: 5px !important;
  padding: 12px 25px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #4A0E0E !important;
  transition: all 0.3s ease;
}

#coupon_code.input-text:focus {
  border-color: #B36B77 !important; /* Rose Pink */
  outline: none;
  background: #fff !important;
}

/* The Error State for Input */
#coupon_code.has-error {
  border-color: #d68c98 !important; /* Muted Rose/Red */
  background-color: #fff9f9 !important;
}

/* --- 3. THE APPLY BUTTON --- */
.button.e-apply-coupon {
  background: transparent !important;
  color: #4A0E0E !important; /* Burgundy */
  border: 1.5px solid #4A0E0E !important;
  border-radius: 5px !important;
  padding: 12px 30px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  transition: all 0.3s ease !important;
  cursor: pointer;
  white-space: nowrap;
}

.button.e-apply-coupon:hover {
  background: #4A0E0E !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* --- 4. THE ERROR MESSAGE --- */
.coupon-error-notice {
  margin-top: 15px !important;
  padding: 10px 20px !important;
  background: #fff9f9 !important; /* Very soft blush */
  border-left: 3px solid #B36B77 !important; /* Elegant Rose Accent */
  color: #4A0E0E !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-radius: 0 5px 5px 0;
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- STYLE THE REMOVE BUTTON --- */
.woocommerce-cart-form .product-remove {
  width: 50px !important;
  text-align: center !important;
}

.woocommerce-cart-form a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background-color: #fdfcfc !important; /* Soft Cream */
  border: 1px solid #ede8e8 !important;
  color: #B36B77 !important; /* Your Rose Pink */
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.3s ease-in-out !important;
  cursor: pointer !important;
}

/* --- HOVER STATE --- */
.woocommerce-cart-form a.remove:hover {
  background-color: #4A0E0E !important; /* Your Burgundy */
  border-color: #4A0E0E !important;
  color: #ffffff !important;
  transform: rotate(90deg); /* Subtle boutique flair */
  box-shadow: 0 4px 12px rgba(74, 14, 14, 0.1) !important;
}

.elementor-widget-woocommerce-cart .woocommerce .remove:hover {
  color: white !important;
}

tr.woocommerce-cart-form__cart-item.cart_item td {
  padding: 5px !important;
}

table.shop_table thead tr th {
  padding: 10px 5px !important;
}

/* --- 5. MOBILE RESPONSIVE --- */
@media (max-width: 767px) {
  .coupon.e-cart-section {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 20px !important;
  }
  .form-row.coupon-col {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .coupon-col-start,
  .coupon-col-end {
    width: 100% !important;
    flex: none !important;
  }
  .coupon-col-start input#coupon_code {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .button.e-apply-coupon {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}
/* --- 5. RESPONSIVE MOBILE FIXES --- */
@media (max-width: 767px) {
  .e-cart-section {
    padding: 20px !important;
  }
  .product-name a {
    font-size: 16px !important;
  }
  /* Convert cart table to stacked card layout */
  .woocommerce .woocommerce-cart-form__contents thead {
    display: none !important;
  }
  .woocommerce .woocommerce-cart-form__contents tbody {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item.cart_item {
    display: block !important;
    width: 100% !important;
    position: relative;
    padding: 20px 40px 20px 0 !important;
    border-bottom: 1px solid #f2efef !important;
  }
  .woocommerce .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item.cart_item td {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 4px 0 !important;
    border: none !important;
    float: none !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Hide all WooCommerce default ::before on remove, thumbnail, name */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-remove::before,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-thumbnail::before,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-name::before {
    display: none !important;
    content: none !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Show & centre the thumbnail */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-thumbnail {
    padding: 0 0 15px 0 !important;
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-thumbnail a {
    display: inline-block !important;
    float: none !important;
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-thumbnail img {
    display: inline-block !important;
    float: none !important;
    width: 120px !important;
    height: auto !important;
    border-radius: 5px !important;
    margin: 0 auto !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Stack product name */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-name {
    padding: 8px 0 !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Price, quantity, subtotal — show data-title labels */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-price,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-quantity,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-subtotal {
    padding: 6px 0 !important;
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-price::before,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-quantity::before,
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-subtotal::before {
    display: inline !important;
    content: attr(data-title) ": " !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #A64D59 !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Hide quantity row when it's a single-qty hidden input */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-quantity:has(input[type=hidden]) {
    display: none !important;
  }
  .woocommerce .woocommerce-cart-form__contents {
    /* Remove button – top-right corner */
  }
  .woocommerce .woocommerce-cart-form__contents tr.cart_item td.product-remove {
    position: absolute !important;
    top: 20px !important;
    right: 0 !important;
    width: auto !important;
    padding: 0 !important;
    text-align: right !important;
  }
}
.bag-icon path {
  stroke: #ffffff;
  transition: 0.4s;
}
.bag-icon path:hover {
  stroke: #e9a4ae;
}

a#elementor-menu-cart__toggle_button {
  padding: 0;
}

/* --- 1. THE NOTICE CONTAINER --- */
.woocommerce-message {
  background-color: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-left: 4px solid #B36B77 !important; /* Your Rose Pink Accent */
  border-radius: 12px !important;
  padding: 20px 30px !important;
  color: #4A0E0E !important; /* Burgundy Text */
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 30px !important;
}

/* --- 2. THE "CONTINUE SHOPPING" BUTTON --- */
.woocommerce-message a.button.wc-forward {
  background: transparent !important;
  color: #4A0E0E !important;
  border: 1.5px solid #4A0E0E !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
  float: none !important; /* Reset WC float */
  margin-left: 20px !important;
}

.woocommerce-message a.button.wc-forward:hover {
  background: #4A0E0E !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* --- 3. HIDE THE DEFAULT WC CHECKMARK --- */
.woocommerce-message::before {
  color: #B36B77 !important;
  content: "\e011"; /* Minimal WC icon */
  top: 1.5em !important;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
  .woocommerce-message {
    flex-direction: column !important;
    text-align: center !important;
    gap: 15px !important;
  }
  .woocommerce-message a.button.wc-forward {
    margin-left: 0 !important;
    width: 100%;
  }
}
body.bag-empty .progress-bars {
  display: none;
}

.dp-cart-related-products ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  list-style: none !important;
}
.dp-cart-related-products ul.products::before, .dp-cart-related-products ul.products::after {
  display: none !important;
  content: none !important;
}
.dp-cart-related-products ul.products li.product {
  width: calc(50% - 8px) !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
}
.dp-cart-related-products ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  border-radius: 5px;
}
.dp-cart-related-products ul.products li.product a.woocommerce-LoopProduct-link {
  flex: 1;
  position: relative;
}
.dp-cart-related-products ul.products li.product a.woocommerce-LoopProduct-link .price {
  font-size: 14px;
  line-height: 1.3;
  z-index: 1;
  margin-top: 5px;
}
.dp-cart-related-products ul.products li.product a.woocommerce-LoopProduct-link .price span {
  color: rgb(171, 73, 92) !important;
}
.dp-cart-related-products ul.products li.product a.woocommerce-LoopProduct-link .price del {
  opacity: 0.7;
}
.dp-cart-related-products ul.products li.product a.button {
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
  margin-top: 20px !important;
}
.dp-cart-related-products h2.woocommerce-loop-product__title {
  font-size: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 480px) {
  .dp-cart-related-products ul.products {
    flex-direction: column !important;
  }
  .dp-cart-related-products ul.products li.product {
    width: 100% !important;
  }
}

/*Bag Menu*/
/* --- 1. STACK THE ACTION BUTTONS --- */
.elementor-menu-cart__footer-buttons {
  display: flex !important;
  flex-direction: column !important; /* Forces vertical stack */
  gap: 12px !important;
  padding: 20px 0 !important;
  /* Make buttons full width and consistent */
}
.elementor-menu-cart__footer-buttons a.elementor-button {
  width: 100% !important;
  border-radius: 5px !important;
  padding: 16px 20px !important;
  text-align: center !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  transition: all 0.3s ease-in-out !important;
}

/* --- 2. REFINED BUTTON STYLES --- */
/* Checkout - The Primary Action */
.elementor-button--checkout {
  background: #4A0E0E !important; /* Your Burgundy */
  color: #ffffff !important;
  border: 1px solid #4A0E0E !important;
  order: 1; /* Move Checkout to the TOP of the stack */
}
.elementor-button--checkout:hover {
  background: #A64D59 !important; /* Rose Pink */
  border-color: #A64D59 !important;
  transform: translateY(-2px);
}

/* View Basket - The Secondary Action */
.elementor-button--view-cart {
  background: transparent !important;
  color: #4A0E0E !important;
  border: 1px solid #f2efef !important; /* Soft border */
  order: 2; /* Move View Basket to the BOTTOM */
}
.elementor-button--view-cart:hover {
  background: #fdfcfc !important;
  border-color: #ede8e8 !important;
}

/* --- 3. PRODUCT LAYOUT ADJUSTMENTS --- */
/* Center the items slightly better for a stacked look */
.elementor-menu-cart__product {
  padding: 25px 0 !important;
}

.elementor-menu-cart__product-name a {
  font-family: "Playfair Display", serif !important;
  font-size: 17px !important;
  margin-bottom: 5px;
  display: block;
}

/* --- 4. SUBTOTAL AREA --- */
.elementor-menu-cart__subtotal {
  padding: 20px 0 !important;
  border-top: 1px solid #f2efef !important; /* Thinner, cleaner line */
  margin-top: 10px;
  font-family: "Public Sans", sans-serif !important;
}

span.quantity {
  color: #2b2b2b;
}

/* 1. Hide the original "No products in the basket" text */
.woocommerce-mini-cart__empty-message,
.elementor-menu-cart__empty-message {
  font-size: 0 !important;
  padding: 60px 20px !important;
  text-align: center !important;
}

/* 2. Inject the Boutique "Bag" message */
.woocommerce-mini-cart__empty-message:before,
.elementor-menu-cart__empty-message:before {
  content: "You have no products in your bag.";
  font-family: "Playfair Display", serif !important;
  font-size: 16px !important; /* Set the actual visible size here */
  color: #4A0E0E !important; /* Your Burgundy */
  display: block;
  line-height: 1.5;
}

/**
 * WooCommerce Checkout Styles
 * Custom styling for WooCommerce checkout page matching bag design
 */
/* --- 1. GLOBAL LAYOUT & SPACING --- */
.woocommerce-checkout .e-checkout__container {
  gap: 40px !important;
  margin-top: 40px;
}

/* --- 2. BILLING DETAILS SECTION --- */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
  font-family: "Playfair Display", serif !important;
  color: #4A0E0E !important;
  font-size: 24px !important;
  margin-bottom: 25px !important;
  border-bottom: none !important;
  font-weight: 600 !important;
}

/* Form Fields */
.woocommerce-checkout .form-row {
  margin-bottom: 20px !important;
}

.woocommerce-checkout .form-row label {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #A64D59 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  background: #fdfcfc !important;
  border: 1px solid #ede8e8 !important;
  border-radius: 5px !important;
  padding: 12px 20px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #4A0E0E !important;
  transition: all 0.3s ease !important;
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: #B36B77 !important;
  outline: none !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(179, 107, 119, 0.1) !important;
}

/* Select2 Dropdown Styling */
.select2-container--default .select2-selection--single {
  background: #fdfcfc !important;
  border: 1px solid #ede8e8 !important;
  border-radius: 5px !important;
  height: 46px !important;
  padding: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0px 20px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #4A0E0E !important;
  line-height: 22px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 10px !important;
}

.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #B36B77 !important;
  box-shadow: 0 0 0 3px rgba(179, 107, 119, 0.1) !important;
}

/* Required field asterisk */
.required {
  color: #B36B77 !important;
}

/* --- 3. ORDER REVIEW SECTION --- */
.e-checkout__order_review {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
  margin-bottom: 20px !important;
}

.woocommerce-checkout-review-order-table {
  border: none !important;
  width: 100% !important;
}

.woocommerce-checkout-review-order-table thead th {
  font-family: "Inter", sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 11px !important;
  color: #A64D59 !important;
  border-bottom: 1px solid #f2efef !important;
  padding: 15px 0 !important;
  background: transparent !important;
}

.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  padding: 15px 0 !important;
  font-family: "Inter", sans-serif !important;
  border-top: 1px solid #f9f4f4 !important;
  vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table .product-name {
  font-family: "Playfair Display", serif !important;
  font-size: 16px !important;
  color: #4A0E0E !important;
  font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  border-top: 2px solid #4A0E0E !important;
  padding-top: 20px !important;
  font-weight: 600 !important;
}

/* --- 4. COUPON SECTION --- */
.e-coupon-box {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 25px 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
  margin-bottom: 20px !important;
}

.e-woocommerce-coupon-nudge {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #4A0E0E !important;
  margin-bottom: 0 !important;
}

.e-show-coupon-form {
  color: #B36B77 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.3s ease !important;
}

.e-show-coupon-form:hover {
  color: #4A0E0E !important;
}

.e-coupon-anchor {
  margin-top: 20px !important;
}

.e-coupon-anchor-description {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  color: #A64D59 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 15px !important;
  display: block !important;
}

.coupon-container-grid {
  display: flex !important;
  gap: 15px !important;
  align-items: center !important;
}

.coupon-col-1 {
  flex-grow: 1 !important;
}

#coupon_code {
  width: 100% !important;
  background: #fdfcfc !important;
  border: 1px solid #ede8e8 !important;
  border-radius: 5px !important;
  padding: 12px 20px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #4A0E0E !important;
  transition: all 0.3s ease !important;
}

#coupon_code:focus {
  border-color: #B36B77 !important;
  outline: none !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(179, 107, 119, 0.1) !important;
}

.e-apply-coupon {
  background: transparent !important;
  color: #4A0E0E !important;
  border: 1.5px solid #4A0E0E !important;
  border-radius: 50px !important;
  padding: 12px 30px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.e-apply-coupon:hover {
  background: #4A0E0E !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* --- 5. PAYMENT METHODS --- */
.woocommerce-checkout-payment {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
}
.woocommerce-checkout-payment fieldset {
  border: 0;
  padding: 0;
}

.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wc_payment_method label {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #4A0E0E !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
}

.wc_payment_method input[type=radio] {
  margin-right: 10px !important;
  accent-color: #B36B77 !important;
}

.stripe-cards-icon {
  margin-left: auto !important;
}

/* --- 6. PLACE ORDER BUTTON --- */
#place_order {
  background: #4A0E0E !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 18px 30px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 20px rgba(74, 14, 14, 0.15) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  cursor: pointer !important;
}

#place_order:hover {
  background: #A64D59 !important;
  transform: translateY(-2px) !important;
}

/* --- 7. TERMS AND CONDITIONS --- */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 20px !important;
}

.woocommerce-privacy-policy-text {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  color: #A64D59 !important;
  line-height: 1.6 !important;
  padding: 15px !important;
  background: #fdfcfc !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
}

.woocommerce-privacy-policy-link {
  color: #B36B77 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce-privacy-policy-link:hover {
  color: #4A0E0E !important;
  text-decoration: underline !important;
}

/* --- 8. STICKY SIDEBAR --- */
.e-sticky-right-column {
  position: sticky !important;
  top: 20px !important;
}

/* --- 9. RESPONSIVE MOBILE STYLES --- */
@media (max-width: 767px) {
  .e-checkout__container {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .coupon-container-grid {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .e-apply-coupon {
    width: 100% !important;
  }
  .e-sticky-right-column {
    position: static !important;
  }
  .woocommerce-billing-fields h3,
  .woocommerce-additional-fields h3,
  #order_review_heading {
    font-size: 20px !important;
  }
}
@media (max-width: 600px) {
  .form-row-first,
  .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}
/* --- 10. FORM VALIDATION STATES --- */
.woocommerce-invalid .input-text,
.woocommerce-invalid select {
  border-color: #d68c98 !important;
  background-color: #fff9f9 !important;
}

.woocommerce-validated .input-text,
.woocommerce-validated select {
  border-color: #B36B77 !important;
}

/* Error messages */
.woocommerce-error,
.woocommerce-message {
  background-color: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-left: 4px solid #B36B77 !important;
  border-radius: 12px !important;
  padding: 20px 30px !important;
  color: #4A0E0E !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.05) !important;
  margin-bottom: 30px !important;
  padding-left: 50px !important;
}

/* --- 11. LOADING STATES --- */
.woocommerce-checkout.processing {
  opacity: 0.6 !important;
  pointer-events: none !important;
}

.blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.8) !important;
}

/* --- 12. ADDITIONAL FORM STYLING --- */
.form-row-wide {
  width: 100% !important;
}

.form-row-first {
  width: 48% !important;
  float: left !important;
  margin-right: 4% !important;
}

.form-row-last {
  width: 48% !important;
  float: right !important;
}

/* Clear floats */
.col2-set::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

li.wc_payment_method.payment_method_cod, li.wc_payment_method.payment_method_stripe {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.elementor-widget-woocommerce-checkout-page a {
  color: #ab495c;
}

.elementor-widget-woocommerce-checkout-page a:hover {
  color: #4A0E0E;
}

/**
 * WooCommerce Order Received Styles
 * Custom styling for WooCommerce order confirmation page matching bag design
 */
body.woocommerce-order-received {
  /* --- 1. GLOBAL LAYOUT & SPACING --- */
}
body.woocommerce-order-received .woocommerce-order {
  margin-top: 40px;
}
body.woocommerce-order-received {
  /* --- 2. SUCCESS NOTICE --- */
}
body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
  background-color: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-left: 4px solid #B36B77 !important;
  border-radius: 12px !important;
  padding: 25px 30px !important;
  color: #4A0E0E !important;
  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.05) !important;
  margin-bottom: 40px !important;
  text-align: center !important;
}
body.woocommerce-order-received {
  /* --- 3. ORDER OVERVIEW --- */
}
body.woocommerce-order-received .woocommerce-order-overview {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
  margin-bottom: 40px !important;
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 20px !important;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  text-align: center !important;
  padding: 20px !important;
  border: 1px solid #f9f4f4 !important;
  border-radius: 5px !important;
  background: #fdfcfc !important;
}
body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 13px !important;
  color: #A64D59 !important;
  font-weight: 600 !important;
  margin-top: 8px !important;
}
body.woocommerce-order-received .woocommerce-order-overview li:not(strong) {
  font-family: "Playfair Display", serif !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #4A0E0E !important;
  font-weight: 600 !important;
}
body.woocommerce-order-received .page-checkout .woocommerce ul.order_details::after, body.woocommerce-order-received .woocommerce ul.order_details::before {
  display: none;
}
body.woocommerce-order-received {
  /* --- 4. SECTION HEADINGS --- */
}
body.woocommerce-order-received .woocommerce-order-downloads__title,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  font-family: "Playfair Display", serif !important;
  color: #4A0E0E !important;
  font-size: 24px !important;
  margin-bottom: 25px !important;
  border-bottom: none !important;
  font-weight: 600 !important;
}
body.woocommerce-order-received {
  /* --- 5. SECTIONS STYLING --- */
}
body.woocommerce-order-received .woocommerce-order-downloads,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  background: #ffffff !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 30px !important;
  box-shadow: 0 10px 30px rgba(74, 14, 14, 0.03) !important;
  margin-bottom: 30px !important;
}
body.woocommerce-order-received {
  /* --- 6. TABLES STYLING --- */
}
body.woocommerce-order-received .woocommerce-table {
  border: none !important;
  width: 100% !important;
}
body.woocommerce-order-received .woocommerce-table thead th {
  font-family: "Inter", sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 11px !important;
  color: #A64D59 !important;
  border-bottom: 1px solid #f2efef !important;
  padding: 15px 0 !important;
  background: transparent !important;
  font-weight: 600 !important;
}
body.woocommerce-order-received .woocommerce-table tbody td,
body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  padding: 15px 0 !important;
  font-family: "Inter", sans-serif !important;
  border-top: 1px solid #f9f4f4 !important;
  vertical-align: middle !important;
}
body.woocommerce-order-received .woocommerce-table .product-name a {
  font-family: "Playfair Display", serif !important;
  font-size: 16px !important;
  color: #4A0E0E !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.woocommerce-order-received .woocommerce-table .product-name a:hover {
  color: #B36B77 !important;
}
body.woocommerce-order-received .woocommerce-table .product-quantity {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #A64D59 !important;
  font-weight: 500 !important;
}
body.woocommerce-order-received {
  /* Total row highlighting */
}
body.woocommerce-order-received .woocommerce-table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  border-top: 2px solid #4A0E0E !important;
  padding-top: 20px !important;
  font-weight: 600 !important;
  color: #4A0E0E !important;
}
body.woocommerce-order-received {
  /* --- 7. DOWNLOAD BUTTON --- */
}
body.woocommerce-order-received .woocommerce-MyAccount-downloads-file.button.alt {
  background: #4A0E0E !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 12px 25px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-weight: 700 !important;
  box-shadow: 0 5px 15px rgba(74, 14, 14, 0.15) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
}
body.woocommerce-order-received .woocommerce-MyAccount-downloads-file.button.alt:hover {
  background: #A64D59 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(74, 14, 14, 0.2) !important;
}
body.woocommerce-order-received {
  /* --- 8. BILLING ADDRESS --- */
}
body.woocommerce-order-received .woocommerce-customer-details address {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #4A0E0E !important;
  font-style: normal !important;
  background: #fdfcfc !important;
  border: 1px solid #f2efef !important;
  border-radius: 5px !important;
  padding: 25px !important;
  margin-top: 15px !important;
}
body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email {
  margin-top: 15px !important;
  padding-top: 15px !important;
  border-top: 1px solid #f9f4f4 !important;
  font-weight: 600 !important;
  color: #A64D59 !important;
}
body.woocommerce-order-received {
  /* --- 9. PRICE STYLING --- */
}
body.woocommerce-order-received .woocommerce-Price-amount {
  font-family: "Public Sans", sans-serif !important;
  font-weight: 600 !important;
  color: #4A0E0E !important;
  padding: 10px !important;
}
body.woocommerce-order-received .woocommerce-Price-currencySymbol {
  font-size: 0.9em !important;
}
body.woocommerce-order-received {
  /* --- 10. RESPONSIVE TABLET STYLES --- */
}
@media (max-width: 991px) {
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
    padding: 25px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li {
    padding: 15px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details {
    padding: 25px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads__title,
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title {
    font-size: 22px !important;
    margin-bottom: 20px !important;
  }
  body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 17px !important;
    padding: 20px 25px !important;
  }
  body.woocommerce-order-received .woocommerce-customer-details address {
    padding: 20px !important;
  }
}
body.woocommerce-order-received {
  /* --- 11. RESPONSIVE MOBILE STYLES --- */
}
@media (max-width: 767px) {
  body.woocommerce-order-received .woocommerce-order {
    margin-top: 20px;
  }
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 15px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li {
    padding: 15px 10px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li strong {
    font-size: 12px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li:not(strong) {
    font-size: 13px !important;
    letter-spacing: 1px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details {
    padding: 20px !important;
    margin-bottom: 20px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads__title,
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title {
    font-size: 20px !important;
    margin-bottom: 15px !important;
  }
  body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 16px !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
  }
  body.woocommerce-order-received .woocommerce-customer-details address {
    padding: 15px !important;
  }
  body.woocommerce-order-received .woocommerce-Price-amount {
    padding: 5px !important;
  }
}
@media (max-width: 480px) {
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li {
    padding: 12px !important;
  }
  body.woocommerce-order-received .woocommerce-table {
    font-size: 13px !important;
  }
  body.woocommerce-order-received .woocommerce-table thead {
    display: none !important;
  }
  body.woocommerce-order-received .woocommerce-table tbody tr {
    display: block !important;
    border: 1px solid #f2efef !important;
    border-radius: 5px !important;
    margin-bottom: 15px !important;
    padding: 15px !important;
    background: #fdfcfc !important;
  }
  body.woocommerce-order-received .woocommerce-table tbody td {
    display: block !important;
    border: none !important;
    padding: 5px 0 !important;
    text-align: left !important;
  }
  body.woocommerce-order-received .woocommerce-table tbody td:before {
    content: attr(data-title) ": " !important;
    font-weight: 600 !important;
    color: #A64D59 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }
  body.woocommerce-order-received .woocommerce-MyAccount-downloads-file.button.alt {
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details {
    padding: 15px !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads__title,
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title {
    font-size: 18px !important;
  }
  body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 15px !important;
    padding: 15px !important;
  }
}
body.woocommerce-order-received {
  /* --- 11. LOADING STATES --- */
}
body.woocommerce-order-received .woocommerce-order.processing {
  opacity: 0.6 !important;
  pointer-events: none !important;
}
body.woocommerce-order-received {
  /* --- 12. PRINT STYLES --- */
}
@media print {
  body.woocommerce-order-received .woocommerce-order {
    background: white !important;
    box-shadow: none !important;
    border: none !important;
  }
  body.woocommerce-order-received .woocommerce-order-downloads,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    page-break-inside: avoid !important;
  }
}

body:is(.woocommerce-checkout.woocommerce-order-received) .heading-checkout,
body:is(.woocommerce-checkout) .heading-your-order,
body:is(.woocommerce-checkout) .hide-on-checkout {
  display: none;
}

body:is(.woocommerce-checkout.woocommerce-order-received) .heading-your-order,
body:is(.woocommerce-checkout.woocommerce-order-received) .hide-on-checkout {
  display: block;
}

/* Styling My Account */
body:not(.logged-in) .woocommerce-account .woocommerce h2 {
  display: none;
}

/*--Login page styling--*/
body:is(.logged-in) .login-container {
  padding: 0;
}

/* Layout Container */
body:is(.logged-in.page-my-account) .woocommerce {
  display: flex;
  gap: 40px;
  background-color: #fcf4f4;
  align-items: stretch;
  font-family: "Public Sans", Sans-serif;
}

.login-container .woocommerce {
  padding: 0 40px 20px;
}
.login-container .woocommerce h2 {
  display: none;
}

body.page-my-account .woocommerce-account .woocommerce h2, body.page-my-account .woocommerce-account .woocommerce h3 {
  font-family: "Playfair Display", serif !important;
  font-size: 24px !important;
  color: #4A0E0E !important;
  margin-bottom: 20px !important;
}
body.page-my-account form.woocommerce-form.woocommerce-form-login.login {
  padding: 0;
  border: 0;
  margin: 0;
}
body.page-my-account p.woocommerce-form-row.woocommerce-form-row--first.form-row.form-row-first {
  width: 100%;
}
body.page-my-account button.woocommerce-button.button.woocommerce-form-login__submit, body.page-my-account button.woocommerce-Button.button {
  background: #4d0e14;
  font-weight: normal;
  color: #ffffff;
  padding: 15px;
  width: 100%;
  margin: 10px 0;
  border-radius: 5px;
}
body.page-my-account {
  /* Ensure the icon turns white when the tab is active/selected */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--dashboard.is-active a::before {
  background-color: #fff;
}
body.page-my-account {
  /* Sidebar Navigation */
}
body.page-my-account .woocommerce-MyAccount-navigation {
  flex: 0 0 280px;
  background: #fff;
  border-radius: 5px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}
body.page-my-account .woocommerce-MyAccount-content {
  width: 100%;
  background: #fff;
  border-radius: 5px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}
body.page-my-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}
body.page-my-account {
  /* Sidebar Links */
}
body.page-my-account .woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 12px 20px;
  color: #666;
  text-decoration: none;
  font-weight: 500;
  border-radius: 5px;
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
body.page-my-account .woocommerce-MyAccount-navigation-link a:hover {
  background: #fcf4f4;
  color: #666;
}
body.page-my-account {
  /* Active State (The Rose Pink) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link.is-active a {
  background-color: #B36B77;
  color: #fff;
}
body.page-my-account {
  /* Log Out Button Separation */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 40px;
  border-top: 1px solid #eee;
  padding-top: 10px;
}
body.page-my-account {
  /* Progress Bar Styling */
}
body.page-my-account .ld-progress {
  height: 8px !important;
  background-color: #F2E3E1 !important;
  border-radius: 5px !important;
}
body.page-my-account .ld-progress-bar {
  background-color: #B36B77 !important;
  border-radius: 5px !important;
}
body.page-my-account {
  /* The 'Continue' Button */
}
body.page-my-account .btn-continue {
  background-color: #4A0E0E !important; /* Darker burgundy from the image */
  color: white;
  border-radius: 8px;
  padding: 10px 25px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
}
body.page-my-account {
  /* Billing Address Card */
}
body.page-my-account .woocommerce-customer-details address {
  background: #fff;
  border: 1px solid #F2E3E1;
  padding: 25px;
  border-radius: 5px;
  font-style: normal;
  line-height: 1.8;
  color: #666;
}
body.page-my-account .woocommerce-customer-details--phone,
body.page-my-account .woocommerce-customer-details--email {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #F2E3E1;
  font-weight: 500;
}
body.page-my-account .order-again a.button {
  background-color: #4A0E0E !important;
  color: #fff !important;
  border-radius: 5px !important;
  padding: 12px 30px !important;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  margin-top: 20px;
}
body.page-my-account table.woocommerce-table.woocommerce-table--order-downloads.shop_table.shop_table_responsive.order_details thead tr th  {
  border: 1px solid  #bbbbbb  !important;
}
body.page-my-account .woocommerce-Address {
  width: 100%;
}
body.page-my-account .u-columns.woocommerce-Addresses.col2-set.addresses {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 1em;
}
body.page-my-account .woocommerce-Address {
  display: flex;
  flex-direction: column;
  border: 1px solid #F2CFD5;
  border-radius: 5px;
  margin-bottom: 20px;
  padding: 25px;
  position: relative;
  transition: transform 0.2s ease;
}
body.page-my-account .woocommerce-Address a {
  width: 100%;
  margin-bottom: 10px;
  padding: 12px 15px;
  border-radius: 5px;
  color: #3a3a3a;
  transition: transform 0.2s ease;
  background-color: #F2CFD5;
}
body.page-my-account .woocommerce-Address a:hover {
  color: #F2CFD5;
  background-color: #3a3a3a;
}
body.page-my-account {
  /*ORDERS TAB*/
}
body.page-my-account .woocommerce table.my_account_orders, body.page-my-account .woocommerce table.my_account_orders td, body.page-my-account .woocommerce table.my_account_orders th,
body.page-my-account .woocommerce table.shop_table tbody th {
  background: transparent;
  border: 0;
  border-radius: 0;
}
body.page-my-account {
  /* Hide the Table Header */
}
body.page-my-account .woocommerce-orders-table thead {
  display: none;
}
body.page-my-account {
  /* Make each Row a Card */
}
body.page-my-account .woocommerce-orders-table tbody tr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #fff;
  border: 1px solid #F2CFD5;
  border-radius: 5px;
  margin-bottom: 20px;
  padding: 25px;
  position: relative;
  transition: transform 0.2s ease;
}
body.page-my-account {
  /* Hide the Table Header */
}
body.page-my-account .woocommerce-orders-table thead {
  display: none;
}
body.page-my-account .woocommerce table.shop_table {
  border-radius: 0;
  border-collapse: collapse;
}
body.page-my-account {
  /* Make each Row a Card */
}
body.page-my-account .woocommerce-orders-table tbody tr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #fff;
  border: 1px solid #F2CFD5;
  border-radius: 5px;
  margin-bottom: 20px;
  padding: 25px;
  position: relative;
  transition: transform 0.2s ease;
}
body.page-my-account {
  /* Align Price and View Link to the Right */
}
body.page-my-account .woocommerce-orders-table__cell-order-total {
  margin-left: auto;
  text-align: right;
  font-family: "Playfair Display", serif;
  font-size: 22px;
  font-weight: 700;
  color: #333;
}
body.page-my-account .woocommerce-orders-table__cell-order-actions {
  margin-left: auto;
  text-align: right;
  width: 100%;
}
body.page-my-account {
  /* View Details Link */
}
body.page-my-account .woocommerce-orders-table__cell-order-actions a.button {
  background: transparent !important;
  color: #B36B77 !important;
  padding: 0 !important;
  font-size: 14px;
  font-weight: 500;
}
body.page-my-account {
  /* Order Summary Bar */
}
body.page-my-account .woocommerce-MyAccount-content > p:first-of-type {
  background: #FDF8F7;
  padding: 20px;
  border-radius: 12px;
  font-size: 16px;
  color: #666;
  border: 1px solid #F2E3E1;
  margin-bottom: 40px;
}
body.page-my-account .woocommerce-MyAccount-content mark.order-number,
body.page-my-account .woocommerce-MyAccount-content mark.order-date {
  background: transparent;
  font-weight: 700;
  color: #333;
}
body.page-my-account {
  /* Reusing your Status Tag style for the summary bar */
}
body.page-my-account .woocommerce-MyAccount-content mark.order-status {
  background-color: #E6F2F0 !important;
  color: #4F8A83 !important;
  padding: 4px 12px !important;
  border-radius: 5px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-left: 5px;
}
body.page-my-account {
  /* Section Titles */
}
body.page-my-account .woocommerce-order-downloads__title,
body.page-my-account .woocommerce-order-details__title,
body.page-my-account .woocommerce-column__title {
  font-family: "Playfair Display", serif;
  font-size: 24px;
  color: #4A0E0E;
  margin: 40px 0 20px 0;
}
body.page-my-account {
  /* Table Styling */
}
body.page-my-account .shop_table.order_details,
body.page-my-account .shop_table.woocommerce-table--order-downloads {
  border: none !important;
  background: #fff;
  overflow: hidden;
}
body.page-my-account .shop_table.order_details thead th,
body.page-my-account .shop_table.woocommerce-table--order-downloads thead th {
  background: #FDF8F7;
  color: #B36B77;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 15px 20px;
}
body.page-my-account .shop_table.order_details tbody td,
body.page-my-account .shop_table.woocommerce-table--order-downloads tbody td {
  padding: 20px;
  color: #444;
}
body.page-my-account {
  /* Style the Download Button */
}
body.page-my-account .download-file a.button {
  background-color: #B36B77 !important;
  border-radius: 5px !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
}
body.page-my-account {
  /* Totals Section */
}
body.page-my-account .shop_table tfoot th {
  text-align: right;
  font-weight: 500;
  color: #777;
  border: none !important;
  padding: 10px 20px;
}
body.page-my-account .shop_table tfoot td {
  font-weight: 700;
  color: #333;
  border: none !important;
  padding: 10px 20px;
}
body.page-my-account .shop_table tfoot tr:last-child span.amount {
  color: #B36B77;
  font-size: 20px;
}
body.page-my-account {
  /* Container Spacing */
}
body.page-my-account .woocommerce-EditAccountForm {
  margin: 0 auto;
  padding: 20px 0;
}
body.page-my-account {
  /* Labels Styling */
}
body.page-my-account .woocommerce-EditAccountForm label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #4A0E0E; /* Dark Burgundy */
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
body.page-my-account {
  /* Subtext/Description */
}
body.page-my-account #account_display_name_description {
  display: block;
  font-size: 12px;
  color: #888;
  margin-top: 5px;
  font-style: normal;
}
body.page-my-account {
  /* Password Change Section Wrapper */
}
body.page-my-account .woocommerce-EditAccountForm fieldset {
  border: none;
  padding: 30px;
  margin: 40px 0;
  background: #FDF8F7; /* Soft Pink Background */
  border-radius: 15px;
  border: 1px solid #F2E3E1;
}
body.page-my-account .woocommerce-EditAccountForm fieldset legend {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  color: #4A0E0E;
  padding: 0 10px;
  background: transparent;
  float: none;
  width: auto;
}
body.page-my-account {
  /* Standard Input Styling */
}
body.page-my-account .woocommerce-EditAccountForm input.input-text {
  width: 100%;
  padding: 12px 15px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  font-size: 15px;
  color: #333;
  transition: all 0.3s ease;
}
body.page-my-account {
  /* Focus State */
}
body.page-my-account .woocommerce-EditAccountForm input.input-text:focus {
  border-color: #B36B77 !important; /* Rose Pink */
  outline: none;
  box-shadow: 0 0 0 3px rgba(179, 107, 119, 0.1);
}
body.page-my-account {
  /* Password Toggle Icon Color */
}
body.page-my-account .show-password-input::after {
  color: #B36B77 !important;
}
@media (min-width: 768px) {
  body.page-my-account .woocommerce-form-row--first,
  body.page-my-account .woocommerce-form-row--last {
    width: 48% !important;
    float: left !important;
  }
  body.page-my-account .woocommerce-form-row--last {
    float: right !important;
  }
  body.page-my-account .clear {
    clear: both;
  }
}
body.page-my-account .woocommerce-message, body.page-my-account .woocommerce-error, body.page-my-account .woocommerce-info {
  border-top: none !important;
  background-color: #E6F2F0 !important; /* Soft Green */
  color: #4F8A83 !important;
  border-radius: 10px;
  padding: 15px 25px !important;
  margin-bottom: 30px !important;
}
body.page-my-account .woocommerce-message::before {
  color: #4F8A83 !important;
  display: none;
}
body.page-my-account .woocommerce-info:before {
  display: none;
}
body.page-my-account div#password_strength {
  margin-top: 10px;
  font-weight: normal;
  font-family: "Playfair Display", serif;
}
body.page-my-account button.woocommerce-Button.button:hover {
  background-color: #F2CFD5;
}
body.page-my-account {
  /* Hide the standard LearnDash avatar and 'Edit Profile' to keep it clean */
}
body.page-my-account .ld-profile-avatar, body.page-my-account .ld-profile-edit-link {
  display: none !important;
}
body.page-my-account span.ld-text {
  color: #fff;
}
body.page-my-account {
  /* Style the Profile Summary Card */
}
body.page-my-account .ld-profile-summary {
  background: #FDF8F7 !important;
  border: 1px solid #F2E3E1 !important;
  border-radius: 5px !important;
  padding: 30px !important;
  margin-bottom: 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 40px !important;
}
body.page-my-account {
  /* Name Heading */
}
body.page-my-account .ld-profile-heading {
  font-family: "Playfair Display", serif !important;
  font-size: 28px !important;
  color: #4A0E0E !important;
  margin: 0 !important;
}
body.page-my-account {
  /* Stats Styling (The 4 Boxes) */
}
body.page-my-account .ld-profile-stat {
  flex: auto !important;
  width: 100% !important;
}
body.page-my-account .ld-profile-stats {
  display: flex !important;
  gap: 20px !important;
  width: 100%;
}
body.page-my-account .ld-profile-stat {
  background: #fff !important;
  padding: 15px 25px !important;
  border-radius: 5px !important;
  text-align: center !important;
  min-width: 100px !important;
  border: 1px solid #F2E3E1 !important;
}
body.page-my-account .ld-profile-stat strong {
  display: block !important;
  font-size: 22px !important;
  color: #B36B77 !important;
}
body.page-my-account .ld-profile-stat span {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #888 !important;
}
body.page-my-account .ld-progress {
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 30px 15px 15px !important;
  height: auto !important;
}
body.page-my-account {
  /* Course List Section Heading */
}
body.page-my-account .ld-section-heading h3 {
  font-family: "Playfair Display", serif !important;
  font-size: 24px !important;
  color: #4A0E0E !important;
  margin-bottom: 20px !important;
}
body.page-my-account {
  /* Individual Course Cards */
}
body.page-my-account .ld-item-list-item {
  background: #fff !important;
  border: 1px solid #F2E3E1 !important;
  border-radius: 5px !important;
  margin-bottom: 15px !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
}
body.page-my-account {
  /* Course Title Styling */
}
body.page-my-account .ld-course-title {
  font-weight: 600 !important;
  color: #333 !important;
  font-size: 16px !important;
}
body.page-my-account {
  /* Hide the default LearnDash icons for a cleaner look */
}
body.page-my-account .ld-status-icon {
  display: none !important;
}
body.page-my-account {
  /* The Bar Itself */
}
body.page-my-account .ld-progress-bar {
  height: 6px !important;
  background-color: #FDF8F7 !important;
  overflow: hidden !important;
}
body.page-my-account {
  /* The Progress Color (Rose Pink) */
}
body.page-my-account .ld-progress-bar-percentage {
  background-color: #B36B77 !important;
}
body.page-my-account {
  /* Progress Text */
}
body.page-my-account .ld-progress-stats {
  font-size: 12px !important;
  color: #888 !important;
}
body.page-my-account {
  /* Search Button & Expand Button Styling */
}
body.page-my-account .ld-expand-button, body.page-my-account .ld-search-prompt {
  background-color: #FDF8F7 !important;
  color: #B36B77 !important;
  border: 1px solid #F2E3E1 !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
body.page-my-account .ld-search-prompt {
  font-size: 19px !important;
}
body.page-my-account button.ld-search-prompt.ld-icon-search.ld-icon {
  background: transparent !important;
  border: none !important;
  margin-right: 0px !important;
}
body.page-my-account .ld-expand-button:hover {
  background-color: #B36B77 !important;
  color: #fff !important;
}
body.page-my-account .ld-profile-card {
  display: none !important;
}
body.page-my-account {
  /* --- 1. UNIVERSAL SIDEBAR ICON LOGIC --- */
}
body.page-my-account .woocommerce-MyAccount-navigation ul li a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 15px;
  vertical-align: middle;
  background-color: currentColor; /* Inherits text color */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}
body.page-my-account {
  /* Base Rose Color for Icons (Inactive) */
}
body.page-my-account .woocommerce-MyAccount-navigation ul li:not(.is-active) a::before {
  background-color: #666;
}
body.page-my-account {
  /* White Icons for Active Tab */
}
body.page-my-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
  background-color: #fff;
}
body.page-my-account {
  /* --- 2. INDIVIDUAL ICON ASSIGNMENTS --- */
  /* Dashboard (Squares/Grid Icon) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Orders (Shopping Bag) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--orders a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Downloads (Arrow Down Tray) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--downloads a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Addresses (Map Pin) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z' /%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z' /%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Payment Methods (Credit Card Icon) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--payment-methods a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Account Details (User Icon) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* My Courses (Academic Cap Icon) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--my-courses a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Logout (Arrow Out) */
}
body.page-my-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75' /%3E%3C/svg%3E");
}
body.page-my-account {
  /* Container and Heading */
}
body.page-my-account .woocommerce-MyAccount-content h2,
body.page-my-account .woocommerce-address-fields h2 {
  font-family: "Playfair Display", serif !important;
  font-size: 28px !important;
  color: #4A0E0E !important;
  margin-bottom: 25px !important;
}
body.page-my-account {
  /* Form Row Labels */
}
body.page-my-account .woocommerce-address-fields label {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #4A0E0E;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
body.page-my-account {
  /* Optional field text styling */
}
body.page-my-account .woocommerce-address-fields .optional {
  color: #999;
  font-size: 11px;
  text-transform: lowercase;
  font-weight: 400;
}
body.page-my-account {
  /* Standard Inputs and Textareas */
}
body.page-my-account .woocommerce-address-fields input.input-text,
body.page-my-account .woocommerce-address-fields select {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  font-size: 15px;
  color: #333;
  transition: all 0.3s ease;
}
body.page-my-account {
  /* Focus State for Inputs */
}
body.page-my-account .woocommerce-address-fields input.input-text:focus {
  border-color: #B36B77 !important; /* Rose Pink */
  outline: none;
  box-shadow: 0 0 0 3px rgba(179, 107, 119, 0.1);
}
body.page-my-account {
  /* --- Select2 (Country Dropdown) Styling --- */
}
body.page-my-account .select2-container--default .select2-selection--single {
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  height: 48px !important; /* Matches input height */
  padding: 10px 5px !important;
}
body.page-my-account .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #333 !important;
  line-height: 28px !important;
}
body.page-my-account .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 10px !important;
}
@media (min-width: 768px) {
  body.page-my-account .woocommerce-address-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 4%; /* Horizontal gap */
  }
  body.page-my-account {
    /* Wide fields (Address, Company) */
  }
  body.page-my-account .form-row-wide {
    width: 100% !important;
    clear: both;
  }
  body.page-my-account {
    /* Split fields (First Name, Last Name) */
  }
  body.page-my-account .form-row-first,
  body.page-my-account .form-row-last {
    width: 48% !important;
  }
}
body.page-my-account {
  /* Spacing between rows */
}
body.page-my-account .woocommerce-address-fields .form-row {
  margin-bottom: 20px !important;
}
body.page-my-account .woocommerce-address-fields button.button {
  background-color: #4A0E0E !important; /* Dark Burgundy */
  color: #fff !important;
  border-radius: 50px !important;
  padding: 15px 45px !important;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  border: none !important;
  cursor: pointer;
  transition: background 0.3s ease;
  margin-top: 10px;
}
body.page-my-account .woocommerce-address-fields button.button:hover {
  background-color: #B36B77 !important; /* Switches to Rose on hover */
}
body.page-my-account .woocommerce-NoticeGroup-checkout,
body.page-my-account .woocommerce-error,
body.page-my-account .woocommerce-message {
  background-color: #FDF1EF !important; /* Soft Rose/Cream */
  color: #B36B77 !important;
  border: none !important;
  border-radius: 12px;
  padding: 15px 25px !important;
  list-style: none !important;
  margin-bottom: 30px !important;
}

/* ==========================================================================
   TABLET RESPONSIVE (max-width: 991px)
   ========================================================================== */
@media (max-width: 991px) {
  body:is(.logged-in.page-my-account) .woocommerce {
    flex-direction: column;
    gap: 20px;
    padding: 15px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation {
    flex: 1 1 100%;
    width: 100%;
    padding: 15px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation-link a {
    padding: 10px 15px;
    margin-bottom: 0;
    font-size: 13px;
    white-space: nowrap;
  }
  body.page-my-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0;
    border-top: none;
    padding-top: 0;
  }
  body.page-my-account .woocommerce-MyAccount-content {
    padding: 20px 15px;
  }
  body.page-my-account .u-columns.woocommerce-Addresses.col2-set.addresses {
    flex-direction: column;
    gap: 15px;
  }
  body.page-my-account .woocommerce-orders-table tbody tr {
    padding: 20px;
  }
  body.page-my-account .woocommerce-orders-table__cell-order-total {
    font-size: 18px;
  }
  body.page-my-account .ld-profile-summary {
    flex-direction: column;
    gap: 20px !important;
    padding: 20px !important;
  }
  body.page-my-account .ld-profile-stats {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  body.page-my-account .ld-profile-stat {
    min-width: calc(50% - 10px) !important;
    flex: 1 1 calc(50% - 10px) !important;
  }
  body.page-my-account .woocommerce-EditAccountForm fieldset {
    padding: 20px;
    margin: 25px 0;
  }
  body.page-my-account .woocommerce-MyAccount-content h2,
  body.page-my-account .woocommerce-address-fields h2 {
    font-size: 24px !important;
  }
  body.page-my-account .woocommerce-order-downloads__title,
  body.page-my-account .woocommerce-order-details__title,
  body.page-my-account .woocommerce-column__title {
    font-size: 20px;
    margin: 25px 0 15px 0;
  }
  body.page-my-account .shop_table.order_details thead th,
  body.page-my-account .shop_table.woocommerce-table--order-downloads thead th {
    padding: 12px 15px;
    font-size: 11px;
  }
  body.page-my-account .shop_table.order_details tbody td,
  body.page-my-account .shop_table.woocommerce-table--order-downloads tbody td {
    padding: 15px;
  }
  body.page-my-account .woocommerce-address-fields button.button {
    width: 100%;
    text-align: center;
    padding: 15px 30px !important;
  }
  body.page-my-account .ld-item-list .ld-item-list-item {
    padding: 15px !important;
    margin-bottom: 10px !important;
  }
  body.page-my-account .ld-course-list .ld-item-list-items {
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-my-account .ld-item-list .ld-item-list-item-preview {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  body.page-my-account .ld-course-title {
    font-size: 15px !important;
  }
  body.page-my-account .ld-progress {
    padding: 20px 10px 10px !important;
  }
  body.page-my-account .ld-expand-button, body.page-my-account .ld-search-prompt {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }
  body.page-my-account .ld-section-heading {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  body.page-my-account .ld-section-heading .ld-section-heading-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}
/* ==========================================================================
   MOBILE RESPONSIVE (max-width: 767px)
   ========================================================================== */
@media (max-width: 767px) {
  body:is(.logged-in.page-my-account) .woocommerce {
    flex-direction: column;
    gap: 15px;
    padding: 10px;
  }
  body.page-my-account .woocommerce-account .woocommerce h2,
  body.page-my-account .woocommerce-account .woocommerce h3 {
    font-size: 20px !important;
    margin-bottom: 15px !important;
  }
  body.page-my-account .woocommerce-MyAccount-navigation {
    flex: 1 1 100%;
    width: 100%;
    padding: 10px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 5px;
    padding-bottom: 5px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation-link a {
    padding: 8px 12px;
    margin-bottom: 0;
    font-size: 12px;
    white-space: nowrap;
  }
  body.page-my-account .woocommerce-MyAccount-navigation ul li a::before {
    width: 16px;
    height: 16px;
    margin-right: 8px;
  }
  body.page-my-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0;
    border-top: none;
    padding-top: 0;
  }
  body.page-my-account .woocommerce-MyAccount-content {
    padding: 15px 10px;
  }
  body.page-my-account .woocommerce-MyAccount-content h2,
  body.page-my-account .woocommerce-address-fields h2 {
    font-size: 22px !important;
    margin-bottom: 15px !important;
  }
  body.page-my-account .u-columns.woocommerce-Addresses.col2-set.addresses {
    flex-direction: column;
    gap: 10px;
  }
  body.page-my-account .woocommerce-Address {
    padding: 15px;
    margin-bottom: 10px;
  }
  body.page-my-account .woocommerce-orders-table tbody tr {
    padding: 15px;
    margin-bottom: 15px;
  }
  body.page-my-account .woocommerce-orders-table__cell-order-total {
    font-size: 16px;
    margin-left: 0;
    text-align: left;
    width: 100%;
    margin-top: 10px;
  }
  body.page-my-account .woocommerce-orders-table__cell-order-actions a.button {
    font-size: 13px;
  }
  body.page-my-account .woocommerce-MyAccount-content > p:first-of-type {
    padding: 15px;
    font-size: 14px;
    margin-bottom: 25px;
  }
  body.page-my-account .woocommerce-order-downloads__title,
  body.page-my-account .woocommerce-order-details__title,
  body.page-my-account .woocommerce-column__title {
    font-size: 18px;
    margin: 20px 0 10px 0;
  }
  body.page-my-account .shop_table.order_details thead th,
  body.page-my-account .shop_table.woocommerce-table--order-downloads thead th {
    padding: 10px 12px;
    font-size: 10px;
    letter-spacing: 0.5px;
  }
  body.page-my-account .shop_table.order_details tbody td,
  body.page-my-account .shop_table.woocommerce-table--order-downloads tbody td {
    padding: 12px;
    font-size: 14px;
  }
  body.page-my-account .shop_table tfoot th,
  body.page-my-account .shop_table tfoot td {
    padding: 8px 12px;
  }
  body.page-my-account .shop_table tfoot tr:last-child span.amount {
    font-size: 18px;
  }
  body.page-my-account .woocommerce-EditAccountForm {
    padding: 10px 0;
  }
  body.page-my-account .woocommerce-EditAccountForm fieldset {
    padding: 15px;
    margin: 20px 0;
    border-radius: 10px;
  }
  body.page-my-account .woocommerce-EditAccountForm fieldset legend {
    font-size: 18px;
  }
  body.page-my-account .woocommerce-EditAccountForm input.input-text {
    padding: 10px 12px !important;
    font-size: 14px;
  }
  body.page-my-account .ld-profile-summary {
    flex-direction: column;
    gap: 15px !important;
    padding: 15px !important;
  }
  body.page-my-account .ld-profile-heading {
    font-size: 22px !important;
  }
  body.page-my-account .ld-profile-stats {
    flex-direction: column !important;
    gap: 10px !important;
  }
  body.page-my-account .ld-profile-stat {
    min-width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    padding: 12px 15px !important;
  }
  body.page-my-account .ld-profile-stat strong {
    font-size: 18px !important;
  }
  body.page-my-account .ld-section-heading h3 {
    font-size: 20px !important;
  }
  body.page-my-account .ld-item-list .ld-item-list-item {
    padding: 12px !important;
    margin-bottom: 8px !important;
    border-radius: 5px !important;
  }
  body.page-my-account .ld-course-list .ld-item-list-items {
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-my-account .ld-item-list .ld-item-list-item-preview {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  body.page-my-account .ld-course-title {
    font-size: 14px !important;
  }
  body.page-my-account .ld-progress {
    padding: 15px 8px 8px !important;
  }
  body.page-my-account .ld-progress-stats {
    font-size: 11px !important;
  }
  body.page-my-account .ld-expand-button, body.page-my-account .ld-search-prompt {
    font-size: 10px !important;
    padding: 6px 10px !important;
    border-radius: 5px !important;
  }
  body.page-my-account .ld-section-heading {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  body.page-my-account .ld-section-heading .ld-section-heading-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  body.page-my-account .ld-item-list-item .ld-item-name {
    font-size: 14px !important;
  }
  body.page-my-account button.ld-expand-button.ld-button-alternate.ld-mobile-only {
    width: 100% !important;
    text-align: center !important;
  }
  body.page-my-account .woocommerce-customer-details address {
    padding: 15px;
  }
  body.page-my-account .order-again a.button {
    width: 100%;
    text-align: center;
    padding: 12px 20px !important;
  }
  body.page-my-account .woocommerce-address-fields button.button {
    width: 100%;
    text-align: center;
    padding: 12px 30px !important;
    border-radius: 50px !important;
  }
  body.page-my-account button.woocommerce-button.button.woocommerce-form-login__submit,
  body.page-my-account button.woocommerce-Button.button {
    padding: 12px;
  }
  body.page-my-account .woocommerce-message, body.page-my-account .woocommerce-error, body.page-my-account .woocommerce-info {
    padding: 12px 15px !important;
    font-size: 14px;
    border-radius: 8px;
  }
  body.page-my-account .woocommerce-address-fields .form-row-first,
  body.page-my-account .woocommerce-address-fields .form-row-last {
    width: 100% !important;
    float: none !important;
  }
  body.page-my-account .woocommerce-form-row--first,
  body.page-my-account .woocommerce-form-row--last {
    width: 100% !important;
    float: none !important;
  }
  .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
    padding: 10px 0;
  }
}
@media (max-width: 640px) {
  .learndash-wrapper #ld-profile .ld-section-heading .ld-expand-button {
    margin: 10px 0;
    max-width: 130px;
  }
  span.ld-text.ld-primary-color {
    display: none;
  }
}
body.single-product {
  /* Style the new list */
}
body.single-product .boutique-learning-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 15px 0 !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
body.single-product .boutique-learning-list li {
  position: relative;
  padding-left: 25px; /* Space for the bullet */
  margin-bottom: 12px;
  line-height: 1.6;
  color: #333;
  font-size: 15px;
  font-style: normal;
}
body.single-product {
  /* The Signature Rose Pink Bullet */
}
body.single-product .boutique-learning-list li::before {
  content: "•";
  color: #B36B77;
  font-weight: bold;
  font-size: 25px;
  position: absolute;
  left: 10px;
  top: -7px;
}
body.single-product th.woocommerce-product-attributes-item__label {
  display: none !important;
}
body.single-product td.woocommerce-product-attributes-item__value {
  background-color: transparent !important;
  border: none !important;
}
body.single-product .woocommerce table.shop_attributes {
  border: 0 !important;
}
body.single-product {
  /* Target the 'What You'll Learn' attribute value cell */
}
body.single-product .woocommerce-product-attributes-item--attribute_what-youll-learn .woocommerce-product-attributes-item__value p {
  line-height: 2; /* Adjust spacing between your points */
  display: block;
  margin: 0;
  padding: 0;
  color: #333; /* Dark grey for readability */
}
body.single-product {
  /* 1. Add a bullet point to the very first line */
}
body.single-product .woocommerce-product-attributes-item--attribute_what-youll-learn .woocommerce-product-attributes-item__value p:before {
  content: "•"; /* Standard Bullet Point */
  color: #B36B77; /* Your Boutique Rose Pink */
  font-weight: bold;
  display: inline-block;
  width: 1.5em;
  margin-left: 0;
}
body.single-product {
  /* 2. The Magic Trick: Style the <br> tags to act like they have bullets after them */
}
body.single-product .woocommerce-product-attributes-item--attribute_what-youll-learn .woocommerce-product-attributes-item__value p br {
  display: block;
  content: "";
  margin-top: 10px; /* Space between lines */
}
body.single-product {
  /* 3. Inject bullets after every <br> */
}
body.single-product .woocommerce-product-attributes-item--attribute_what-youll-learn .woocommerce-product-attributes-item__value p br:after {
  content: "•"; /* Standard Bullet Point */
  color: #B36B77; /* Your Boutique Rose Pink */
  font-weight: bold;
  display: inline-block;
  width: 1.5em;
  position: absolute;
}
body.single-product {
  /* 1. Hide the Course Images */
}
body.single-product .ld-course-list-content article img,
body.single-product .ld-course-list-content article > a[aria-hidden=true] {
  display: none !important;
}
body.single-product {
  /* 2. Card Container Styling */
}
body.single-product .ld-course-list-content .thumbnail {
  background: #ffffff !important;
  border: none !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
  border-radius: 15px !important;
  padding: 50px 30px !important; /* Generous padding for luxury feel */
  text-align: center;
  transition: all 0.3s ease-in-out;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 30px;
}
body.single-product .ld-course-list-content .thumbnail:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 50px rgba(74, 14, 14, 0.1) !important; /* Subtle burgundy glow */
}
body.single-product {
  /* 3. The Status Ribbon (Turned into a delicate badge) */
}
body.single-product .ld-course-list-content .ribbon {
  position: static !important; /* Remove from corner */
  background: #B36B77 !important; /* Your Boutique Rose Pink */
  color: #ffffff !important;
  padding: 4px 15px !important;
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-radius: 50px;
  display: inline-block;
  width: auto;
  margin: 0 auto 25px auto;
  font-weight: 600;
}
body.single-product {
  /* 4. Title Typography */
}
body.single-product .ld-course-list-content .entry-title {
  font-family: "Playfair Display", serif !important; /* Luxury Serif */
  color: #4A0E0E !important; /* Your Dark Burgundy */
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.4;
  margin: 0 0 30px 0 !important;
  min-height: 3em; /* Keeps row heights consistent */
}
body.single-product {
  /* 5. "See More" Button Styling */
}
body.single-product .ld_course_grid_button a.btn-primary {
  background-color: transparent !important;
  border: 1px solid #4A0E0E !important; /* Elegant outline style */
  color: #4A0E0E !important;
  padding: 12px 25px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1.5px;
  transition: all 0.3s ease;
}
body.single-product .ld_course_grid_button a.btn-primary:hover {
  background-color: #4A0E0E !important;
  color: #ffffff !important;
}
body.single-product {
  /* 6. Pager (Pagination) Styling */
}
body.single-product .learndash-pager {
  margin-top: 50px;
  border-top: 1px solid #f2f2f2;
  padding-top: 30px;
}
body.single-product .learndash-pager a {
  color: #B36B77 !important;
  font-weight: 600;
  text-decoration: none;
  padding: 0 10px;
}
body.single-product .learndash-pager .current_page {
  color: #4A0E0E;
  font-weight: bold;
}
body.single-product .woocommerce-product-gallery__wrapper {
  height: 500px;
}
body.single-product .product-template-default .ld-section-heading {
  display: none !important;
}
body.single-product .product-template-default .ld-item-list-items {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}
body.single-product .product-template-default .ld-item-list-section-heading {
  width: 100%;
}
body.single-product {
  /* --- 1. GLOBAL CLEANUP --- */
}
body.single-product .ld-section-heading, body.single-product .ld-item-list-actions, body.single-product .ld-item-list-item-preview img,
body.single-product .ld-status-icon, body.single-product .ld-item-details, body.single-product .ld-item-list-header {
  display: none !important;
}
body.single-product .boutique-locked-curriculum {
  pointer-events: none !important; /* Makes links unclickable */
  cursor: default !important;
}
body.single-product {
  /* --- 3. THE MODULE CARD (Section Headings) --- */
}
body.single-product .ld-item-list-item.ld-is-section {
  background: #ffffff !important;
  border-radius: 25px !important;
  padding: 45px !important;
  box-shadow: 0 15px 45px rgba(74, 14, 14, 0.04) !important;
  border: 1px solid #f9f4f4 !important;
  display: block !important;
  margin-bottom: 0 !important;
}
body.single-product {
  /* --- 4. THE NUMBERED CIRCLE (Auto-Incrementing) --- */
}
body.single-product .ld-item-list-item.ld-is-section .ld-item-name:before {
  counter-increment: module-counter;
  content: counter(module-counter);
  display: inline-flex;
  width: 38px;
  height: 38px;
  background: #A64D59; /* Sophisticated Rose */
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  margin-right: 18px;
  font-size: 14px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
}
body.single-product {
  /* --- 5. MODULE TITLE --- */
}
body.single-product .ld-item-list-item.ld-is-section .ld-item-name {
  font-family: "Playfair Display", serif !important;
  color: #4A0E0E !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  border: none !important;
  margin-bottom: 25px !important;
}
body.single-product {
  /* --- 6. LESSON LIST (The text below headers) --- */
}
body.single-product .ld-item-list-item:not(.ld-is-section) {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 8px 56px !important; /* Align with title text */
  margin: 0 !important;
}
body.single-product .ld-item-list-item:not(.ld-is-section) .ld-item-name {
  font-family: "Inter", sans-serif !important;
  color: #6a6a6a !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5;
}
body.single-product {
  /* The "Play" Arrow Icon */
}
body.single-product .ld-item-list-item:not(.ld-is-section) .ld-item-name:before {
  content: "▷";
  color: #A64D59;
  margin-right: 12px;
  font-size: 14px;
  font-weight: bold;
}
body.single-product {
  /* Responsive Mobile */
}
@media (max-width: 991px) {
  body.single-product .ld-item-list-items {
    grid-template-columns: 1fr !important;
  }
}
body.single-product {
  /* Product page sale badge */
}
body.single-product .woocommerce span.onsale {
  background-color: #ab495c;
}
body.single-product {
  /* Disable gallery trigger interactions */
}
body.single-product a.woocommerce-product-gallery__trigger {
  pointer-events: none !important;
  user-select: none !important;
  display: none;
}

.is-enrolled .hide-enroled, body:not(.is-enrolled) .enroled-btn {
  display: none;
}

select#form-field-enquiry_type {
  border: none !important;
  box-shadow: none !important;
  padding-right: 30px;
  text-transform: uppercase;
  font-family: "Public Sans", sans-serif;
}

.elementor-select-wrapper .select-caret-down-wrapper {
  right: 15px !important;
}

.dynamic-form-content h2 {
  font-family: "Playfair Display", serif;
}
.dynamic-form-content p {
  font-family: "Public Sans", sans-serif;
}

input[id^=form-field-service_required-] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #AB495C;
  border-radius: 4px;
  background: #f2cfd5;
  cursor: pointer;
  position: relative;
  margin-right: 10px;
  padding: 0 9px;
}
input[id^=form-field-service_required-]:checked {
  background: #AB495C;
  border-color: #AB495C;
}
input[id^=form-field-service_required-]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 14px;
  font-weight: bold;
}
input[id^=form-field-service_required-]:hover {
  border-color: rgb(135.2581967213, 57.7418032787, 72.7704918033);
}
input[id^=form-field-service_required-]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(171, 73, 92, 0.2);
}

label[for^=form-field-service_required-] {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

input[id^=form-field-skill_level-] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #AB495C;
  border-radius: 50%;
  background: #f2cfd5;
  cursor: pointer;
  position: relative;
  margin-right: 10px;
  padding: 0 9px;
}
input[id^=form-field-skill_level-]:checked {
  background: #AB495C;
  border-color: #AB495C;
}
input[id^=form-field-skill_level-]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
}
input[id^=form-field-skill_level-]:hover {
  border-color: rgb(135.2581967213, 57.7418032787, 72.7704918033);
}
input[id^=form-field-skill_level-]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(171, 73, 92, 0.2);
}

label[for^=form-field-skill_level-], label[for^=form-field-consultation_call-] {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.numbers {
  min-height: 40px;
  max-width: 40px;
  border-radius: 5px;
}

.elementor-icon-box-title {
  margin-top: -3px;
}

.single-post h2 {
  font-family: "Playfair Display", serif;
  font-size: x-large;
}

.page-blog a.elementor-post__read-more {
  border-bottom: 1px solid #ab495c;
}

.pricing-accordion p.item-tags {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: 12px;
  font-weight: var(--e-global-typography-text-font-weight);
  text-transform: var(--e-global-typography-text-text-transform);
  letter-spacing: var(--e-global-typography-text-letter-spacing);
  color: var(--e-global-color-f0f7a19);
}
.pricing-accordion p.item-quote {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: 14px;
  font-weight: var(--e-global-typography-text-font-weight);
  color: #757575;
}
.pricing-accordion p.item-price {
  position: absolute;
  right: 1.35em;
  top: 1.35em;
  color: #ab495c;
}
.pricing-accordion span.e-n-accordion-item-title-icon {
  top: 1em;
}

.elementor-kit-55 img {
  box-shadow: none;
}

@media (max-width: 500px) {
  .pricing-accordion .e-n-accordion-item-title-text {
    width: 80%;
  }
  .pricing-accordion p.item-price {
    top: 0.7em;
  }
}
.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status {
  flex-direction: column;
  background-color: #fcf4f4 !important;
  border: 1px solid #f2cfd5;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-segment {
  width: 100%;
  border-right: 0px;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-label {
  font-family: "Public Sans" !important;
  text-transform: uppercase;
  color: #4d0e14 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 1px;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-content {
  border-bottom: 1px solid #f2cfd5;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-segment:last-child .ld-course-status-content {
  border-bottom: none;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-price {
  color: #000 !important;
  font-size: 16px !important;
}

.elementor-widget-ld-course-infobar .learndash-wrapper .ld-course-status-action form {
  width: 100% !important;
}

.elementor-5775 .elementor-element.elementor-element-36f36dc .learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-segment.ld-course-status-seg-action .ld-course-status-action input#btn-join,
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #btn-join, .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) input#btn-join {
  background-color: #f0f3f6 !important;
  transition-duration: 0.5s !important;
  border-radius: 5px 5px 5px 5px !important;
  padding: 15px 25px 15px 25px !important;
  text-transform: uppercase !important;
  background: #AB495C !important;
  font-weight: 600 !important;
}

.elementor-5775 .elementor-element.elementor-element-36f36dc .learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-segment.ld-course-status-seg-action .ld-course-status-action input#btn-join:hover,
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #btn-join:hover, .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) input#btn-join:hover {
  background: #4d0e14 !important;
  color: #fcf4f4 !important;
}