/** Custom styles for QAgile modificatins
 * 
 * **/

/* lowest price information box on main page */

/*==================================
=            Variables             =
==================================*/
:root {
  /* Colors */

  /*---- brand colors ---*/
  --black: #000;
  --white: #fff;

  --qagile-primary-color: #e0752d;
  --qagile-secondary-color: #243760;

  --qagile-primary-hover: #f57016;
  --qagile-secondary-hover: #23528c;

  --qagile-gray: #6b7280;

  /*---- brand colors ---*/

  --qagile-blue: #007bff;
  --qagile-green: #28a745;

  --qagile-orange-light: #ffd4b2;
  --qagile-orange-lighter: #fff8ec;
  --qagile-accent-blue: #60a7ff;

  --qagile-success-green: #a1ffb2;
  --qagile-warning-orange: #ffc298;

  --qagile-light-gray: #e2dfd7;
  --qagile-gray-100: #f9f9f9;
  --qagile-gray-200: #f1f1f1;
  --qagile-gray-300: #e2e2e2;
  --qagile-gray-400: #999;
  --qagile-gray-500: #666;
  --qagile-gray-700: #aaa;
  --qagile-gray-800: #eee;
  --qagile-text-color: #333;
  --qagile-facebook-blue: rgb(66, 129, 244);
  --qagile-border-gray: rgb(186, 186, 186);

  /* QAgile RAG status */
  --qagile-success-green: #28a745;
  --qagile-success-background: #dcfce3;
  --qagile-warning-orange: #ffc298;
  --qagile-error: #dc3545;
  --qagile-error-background: #f7f0f0;

  /* Borders */
  --qagile-border-radius: 10px;
  --qagile-widget-border: 1px solid #e2e2e2;

  /* shadows */
  --qagile-shadow-light: 0px 4px 15px rgba(0, 0, 0, 0.1);
  --qagile-shadow-medium: 0px 8px 30px rgba(0, 0, 0, 0.3);
  --qagile-shadow-hover: 0 8px 25px rgba(0, 0, 0, 0.15);

  /* Transitions */
  --qagile-transition-default: all 0.2s ease;
  --qagile-transition-shadow: box-shadow 0.3s ease;
  --qagile-transition-transform: transform 0.3s ease;
}

.carousel-inner .item .edd_download_purchase_form .lowest_price_information {
  border-left: solid;
  padding-left: 10px;
  font-size: 12px;
  margin-top: 15px;
  color: var(--generic-white-color);
}

.czerwony_tekst_slider {
  color: var(--white);
  font-weight: bold;
}

.glowna_box_cena p {
  color: var(--white) !important;
}

.glowna_box_cena_promocyjna {
  background-color: var(--qagile-gray);
}

/* lowest price information box on course page */

.lowest_price_information {
  border-left: none;
  padding-left: 0px;
  font-size: 12px;
  margin-top: 15px;
  color: var(--main-text-color);
}

/* main page slider */

.duzy_tekst_slider {
  font-size: 40px;
  color: var(--generic-white-color);
  display: block;
  font-weight: bold;
  max-width: 650px;
  line-height: 50px;
  margin-bottom: 26px;
  font-family: var(--secondary-font);
}

.data_kursu_slider {
  font-size: 25px;
  color: var(--generic-white-color);
  margin-bottom: 1em;
  font-weight: bold;
  min-height: 1.2em; /* Ensure consistent height regardless of content */
  line-height: 1.2; /* Consistent line height */
  display: block; /* Ensure block-level display for consistent spacing */
}

/* slider without background */
.slider {
  background-image: none;
}

.box_glowna_data_start {
  padding: 0px 22px 12px 22px;
  display: table;
  width: 100%;
  font-size: 16px;
  color: var(--alt-text-color);
  font-family: var(--secondary-font);
  font-weight: 600;
  line-height: 22px;
}

.col-sm-5 .box_glowna_data_start {
  padding-left: 0;
  padding-right: 0;
}

.lekcja_top--sticky {
  position: sticky;
  top: 62px;
  width: 100%;
}

.wpi-course-banner__title {
  max-width: 50%;
  text-align: left;
}

/** payment options on checkout page */

.payment-method-description {
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: bold;
}

#edd-gateway-option-stripe {
  width: 100px;
}

/* bigger slider on home page */

#home-page-slider .item {
  height: 640px;
}

.glowna_boxy.glowna_boxy--grid .box {
  border-radius: var(--qagile-border-radius);
  box-shadow: var(--qagile-shadow-light);
  transition: var(--qagile-transition-default);
  /* Ensure cards in a row have the same height and can act as flex containers */
  display: flex;
  flex-direction: column;
  height: 100%;
  /* Ensure padding is included in the height and override theme styles. */
  box-sizing: border-box;
  padding-bottom: 1em !important;
}

.box-wrapper {
  margin-bottom: 1em;
}

.glowna_boxy.edd_download_columns_3 .box:hover {
  transform: translateY(-5px);
  box-shadow: var(--qagile-shadow-hover);
}

/* Scope the button wrapper styles to only affect those inside the main product grid. */
.glowna_boxy.glowna_boxy--grid.edd_download_columns_3
  .box
  .box_glowna_add_to_cart {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
}

.terminy_szkolen_lista {
  margin-bottom: 15px;
}

.terminy_szkolen_lista h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.termin-item-wrapper {
  margin-bottom: 10px;
  border: 2px solid var(--qagile-gray-300);
  border-radius: var(--qagile-border-radius);
  cursor: pointer;
  transition: var(--qagile-transition-default);
  padding: 15px;
}

.termin-item-wrapper:hover {
  border-color: var(--qagile-primary-color);
  background-color: rgba(224, 117, 45, 0.3);
  box-shadow: var(--qagile-shadow-light);
}

.termin-item-wrapper.checked {
  border-color: var(--qagile-primary-color);
  background-color: var(--qagile-primary-color);
  box-shadow: var(--qagile-shadow-light);
  color: var(--white);
}

.termin-item-wrapper input[type="radio"] {
  display: none;
}

.termin-item {
  display: flex;
  justify-content: space-between;
  /*align-items: center;*/
}

.termin-item.checked .termin-item-date,
.termin-item.checked .termin-item-meta,
.termin-item.checked .termin-item-duration,
.termin-item.checked .termin-item-price,
.termin-item.checked .termin-item-availability .slots {
  color: var(--white);
}

.termin-item-meta .availability {
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  /* The margin is now handled by the 'gap' property on the parent flex container. */
  padding: 4px 12px;
  border-radius: var(--qagile-border-radius);
  background-color: var(--qagile-secondary-color);
  color: var(--white);
  margin-bottom: 4px;
}

.termin-item.checked .termin-item-meta .availability {
  background-color: rgba(255, 255, 255, 0.2);
  color: var(--qagile-secondary-color);
  background-color: var(--white);
}

.termin-item-meta .promotion {
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  /* The margin is now handled by the 'gap' property on the parent flex container. */
  padding: 4px 12px;
  border-radius: var(--qagile-border-radius);
  background-color: var(--qagile-primary-color);
  color: var(--white);
  margin-bottom: 4px;
}

/*No variable date promotion end date display */
.strona_kursu_sidebar
  .strona_kursu_sidebar_box
  p.promotion_end_date_price
  span {
  color: var(--black);
  font-weight: normal !important;
}

/* Fix countdown display specificity override */
.strona_kursu_sidebar .strona_kursu_sidebar_box .countdown-display {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: "Courier New", monospace !important;
  background: var(--qagile-secondary-color) !important;
  color: white !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  font-weight: normal !important;
}

/* Scrum.org certification info box */
.scrum-org-info {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  position: relative;
  padding: 15px;
  border-radius: var(--qagile-border-radius);
  border: var(--qagile-widget-border);
}

.scrum-org-logo {
  text-align: center;
  margin-bottom: 15px;
}

.scrum-org-logo img {
  max-width: 120px;
  height: auto;
  transition: opacity 0.3s ease;
}

.scrum-org-logo a:hover img {
  opacity: 0.8;
}

.scrum-org-content h4 {
  color: var(--qagile-secondary-color);
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 10px 0;
  text-align: center;
}

.scrum-org-content p {
  color: var(--qagile-text-color);
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 15px 0;
  text-align: center;
}

.scrum-org-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
}

.scrum-org-content ul li {
  color: var(--qagile-text-color);
  font-size: 14px;
  margin: 8px 0;
  padding-left: 20px;
  position: relative;
}

.scrum-org-content ul li::before {
  content: "✓";
  color: var(--qagile-primary-color);
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

.scrum-org-badge-link {
  text-decoration: none;
  display: block;
  margin-top: 15px;
  transition: transform 0.2s ease;
}

.scrum-org-badge-link:hover {
  transform: translateY(-2px);
}

.scrum-org-badge {
  background: var(--qagile-primary-color);
  color: white;
  text-align: center;
  padding: 10px;
  border-radius: calc(var(--qagile-border-radius) / 2);
  transition: background-color 0.3s ease;
}

.scrum-org-badge-link:hover .scrum-org-badge {
  background: var(--qagile-primary-hover);
}

.scrum-org-badge strong {
  font-size: 13px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: white;
}

/* Scrum.org course inclusions styling */
.scrum-org-inclusions {
  margin: 20px 0;
  padding: 15px;
  background: var(--qagile-orange-lighter);
  border: 1px solid var(--qagile-orange-light);
  border-radius: var(--qagile-border-radius);
}

.scrum-org-inclusions .select-label {
  font-size: 16px;
  font-weight: bold;
  color: var(--qagile-secondary-color);
  margin-bottom: 12px;
  display: block;
}

.course-inclusions-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.course-inclusions-list li {
  padding: 6px 0 6px 25px;
  position: relative;
  color: var(--qagile-text-color);
  font-size: 14px;
  line-height: 1.4;
}

.course-inclusions-list li::before {
  content: "✓";
  color: var(--qagile-primary-color);
  font-weight: bold;
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 6px;
}

/* Countdown timer styling */
.countdown-timer {
  display: inline-block;
  /* font-weight: bold; */
}

.countdown-display {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Courier New", monospace;
  background: var(--qagile-secondary-color);
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 13px;
  letter-spacing: 0.5px;
  font-weight: bold;
  text-align: center;
}

.countdown-days {
  background: var(--qagile-primary-color);
  color: white;
  padding: 4px 6px 2px 6px;
  border-radius: 3px;
  font-size: 12px;
  margin-right: 4px;
  display: inline-block;
  font-weight: bold;
  text-align: center;
}

.countdown-hours,
.countdown-minutes,
.countdown-seconds {
  font-weight: bold;
  min-width: 20px;
  text-align: center;
  display: inline-block;
  padding-top: 2px;
}

.countdown-timer.expired .countdown-display,
.countdown-display .expired {
  background: var(--qagile-gray);
  color: white;
  font-style: italic;
}

/* Responsive countdown for smaller screens */
@media (max-width: 768px) {
  .countdown-display {
    font-size: 12px;
    padding: 3px 6px;
  }

  .countdown-days {
    font-size: 11px;
    padding: 1px 4px;
  }
}

.termin-item.checked .termin-item-meta .promotion {
  background-color: var(--white);
  color: var(--qagile-primary-color);
}

.termin-item-duration {
  color: var(--qagile-gray-500);
}

.termin-item-meta .termin-item-price {
  color: var(--black);
}

.termin-item-availability {
  font-weight: 300;
}

.termin-item-date {
  font-weight: bold;
  font-size: 16px;
}

.termin-item-meta {
  font-size: 14px;
  font-weight: 300;
  text-align: right;
  color: var(--qagile-gray-500);
}

.termin-item-availability {
  /* Use flexbox for robust alignment of children. */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

.termin-item-availability .slots {
  font-size: 12px;
  color: var(--qagile-gray-400);
}

.box_glowna_wariant .select-label {
  font-size: 1em;
  margin-bottom: 1em;
  color: var(--qagile-secondary-color);
}

/* Scope the button link styles to only affect those inside the main product grid. */
.box_glowna_add_to_cart a {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 12px 20px;
  background-color: var(--qagile-primary-color);
  color: var(--white) !important;
  border-radius: var(--qagile-border-radius) !important;
  font-weight: bold;
  text-decoration: none;
  transition: var(--qagile-transition-default);
  box-shadow: var(--qagile-shadow-light);
}

.box_glowna_add_to_cart a:hover {
  background-color: var(--qagile-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--qagile-shadow-medium) !important;
}

/* Scope the form styles to only affect those inside the main product grid. */
.glowna_boxy--grid .box form.edd_download_purchase_form {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  /* Make the form fill its container so the button can be pushed to the bottom of it. */
  flex-grow: 1;
}

/* Scope the form's container styles to only affect those inside the main product grid. */
.glowna_boxy--grid .box > div:last-of-type {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.course-thumbnail-default {
  background: var(--qagile-secondary-color);
}

.course-thumbnail-default > span {
  color: var(--qagile-primary-color);
}

.warianty .select-label {
  font-weight: 600;
  color: var(--qagile-secondary-color);
  border-left: var(--qagile-primary-color) 3px solid;
  padding-left: 10px;
}

.strona_kursu_sidebar,
.glowna_box_cena,
.scrum-org-info {
  border-radius: var(--qagile-border-radius) !important;
  box-shadow: var(--qagile-shadow-light) !important;
  transition: var(--qagile-transition-default);
  /* Ensure cards in a row have the same height and can act as flex containers */
  /* display: flex;
  flex-direction: column; */
  /* height: 100%; */
  /* Ensure padding is included in the height and override theme styles. */
  margin-bottom: 1em;
  box-sizing: border-box;
  padding-bottom: 1em !important;
}

.wp-block-image.alignleft {
  margin-right: 1em;
}

.slider .edd-add-to-cart,
.slider .edd_go_to_checkout {
  height: auto !important;
  padding: 10px 10px !important;
}

/* Ensure consistent spacing for slider content sections */
.slider .zwykly_tekst_slider {
  margin-bottom: 1em; /* Consistent bottom margin for excerpt section */
  min-height: 2em; /* Minimum height to prevent layout shifts */
}

#content,
section.content {
  background-color: var(--bg-color);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80px 0 50px 0;
}
