/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.2.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

a {
  transition: color 0.3s ease;
}

/* Button improvements - scoped to avoid Elementor conflicts */
.woocommerce button,
.woocommerce .button,
.learndash .ld-button,
.learndash input[type="submit"],
.add_to_cart_button,
.enrichcpe-mark-complete-form button {
  transition: all 0.3s ease;
}

.woocommerce button:hover:not(:disabled),
.woocommerce .button:hover,
.learndash .ld-button:hover,
.learndash input[type="submit"]:hover,
.add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Card hover effects */
.course_cert, .ld-course-list-item, .product {
  transition: all 0.3s ease;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Form field styling - scoped to WooCommerce and LearnDash only */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="url"],
.woocommerce textarea,
.woocommerce select,
.learndash input[type="text"],
.learndash input[type="email"],
.learndash textarea,
.wpProQuiz input[type="text"],
.wpProQuiz textarea {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 15px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce input[type="url"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.learndash input:focus,
.learndash textarea:focus,
.wpProQuiz input:focus,
.wpProQuiz textarea:focus {
  outline: none;
  border-color: #002060;
  box-shadow: 0 0 0 3px rgba(0, 32, 96, 0.1);
}

/* Error states */
.woocommerce input.error,
.woocommerce textarea.error,
.woocommerce select.error {
  border-color: #dc3232;
}

.woocommerce input.error:focus,
.woocommerce textarea.error:focus,
.woocommerce select.error:focus {
  box-shadow: 0 0 0 3px rgba(220, 50, 50, 0.1);
}

/* Fix WooCommerce error/notice icon spacing */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  list-style: none;
  position: relative;
  padding-left: 2.5em !important;
}

.woocommerce-error li::before,
.woocommerce-message li::before,
.woocommerce-info li::before {
  position: absolute;
  left: 0;
  top: 0;
}

/* Cart page - Update Cart button styling */
.woocommerce-cart table.cart button[name="update_cart"],
.woocommerce-cart .actions button[name="update_cart"] {
  background-color: #002060 !important;
  color: #ffffff !important;
  border: 2px solid #002060 !important;
  padding: 10px 20px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  text-transform: uppercase;
}

.woocommerce-cart table.cart button[name="update_cart"]:hover,
.woocommerce-cart .actions button[name="update_cart"]:hover {
  background-color: #003080 !important;
  border-color: #003080 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 32, 96, 0.3) !important;
}

.woocommerce-cart table.cart button[name="update_cart"]:disabled,
.woocommerce-cart .actions button[name="update_cart"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* Breadcrumbs */
.enrichcpe-breadcrumbs {
  font-size: 14px;
  color: #666;
  margin-bottom: 30px;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.enrichcpe-breadcrumbs a {
  color: #002060;
  text-decoration: none;
  transition: color 0.3s ease;
}

.enrichcpe-breadcrumbs a:hover {
  color: #D45A00;
  text-decoration: underline;
}

.enrichcpe-breadcrumbs .breadcrumb-separator {
  margin: 0 8px;
  color: #999;
}

.enrichcpe-breadcrumbs .breadcrumb-current {
  color: #333;
  font-weight: 500;
}
.header_logo p {
  margin-bottom: 0 !important;
}
.elementor-button-icon-qty {
  font-size: 16px !important;
  font-weight: 600 !important;
}
.home_hero:before,
.subscribe_hero:before,
.our_courses_hero:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.course-price-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #002060;
    color: #fff;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 0;
    font-size: 14px;
    z-index: 1;
    font-size: 16px;
}
.ld_course_grid_button .add_to_cart_button {
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none;
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
  background-color: #D45A00 !important;
    font-size: 16px !important;
  font-weight: 400 !important;
}
.ld-course-list-items .ld_course_grid .thumbnail .caption .ld_course_grid_button p.add_to_cart_inline {
  margin-bottom: 8px !important;
}
.added_to_cart.wc-forward {
  color: #002060;
    font-size: 16px;
    text-align: center;
  font-weight: 600;
  display: none !important;
}
.home .course-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 50px;
}
.home .course-filter-buttons .filter-button {
  padding: 13px 18px;
  background-color: #4A4F57;
  color: #ffffff;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}
.home .course-filter-buttons .filter-button.active {
  background-color: #D45A00;
  font-weight: 600;
}
.ld_course_grid .ribbon {
  background-color: #D45A00 !important;
}
.ld_course_grid .ribbon.enrolled:before {
    border-top: 4px solid #D45A00 !important;
    border-right: 4px solid #D45A00 !important;
}
.ld_course_grid .entry-title {
  font-size: 22px !important;
  padding-bottom: 10px !important;
}
.ld_course_grid .btn {
  background-color: #002060 !important;
  font-size: 16px !important;
}
.home_course_grid-items {
  overflow: hidden;
}
.enrichcpe-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
.enrichcpe-category-box {
  background-color: #002060;
  color: #ffffff;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  transition: transform 0.3s, background-color 0.3s;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.enrichcpe-category-box:hover {
  transform: translateY(-5px);
  background-color: #4A4F57;
}
.enrichcpe-category-box a {
  color: #D45A00;
  font-size: 26px;
  font-weight: 600;
  text-decoration: none;
}
.enrichcpe-category-box p {
  margin-top: 10px;
  color: #D6D6D6;
  font-size: 19px;
}

/* * * Course Table * * */

.archive_course_table {
  overflow: hidden;
}
.enrichcpe-course-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
.enrichcpe-course-table {
  min-width: 1000px;
  width: 100%;
  border-collapse: collapse;
}

.enrichcpe-course-table th,
.enrichcpe-course-table td {
  white-space: nowrap; /* prevents breaking text in columns */
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}
.enrichcpe-course-table .add_to_cart_inline {
  margin-bottom: 0;
}
.enrichcpe-course-table .add_to_cart_button {
  width: 100%;
  text-align: center;
  color: #ffffff !important;
  background-color: #002060 !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.enrichcpe-course-table .add_to_cart_button:hover,
.enrichcpe-course-table .add_to_cart_button:focus,
.enrichcpe-course-table .add_to_cart_button:active {
  background-color: #D45A00 !important;
  color: #ffffff !important;
}
.enrichcpe-course-table {
  font-size: 17px;
  color: #24282E;
}
.enrichcpe-course-table .course_title_link {
  font-size: 18px;
  color: #002060;
}
.enrichcpe-course-table .course_title_link:hover,
.enrichcpe-course-table .course_title_link:focus,
.enrichcpe-course-table .course_title_link:active {
  color: #D45A00;
}
.enrichcpe-course-table .course_category {
  font-size: 15px;
}
.enrichcpe-course-table .course_category_link {
  color: #002060;
}
.enrichcpe-course-table .course_category_link:hover,
.enrichcpe-course-table .course_category_link:focus,
.enrichcpe-course-table .course_category_link:active {
  color: #D45A00;
}

/* * * My Account page * * */

.woocommerce-account main.site-main {
  padding-top: 6%;
  padding-bottom: 5%;
}
/* Dashboard navigation tabs */
.woocommerce-MyAccount-navigation {
  float: left;
  width: 25%;
  background-color: #f7f7f7;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-MyAccount-navigation li {
  margin-bottom: 1rem;
}
.woocommerce-MyAccount-navigation a {
  display: block;
  color: #002060;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  text-decoration: none;
  background-color: #fff;
  transition: all 0.3s ease;
  font-weight: 500;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
  background-color: #002060;
  color: #ffffff;
}
/* Account content area */
.woocommerce-MyAccount-content {
  float: right;
  width: 70%;
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
/* Form fields */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select {
  width: 100%;
  padding: 0.75rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
}
/* Buttons */
.woocommerce-MyAccount-content button,
.woocommerce-MyAccount-content .button {
  background-color: #002060;
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.woocommerce-MyAccount-content button:hover,
.woocommerce-MyAccount-content .button:hover {
  background-color: #D45A00;
  color: #fff;
}
/* Order table styling */
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td {
  padding: 1rem;
  border: 1px solid #eaeaea;
  text-align: left;
}
.woocommerce-MyAccount-content table.shop_table th {
  background-color: #f1f1f1;
  color: #333;
  font-weight: 600;
}
/* Clear floats */
.woocommerce-account::after {
  content: "";
  display: table;
  clear: both;
}

/* * * Certificates Page * * */

.completed_course_certs_header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
  padding: 20px;
  background: #f7f7f7;
  border-radius: 8px;
  border-left: 4px solid #002060;
}

.completed_course_certs_header .icon {
  flex-shrink: 0;
}

.completed_course_certs_header .dashicons {
  font-size: 48px;
  width: 48px;
  height: 48px;
  color: #002060;
}

.completed_course_certs_header .instructions p {
  margin: 0;
  font-size: 16px;
  color: #333;
  font-weight: 500;
}

.completed_course_certs {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.course_cert {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.course_cert:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border-color: #002060;
  transform: translateY(-2px);
}

.course_cert .ld-certificate-link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
}

.course_cert .left {
  flex-shrink: 0;
}

.course_cert .ld-icon-certificate {
  font-size: 40px;
  width: 40px;
  height: 40px;
  color: #002060;
}

.course_cert .ld-icon-certificate:before {
  font-size: 40px;
}

.course_cert .right {
  flex: 1;
}

.course_cert .text {
  font-size: 18px;
  font-weight: 600;
  color: #002060;
  margin-bottom: 8px;
  line-height: 1.4;
}

.course_cert .completion_date {
  font-size: 14px;
  color: #666;
  font-style: italic;
}

/* * * Course Page * * */

/* LearnDash content wrapper - constrain max-width like Elementor containers */
.learndash-wrapper {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.ld-accordion__section {
  padding: 10px !important;
}
.single-sfwd-courses .add_to_cart_button {
  background-color: #D45A00 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  width: 100%;
  text-align: center;
  text-transform: capitalize;
}
.single-sfwd-courses .add_to_cart_inline {
  border: 4px solid #002060 !important;
  padding: 12px !important;
}

/* Hide entire course content accordion for logged-out users */
body:not(.logged-in).single-sfwd-courses .ld-accordion {
  display: none !important;
}

/* Center the Mark Complete button */
.enrichcpe-mark-complete-wrapper {
  text-align: center;
}

.enrichcpe-mark-complete-form {
  display: flex;
  justify-content: center;
  align-items: center;
}

.enrichcpe-mark-complete-form button {
  margin: 0 auto;
  display: inline-block;
  transition: all 0.3s ease;
  position: relative;
}

.enrichcpe-mark-complete-form button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 32, 96, 0.3);
}

.enrichcpe-mark-complete-form button:disabled {
  cursor: not-allowed;
}

/* Loading spinner */
.enrichcpe-mark-complete-form button .spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Quiz visibility is controlled dynamically via PHP in functions.php */

/* Replace default quiz icon with friendlier clipboard/test icon */
.ld-icon.ld-icon-quiz:before {
  content: "📋" !important;
  font-style: normal;
}

/* Align quiz icon and text on same line */
.ld-status-icon.ld-quiz-incomplete {
  margin: 0 !important;
  margin-right: 10px !important;
}

/* PDF Download Link - Desktop */
.enrichcpe-pdf-download-link {
  margin-left: 15px !important;
}

/* PDF Download Link - Mobile */
@media (max-width: 768px) {
  /* Course Page - PDF Download Button */
  .ld-item-list-item-preview {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .enrichcpe-pdf-download-link {
    margin-left: 0 !important;
    margin-top: 10px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  /* My Account Page - Stack Navigation and Content */
  .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    margin-bottom: 20px;
  }

  .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }

  /* My Account - Horizontal scrolling for tables */
  .woocommerce-MyAccount-content table.shop_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Quiz Page - Reduce padding on mobile */
  .single-sfwd-quiz .site-main {
    padding-top: 2% !important;
    padding-bottom: 2% !important;
  }

  .single-sfwd-quiz .ld-quiz-content {
    padding: 15px !important;
  }

  /* Course Grid - Better spacing on mobile */
  .ld-course-list-items {
    gap: 20px !important;
  }

  /* Mark Complete Button - Full width on mobile */
  .enrichcpe-mark-complete-wrapper {
    padding: 15px !important;
  }

  .enrichcpe-mark-complete-form button {
    width: 100% !important;
    padding: 12px !important;
  }

  /* Certificates Page - Mobile */
  .completed_course_certs_header {
    flex-direction: column;
    text-align: center;
    padding: 15px;
    gap: 15px;
  }

  .completed_course_certs_header .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
  }

  .course_cert .ld-certificate-link {
    flex-direction: column;
    text-align: center;
    gap: 15px;
    padding: 15px;
  }

  .course_cert .ld-icon-certificate {
    font-size: 36px;
    width: 36px;
    height: 36px;
  }

  .course_cert .text {
    font-size: 16px;
  }
}

/* * * Lesson Page * * */

.single-sfwd-lessons .site-main {
  padding-top: 8%;
  padding-bottom: 7%;
}

/* * * Quiz/Test Page * * */

.single-sfwd-quiz .site-main {
  padding-top: 4%;
  padding-bottom: 4%;
}

.single-sfwd-quiz .learndash {
  max-width: 1200px;
  margin: 0 auto;
}

/* Quiz content spacing */
.single-sfwd-quiz .ld-quiz-content {
  padding: 30px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Quiz questions spacing */
.single-sfwd-quiz .wpProQuiz_question {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e0e0e0;
}

.single-sfwd-quiz .wpProQuiz_question:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* * * Subscribe Page * * */

.subscribe_hero .add_to_cart_button {
  background-color: #D45A00 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  border: 2px solid #D45A00 !important;
  padding: 15px 20px 15px 20px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}
.subscribe_hero .add_to_cart_button:hover,
.subscribe_hero .add_to_cart_button:focus,
.subscribe_hero .add_to_cart_button:active {
  color: #D45A00 !important;
  background-color: #ffffff !important;
}

.page-subscribe .subscribe_bottom_banner .add_to_cart_button {
  background-color: #D45A00;
  color: #ffffff;
  border-radius: 0;
  border: 2px solid #D45A00;
  padding: 25px 40px;
  font-size: 26px;
  font-weight: 600;
}
.page-subscribe .subscribe_bottom_banner .add_to_cart_button:hover,
.page-subscribe .subscribe_bottom_banner .add_to_cart_button:focus,
.page-subscribe .subscribe_bottom_banner .add_to_cart_button:active {
  color: #D45A00;
  background-color: #ffffff;
}
.page-subscribe .subscribe_bottom_banner .add_to_cart_inline {
  margin-bottom: 0;
}



.ld-enrolled .hide_if_enrolled {
  display: none !important;
}



/* * * Media Queries * * */

@media (min-width: 768px) {
  
  .home_hero:before,
  .subscribe_hero:before,
  .our_courses_hero:before {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d6e6ff+0,d6e6ff+100&1+0,0.8+40,0+60,0+100 */
    background: linear-gradient(to right,  rgba(214,230,255,1) 0%,rgba(214,230,255,0.8) 40%,rgba(214,230,255,0) 60%,rgba(214,230,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
  
}

@media only screen and (max-width: 1299px) {
  
  /* Match Elementor container behavior for LearnDash and breadcrumbs */
  .learndash-wrapper,
  .enrichcpe-breadcrumbs {
    max-width: 95.45% !important;
  }
  
  .e-con-inner {
    max-width: 95.45% !important;
  }
  
}

@media only screen and (max-width: 767px) {
  
  .home_hero:before,
  .subscribe_hero:before,
  .our_courses_hero:before {
    background-color: rgba(214,230,255,0.75);
  }
  
}