/* Native WooCommerce markup remains authoritative; this file supplies the wooden storefront skin. */
.woocommerce { min-width: 0; }
.woocommerce :where(.woocommerce-breadcrumb, .woocommerce-result-count) { color: var(--pf-color-muted); font-size: .88rem; }
.woocommerce :where(.woocommerce-breadcrumb a, .woocommerce-MyAccount-content a) { text-underline-offset: .18em; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce a.added_to_cart {
	display: inline-flex; align-items: center; justify-content: center; min-height: 2.55rem;
	border: 2px solid var(--pf-color-mint-dark); border-radius: 999px;
	background: var(--pf-color-mint); box-shadow: var(--pf-shadow-control);
	color: var(--pf-color-ink); font-weight: 800; line-height: 1.3;
	padding: .6em 1.1em; text-decoration: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce .button.alt:hover, .woocommerce a.added_to_cart:hover { background: var(--pf-color-mint-dark); color: var(--pf-color-ink); }
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, .woocommerce input.button:focus-visible, .woocommerce #respond input#submit:focus-visible, .woocommerce .button.alt:focus-visible, .woocommerce a.added_to_cart:focus-visible { outline: var(--pf-focus-ring); outline-offset: 3px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .select2-container .select2-selection--single { border: 2px solid var(--pf-color-border-soft); border-radius: var(--pf-radius-sm); background: #fff; color: var(--pf-color-ink); padding: .65em .8em; }
.woocommerce .select2-container .select2-selection--single { min-height: 2.8rem; }
.woocommerce .form-row label { color: var(--pf-color-ink); font-weight: 800; }
.woocommerce .form-row .required { color: var(--pf-color-error); }
.woocommerce .form-row :where(.input-text, .select2-container) { width: 100%; }
.woocommerce .form-row.woocommerce-invalid :where(.input-text, select, textarea) { border: 2px solid var(--pf-color-error); background: var(--pf-color-error-field); }
.woocommerce :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) { margin: 0 0 1.5rem; border: 2px solid var(--pf-color-mint); border-left: 5px solid var(--pf-color-mint-dark); border-radius: var(--pf-radius-md); background: var(--pf-color-mint-light); box-shadow: none; color: var(--pf-color-ink); padding: 1rem 1.5rem 1rem 3.5rem; line-height: 1.6; overflow-wrap: anywhere; }
.woocommerce :where(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { color: var(--pf-color-mint-strong); }
.woocommerce .woocommerce-error { border-color: var(--pf-color-pink); border-left-color: var(--pf-color-error); background: var(--pf-color-error-surface); }
.woocommerce .woocommerce-error::before { color: var(--pf-color-error); }
.woocommerce :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) li + li { margin-top: .5rem; }
.woocommerce :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) a { font-weight: 800; }

.woocommerce table.shop_table { width: 100%; margin-block: 1rem 1.5rem; border: 2px solid var(--pf-color-pink-light); border-collapse: separate; border-spacing: 0; border-radius: var(--pf-radius-md); background: #fff; color: var(--pf-color-ink); }
.woocommerce table.shop_table :where(th, td) { border-color: var(--pf-color-pink-light); padding: .75rem 1rem; vertical-align: top; overflow-wrap: anywhere; }
.woocommerce table.shop_table thead th { background: var(--pf-color-mint-light); color: var(--pf-color-ink); font-weight: 900; }
.woocommerce table.shop_table tbody tr:nth-child(even) { background: var(--pf-color-row-alt); }
/* UI-01R regression fix: ordinary table links never override native action buttons. */
.woocommerce table.shop_table :where(a:not(.button), .amount) { color: var(--pf-color-pink-strong); }
.woocommerce :where(.woocommerce-pagination, .woocommerce-ordering) { margin-block: 1rem; }

/* Product loop card structure and styling live in preview-storefront.css. */

/* My Account retains native navigation, endpoints and forms inside the shared frame. */
.woocommerce-account .pf-entry__content > .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: block; }
.woocommerce-account .pf-entry__content > .woocommerce:has(> .woocommerce-MyAccount-navigation)::before, .woocommerce-account .pf-entry__content > .woocommerce:has(> .woocommerce-MyAccount-navigation)::after, .woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after, .woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 1.25rem; border: 2px solid var(--pf-color-mint); border-radius: var(--pf-radius-md); background: var(--pf-color-mint-light); padding: .55rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 2.5rem; border: 2px solid transparent; border-radius: 999px; color: var(--pf-color-ink); font-weight: 800; line-height: 1.3; padding: .5rem .85rem; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color: var(--pf-color-pink); background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation :where(.is-active, [aria-current="page"]) > a, .woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] { border-color: var(--pf-color-pink); background: var(--pf-color-pink); color: var(--pf-color-ink-on-pink); }
.woocommerce-account .woocommerce-MyAccount-content { border: 2px solid var(--pf-color-pink-light); border-radius: var(--pf-radius-md); background: #fff; padding: clamp(1rem, 2.5vw, 1.75rem); overflow-x: auto; overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce form.woocommerce-form-login, .woocommerce-account .woocommerce form.woocommerce-form-register, .woocommerce-account .woocommerce form.woocommerce-ResetPassword { max-width: 38rem; border: 2px solid var(--pf-color-pink); border-radius: var(--pf-radius-md); background: #fff; padding: clamp(1rem, 3vw, 2rem); }
.woocommerce-account .woocommerce-form-login .form-row, .woocommerce-account .woocommerce-form-register .form-row, .woocommerce-account .woocommerce-ResetPassword .form-row { margin-bottom: 1rem; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: .5rem; margin-right: 1rem; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme input { width: auto; }
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.woocommerce-account #customer_login > :where(.u-column1, .u-column2) { float: none; width: auto; min-width: 0; margin: 0; }
.woocommerce-account #customer_login :where(h2, h3) { margin-top: 0; color: var(--pf-color-pink-strong); }
.woocommerce-account .woocommerce-EditAccountForm fieldset { margin-block: 1.5rem; border: 2px solid var(--pf-color-pink-light); border-radius: var(--pf-radius-sm); padding: 1rem; }
.woocommerce-account .woocommerce-EditAccountForm legend { color: var(--pf-color-pink-strong); font-weight: 900; padding-inline: .5rem; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.woocommerce-account .woocommerce-Addresses :where(.col-1, .col-2) { float: none; width: auto; min-width: 0; }
.woocommerce-account .woocommerce-Address { border: 2px solid var(--pf-color-pink-light); border-radius: var(--pf-radius-md); background: #fffafd; padding: 1rem; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; border-bottom: 2px solid var(--pf-color-pink-light); margin-bottom: .75rem; }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0 0 .5rem; font-size: 1.15rem; }
.woocommerce-account .woocommerce-Address-title .edit { float: none; font-weight: 800; }
.woocommerce-account :where(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) { margin-top: 1.5rem; }
.woocommerce-account :where(.woocommerce-order-details__title, .woocommerce-column__title) { font-size: 1.25rem; }
.woocommerce-account .woocommerce-order-overview { border: 2px solid var(--pf-color-mint); border-radius: var(--pf-radius-md); background: var(--pf-color-mint-light); padding: 1rem; }
.woocommerce-account .woocommerce-order-overview li { margin-block: .5rem; }
.woocommerce .show-password-input, .woocommerce .show-password-input:hover { border: 0; background: transparent; box-shadow: none; color: var(--pf-color-pink-strong); padding: 0; transform: none; }
.woocommerce :where(.woocommerce-form__input-checkbox, input[type="checkbox"], input[type="radio"]) { accent-color: var(--pf-color-pink-strong); }

@media (max-width: 800px) { .woocommerce-account #customer_login { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
	/* Detail sections provide their own scroll containers; direct tables use Woo's responsive rows. */
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive { display: table; min-width: 38rem; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive thead { display: table-header-group; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive tbody { display: table-row-group; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive tr { display: table-row; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive :where(th, td) { display: table-cell; float: none; text-align: start; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive td::before, .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-order-downloads) table.shop_table_responsive td::after { display: none; content: none; }
}
@media (max-width: 520px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-account .woocommerce-MyAccount-navigation a { width: 100%; }
	.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; margin-bottom: .75rem; }
	.woocommerce-account .form-row-first, .woocommerce-account .form-row-last { float: none; width: 100%; }
}
