
      /*
       * ABV Product Detail V30 Final Cascade
       * Prints in footer, after old v1751/v1753/v1754/foundation/patch01 styles.
       * CSS-only. Product pages only.
       */

      html body.abv-public-v1.single-product {
        --abv-pd-page: min(1540px, calc(100vw - 34px));
        --abv-pd-gap: clamp(18px, 1.45vw, 28px);
        overflow-x: hidden !important;
      }

      html body.abv-public-v1.single-product :where(
        .site,
        .site-main,
        .content-area,
        .page-content,
        .entry-content,
        .woocommerce,
        .product,
        .type-product,
        .elementor,
        .elementor-section,
        .elementor-container,
        .elementor-widget-wrap,
        .abv-wrap,
        .abv-shell,
        .abv-section
      ) {
        overflow: visible !important;
      }

      html body.abv-public-v1.single-product .abv-wrap--single {
        width: var(--abv-pd-page) !important;
        max-width: var(--abv-pd-page) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: clamp(20px, 2vw, 32px) 0 74px !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
      }

      html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid,
      html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid.abv-single-has-props {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(330px, 450px) minmax(610px, 1fr) minmax(330px, 410px) !important;
        gap: var(--abv-pd-gap) !important;
        align-items: start !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
      }

      html body.abv-public-v1.single-product .abv-book-detail-grid > *,
      html body.abv-public-v1.single-product .abv-book-detail-grid > div,
      html body.abv-public-v1.single-product .abv-book-detail-grid > section,
      html body.abv-public-v1.single-product .abv-book-detail-grid > aside {
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
      }

      html body.abv-public-v1.single-product .abv-book-detail-grid > div > .abv-card,
      html body.abv-public-v1.single-product .abv-book-main-image,
      html body.abv-public-v1.single-product .abv-book-summary,
      html body.abv-public-v1.single-product .abv-book-props-card {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
      }

      html body.abv-public-v1.single-product .abv-book-main-image {
        min-height: 540px !important;
        height: auto !important;
        aspect-ratio: auto !important;
        padding: clamp(14px, 1.3vw, 22px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
      }

      html body.abv-public-v1.single-product .abv-book-main-image img {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 560px !important;
        object-fit: contain !important;
        margin: auto !important;
        display: block !important;
      }

      html body.abv-public-v1.single-product .abv-book-summary {
        min-height: 540px !important;
        padding: clamp(26px, 2vw, 38px) clamp(30px, 2.2vw, 46px) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: visible !important;
      }

      html body.abv-public-v1.single-product .abv-book-summary h1 {
        max-width: 100% !important;
        font-size: clamp(36px, 2.55vw, 56px) !important;
        line-height: .94 !important;
        letter-spacing: -0.045em !important;
        margin: 0 0 14px !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: auto !important;
        text-wrap: balance !important;
      }

      html body.abv-public-v1.single-product .abv-book-summary > .abv-author-line {
        font-size: clamp(23px, 1.7vw, 27px) !important;
        font-weight: 600 !important;
        line-height: 1.22 !important;
        color: #263b53 !important;
        overflow-wrap: anywhere;
      }

      html body.abv-public-v1.single-product .abv-book-summary > .abv-author-line a {
        color: inherit !important;
        text-underline-offset: .16em;
      }

      html body.abv-public-v1.single-product .abv-book-summary > .abv-author-line a:hover,
      html body.abv-public-v1.single-product .abv-book-summary > .abv-author-line a:focus-visible {
        text-decoration: underline;
      }

      html body.abv-public-v1.single-product .abv-author-line {
        margin-bottom: 16px !important;
      }

      html body.abv-public-v1.single-product .abv-chip-row {
        gap: 8px !important;
        flex-wrap: wrap !important;
      }

      html body.abv-public-v1.single-product .abv-price--large,
      html body.abv-public-v1.single-product .abv-book-summary .woocommerce-Price-amount {
        font-size: clamp(32px, 2vw, 42px) !important;
        line-height: 1.05 !important;
      }

      html body.abv-public-v1.single-product .abv-actions,
      html body.abv-public-v1.single-product .abv-actions--stack-mobile {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        margin-top: auto !important;
        padding-top: 24px !important;
        overflow: visible !important;
      }

      html body.abv-public-v1.single-product .abv-actions > *,
      html body.abv-public-v1.single-product .abv-actions p.product.woocommerce.add_to_cart_inline {
        flex: 1 1 220px !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
      }

      html body.abv-public-v1.single-product .abv-actions a,
      html body.abv-public-v1.single-product .abv-actions .button,
      html body.abv-public-v1.single-product .abv-actions .abv-btn,
      html body.abv-public-v1.single-product .abv-actions p.product.woocommerce.add_to_cart_inline a.button {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 54px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
      }

      html body.abv-public-v1.single-product .abv-single-purchase-note {
        margin-top: 22px !important;
        max-width: 100% !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card {
        min-height: 540px !important;
        padding: clamp(24px, 1.8vw, 34px) !important;
        overflow: visible !important;
        max-height: none !important;
        position: relative !important;
        top: auto !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card h2 {
        font-size: clamp(34px, 2.1vw, 48px) !important;
        line-height: .98 !important;
        margin-bottom: 20px !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card .abv-props,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) .abv-props {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        align-content: start !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card .abv-prop,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) .abv-prop {
        min-width: 0 !important;
        min-height: 74px !important;
        padding: 13px 14px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-content: start !important;
        gap: 6px !important;
        overflow: visible !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card dt,
      html body.abv-public-v1.single-product .abv-book-props-card dd,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) dt,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) dd {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        text-align: left !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card dt,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) dt {
        font-size: 10px !important;
        line-height: 1.1 !important;
      }

      html body.abv-public-v1.single-product .abv-book-props-card dd,
      html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) dd {
        font-size: 13px !important;
        line-height: 1.25 !important;
      }

      html body.abv-public-v1.single-product .abv-wrap--single > .abv-section:not(.abv-book-detail-grid),
      html body.abv-public-v1.single-product .abv-related-books-v1753,
      html body.abv-public-v1.single-product :where(
        .abv-related,
        .abv-related-books,
        .abv-book-related,
        .abv-single-related,
        .abv-product-related,
        .abv-related-section,
        .abv-similar-section
      ) {
        width: var(--abv-pd-page) !important;
        max-width: var(--abv-pd-page) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
      }

      html body.abv-public-v1.single-product .abv-related-books-v1753 {
        margin-top: 64px !important;
      }

      html body.abv-public-v1.single-product .abv-related-books-v1753__grid,
      html body.abv-public-v1.single-product :where(.abv-related-grid, .abv-related-products-grid, .abv-books-grid, .abv-product-grid) {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: clamp(18px, 1.4vw, 26px) !important;
      }

      html body.abv-public-v1.single-product .abv-content {
        font-size: 16px !important;
        line-height: 1.72 !important;
      }

      @media (min-width: 1180px) {
        html body.abv-public-v1.single-product .abv-content {
          column-count: 2 !important;
          column-gap: 46px !important;
        }
      }

      @media (min-width: 1680px) {
        html body.abv-public-v1.single-product {
          --abv-pd-page: min(1640px, calc(100vw - 44px));
        }

        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid,
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid.abv-single-has-props {
          grid-template-columns: minmax(350px, 500px) minmax(680px, 1fr) minmax(350px, 420px) !important;
        }
      }

      @media (max-width: 1450px) {
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid,
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid.abv-single-has-props {
          grid-template-columns: minmax(300px, 420px) minmax(520px, 1fr) minmax(300px, 380px) !important;
          gap: 20px !important;
        }

        html body.abv-public-v1.single-product .abv-book-summary h1 {
          font-size: clamp(34px, 2.45vw, 48px) !important;
        }

        html body.abv-public-v1.single-product .abv-related-books-v1753__grid,
        html body.abv-public-v1.single-product :where(.abv-related-grid, .abv-related-products-grid, .abv-books-grid, .abv-product-grid) {
          grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        }
      }

      @media (max-width: 1180px) {
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid,
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid.abv-single-has-props {
          grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
        }

        html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3),
        html body.abv-public-v1.single-product .abv-book-props-card {
          grid-column: 1 / -1 !important;
        }

        html body.abv-public-v1.single-product .abv-book-props-card .abv-props,
        html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) .abv-props {
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }

        html body.abv-public-v1.single-product .abv-book-main-image,
        html body.abv-public-v1.single-product .abv-book-summary,
        html body.abv-public-v1.single-product .abv-book-props-card {
          min-height: auto !important;
        }
      }

      @media (max-width: 860px) {
        html body.abv-public-v1.single-product {
          --abv-pd-page: calc(100vw - 26px);
        }

        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid,
        html body.abv-public-v1.single-product .abv-wrap--single > .abv-book-detail-grid.abv-single-has-props {
          grid-template-columns: 1fr !important;
          gap: 18px !important;
        }

        html body.abv-public-v1.single-product .abv-book-summary {
          padding: 24px !important;
        }

        html body.abv-public-v1.single-product .abv-book-summary h1 {
          font-size: clamp(29px, 7.5vw, 44px) !important;
        }

        html body.abv-public-v1.single-product .abv-book-props-card .abv-props,
        html body.abv-public-v1.single-product .abv-book-detail-grid > :nth-child(3) .abv-props {
          grid-template-columns: 1fr !important;
        }

        html body.abv-public-v1.single-product .abv-related-books-v1753__grid,
        html body.abv-public-v1.single-product :where(.abv-related-grid, .abv-related-products-grid, .abv-books-grid, .abv-product-grid) {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
      }

      @media (max-width: 560px) {
        html body.abv-public-v1.single-product .abv-actions,
        html body.abv-public-v1.single-product .abv-actions--stack-mobile {
          flex-direction: column !important;
        }

        html body.abv-public-v1.single-product .abv-related-books-v1753__grid,
        html body.abv-public-v1.single-product :where(.abv-related-grid, .abv-related-products-grid, .abv-books-grid, .abv-product-grid) {
          grid-template-columns: 1fr !important;
        }
      }
    