:root {
  --aicca-navy: #03152d;
  --aicca-navy-2: #0b1730;
  --aicca-orange: #f9561b;
  --aicca-orange-dark: #de4a14;
  --aicca-text: #566376;
  --aicca-heading: #0b1730;
  --aicca-border: rgba(11, 23, 48, 0.08);
  --aicca-soft: #f5f8fc;
  --aicca-shadow: 0 20px 50px rgba(3, 21, 45, 0.08);
  --aicca-radius-xl: 28px;
  --aicca-radius-lg: 22px;
  --aicca-radius-md: 16px;
}

body.woocommerce,
body.woocommerce-page,
body.woocommerce form,
body.woocommerce-page form,
body.woocommerce input,
body.woocommerce-page input,
body.woocommerce button,
body.woocommerce-page button,
body.woocommerce select,
body.woocommerce-page select,
body.woocommerce textarea,
body.woocommerce-page textarea,
body.woocommerce .product,
body.woocommerce-page .product {
  font-family: 'Manrope', Helvetica, Arial, sans-serif;
}

body.aicca-product-theme #main-content,
body.aicca-checkout-theme #main-content,
body.aicca-product-grid-theme #main-content {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

/* Single product */
body.aicca-product-theme div.product {
  background: transparent;
}

body.aicca-product-theme div.product .clearfix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400px, 520px);
  gap: 40px;
  align-items: start;
}

body.aicca-product-theme.aicca-no-product-image div.product .clearfix,
body.aicca-product-theme div.product .clearfix:has(.woocommerce-product-gallery--without-images) {
  grid-template-columns: 1fr;
}

body.aicca-product-theme .woocommerce-product-gallery--without-images,
body.aicca-product-theme .woocommerce-product-gallery__image--placeholder,
body.aicca-product-grid-theme img[src*='woocommerce-placeholder'],
body.aicca-product-grid-theme .woocommerce-placeholder {
  display: none !important;
}

body.aicca-product-theme .woocommerce-product-gallery {
  margin: 0 !important;
  background: #ffffff;
  border: 1px solid var(--aicca-border);
  border-radius: var(--aicca-radius-xl);
  box-shadow: var(--aicca-shadow);
  overflow: hidden;
  padding: 22px;
}

body.aicca-product-theme .summary.entry-summary {
  margin: 0 !important;
  background: #ffffff;
  border: 1px solid var(--aicca-border);
  border-radius: var(--aicca-radius-xl);
  box-shadow: var(--aicca-shadow);
  padding: 32px;
  position: relative;
}

body.aicca-product-theme .summary.entry-summary::before {
  content: 'Program card';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(249, 86, 27, 0.12);
  color: var(--aicca-orange);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.aicca-product-theme .product_title.entry-title,
body.aicca-product-grid-theme ul.products li.product h2,
body.aicca-product-grid-theme ul.products li.product h3 {
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  color: var(--aicca-heading) !important;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body.aicca-product-theme .product_title.entry-title {
  font-size: clamp(34px, 4vw, 42px);
  line-height: 1.05;
  padding-bottom: 12px !important;
}

body.aicca-product-theme .summary p.price,
body.aicca-product-theme .summary p.price span,
body.aicca-product-grid-theme ul.products li.product .price,
body.aicca-product-grid-theme ul.products li.product .price span {
  color: #2fa2f1 !important;
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

body.aicca-product-theme .summary p.price {
  margin-bottom: 12px;
}

body.aicca-product-theme .woocommerce-product-details__short-description,
body.aicca-product-theme .product_meta,
body.aicca-product-theme .woocommerce-tabs .panel,
body.aicca-product-grid-theme ul.products li.product .woocommerce-loop-product__title,
body.aicca-product-grid-theme ul.products li.product .price {
  color: var(--aicca-text);
}

body.aicca-product-theme form.cart {
  margin: 22px 0 22px !important;
  display: grid;
  gap: 14px;
}

body.aicca-product-theme form.cart .quantity {
  display: none !important;
}

body.aicca-product-theme .single_add_to_cart_button.button,
body.aicca-checkout-theme #payment #place_order,
body.aicca-checkout-theme .woocommerce a.button.alt,
body.aicca-checkout-theme .woocommerce button.button.alt,
body.aicca-checkout-theme .woocommerce input.button.alt,
body.aicca-product-grid-theme .woocommerce ul.products li.product .button,
body.aicca-product-grid-theme .woocommerce-page ul.products li.product .button {
  width: 100%;
  justify-content: center;
  display: inline-flex !important;
  align-items: center;
  min-height: 58px;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(180deg, var(--aicca-orange) 0%, var(--aicca-orange-dark) 100%) !important;
  color: #ffffff !important;
  font-family: 'Manrope', Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  box-shadow: 0 14px 30px rgba(249, 86, 27, 0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.aicca-product-theme .single_add_to_cart_button.button:hover,
body.aicca-checkout-theme #payment #place_order:hover,
body.aicca-checkout-theme .woocommerce a.button.alt:hover,
body.aicca-checkout-theme .woocommerce button.button.alt:hover,
body.aicca-checkout-theme .woocommerce input.button.alt:hover,
body.aicca-product-grid-theme .woocommerce ul.products li.product .button:hover,
body.aicca-product-grid-theme .woocommerce-page ul.products li.product .button:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 18px 36px rgba(249, 86, 27, 0.28);
}

body.aicca-product-theme .single_add_to_cart_button.button::after,
body.aicca-checkout-theme #payment #place_order::after,
body.aicca-product-grid-theme .woocommerce ul.products li.product .button::after {
  display: none !important;
}

body.aicca-product-theme #wc-stripe-express-checkout-element,
body.aicca-product-theme .ppc-button-wrapper,
body.aicca-product-theme .summary .ppcp-messages {
  margin-top: 14px !important;
}

body.aicca-product-theme .summary > .ppcp-messages {
  display: none !important;
}

body.aicca-product-theme #wc-stripe-express-checkout-element,
body.aicca-product-theme .ppc-button-wrapper,
body.aicca-product-theme .aicca-paypal-ticker,
body.aicca-checkout-theme .woocommerce-checkout-review-order,
body.aicca-checkout-theme .woocommerce form.checkout,
body.aicca-checkout-theme .woocommerce .checkout_coupon,
body.aicca-checkout-theme .woocommerce .login,
body.aicca-product-grid-theme ul.products li.product {
  background: #ffffff;
  border: 1px solid var(--aicca-border);
  border-radius: var(--aicca-radius-lg);
  box-shadow: 0 14px 36px rgba(3, 21, 45, 0.06);
}

body.aicca-product-theme #wc-stripe-express-checkout-element,
body.aicca-product-theme .ppc-button-wrapper {
  padding: 18px;
}

body.aicca-product-theme .aicca-paypal-ticker,
body.aicca-product-grid-theme .aicca-paypal-ticker {
  margin: 18px 0;
  padding: 16px 18px;
  background: linear-gradient(135deg, rgba(3, 21, 45, 1) 0%, rgba(11, 23, 48, 0.92) 100%);
  color: #ffffff;
  overflow: hidden;
}

body.aicca-product-theme .aicca-paypal-ticker__eyebrow,
body.aicca-product-grid-theme .aicca-paypal-ticker__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
  margin-bottom: 8px;
}

body.aicca-product-theme .aicca-paypal-ticker__message,
body.aicca-product-grid-theme .aicca-paypal-ticker__message,
body.aicca-product-theme .aicca-paypal-ticker__fallback,
body.aicca-product-grid-theme .aicca-paypal-ticker__fallback {
  min-height: 28px;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
}

body.aicca-product-theme .aicca-paypal-ticker__message,
body.aicca-product-theme .aicca-paypal-ticker__message * {
  color: #ffffff !important;
}

body.aicca-product-theme .aicca-paypal-ticker__note,
body.aicca-product-grid-theme .aicca-paypal-ticker__note {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255,255,255,0.74);
}

body.aicca-product-theme .woocommerce-tabs {
  margin-top: 32px !important;
  background: #ffffff;
  border: 1px solid var(--aicca-border) !important;
  border-radius: var(--aicca-radius-xl);
  box-shadow: var(--aicca-shadow);
  overflow: hidden;
}

body.aicca-product-theme .woocommerce-tabs ul.tabs {
  background: #f7f9fc !important;
}

body.aicca-product-theme .woocommerce-tabs ul.tabs li,
body.aicca-product-theme .woocommerce-tabs ul.tabs li.active {
  border: 0 !important;
  background: transparent !important;
}

body.aicca-product-theme .woocommerce-tabs ul.tabs li a {
  font-family: 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
  color: var(--aicca-text) !important;
  padding: 14px 18px !important;
}

body.aicca-product-theme .woocommerce-tabs ul.tabs li.active a {
  color: var(--aicca-heading) !important;
}

body.aicca-product-theme .woocommerce-Tabs-panel h2 {
  color: var(--aicca-heading);
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

body.aicca-product-theme .woocommerce-Tabs-panel ul {
  padding-left: 0 !important;
}

body.aicca-product-theme .woocommerce-Tabs-panel ul li {
  list-style: none !important;
  position: relative;
  padding: 0 0 14px 26px !important;
  color: var(--aicca-text);
}

body.aicca-product-theme .woocommerce-Tabs-panel ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aicca-orange);
  box-shadow: 0 0 0 6px rgba(249, 86, 27, 0.12);
}

/* Shop and category product cards */
body.aicca-product-grid-theme ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 26px;
}

body.aicca-product-grid-theme ul.products::before,
body.aicca-product-grid-theme ul.products::after {
  display: none !important;
}

body.aicca-product-grid-theme ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.aicca-product-grid-theme ul.products li.product a img {
  border-radius: 18px;
  margin-bottom: 8px !important;
}

body.aicca-product-grid-theme ul.products li.product h2,
body.aicca-product-grid-theme ul.products li.product h3 {
  font-size: 24px !important;
  padding-bottom: 0 !important;
}

body.aicca-product-grid-theme .woocommerce-loop-product__title,
body.aicca-product-grid-theme ul.products li.product .price {
  margin-bottom: 0 !important;
}

body.aicca-product-grid-theme .aicca-paypal-ticker {
  margin: 0;
}

body.aicca-product-grid-theme ul.products li.product .button {
  margin-top: auto !important;
}

/* Checkout */
body.aicca-checkout-theme .woocommerce {
  color: var(--aicca-text);
}

body.aicca-checkout-theme .woocommerce form.checkout {
  border: 0 !important;
  padding: 18px;
}

body.aicca-checkout-theme .woocommerce-checkout .col2-set,
body.aicca-checkout-theme .woocommerce-checkout #order_review_heading,
body.aicca-checkout-theme .woocommerce-checkout #order_review {
  margin-top: 0;
}

body.aicca-checkout-theme .woocommerce-checkout h3,
body.aicca-checkout-theme .woocommerce-checkout h2,
body.aicca-checkout-theme .woocommerce-checkout h1,
body.aicca-checkout-theme .woocommerce-checkout .shop_table th,
body.aicca-checkout-theme .woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.aicca-checkout-theme .woocommerce-checkout .woocommerce-billing-fields > h3,
body.aicca-checkout-theme .woocommerce-checkout .woocommerce-shipping-fields > h3 {
  color: var(--aicca-heading);
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

body.aicca-checkout-theme .woocommerce form .form-row input.input-text,
body.aicca-checkout-theme .woocommerce form .form-row textarea,
body.aicca-checkout-theme .woocommerce form .form-row select,
body.aicca-checkout-theme .woocommerce-checkout .select2-container--default .select2-selection--single,
body.aicca-checkout-theme .woocommerce .input-text,
body.aicca-checkout-theme .woocommerce-page .input-text {
  min-height: 56px;
  border: 1px solid rgba(11, 23, 48, 0.12) !important;
  background: #f8fbff !important;
  border-radius: 16px !important;
  color: var(--aicca-heading) !important;
  padding: 16px 18px !important;
  box-shadow: none !important;
}

body.aicca-checkout-theme .woocommerce form .form-row input.input-text:focus,
body.aicca-checkout-theme .woocommerce form .form-row textarea:focus,
body.aicca-checkout-theme .woocommerce form .form-row select:focus {
  border-color: rgba(249, 86, 27, 0.4) !important;
  background: #ffffff !important;
}

body.aicca-checkout-theme #payment,
body.aicca-checkout-theme .woocommerce-checkout-review-order,
body.aicca-checkout-theme .woocommerce form.checkout_coupon,
body.aicca-checkout-theme .woocommerce form.login,
body.aicca-checkout-theme .woocommerce .cart_totals,
body.aicca-checkout-theme .woocommerce .woocommerce-checkout-payment {
  border: 1px solid var(--aicca-border) !important;
  border-radius: var(--aicca-radius-lg) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 36px rgba(3, 21, 45, 0.06);
}

body.aicca-checkout-theme #payment {
  padding: 14px;
}

body.aicca-checkout-theme .woocommerce-checkout-review-order-table,
body.aicca-checkout-theme .shop_table,
body.aicca-checkout-theme .shop_table tbody,
body.aicca-checkout-theme .shop_table tfoot {
  border: 0 !important;
}

body.aicca-checkout-theme .woocommerce-checkout-payment ul.payment_methods,
body.aicca-checkout-theme #payment div.payment_box {
  background: #f8fbff !important;
  border-radius: 18px;
}

body.aicca-checkout-theme #payment div.payment_box::before {
  border-bottom-color: #f8fbff !important;
}

body.aicca-checkout-theme .woocommerce-NoticeGroup,
body.aicca-checkout-theme .woocommerce-error,
body.aicca-checkout-theme .woocommerce-info,
body.aicca-checkout-theme .woocommerce-message {
  border-radius: 16px !important;
}

/* Make express checkout groups feel intentional */
body.aicca-checkout-theme .wc-stripe-express-checkout-element,
body.aicca-checkout-theme #wc-stripe-express-checkout-element,
body.aicca-checkout-theme .ppc-button-wrapper,
body.aicca-checkout-theme .ppcp-messages,
body.aicca-product-theme #wc-stripe-express-checkout-element,
body.aicca-product-theme .ppc-button-wrapper {
  border-radius: 18px;
}

/* Responsive */
@media (max-width: 980px) {
  body.aicca-product-theme div.product .clearfix {
    grid-template-columns: 1fr;
  }

  body.aicca-checkout-theme .woocommerce form.checkout {
    padding: 14px;
  }
}

@media (max-width: 767px) {
  body.aicca-product-theme .summary.entry-summary,
  body.aicca-product-theme .woocommerce-tabs,
  body.aicca-checkout-theme .woocommerce form.checkout,
  body.aicca-checkout-theme #payment,
  body.aicca-product-grid-theme ul.products li.product {
    border-radius: 20px;
  }

  body.aicca-product-theme .summary.entry-summary {
    padding: 22px;
  }

  body.aicca-product-theme .product_title.entry-title {
    font-size: 30px;
  }
}

/* ============================================================
   AICCA v1.1 additions
   1) Product: short description shown as a card beside the buy card
   2) Checkout: remove-item link styling
   ============================================================ */

/* --- 1) Two-column product summary: buy column (left) + details (right) --- */
/* When the product has no image, WooCommerce makes .summary full width and it
   becomes the single content block. We turn .summary itself into a 2-col grid
   so the price/buy form stack on the left and the short description sits right.
   (Earlier approach gridded .clearfix, which only had one child here and
   crushed everything into half-width — this targets the right element.) */
body.aicca-product-theme.aicca-no-product-image .summary.entry-summary,
body.aicca-product-theme div.product:has(.woocommerce-product-gallery--without-images) .summary.entry-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-auto-flow: row;
  gap: 0 40px;
  align-items: start;
}

/* Left column: everything except the short description.
   We pin the short description to the right column and let the rest flow left. */
body.aicca-product-theme.aicca-no-product-image .summary.entry-summary > *,
body.aicca-product-theme div.product:has(.woocommerce-product-gallery--without-images) .summary.entry-summary > * {
  grid-column: 1;
}

body.aicca-product-theme.aicca-no-product-image .summary.entry-summary > .woocommerce-product-details__short-description,
body.aicca-product-theme div.product:has(.woocommerce-product-gallery--without-images) .summary.entry-summary > .woocommerce-product-details__short-description {
  grid-column: 2;
  grid-row: 1 / 999; /* span down the right side alongside the left stack */
  align-self: stretch;
}

/* The PROGRAM CARD pseudo-badge must stay in the left column */
body.aicca-product-theme .summary.entry-summary::before {
  grid-column: 1;
}

/* The short description is what WooCommerce renders inside .summary; we lift
   it out visually into the right column as its own card. */
body.aicca-product-theme .woocommerce-product-details__short-description {
  background: #ffffff;
  border: 1px solid var(--aicca-border);
  border-radius: var(--aicca-radius-xl);
  box-shadow: var(--aicca-shadow);
  padding: 32px;
  margin: 0;
  color: var(--aicca-text);
}

/* Give the short-description card a heading look */
body.aicca-product-theme .woocommerce-product-details__short-description::before {
  content: 'Program details';
  display: block;
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--aicca-heading);
  margin-bottom: 18px;
}

/* Style bullet lists inside the short description to match the tabs list */
body.aicca-product-theme .woocommerce-product-details__short-description ul {
  padding-left: 0 !important;
  margin: 0;
}
body.aicca-product-theme .woocommerce-product-details__short-description ul li {
  list-style: none !important;
  position: relative;
  padding: 0 0 14px 26px !important;
  color: var(--aicca-text);
}
body.aicca-product-theme .woocommerce-product-details__short-description ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aicca-orange);
  box-shadow: 0 0 0 6px rgba(249, 86, 27, 0.12);
}

/* --- 2) Checkout remove-item link --- */
body.aicca-checkout-theme .aicca-remove-wrap {
  display: block;
  margin-top: 8px;
}
body.aicca-checkout-theme a.aicca-remove-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Manrope', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: var(--aicca-orange) !important;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease, opacity 0.15s ease;
}
body.aicca-checkout-theme a.aicca-remove-item::before {
  content: '\00d7'; /* × */
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
body.aicca-checkout-theme a.aicca-remove-item:hover {
  color: var(--aicca-orange-dark) !important;
  opacity: 0.9;
}

/* --- Responsive: collapse the product two-column on smaller screens --- */
@media (max-width: 980px) {
  body.aicca-product-theme.aicca-no-product-image .summary.entry-summary,
  body.aicca-product-theme div.product:has(.woocommerce-product-gallery--without-images) .summary.entry-summary {
    display: block; /* stack everything in source order */
  }
  body.aicca-product-theme.aicca-no-product-image .summary.entry-summary > .woocommerce-product-details__short-description,
  body.aicca-product-theme div.product:has(.woocommerce-product-gallery--without-images) .summary.entry-summary > .woocommerce-product-details__short-description {
    margin-top: 18px;
  }
  body.aicca-product-theme .woocommerce-product-details__short-description {
    padding: 24px;
  }
}

/* ============================================================
   AICCA v1.3 additions — Divi-built product page
   The product is now laid out with Divi WooCommerce modules, so
   Divi's classes win over the default-template selectors above.
   These rules target Divi's module wrappers + the inner Woo classes.
   ============================================================ */

/* 1) Remove the leftover "PROGRAM CARD" badge AND its empty white box.
   The badge text was a ::before; on Divi the module that hosted it
   remains as an empty white rounded box above the breadcrumb. Collapse it. */
body.aicca-product-theme .summary.entry-summary::before,
body.aicca-product-theme .et_pb_wc_description .summary.entry-summary::before {
  content: none !important;
  display: none !important;
}

/* Collapse the empty badge-host module / any empty Woo meta box at the top.
   These commonly hold the leftover white card on a Divi product layout. */
body.aicca-product-theme .et_pb_wc_breadcrumb + .et_pb_module:empty,
body.aicca-product-theme .et_pb_wc_meta:empty,
body.aicca-product-theme .et_pb_module.et_pb_wc_meta:empty,
body.aicca-product-theme .summary.entry-summary:empty,
body.aicca-product-theme .et_pb_with_border:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

/* The leftover white box at the top IS an empty .summary.entry-summary that
   Divi renders separately from the WooCommerce modules holding the real
   fields. It may contain only whitespace (so :empty won't catch it), so we
   also strip the card styling from any summary that has no element children. */
body.aicca-product-theme .summary.entry-summary:not(:has(> *)) {
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

/* 2) Image / gallery placeholder when the product has no image.
   Draw a brand-matched shield-lock SVG into the empty gallery module
   instead of leaving blank space (no external image needed). */
body.aicca-product-theme.aicca-no-product-image .et_pb_wc_images,
body.aicca-product-theme .et_pb_wc_images:has(.woocommerce-product-gallery--without-images),
body.aicca-product-theme .et_pb_wc_images .woocommerce-product-gallery--without-images {
  position: relative;
  min-height: 360px;
  border-radius: var(--aicca-radius-xl);
  background:
    radial-gradient(120% 120% at 20% 0%, rgba(249,86,27,0.10) 0%, rgba(249,86,27,0) 45%),
    linear-gradient(160deg, var(--aicca-navy) 0%, var(--aicca-navy-2) 100%);
  box-shadow: var(--aicca-shadow);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* The drawn illustration: a shield outline with a lock, in brand colors.
   Encoded as a background SVG so it scales crisply and needs no upload. */
body.aicca-product-theme.aicca-no-product-image .et_pb_wc_images::after,
body.aicca-product-theme .et_pb_wc_images:has(.woocommerce-product-gallery--without-images)::after {
  content: '';
  width: 46%;
  max-width: 220px;
  aspect-ratio: 1 / 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.96;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M60 8 L102 24 V58 C102 86 84 104 60 114 C36 104 18 86 18 58 V24 Z' fill='none' stroke='%232fa2f1' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M60 20 L92 32 V58 C92 80 78 94 60 102 C42 94 28 80 28 58 V32 Z' fill='rgba(47,162,241,0.10)'/%3E%3Crect x='46' y='56' width='28' height='24' rx='4' fill='none' stroke='%23f9561b' stroke-width='4'/%3E%3Cpath d='M51 56 V49 a9 9 0 0 1 18 0 V56' fill='none' stroke='%23f9561b' stroke-width='4'/%3E%3Ccircle cx='60' cy='66' r='3.5' fill='%23f9561b'/%3E%3Cpath d='M60 69 v6' stroke='%23f9561b' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Optional caption under the illustration */
body.aicca-product-theme.aicca-no-product-image .et_pb_wc_images::before,
body.aicca-product-theme .et_pb_wc_images:has(.woocommerce-product-gallery--without-images)::before {
  content: 'AI Cyber Career Academy';
  position: absolute;
  bottom: 22px;
  left: 0; right: 0;
  text-align: center;
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.72);
}

/* Hide Woo's own grey placeholder image inside the Divi gallery module */
body.aicca-product-theme .et_pb_wc_images img[src*='woocommerce-placeholder'],
body.aicca-product-theme .et_pb_wc_images .woocommerce-placeholder {
  display: none !important;
}

/* 3) Highlight the PayPal "pay monthly" messaging area.
   Divi shows PayPal's live .ppcp-messages widget in a plain white box.
   Wrap it in the navy highlighted treatment to match the original ticker. */
body.aicca-product-theme .et_pb_wc_add_to_cart .ppcp-messages,
body.aicca-product-theme .et_pb_module .ppcp-messages,
body.aicca-product-theme .ppcp-messages {
  display: block !important;
  margin: 16px 0 !important;
  padding: 18px 20px !important;
  border-radius: var(--aicca-radius-md) !important;
  background: linear-gradient(135deg, var(--aicca-navy) 0%, var(--aicca-navy-2) 100%) !important;
  border: 1px solid rgba(47,162,241,0.25) !important;
  box-shadow: 0 14px 30px rgba(3,21,45,0.18) !important;
  position: relative;
}

/* Eyebrow label above PayPal's live message */
body.aicca-product-theme .et_pb_wc_add_to_cart .ppcp-messages::before,
body.aicca-product-theme .et_pb_module .ppcp-messages::before,
body.aicca-product-theme .ppcp-messages::before {
  content: 'Pay monthly with PayPal';
  display: block;
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
  margin-bottom: 10px;
}

/* PayPal renders its message in an iframe we can't recolor from outside,
   so give the box a light inner panel for the widget to sit on legibly. */
body.aicca-product-theme .ppcp-messages > * {
  background: #ffffff;
  border-radius: 10px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  min-height: 0;
}

/* 4) Tidy the Divi title/price to keep brand fonts (Divi may override). */
body.aicca-product-theme .et_pb_wc_title .product_title,
body.aicca-product-theme .et_pb_wc_title h1 {
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif !important;
  color: var(--aicca-heading) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
body.aicca-product-theme .et_pb_wc_price .price,
body.aicca-product-theme .et_pb_wc_price .price span {
  color: #2fa2f1 !important;
  font-family: 'Sora', 'Manrope', Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
}

@media (max-width: 980px) {
  body.aicca-product-theme.aicca-no-product-image .et_pb_wc_images,
  body.aicca-product-theme .et_pb_wc_images:has(.woocommerce-product-gallery--without-images) {
    min-height: 240px;
  }
}

/* ============================================================
   AICCA v1.6 — Divi description tab: pointers + tighter spacing
   IMPORTANT: only style lists INSIDE the tab content panel
   (.et_pb_tab_content / .woocommerce-Tabs-panel). Never the tab
   navigation list (.et_pb_tabs_controls / ul.tabs), or the
   "Description" and "Reviews" tab labels get dotted and stacked.
   ============================================================ */

/* Strip default list indent — content panel only */
body.aicca-product-theme .et_pb_tab_content ul,
body.aicca-product-theme .woocommerce-Tabs-panel ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

/* Each item: tighten vertical spacing + room for the dot — content only */
body.aicca-product-theme .et_pb_tab_content ul li,
body.aicca-product-theme .woocommerce-Tabs-panel ul li {
  list-style: none !important;
  position: relative;
  padding: 0 0 0 28px !important;
  margin: 0 0 12px 0 !important;
  color: var(--aicca-text);
  line-height: 1.5;
}

body.aicca-product-theme .et_pb_tab_content ul li:last-child,
body.aicca-product-theme .woocommerce-Tabs-panel ul li:last-child {
  margin-bottom: 0 !important;
}

/* The orange pointer dot — content only */
body.aicca-product-theme .et_pb_tab_content ul li::before,
body.aicca-product-theme .woocommerce-Tabs-panel ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aicca-orange);
  box-shadow: 0 0 0 6px rgba(249, 86, 27, 0.12);
}

/* Explicitly clear any dot/indent from the tab NAVIGATION labels, in case
   a broader rule elsewhere reaches them. */
body.aicca-product-theme .et_pb_tabs_controls li::before,
body.aicca-product-theme .woocommerce-tabs ul.tabs li::before {
  content: none !important;
  display: none !important;
}
body.aicca-product-theme .et_pb_tabs_controls li,
body.aicca-product-theme .woocommerce-tabs ul.tabs li {
  padding-left: initial !important;
  margin-bottom: initial !important;
}

/* Lay the tab navigation out HORIZONTALLY (side-by-side tabs) instead of
   the stacked block layout it's currently falling back to. Covers both the
   Divi tabs module and the WooCommerce default tab list. */
body.aicca-product-theme .et_pb_tabs_controls,
body.aicca-product-theme .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.aicca-product-theme .et_pb_tabs_controls li,
body.aicca-product-theme .woocommerce-tabs ul.tabs li {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;       /* Woo floats these by default */
  width: auto !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  list-style: none !important;
}

/* Remove the empty grey block between the stacked labels (it was the
   inactive tab panel / spacer showing through). */
body.aicca-product-theme .et_pb_tabs_controls::after,
body.aicca-product-theme .woocommerce-tabs ul.tabs::before,
body.aicca-product-theme .woocommerce-tabs ul.tabs::after {
  display: none !important;
  content: none !important;
}

/* Collapse empty paragraph wrappers in tab content (extra gap source) */
body.aicca-product-theme .et_pb_tab_content p {
  margin: 0 0 12px 0 !important;
}
body.aicca-product-theme .et_pb_tab_content p:empty {
  display: none !important;
}
