/* Estilos funcionales de los componentes; la paleta pertenece al tema. */
.single-product .ed-container { margin: 30px 0; padding: 24px; border: 1px solid currentColor; border-radius: 14px; color: inherit; background: transparent; }
.single-product .ed-container__header h3 { margin: 0 0 18px; font-size: 20px; color: inherit; }
.single-product .ed-container__benefits { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.single-product .ed-benefit { font-size: 15px; font-weight: 600; }
.single-product .ed-container__message { padding-top: 18px; border-top: 1px solid currentColor; font-size: 14px; line-height: 1.7; color: inherit; }
.single-product .product.product-type-variable .summary > .price,
.single-product.ed-variable-product .wp-block-woocommerce-product-price[data-is-descendent-of-single-product-template="true"],
.single-product.ed-variable-product .woocommerce-variation-price { display: none; }
.single-product .ed-selected-price { margin: 12px 0 24px; color: inherit; font-size: 1.5rem; font-weight: 600; }
.single-product .ed-selected-price[hidden] { display: none; }
.single-product form.variations_form table.variations { width: 100%; margin: 0 0 40px; border: 0; }
.single-product form.variations_form table.variations tbody { display: block; }
.single-product form.variations_form table.variations tr { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; margin-bottom: 36px; }
.single-product form.variations_form table.variations th.label { display: flex; align-items: center; height: 48px; padding: 0; margin: 0; border: 0; text-align: left; }
.single-product form.variations_form table.variations th.label label { margin: 0; font-size: 16px; line-height: 1.4; }
.single-product form.variations_form table.variations td.value { display: block; position: relative; padding: 0; margin: 0; border: 0; min-width: 0; }
.single-product form.variations_form table.variations select { display: block; box-sizing: border-box; width: 100%; max-width: 320px; min-width: 0; height: 48px; margin: 0; padding: 0 36px 0 14px; font-size: 16px; line-height: normal; }
.single-product form.variations_form table.variations .reset_variations { position: absolute; top: 54px; left: 0; margin: 0; font-size: 13px; line-height: 20px; }
.single-product form.cart .ed-quantity { display: inline-flex; align-items: stretch; height: 56px; border: 1px solid currentColor; border-radius: 6px; overflow: hidden; }
.single-product form.cart .ed-quantity input.qty { width: 48px; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.single-product .ed-quantity input::-webkit-inner-spin-button,
.single-product .ed-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.single-product .ed-qty-button { width: 44px; border: 0; background: transparent; color: inherit; font-size: 24px; cursor: pointer; }
.single-product .ed-qty-button:disabled { opacity: .35; cursor: not-allowed; }
.single-product.ed-variable-product .wd-single-price { display: none; }
.single-product form.variations_form table.variations { margin-bottom: 24px; }
.single-product form.variations_form table.variations tr { margin-bottom: 24px; }
/* WoodMart adds negative form margins for its native table layout. */
.single-product form.variations_form.cart { margin-left: 0; margin-right: 0; margin-bottom: 0; width: 100%; }
.single-product form.variations_form.cart > .single_variation_wrap,
.single-product form.variations_form.cart > .single_variation { margin-left: 0; margin-right: 0; }
.single-product .ed-container { margin-top: 24px; }

.single-product .ed-benefit p { margin: 6px 0 0; font-size: 14px; font-weight: 400; line-height: 1.6; }
.single-product .ed-container__benefits { margin-bottom: 0; gap: 18px; }
.single-product .ed-selected-price { margin: 4px 0 8px; line-height: 1.25; }
.single-product .ed-brand-price-group { gap: 6px; padding-top: 0; padding-bottom: 0; }
.single-product .ed-brand-price-group .elementor-heading-title { margin-bottom: 0; }
.single-product .ed-container { width: 100%; box-sizing: border-box; margin: 20px 0 0; }
.single-product .ed-fragrance-story p { margin: 0 0 14px; line-height: 1.7; }
.single-product .ed-fragrance-story h3 { font-size: 16px; margin: 18px 0 6px; }
