.ywp-enhanced-product { --ywp-presentation-accent: var(--ywp-action-accent, var(--wp--preset--color--accent-1, #703747)); }
.ywp-enhanced-product [hidden] { display: none !important; }
.ywp-enhanced-product .woocommerce-variation-price { display: none !important; }
.ywp-enhanced-product .ywp-cover-type-row > th, .ywp-enhanced-product .ywp-cover-type-row > td.label { display: none; }
.ywp-enhanced-product .ywp-cover-type-row > td.value { display: block; width: 100%; padding: 0; }
.ywp-enhanced-product .ywp-cover-type-row { display: block; }
.ywp-cover-types { border: 0; padding: 0; margin: 1rem 0; min-width: 0; width: 100%; }
.ywp-cover-types legend { font-weight: 600; padding: 0; margin-bottom: .65rem; }
.ywp-cover-type-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ywp-cover-type-card { position: relative; padding: 1rem 2rem 1rem 1rem; border: 1px solid currentColor; border-radius: 4px; cursor: pointer; min-width: 0; overflow-wrap: anywhere; }
.ywp-cover-type-card.is-selected { border-color: var(--ywp-presentation-accent); box-shadow: inset 0 0 0 1px var(--ywp-presentation-accent); }
.ywp-cover-type-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ywp-cover-type-card:focus-within { outline: 2px solid var(--ywp-presentation-accent); outline-offset: 3px; }
.ywp-cover-type-title, .ywp-cover-type-price { display: block; }
.ywp-cover-type-title { font-weight: 600; }
.ywp-cover-type-price { margin-top: .35rem; font-size: .85em; }
.ywp-cover-type-check { position: absolute; top: .75rem; right: .75rem; color: var(--ywp-presentation-accent); visibility: hidden; }
.ywp-cover-type-card.is-selected .ywp-cover-type-check { visibility: visible; }
.ywp-cover-type-card.is-unavailable { opacity: .5; cursor: not-allowed; }
.ywp-per-item { display: inline-block; margin-inline-start: .5em; font-size: .55em; font-weight: normal; }
.ywp-period { font-size: .85em; margin: .5rem 0 0; }
.woocommerce div.product form.cart .quantity.ywp-quantity { display: flex; flex-direction: column; align-items: flex-start; width: 100%; flex-basis: 100%; gap: .4rem; float: none; margin-bottom: .8rem; }
.ywp-quantity-label { font-weight: 600; }
.ywp-quantity-controls { display: flex; align-items: stretch; max-width: 100%; }
.woocommerce div.product form.cart .ywp-quantity-controls input.qty { width: 4rem; min-width: 3rem; max-width: 5rem; margin: 0; min-height: 3rem; text-align: center; box-sizing: border-box; border-radius: 0; appearance: textfield; -moz-appearance: textfield; }
.ywp-quantity-controls input::-webkit-inner-spin-button, .ywp-quantity-controls input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.woocommerce div.product form.cart .ywp-quantity-controls button { min-width: 2.75rem; min-height: 3rem; padding: .35rem .65rem; font: inherit; background: transparent; border: 1px solid currentColor; color: inherit; box-shadow: none; cursor: pointer; margin: 0; }
.ywp-quantity-controls button:disabled { opacity: .45; cursor: not-allowed; }
.ywp-quantity-controls button:focus-visible { outline: 2px solid var(--ywp-presentation-accent); outline-offset: 2px; }
.ywp-personalization-note { font-size: .85em; margin-top: .75rem; clear: both; }
@media (max-width: 380px) { .ywp-cover-type-cards { grid-template-columns: minmax(0, 1fr); } }

/* The helper is anchored below the selector and never contributes to row height. */
.woocommerce div.product form.cart.ywp-enhanced-product .variations { display: table; width: 100%; table-layout: fixed; margin-block: 0; border-spacing: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations th,
.woocommerce div.product form.cart.ywp-enhanced-product .variations td { display: table-cell; vertical-align: top; padding-top: .25rem; padding-bottom: .6rem; box-sizing: border-box; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations tbody { display: table-row-group; width: 100%; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations tr:not([hidden]) { display: table-row; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations .label { width: 35%; padding-inline: 0 .75rem; overflow-wrap: anywhere; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations .value { width: 65%; padding-inline: 0; }

.ywp-month-field { position: relative; display: block; min-width: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .variations select { margin: 0; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-period { position: absolute; inset-block-start: calc(100% + .15rem); inset-inline-start: 0; width: 100%; min-height: 0; line-height: 1.2; font-size: .75em; margin: 0; overflow-wrap: anywhere; }
.ywp-period.is-empty { visibility: hidden; }
/* Two helper lines at .75em × 1.2 line-height, plus a small gap. */
.woocommerce div.product form.cart.ywp-enhanced-product .variations .ywp-month-row th,
.woocommerce div.product form.cart.ywp-enhanced-product .variations .ywp-month-row td { padding-bottom: calc(var(--ywp-period-height, 1.8em) + .5rem); }
@media (max-width: 600px) {
    .woocommerce div.product form.cart.ywp-enhanced-product .variations,
    .woocommerce div.product form.cart.ywp-enhanced-product .variations tbody,
    .woocommerce div.product form.cart.ywp-enhanced-product .variations tr:not([hidden]),
    .woocommerce div.product form.cart.ywp-enhanced-product .variations .label,
    .woocommerce div.product form.cart.ywp-enhanced-product .variations .value { display: block; width: 100%; }
    .woocommerce div.product form.cart.ywp-enhanced-product .variations .label { padding-bottom: .25rem; }
}
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-cover-types { margin-block: .35rem .9rem; }
.woocommerce div.product form.cart.ywp-enhanced-product .single_variation_wrap,
.woocommerce div.product form.cart.ywp-enhanced-product .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-purchase-actions { margin-block: 0; padding-block: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .single_variation { min-height: 0; margin-block: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .woocommerce-variation-description:empty,
.woocommerce div.product form.cart.ywp-enhanced-product .woocommerce-variation-availability:empty { margin: 0; padding: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .quantity.ywp-quantity { margin-block: 0 .25rem; padding-block: 0; }
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-label { margin: 0; }
/* Use one border around the quantity group, with quiet internal dividers. */
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls { border: 1px solid currentColor; }
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls input.qty,
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls button {
    border: 0; border-radius: 0; box-shadow: none !important; outline: none !important;
}
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls input.qty { border-inline: 1px solid currentColor; }
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls input.qty:focus-visible,
.woocommerce div.product form.cart.ywp-enhanced-product .ywp-quantity-controls button:focus-visible {
    outline: 2px solid var(--ywp-presentation-accent) !important; outline-offset: -3px;
}
