/**
 * WFI 2026 — catalog product view (courses PDP)
 * Magento default styles-m.css is removed in this theme, so this file restores
 * layout and restyles the Infortis template-b markup to WFI tokens.
 */

body.catalog-product-view {
    --wfi-pdp-navy: #0f1e36;
}

body.catalog-product-view .page-main {
    padding-top: 0.75rem;
}

/* ---------- Breadcrumbs ---------- */
body.catalog-product-view .page-main .breadcrumbs {
    width: 100%;
    max-width: var(--wfi-container);
    margin: 0 auto 0.5rem;
    padding: 0.5rem var(--wfi-gutter) 0;
}

body.catalog-product-view .breadcrumbs .items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.catalog-product-view .breadcrumbs .item {
    display: inline-flex;
    align-items: center;
    float: none !important;
    margin: 0;
    padding: 0;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--wfi-text-muted);
}

body.catalog-product-view .breadcrumbs .item:empty,
body.catalog-product-view .breadcrumbs .item.cms_page,
body.catalog-product-view .breadcrumbs .item:not(:has(a)):not(:has(strong)) {
    display: none;
}

body.catalog-product-view .breadcrumbs .item:not(:last-child)::after {
    content: "/";
    display: inline-block;
    margin: 0 0.55rem;
    color: #b7c0cc;
    font-weight: 500;
}

body.catalog-product-view .breadcrumbs .item a {
    color: var(--wfi-text-muted) !important;
    text-decoration: none !important;
}

body.catalog-product-view .breadcrumbs .item a:hover {
    color: var(--wfi-orange) !important;
}

body.catalog-product-view .breadcrumbs .item strong {
    color: var(--wfi-pdp-navy);
    font-weight: 600;
}

/* ---------- Page shell ---------- */
body.catalog-product-view .product-details-head .container,
body.catalog-product-view .product-details-base .container,
body.catalog-product-view .pdp-sticky-header-container .container {
    width: 100%;
    max-width: var(--wfi-container);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--wfi-gutter);
    padding-right: var(--wfi-gutter);
}

body.catalog-product-view .product-details-head .inner-container,
body.catalog-product-view .product-details-base .inner-container,
body.catalog-product-view .pdp-sticky-header-container .inner-container {
    padding: 0 !important;
}

body.catalog-product-view .product-details-head {
    padding: 0.5rem 0 1.25rem;
}

body.catalog-product-view .product-details-head .inner-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, 18rem);
    gap: 1.5rem 2rem;
    align-items: start;
}

body.catalog-product-view .pdp-custom-img {
    float: none;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    max-width: 18rem;
    margin: 0;
    text-align: right;
}

body.catalog-product-view .pdp-custom-img img,
body.catalog-product-view .pdp-custom-img .pdp-image {
    width: 100%;
    max-height: 8rem;
    object-fit: contain;
    object-position: right center;
}

body.catalog-product-view .product-details-head .product-info-main {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0;
}

body.catalog-product-view .product-details-head .grid-container {
    grid-column: 1 / -1;
    grid-row: 2;
}

body.catalog-product-view h1.page-title,
body.catalog-product-view h1.page-title .base {
    font-family: var(--wfi-font-display);
    font-size: clamp(1.75rem, 2.6vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: var(--wfi-pdp-navy) !important;
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

body.catalog-product-view .product-description {
    display: block;
    color: var(--wfi-text-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0.35rem 0 0.75rem;
}

body.catalog-product-view .product-enrollments {
    color: var(--wfi-text-muted);
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
}

body.catalog-product-view .product-enrollments .enrollment-graphic {
    display: none;
}

body.catalog-product-view .product-enrollments .enrollments-summary {
    height: auto;
    margin: 0;
}

body.catalog-product-view .product-enrollments .enrollment-count {
    color: var(--wfi-orange);
    font-weight: 700;
}

/* Attribute badges (sprite image is missing in this theme) */
body.catalog-product-view .grid-container.two-ups-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    margin-top: 0.75rem;
}

body.catalog-product-view .grid-container.two-ups-container .two-ups,
body.catalog-product-view .grid-container.two-ups-container .grid12-2 {
    float: none;
    width: auto;
    margin: 0;
}

body.catalog-product-view .badge {
    background: var(--wfi-bg-soft);
    border: 1px solid var(--wfi-border);
    border-radius: var(--wfi-radius);
    padding: 0.65rem 0.9rem;
    gap: 0.65rem;
    width: auto;
}

body.catalog-product-view .badge-img {
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    border-radius: 50%;
    background-color: #fff4ee;
    background-image: none !important;
    flex: 0 0 2.25rem;
    position: relative;
}

body.catalog-product-view .badge-img::after {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}

body.catalog-product-view .badge-img.bg-difficulty::after { content: "◆"; color: var(--wfi-orange); }
body.catalog-product-view .badge-img.bg-duration::after { content: "◷"; color: var(--wfi-orange); }
body.catalog-product-view .badge-img.bg-learning-style::after { content: "▣"; color: var(--wfi-orange); }
body.catalog-product-view .badge-img.bg-certificate-download::after { content: "★"; color: var(--wfi-orange); }
body.catalog-product-view .badge-img.bg-course-pdf::after { content: "▤"; color: var(--wfi-orange); }

body.catalog-product-view .badge-text {
    color: var(--wfi-text);
}

body.catalog-product-view .badge-text h4 {
    font-family: var(--wfi-font-display);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--wfi-pdp-navy);
    margin: 0 0 0.1rem;
}

body.catalog-product-view .badge-text p,
body.catalog-product-view .badge-text a {
    font-size: 0.8rem;
    color: var(--wfi-text-muted) !important;
    margin: 0;
}

body.catalog-product-view .pdp-border {
    display: none;
}

/* ---------- Sticky section nav ---------- */
body.catalog-product-view .pdp-sticky-header-container {
    background: #fff;
    border-bottom: 1px solid var(--wfi-border);
    box-shadow: none;
    margin: 0 0 1.25rem;
    position: sticky;
    top: 80px;
    z-index: 40;
}

body.catalog-product-view .pdp-sticky-header-container > .container {
    height: auto;
}

body.catalog-product-view .header-sticky {
    background: transparent;
    justify-content: flex-start;
    gap: 0.25rem;
    flex-wrap: wrap;
    padding: 0;
}

body.catalog-product-view .header-sticky p {
    margin: 0;
    color: var(--wfi-pdp-navy) !important;
}

body.catalog-product-view .header-sticky p a {
    color: var(--wfi-text-muted) !important;
    font-family: var(--wfi-font-display);
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.9rem 1rem;
    border-bottom: 2px solid transparent;
}

body.catalog-product-view .header-sticky p a:hover,
body.catalog-product-view .header-sticky .item-cstm.active a,
body.catalog-product-view .header-sticky p a.active {
    color: var(--wfi-orange) !important;
    border-bottom-color: var(--wfi-orange);
}

body.catalog-product-view .item-cstm {
    border-right: 0;
}

body.catalog-product-view #pdp-stikcy-mobile-menu {
    display: none;
}

/* ---------- Buy / pricing column ---------- */
body.catalog-product-view .product-details-base .inner-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.5rem;
}

body.catalog-product-view .product-details-base .grid12-8,
body.catalog-product-view .product-details-base .grid12-4 {
    float: none;
    display: block;
    margin: 0;
}

body.catalog-product-view .product-details-base .grid12-8 {
    flex: 1 1 38rem;
    width: auto;
    min-width: 0;
}

body.catalog-product-view .product-details-base .grid12-4 {
    flex: 0 1 20rem;
    width: auto;
    max-width: 22rem;
}

body.catalog-product-view .product-details-base .grid12-4:empty {
    display: none;
}

body.catalog-product-view table.table.course-options,
body.catalog-product-view .form-phtml,
body.catalog-product-view .group-course-main-wrapper,
body.catalog-product-view .group-custom-tab-toggle,
body.catalog-product-view .group-course-info-wrapper {
    width: 100%;
    max-width: 100%;
}

body.catalog-product-view .form-phtml {
    display: block;
    box-shadow: none;
    border: 1px solid var(--wfi-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

body.catalog-product-view table.table.course-options {
    border-collapse: collapse;
}

body.catalog-product-view .course-options thead > tr:first-child > th,
body.catalog-product-view .collateral-tabs .data.item.title.active > a.data.switch,
body.catalog-product-view .collateral-tabs .data.item.title > a.data.switch {
    background: var(--wfi-bg-soft) !important;
    color: var(--wfi-pdp-navy) !important;
    height: auto !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--wfi-border);
}

body.catalog-product-view table.table.course-options > thead > tr > th > a,
body.catalog-product-view .active-individual-tab a.action.primary.individual,
body.catalog-product-view .head.single-tabs a.action.primary {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent !important;
    color: var(--wfi-pdp-navy) !important;
    font-family: var(--wfi-font-display);
    font-size: 0.95rem;
    font-weight: 700;
    padding: 0.9rem 1.15rem;
    border-radius: 0;
}

body.catalog-product-view .active-individual-tab a.action.primary.individual,
body.catalog-product-view .active-subs-tab a.action.primary.subs {
    background: var(--wfi-bg-soft) !important;
    color: var(--wfi-pdp-navy) !important;
}

body.catalog-product-view .group-custom-tab {
    border-bottom: 0;
    font-size: 1rem;
}

body.catalog-product-view .group-custom-tab.active {
    background: transparent;
}

body.catalog-product-view .group-custom-tab label {
    font-family: var(--wfi-font-display);
    font-weight: 700;
    color: var(--wfi-pdp-navy);
    padding: 0.35rem 1.15rem 0.15rem;
}

body.catalog-product-view .group-custom-tab label:after {
    content: none;
}

body.catalog-product-view .group-course-info-wrapper {
    display: block !important;
    background: #fff;
    padding: 0.5rem 1.15rem 1.15rem;
}

body.catalog-product-view .group-course-info-inner,
body.catalog-product-view .group-course-info-wrapper .common-info {
    display: block;
    width: 100%;
    padding: 0;
    vertical-align: top;
}

body.catalog-product-view .group-info-desc {
    color: var(--wfi-text-muted);
    padding: 0;
    margin: 0 0 0.75rem;
}

body.catalog-product-view .inline-price-box,
body.catalog-product-view .inline-price-box .price {
    font-family: var(--wfi-font-display) !important;
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: var(--wfi-pdp-navy) !important;
    text-align: left;
    font-style: normal;
}

body.catalog-product-view .each-row-action-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    text-align: left;
}

body.catalog-product-view .each-row-action-box > div,
body.catalog-product-view .each-row-action-box .qty-box {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
}

body.catalog-product-view .each-row-action-box .qty-box .input-text.qty,
body.catalog-product-view .qty-box .input-text.qty,
body.catalog-product-view input.input-text.qty[type="number"] {
    width: 4.25rem !important;
    max-width: 4.25rem !important;
    height: 2.75rem !important;
    padding: 0.35rem 0.4rem !important;
    text-align: center;
    border: 1px solid var(--wfi-border);
    border-radius: var(--wfi-radius);
    font-size: 1rem;
}

body.catalog-product-view .each-row-action-box .action,
body.catalog-product-view .each-row-action-box button.action.primary.tocart,
body.catalog-product-view button.action.primary.tocart {
    height: auto !important;
    min-width: 10.5rem;
    padding: 0.8rem 1.4rem !important;
    font-family: var(--wfi-font-display) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #fff !important;
    background: var(--wfi-orange) !important;
    border: 0 !important;
    border-radius: var(--wfi-radius-pill) !important;
    letter-spacing: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    cursor: pointer;
}

body.catalog-product-view .each-row-action-box .action:hover,
body.catalog-product-view .each-row-action-box button.action.primary.tocart:hover,
body.catalog-product-view button.action.primary.tocart:hover {
    background: var(--wfi-orange-hover) !important;
    border: 0 !important;
    color: #fff !important;
}

body.catalog-product-view button.action.primary.tocart.disabled,
body.catalog-product-view button.action.primary.tocart:disabled {
    opacity: 0.65;
    cursor: wait;
}

body.catalog-product-view .course-options tbody > tr,
body.catalog-product-view .course-options tbody > tr:hover,
body.catalog-product-view .course-options tbody > tr.active > td {
    background: transparent;
    cursor: default;
}

body.catalog-product-view .each-row.od td {
    padding: 0;
}

/* Magento default ATC is still in the form (needed for #qty). Hide the chrome. */
body.catalog-product-view .product-pricing-column .product-info-main .box-tocart,
body.catalog-product-view .product-info-main .field.qty > .label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* ---------- Outline / more info / reviews ---------- */
body.catalog-product-view .product.info.detailed,
body.catalog-product-view .box-collateral {
    margin-top: 1.75rem;
}

body.catalog-product-view .alternate {
    margin: 0 0 2rem;
    padding: 1.35rem 1.35rem 1.5rem;
    background: #fff;
    border: 1px solid var(--wfi-border);
    border-radius: 12px;
}

body.catalog-product-view .alternate > h2 {
    font-family: var(--wfi-font-display);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--wfi-pdp-navy);
    margin: 0 0 1rem;
    padding: 0;
}

body.catalog-product-view .alternate > p {
    margin: 0;
}

body.catalog-product-view .menu-target {
    height: 0;
    margin: 0;
    padding: 0;
    scroll-margin-top: 150px;
}

body.catalog-product-view #pdp-outline .group-custom-outline-tab-toggle,
body.catalog-product-view #pdp-outline .group-custom-outline-tab-toggle.hide {
    display: block !important;
}

body.catalog-product-view #pdp-outline .group-custom-outline-tab {
    display: none;
}

body.catalog-product-view #pdp-outline .group-outline-wrapper,
body.catalog-product-view #pdp-outline .accordion-body.showOutline .group-custom-outline-tab + .group-outline-wrapper,
body.catalog-product-view #pdp-outline .accordion-body.showOutline .group-custom-outline-tab.active + .group-outline-wrapper {
    display: block !important;
}

body.catalog-product-view #pdp-outline .accordion-body.showOutline .sub-products > li,
body.catalog-product-view #pdp-outline .sub-products > li {
    position: relative;
    display: block !important;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.catalog-product-view #outline-page-loader {
    padding: 1.5rem 0;
}

body.catalog-product-view #pdp-outline .accordion-body:not(:empty) + #outline-page-loader,
body.catalog-product-view #outline-accordion .accordion-body:not(:empty) ~ #outline-page-loader {
    display: none !important;
}

body.catalog-product-view #pdp-outline .ais-hits,
body.catalog-product-view #pdp-outline .ais-hits--item,
body.catalog-product-view #pdp-outline .hits {
    margin: 0;
    padding: 0;
    display: block;
    height: auto;
    overflow: visible;
}

/* Timeline: CSS numbers, not Font Awesome circles */
body.catalog-product-view #pdp-outline .sub-products,
body.catalog-product-view .accordion-body.showOutline .sub-products {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    list-style: none;
    margin: 0.25rem 0 0;
    padding: 0 0 0 2.75rem;
    border-left: 2px solid var(--wfi-border);
}

body.catalog-product-view #pdp-outline .sub-products > li::after,
body.catalog-product-view .accordion-body.showOutline .sub-products > li::after,
body.catalog-product-view #pdp-outline .sub-products > li::before,
body.catalog-product-view .accordion-body.showOutline ul.sub-products > li::before {
    content: none !important;
    display: none !important;
}

body.catalog-product-view #pdp-outline .sub-products li .hits {
    position: relative;
}

body.catalog-product-view #pdp-outline .sub-products li .hits::before,
body.catalog-product-view .accordion-body.showOutline .sub-products li .hits::before {
    content: attr(data-n);
    position: absolute;
    left: -3.55rem;
    top: 1.05rem;
    margin: 0;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    background: var(--wfi-orange);
    color: #fff !important;
    font-family: var(--wfi-font-display);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.55rem;
    text-align: center;
    z-index: 2;
}

body.catalog-product-view #pdp-outline .result-wrapper,
body.catalog-product-view .accordion-body.showOutline .result-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    box-shadow: none;
    margin: 0;
    border: 1px solid var(--wfi-border);
    border-radius: var(--wfi-radius);
    overflow: hidden;
    background: #fff;
}

body.catalog-product-view #pdp-outline .custom-list-view .result,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .result {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.9rem 0.75rem 0.9rem 1.15rem !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent;
}

body.catalog-product-view #pdp-outline .custom-list-view .result-content,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .result-content {
    margin-left: 0.35rem !important;
    margin-right: 0 !important;
}

body.catalog-product-view #pdp-outline .result-title,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .result .result-title {
    font-family: var(--wfi-font-display);
    font-weight: 700 !important;
    color: var(--wfi-pdp-navy) !important;
    font-size: 0.98rem !important;
    line-height: 1.35;
}

body.catalog-product-view #pdp-outline .left-bar,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .result .left-bar {
    background: var(--wfi-orange) !important;
    width: 4px !important;
}

body.catalog-product-view #pdp-outline .inline-list,
body.catalog-product-view .accordion-body.showOutline .custom-list-view ul.inline-list {
    list-style: none;
    margin: 0.4rem 0 0 !important;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

body.catalog-product-view #pdp-outline .inline-list li,
body.catalog-product-view .accordion-body.showOutline .custom-list-view ul.inline-list li {
    background: #fff4ee !important;
    color: var(--wfi-orange) !important;
    font-size: 0.72rem !important;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    margin: 0 !important;
}

body.catalog-product-view #pdp-outline .inline-list li:empty {
    display: none;
}

/* Replace the navy Font Awesome info strip with a compact WFI button */
body.catalog-product-view #pdp-outline .custom-list-view .inline-btns,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .inline-btns {
    position: static !important;
    width: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: transparent !important;
    padding: 0 0.85rem 0 0;
}

body.catalog-product-view #pdp-outline .custom-list-view .middle-btns,
body.catalog-product-view .accordion-body.showOutline .custom-list-view .middle-btns {
    padding: 0 !important;
}

body.catalog-product-view #pdp-outline .custom-list-view a.btn-circle,
body.catalog-product-view .accordion-body.showOutline .custom-list-view a.btn-circle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #fff4ee !important;
    border: 1px solid #f0d4c4 !important;
    color: var(--wfi-orange) !important;
    box-shadow: none;
}

body.catalog-product-view #pdp-outline .custom-list-view a.btn-circle:hover,
body.catalog-product-view .accordion-body.showOutline .custom-list-view a.btn-circle:hover {
    background: var(--wfi-orange) !important;
    border-color: var(--wfi-orange) !important;
    color: #fff !important;
}

body.catalog-product-view #pdp-outline a.btn-circle > span,
body.catalog-product-view .accordion-body.showOutline a.btn-circle > span {
    font-size: 0;
    line-height: 0;
}

body.catalog-product-view #pdp-outline a.btn-circle .fa-info::before,
body.catalog-product-view .accordion-body.showOutline a.btn-circle .fa-info::before {
    content: "i";
    font-family: var(--wfi-font-display);
    font-size: 0.95rem;
    font-style: italic;
    font-weight: 800;
    line-height: 1;
}

/* Additional attributes table */
body.catalog-product-view .additional-attributes-wrapper,
body.catalog-product-view table.additional-attributes {
    width: 100%;
    max-width: 40rem;
}

body.catalog-product-view table.data.table.additional-attributes {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

body.catalog-product-view table.additional-attributes .table-caption {
    caption-side: top;
    font-weight: 600;
    text-align: left;
    padding: 0 0 0.65rem;
    color: var(--wfi-text-muted);
}

body.catalog-product-view table.additional-attributes th,
body.catalog-product-view table.additional-attributes td {
    text-align: left;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid var(--wfi-border);
    color: var(--wfi-text);
}

body.catalog-product-view table.additional-attributes th {
    width: 48%;
    font-weight: 600;
    color: var(--wfi-pdp-navy);
    background: var(--wfi-bg-soft);
}

body.catalog-product-view #product-review-container,
body.catalog-product-view .block.review-add,
body.catalog-product-view .review-form {
    max-width: 40rem;
}

/* Magento messages */
body.catalog-product-view .page.messages,
body.catalog-product-view .messages {
    max-width: var(--wfi-container);
    margin: 0 auto 1rem;
    padding: 0 var(--wfi-gutter);
}

@media (max-width: 900px) {
    body.catalog-product-view .product-details-head .inner-container {
        grid-template-columns: 1fr;
    }

    body.catalog-product-view .pdp-custom-img {
        grid-column: 1;
        grid-row: auto;
        text-align: left;
        max-width: 12rem;
    }

    body.catalog-product-view .pdp-custom-img img {
        object-position: left center;
    }

    body.catalog-product-view .product-details-base .grid12-4 {
        max-width: none;
        flex-basis: 100%;
    }

    body.catalog-product-view .pdp-sticky-header-container {
        top: 0;
    }
}

@media (max-width: 767px) {
    body.catalog-product-view .pdp-custom-img {
        display: none;
    }

    body.catalog-product-view h1.page-title {
        font-size: 1.7rem !important;
    }

    body.catalog-product-view .each-row-action-box {
        flex-direction: column;
        align-items: stretch;
    }

    body.catalog-product-view .each-row-action-box button.action.primary.tocart {
        width: 100%;
    }
}
