/* WordPress and WooCommerce markup in the design system (mnd.css + shop.css). Only --mnd-* variables, no new colours or fonts.
   Blocks of the mockups live in shop.css; here — what WordPress/WooCommerce print themselves. */

.skip-link:focus { position: fixed; left: 16px; top: 16px; z-index: 100; width: auto; height: auto; clip: auto; padding: 10px 16px; background: var(--mnd-honey); color: var(--mnd-ink); border-radius: 10px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
main { min-height: 50vh; }

/* product grids are lists */
ul.grid--products { list-style: none; margin: 0; padding: 0; }
.catalog--wide { grid-template-columns: minmax(0, 1fr); }
.cat-intro__text p { color: var(--mnd-muted); max-width: 70ch; margin: 0; }
.filters h2.h3, .box h2.h3 { font-size: 1.02rem; margin-bottom: 12px; }
.box--ink h2 { color: #fff; }
.woocommerce-ordering { margin: 0; }

/* card button after adding to the cart */
.add_to_cart_button.loading { opacity: .6; pointer-events: none; }
.add_to_cart_button.added { background: var(--mnd-leaf-soft); color: var(--mnd-leaf); }
.added_to_cart { display: none; }
.woocommerce-Price-currencySymbol { margin-left: .15em; }
.price b .amount, .price s .amount { white-space: nowrap; }

/* footer headings are h2 (heading order), styled like the system's footer h3 */
.footer h2 { color: #fff; font-size: 1rem; margin-bottom: 14px; }
.pager .dots { border: 0; background: none; }

/* WooCommerce notices as system alerts */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-notices-wrapper { margin-bottom: 16px; display: grid; gap: 8px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews.alert { list-style: none; margin: 0 0 12px; padding: 12px 16px; border-radius: 12px; display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; font-size: .95rem; }
.woocommerce-message { background: var(--mnd-leaf-soft); color: #1f5517; }
.woocommerce-info { background: var(--mnd-honey-soft); color: var(--mnd-text); }
.woocommerce-error { background: var(--mnd-red-soft); color: #8d1d13; flex-direction: column; align-items: flex-start; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }

/* plain WooCommerce buttons (account, notices, forms) look like system buttons */
.woocommerce .button, .woocommerce-page .button, .wc-forward.button, button.button, a.button, input.button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 44px; padding: .55em 1.1em;
  border: 2px solid transparent; border-radius: 12px; background: var(--mnd-ink); color: #fff; font-weight: 700; line-height: 1.1; text-decoration: none; cursor: pointer; }
.woocommerce .button:hover, a.button:hover, button.button:hover { background: var(--mnd-ink-2); color: var(--mnd-honey); }
.button.alt, .checkout-button.button { background: var(--mnd-honey); color: var(--mnd-ink); }
.button.alt:hover, .checkout-button.button:hover { background: var(--mnd-honey-dark); color: var(--mnd-ink); }
.button:disabled, .button[disabled] { opacity: .45; cursor: not-allowed; }
.btn.button { min-height: 48px; }
.btn--lg.button { min-height: 56px; }

/* fields printed by woocommerce_form_field() */
.form-row { margin: 0 0 14px; }
.form-row label { display: block; font-weight: 700; font-size: .92rem; margin-bottom: 6px; }
.form-row .required { color: var(--mnd-red); text-decoration: none; border: 0; }
.form-row .optional { color: var(--mnd-muted); font-weight: 500; }
.form-row input.input-text, .form-row select, .form-row textarea, .woocommerce-Input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--mnd-line); border-radius: 10px; background: var(--mnd-surface); }
.form-row textarea { min-height: 100px; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { outline: none; border-color: var(--mnd-ink); box-shadow: 0 0 0 3px var(--mnd-honey-soft); }
.form-row.woocommerce-invalid input, .form-row.woocommerce-invalid select { border-color: var(--mnd-red); }
.woocommerce-input-wrapper { display: block; }
.form-row .description { font-size: .84rem; color: var(--mnd-muted); margin: 6px 0 0; }
.woocommerce-form__label-for-checkbox, .woocommerce-form-login__rememberme { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500 !important; cursor: pointer; }
.woocommerce-form__input-checkbox { width: 20px; height: 20px; accent-color: var(--mnd-ink); margin: 2px 0 0; flex: none; }
.select2-container .select2-selection--single { height: 48px !important; border: 1.5px solid var(--mnd-line) !important; border-radius: 10px !important; display: flex !important; align-items: center; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 46px !important; }

/* product page */
form.cart { margin: 0; }
.gallery--single { grid-template-columns: minmax(0, 1fr); }
.gallery__main img { aspect-ratio: 1; }
.mnd-qty-discounts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .92rem; color: var(--mnd-muted); }
.pdp-desc:empty { display: none; }
.pdp-desc img { height: auto; }
.specs td, .specs th { font-size: .95rem; }
.review-form { margin-top: 16px; }
.review-form > summary { list-style: none; display: inline-flex; }
.review-form > summary::-webkit-details-marker { display: none; }
.review-form[open] > summary { margin-bottom: 12px; }
.comment-form { display: grid; gap: 14px; max-width: 560px; }
.comment-form p { margin: 0; display: grid; gap: 6px; }
.comment-form label { font-weight: 700; font-size: .92rem; }
.comment-form input[type="text"], .comment-form select, .comment-form textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--mnd-line); border-radius: 10px; background: var(--mnd-surface); }
.comment-form .form-submit input, .comment-form .submit { justify-self: start; min-height: 48px; padding: .7em 1.4em; border: 0; border-radius: 12px; background: var(--mnd-honey); color: var(--mnd-ink); font-weight: 700; cursor: pointer; }
.comment-reply-title { font-size: 1.1rem; margin: 0 0 8px; }
.comment-reply-title small { margin-left: 8px; font-size: .86rem; }
.buybar.is-hidden { transform: translateY(110%); }
.buybar { transition: transform .2s; }
.buybar .price b { font-size: 1.2rem; }
.pdp-tabs a { color: var(--mnd-ink); }

/* text pages, news */
.page-head { margin-bottom: 8px; }
.prose > :first-child { margin-top: 0; }
.prose iframe { max-width: 100%; }
.prose .wp-block-image img, .prose img { height: auto; }
.prose .alignleft { float: left; margin: 0 1.2em 1em 0; }
.prose .alignright { float: right; margin: 0 0 1em 1.2em; }
.prose .aligncenter { margin-inline: auto; }
.wide-content { max-width: none; }
.sidebar .filters__list a { font-weight: 600; }
.article-head .post__cat { display: inline-block; margin-bottom: 10px; }
.sitemap ul { padding-left: 1.2em; }

/* print: no fixed bars */
@media print { .topbar, .nav, .tabbar, .buybar, .connect, .footer, .drawer, .modal { display: none !important; } }

/* cart */
.cart-line > a:first-child { display: block; }
.cart-line img { display: block; }
.cart-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.cart-actions .coupon { display: flex; gap: 8px; }
.cart-actions .coupon .input { min-height: 44px; width: 180px; }
.js .update-cart, .update-cart[disabled] { display: none; }
.cart-line .remove { color: var(--mnd-muted); }
.cart-line .remove:hover { color: var(--mnd-red); }
.cart-collaterals .cart_totals { display: flex; flex-direction: column; gap: 12px; }
.cart-collaterals h2 { margin: 0; }
.cart-empty.woocommerce-info { font-size: 1.05rem; }
.return-to-shop .button { background: var(--mnd-honey); color: var(--mnd-ink); }

/* checkout */
.checkout-grid { align-items: start; }
.checkout-legend { font-size: 1.1rem; font-weight: 800; margin: 0 0 12px; }
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, #ship-to-different-address { display: none; }
#customer_details .col-2 { margin-top: 8px; }
.woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.woocommerce-billing-fields__field-wrapper > .form-row-wide, .woocommerce-billing-fields__field-wrapper > .form-row:not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
.mnd-hidden, .form-row.mnd-hidden { display: none !important; }
.checkout-side { gap: 14px; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 8px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mnd-line); }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table th.product-total { text-align: right; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { font-size: 1.2rem; font-weight: 800; border-bottom: 0; padding-top: 12px; }
.woocommerce-checkout-review-order-table .mnd-legend th { font-size: 1.1rem; font-weight: 800; padding-top: 16px; border: 0; }
.woocommerce-shipping-totals th { display: none; }
.woocommerce-shipping-totals td { text-align: left !important; }
#shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
#shipping_method li, .wc_payment_methods li { position: relative; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--mnd-line); border-radius: 12px; background: var(--mnd-surface); text-align: left; }
#shipping_method li:has(input:checked), .wc_payment_methods li:has(input:checked) { border-color: var(--mnd-ink); box-shadow: 0 0 0 3px var(--mnd-honey-soft); }
#shipping_method input, .wc_payment_methods input { width: 20px; height: 20px; accent-color: var(--mnd-ink); margin: 2px 0 0; flex: none; }
#shipping_method label, .wc_payment_methods label { flex: 1; font-weight: 700; cursor: pointer; }
.wc_payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.wc_payment_methods .payment_box { flex-basis: 100%; margin: 0; padding: 0 0 0 30px; font-size: .88rem; color: var(--mnd-muted); }
.wc_payment_methods .payment_box p { margin: 0; }
#payment { display: grid; gap: 12px; }
#payment .place-order { display: grid; gap: 10px; margin: 0; }
.woocommerce-terms-and-conditions-wrapper { font-size: .85rem; color: var(--mnd-muted); }
.woocommerce-privacy-policy-text p { margin: 0; }
#place_order { width: 100%; }
.blockUI.blockOverlay { background: rgba(251, 247, 238, .6) !important; }

/* thank-you page, account */
.woocommerce-order { margin-top: 8px; }
.woocommerce-order > .box + .box, .woocommerce-order > section + section { margin-top: 16px; }
.u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.u-columns .u-column1, .u-columns .u-column2 { background: var(--mnd-surface); border: 1px solid var(--mnd-line); border-radius: var(--mnd-r); padding: 18px; }
.u-columns h2 { font-size: 1.2rem; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields { display: grid; gap: 4px; }
.woocommerce-form-login__submit, .woocommerce-form-register__submit { width: 100%; background: var(--mnd-honey) !important; color: var(--mnd-ink) !important; }
.woocommerce-LostPassword a { color: var(--mnd-muted); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 16px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .u-columns, .woocommerce-account .woocommerce > form, .woocommerce-account .woocommerce > h2 { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation { background: var(--mnd-surface); border: 1px solid var(--mnd-line); border-radius: var(--mnd-r); padding: 10px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; font-weight: 600; }
.woocommerce-MyAccount-navigation a:hover { background: var(--mnd-surface-2); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--mnd-honey-soft); }
.woocommerce-MyAccount-content { background: var(--mnd-surface); border: 1px solid var(--mnd-line); border-radius: var(--mnd-r); padding: 18px; min-width: 0; overflow-x: auto; }
.woocommerce-orders-table, .woocommerce-table, .shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table th, .woocommerce-orders-table td, .woocommerce-table th, .woocommerce-table td { padding: 12px 8px; border-bottom: 1px solid var(--mnd-line); text-align: left; }
.woocommerce-orders-table th { font-size: .86rem; color: var(--mnd-muted); font-weight: 600; }
.woocommerce-orders-table .button { min-height: 36px; padding: .35em .8em; font-size: .88rem; }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.woocommerce-password-strength { font-size: .86rem; margin-top: 6px; }

@media (max-width: 760px) {
  .woocommerce-billing-fields__field-wrapper, .u-columns.col2-set, .woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .cart-actions .coupon .input { width: 140px; }
  .product__foot .btn { white-space: nowrap; }
}
.product__foot { flex-wrap: wrap; }
.product__foot .btn { white-space: nowrap; }
.buy form.cart { display: block; }   /* WooCommerce's add-to-cart form is "cart", like the cart page grid of the system */
.mnd-shipping-table { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.mnd-shipping-table th { display: none; }
.mnd-shipping-table td { padding: 0; }
.mnd-shipping-methods #shipping_method { grid-template-columns: 1fr 1fr; }
@media (max-width: 760px) { .mnd-shipping-methods #shipping_method { grid-template-columns: minmax(0, 1fr); } }
/* "show password" button of WooCommerce: an eye inside the field */
.password-input { position: relative; display: block; }
.password-input input { padding-right: 48px; }
.show-password-input { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.show-password-input::before { content: ""; position: absolute; inset: 12px 9px; border: 2px solid var(--mnd-muted); border-radius: 50% / 60%; }
.show-password-input::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: var(--mnd-muted); }
.show-password-input.display-password::before { border-color: var(--mnd-ink); }
.show-password-input.display-password::after { background: var(--mnd-ink); }
