.hdc-single-product-purchase {
    display: grid;
    gap: 12px;
    padding: 15px 18px 17px;
}

.hdc-single-product-purchase__price .price,
.hdc-single-product-purchase__price > p.price {
    display: grid;
    align-items: baseline;
    gap: 3px;
    margin: 0;
    color: var(--hdc-single-price-color);
    font-family: var(--hdc-font-heading);
    font-size: var(--hdc-single-price-size);
    font-weight: 700;
    line-height: 1;
}

.hdc-single-product-purchase__price > .price > .amount,
.hdc-single-product-purchase__price ins,
.hdc-single-product-purchase__price ins .amount,
.hdc-single-product-purchase__form .woocommerce-variation-price ins,
.hdc-single-product-purchase__form .woocommerce-variation-price ins .amount {
    color: var(--hdc-single-price-color);
}

.hdc-single-product-purchase__price del,
.hdc-single-product-purchase__price del .amount,
.hdc-single-product-purchase__form .woocommerce-variation-price del,
.hdc-single-product-purchase__form .woocommerce-variation-price del .amount {
    color: var(--hdc-single-old-price-color);
}

.hdc-single-product-purchase__price del,
.hdc-single-product-purchase__form .woocommerce-variation-price del {
    display: block;
    font-size: var(--hdc-single-old-price-size);
    font-weight: 700;
    line-height: 1.15;
    opacity: 1;
}

.hdc-single-product-purchase__price ins,
.hdc-single-product-purchase__form .woocommerce-variation-price ins {
    display: block;
    text-decoration: none;
}

.hdc-single-product-purchase__stock-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.hdc-single-product-stock {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid var(--hdc-single-stock-border);
    border-radius: 999px;
    background: var(--hdc-single-stock-background);
    color: var(--hdc-single-stock-text);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.hdc-single-product-stock.is-out {
    border-color: #FCA5A5;
    background: #FEF2F2;
    color: #B91C1C;
}

.hdc-single-product-purchase__excerpt {
    min-width: 0;
    color: var(--hdc-muted-text);
    font-size: 13px;
    line-height: 1.55;
}

.hdc-single-product-purchase__excerpt .woocommerce-product-details__short-description {
    display: -webkit-box;
    max-width: 100%;
    max-height: calc(var(--hdc-single-excerpt-lines, 3) * 1.55em);
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--hdc-single-excerpt-lines, 3);
}

.hdc-single-product-purchase__excerpt p {
    margin: 0;
}

.hdc-single-product-purchase__details-link {
    display: inline-flex;
    margin-top: 7px;
    color: var(--hdc-primary-hover);
    font-size: 11px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hdc-single-product-purchase__form form.cart,
.hdc-single-product-purchase__form .variations_form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--hdc-single-purchase-gap, 9px);
    margin: 0;
}

/*
 * Canonical purchase-action row. Single Product owns the geometry for Qty,
 * Add to Cart, WhatsApp Order and Product Download. Optional actions never
 * grow into spare space, preserving one stable row on every desktop width.
 */
body.hdc-single-product-page .hdc-single-product-purchase__form form.cart:not(.variations_form):not(.grouped_form),
body.hdc-single-product-page .hdc-single-product-purchase__form .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: clamp(4px, .7vw, var(--hdc-single-purchase-gap, 9px));
    max-width: 100%;
}

.hdc-single-product-purchase__form .variations {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0 7px;
}

.hdc-single-product-purchase__form .variations th,
.hdc-single-product-purchase__form .variations td {
    padding: 0;
    text-align: left;
}

.hdc-single-product-purchase__form .variations label {
    color: var(--hdc-text);
    font-size: 12px;
    font-weight: 700;
}

body.hdc-single-product-page .hdc-single-product-purchase__form select {
    box-sizing: border-box;
    height: 42px;
    min-height: 42px;
    border: 1px solid var(--hdc-flat-border);
    border-radius: 8px;
    background: var(--hdc-surface);
    color: var(--hdc-text);
}

.hdc-single-product-purchase__form .quantity {
    display: inline-flex;
    box-sizing: border-box;
    flex: 0 1 var(--hdc-single-purchase-quantity-width, 80px);
    width: var(--hdc-single-purchase-quantity-width, 80px);
    max-width: var(--hdc-single-purchase-quantity-width, 80px);
    min-width: 50px;
    align-items: stretch;
    margin: 0;
}

body.hdc-single-product-page .hdc-single-product-purchase__form input.qty {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: var(--hdc-single-purchase-height, 54px);
    min-height: var(--hdc-single-purchase-height, 54px);
    max-height: var(--hdc-single-purchase-height, 54px);
    border: 1px solid var(--hdc-flat-border);
    border-radius: var(--hdc-single-purchase-quantity-radius, 5px);
    background: var(--hdc-surface);
    color: var(--hdc-text);
}

body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.single_add_to_cart_button,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart a.button,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.button,
body.hdc-single-product-page .hdc-single-product-purchase__form .hdc-whatsapp-button--product,
body.hdc-single-product-page .hdc-single-product-purchase__form .hdc-single-product-download-button {
    display: inline-flex;
    box-sizing: border-box;
    flex: 0 1 var(--hdc-single-purchase-button-width, 130px);
    width: var(--hdc-single-purchase-button-width, 130px);
    max-width: var(--hdc-single-purchase-button-width, 130px);
    min-width: 72px;
    height: var(--hdc-single-purchase-height, 54px);
    min-height: var(--hdc-single-purchase-height, 54px);
    max-height: var(--hdc-single-purchase-height, 54px);
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding-block: 0;
    padding-inline: clamp(8px, 1.2vw, 15px);
    border-radius: var(--hdc-single-purchase-button-radius, 30px);
    font-family: var(--hdc-font-ui);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
}

body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.single_add_to_cart_button,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart a.button,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.button {
    border: 1px solid var(--hdc-primary-hover);
    background: var(--hdc-primary);
    color: var(--hdc-button-text);
}

body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.single_add_to_cart_button:hover,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.single_add_to_cart_button:focus-visible,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart a.button:hover,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart a.button:focus-visible,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.button:hover,
body.hdc-single-product-page div.product.hdc-single-product-managed .hdc-single-product-purchase__form form.cart button.button:focus-visible {
    background: var(--hdc-primary-hover);
    color: var(--hdc-button-text);
}

.hdc-single-product-purchase__form .hdc-single-product-download-button {
    border: 1px solid var(--hdc-single-download-background, #374151);
    background: var(--hdc-single-download-background, #374151);
    color: var(--hdc-single-download-text, #fff);
    transition: background-color var(--hdc-transition, 160ms ease), border-color var(--hdc-transition, 160ms ease), color var(--hdc-transition, 160ms ease);
}

.hdc-single-product-purchase__form .hdc-single-product-download-button:hover,
.hdc-single-product-purchase__form .hdc-single-product-download-button:focus-visible {
    border-color: var(--hdc-single-download-hover, #111827);
    background: var(--hdc-single-download-hover, #111827);
    color: var(--hdc-single-download-text, #fff);
    text-decoration: none;
}

.hdc-single-product-download-button__icon,
.hdc-single-product-download-button__icon .hdc-icon {
    display: inline-flex;
    width: var(--hdc-single-download-icon-size, 18px);
    min-width: var(--hdc-single-download-icon-size, 18px);
    height: var(--hdc-single-download-icon-size, 18px);
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.hdc-single-product-download-button__icon .hdc-icon {
    fill: none;
    stroke: currentColor;
}

/* The package-owned stock tag is the only visible availability presentation. */
.hdc-single-product-purchase__form p.stock,
.hdc-single-product-purchase__form .woocommerce-variation-availability {
    display: none;
}

.hdc-single-product-purchase__form .woocommerce-variation {
    width: 100%;
}

.hdc-single-product-purchase__form .woocommerce-variation-price {
    margin-bottom: 7px;
    color: var(--hdc-single-price-color);
    font-family: var(--hdc-font-heading);
    font-size: var(--hdc-single-price-size);
    font-weight: 700;
    line-height: 1;
}

.hdc-single-product-purchase__form .reset_variations {
    color: var(--hdc-danger);
    font-size: 11px;
}

.hdc-single-product-purchase__form .single_variation_wrap,
.hdc-single-product-purchase__form .woocommerce-variation-add-to-cart,
.hdc-single-product-purchase__form .group_table {
    width: 100%;
}

.hdc-single-product-purchase__form .group_table {
    border-collapse: separate;
    border-spacing: 0 7px;
}

.hdc-single-product-purchase__form .group_table td {
    padding: 8px 10px;
    border: 1px solid var(--hdc-border);
    background: var(--hdc-surface);
}
