body.hdc-single-product-page {
    --hdc-single-page-width: 1320px;
    --hdc-single-page-gutter: 24px;
    --hdc-single-summary-gap: 18px;
    --hdc-single-gallery-percent: 44%;
    --hdc-single-gallery-width-adjustment: 80px;
    --hdc-single-gallery-padding: 12px;
    --hdc-single-gallery-max-height: 560px;
    --hdc-single-thumbnail-top-gap: 8px;
    --hdc-single-section-gap: 18px;
    --hdc-single-title-size: 27px;
    --hdc-single-rating-size: 12px;
    --hdc-single-price-size: 56px;
    --hdc-single-old-price-size: 18px;
    --hdc-single-price-color: #000000;
    --hdc-single-old-price-color: #DC2626;
    --hdc-single-stock-background: #ECFDF3;
    --hdc-single-stock-border: #86EFAC;
    --hdc-single-stock-text: #15803D;
    --hdc-single-action-hover-background: #FFFFFF;
    --hdc-single-action-hover-border: #F97316;
    --hdc-single-action-hover-text: #EA580C;
    --hdc-single-tab-button-height: 40px;
    --hdc-single-tab-button-padding-x: 18px;
    --hdc-single-tabs-panel-padding: 14px;
    --hdc-single-attributes-cell-padding: 16px;
    --hdc-single-breadcrumb-top-gap: 5px;
    --hdc-single-breadcrumb-bottom-gap: 12px;
    --hdc-single-thumb-size: 64px;
    --hdc-single-related-columns: 4;
}

body.hdc-single-product-page .site-main,
body.hdc-single-product-page .hdf-page,
body.hdc-single-product-page .content-area,
body.hdc-single-product-page .woocommerce {
    width: 100%;
    max-width: none;
}

body.hdc-single-product-page .site-main > .woocommerce {
    width: 100%;
    margin-inline: 0;
}

body.hdc-single-product-page .woocommerce-notices-wrapper,
body.hdc-single-product-page .woocommerce-breadcrumb,
body.hdc-single-product-page .woocommerce .woocommerce-breadcrumb {
    width: min(var(--hdc-single-page-width), calc(100% - (var(--hdc-single-page-gutter) * 2)));
    margin-inline: auto;
}

body.hdc-single-product-page .hdc-single-product-layout {
    display: grid;
    width: min(var(--hdc-single-page-width), calc(100% - (var(--hdc-single-page-gutter) * 2)));
    min-width: 0;
    margin-inline: auto;
    align-items: stretch;
    gap: 20px;
}

body.hdc-single-product-page .hdc-single-product-layout--no-sidebar {
    grid-template-columns: minmax(0, 1fr);
}

body.hdc-single-product-page .hdc-single-product-layout--has-sidebar {
    grid-template-columns: minmax(250px, 292px) minmax(0, 1fr);
    grid-template-areas: "product-sidebar product-primary";
}

body.hdc-single-product-page .hdc-single-product-primary {
    min-width: 0;
    grid-area: product-primary;
}

body.hdc-single-product-page .hdc-single-product-layout > .hdf-context-sidebar--product {
    min-width: 0;
    height: 100%;
    grid-area: product-sidebar;
    align-self: stretch;
}

body.hdc-single-product-page .hdc-single-product-managed {
    display: grid;
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, calc(var(--hdc-single-gallery-percent) - var(--hdc-single-gallery-width-adjustment))) minmax(0, 1fr);
    grid-auto-flow: row;
    align-items: start;
    column-gap: var(--hdc-single-summary-gap);
    row-gap: 0;
    margin-inline: 0;
    isolation: isolate;
}

body.hdc-single-product-page .hdc-single-product-managed::before,
body.hdc-single-product-page .hdc-single-product-managed::after {
    display: none;
    content: none;
}

body.hdc-single-product-page .hdc-single-product-managed > .hdc-single-product-gallery,
body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary,
body.hdc-single-product-page .hdc-single-product-managed > .hdc-single-product-details,
body.hdc-single-product-page .hdc-single-product-managed > .hdc-single-product-recommendations {
    min-width: 0;
    box-sizing: border-box;
}

body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary,
body.hdc-single-product-page .hdc-single-product-managed .woocommerce-product-gallery,
body.hdc-single-product-page .hdc-single-product-managed div.images {
    float: none;
    clear: none;
    width: 100%;
    max-width: none;
    margin: 0;
}

/* The right column is one unified premium surface, matching the reference
 * product page. Its child sections remain isolated renderers, but no longer
 * create a stack of unrelated boxes. */
body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary {
    position: relative;
    display: grid;
    align-self: start;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--hdc-flat-border);
    border-radius: var(--hdc-single-section-radius, var(--hdc-radius));
    background: var(--hdc-flat-surface);
}

body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary > * {
    position: relative;
    z-index: 1;
}

body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary > .hdc-raised-surface {
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary > section:not(:last-child),
body.hdc-single-product-page div.product.hdc-single-product-managed > div.summary > .hdc-single-product-services {
    border-bottom: 1px solid var(--hdc-border);
}

body.hdc-single-product-page .hdc-single-product-managed > .hdc-single-product-details,
body.hdc-single-product-page .hdc-single-product-managed > .hdc-single-product-recommendations {
    grid-column: 1 / -1;
}

.hdc-raised-surface {
    position: relative;
    border: 1px solid var(--hdc-flat-border);
    border-radius: var(--hdc-single-section-radius, var(--hdc-radius));
    background: var(--hdc-flat-surface);
}

.hdc-single-product-section-heading {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 9px 14px;
    border: 1px solid var(--hdc-flat-border);
    border-radius: var(--hdc-single-section-radius, var(--hdc-radius));
    background: var(--hdc-flat-surface);
    color: var(--hdc-text);
}

.hdc-single-product-section-heading h2 {
    margin: 0;
    color: inherit;
    font-family: var(--hdc-font-heading);
    font-size: clamp(18px, 1.7vw, 24px);
    font-weight: var(--hdc-font-weight-heading);
    line-height: 1.15;
}

body.hdc-single-product-page .woocommerce-message,
body.hdc-single-product-page .woocommerce-info,
body.hdc-single-product-page .woocommerce-error {
    width: min(var(--hdc-single-page-width), calc(100% - (var(--hdc-single-page-gutter) * 2)));
    margin-inline: auto;
    border: 1px solid var(--hdc-flat-border);
    border-radius: var(--hdc-single-section-radius, var(--hdc-radius));
    box-shadow:none;
}
