/* Meikero — WooCommerce: account, checkout, cart. Presentation only. */

/* ---- Distraction-free checkout (body.is-checkout-min) ---- */
.is-checkout-min { background: var(--paper-2); }
.is-checkout-min .site-main { margin-top: 0; }
.site-header.site-header--min { position: static; background: var(--paper) !important; border-bottom: 1px solid var(--line) !important; -webkit-backdrop-filter: none; backdrop-filter: none; color: var(--ink); }
.site-header--min .site-header__inner { min-height: 64px; }
.site-header--min .brand, .site-header--min .brand:hover { color: var(--ink); }
.site-header--min .brand--word .brand__name { font-size: 1.45rem; }
.checkout-head { display: flex; align-items: center; gap: 22px; font-size: .88rem; }
.checkout-head__secure { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-weight: 500; }
.checkout-head__secure .icon { width: 16px; height: 16px; color: var(--success); }
.checkout-head__back { color: var(--ink-3); text-decoration: none; }
.checkout-head__back:hover { color: var(--ink); text-decoration: underline; }
@media (max-width: 520px) { .checkout-head__back { display: none; } }

.checkout-min { padding: 36px 0 64px; }
.checkout-min__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-bottom: 24px; }
.checkout-min__title { margin: 0; font-size: clamp(1.6rem, 3vw, 2.1rem); letter-spacing: -.035em; }
.checkout-min .co-steps { margin: 0; padding: 0; border: 0; gap: 6px 20px; font-size: .86rem; }
.co-trust-line { display: flex; align-items: center; gap: 8px; margin: 28px 0 0; font-size: .86rem; color: var(--ink-3); }
.co-trust-line .icon { width: 16px; height: 16px; color: var(--success); flex: 0 0 auto; }

/* Checkout steps as clean cards; tidy fields */
.is-checkout-min .wc-block-components-sidebar-layout { gap: 28px; margin: 0; }
.is-checkout-min .wc-block-checkout__form .wc-block-components-checkout-step {
	margin: 0 0 16px !important; padding: 24px 26px !important;
	background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg);
}
.is-checkout-min .wc-block-components-checkout-step::after,
.is-checkout-min .wc-block-components-checkout-step__container::after,
.is-checkout-min .wc-block-components-checkout-step__heading-content::before,
.is-checkout-min .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step__title::before { display: none !important; content: none !important; }
.is-checkout-min .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title,
.is-checkout-min .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container { padding-left: 0 !important; margin-left: 0 !important; }
.is-checkout-min .wc-block-components-checkout-step__heading { margin: 0 0 4px !important; }
.is-checkout-min .wc-block-components-checkout-step__title { font-size: 1.1rem !important; }
.is-checkout-min .wc-block-components-checkout-step__description { margin: 0 0 16px !important; font-size: .88rem; }
.is-checkout-min .wc-block-components-text-input, .is-checkout-min .wc-block-components-combobox, .is-checkout-min .wc-blocks-components-select { margin-top: 12px !important; }
.is-checkout-min .wc-block-components-text-input input,
.is-checkout-min .wc-blocks-components-select .wc-blocks-components-select__select { min-height: 52px; font-size: 1rem !important; }
.is-checkout-min .wc-block-components-address-form { gap: 0 12px; }
.is-checkout-min .wc-block-components-express-payment { margin: 0 0 16px !important; background: var(--paper); border-radius: var(--radius-lg) !important; }
.is-checkout-min .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { border-color: var(--line) !important; border-radius: var(--radius-lg) !important; }
.is-checkout-min .wc-block-components-express-payment__title-container::before,
.is-checkout-min .wc-block-components-express-payment__title-container::after { border-color: var(--line) !important; }
/* Order summary: one white card, no nested boxes, no long product blurb */
.is-checkout-min .wp-block-woocommerce-checkout-totals-block { padding: 22px 24px !important; background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-lg); }
.is-checkout-min .wp-block-woocommerce-checkout-order-summary-block,
.is-checkout-min .wp-block-woocommerce-checkout-totals-block .wc-block-components-checkout-order-summary__content { padding: 0 !important; background: transparent !important; border: 0 !important; }
.is-checkout-min .wc-block-components-product-metadata__description { display: none; }
.is-checkout-min .wc-block-components-order-summary-item__total-price { font-weight: 600; }
.is-checkout-min .wc-block-components-express-payment-continue-rule { margin: 0 0 16px !important; font-size: .82rem; color: var(--ink-3); }
.is-checkout-min .wc-block-checkout__actions { margin-top: 8px; }
.is-checkout-min .wc-block-checkout__terms { margin: 0 0 16px; }
.is-checkout-min .wc-block-components-sidebar { position: sticky; top: 24px; align-self: flex-start; }
.is-checkout-min .wp-block-woocommerce-checkout-order-summary-block { background: var(--paper); }

/* ---- One-product checkout journey ---- */
.woocommerce-checkout .hero-x--page { padding-bottom: clamp(32px, 4vw, 48px); }
.woocommerce-checkout .hero-x__title--page { font-size: clamp(2rem, 4vw, 3rem); }
.woocommerce-checkout .section--page { padding-top: 32px; }
.co-steps { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; padding: 0 0 20px; margin: 0 0 32px; border-bottom: 1px solid var(--line); font-size: .92rem; color: var(--ink-3); }
.co-steps li { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-weight: 500; }
.co-steps span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--line-strong); font-size: .78rem; font-weight: 600; }
.co-steps .is-done { color: var(--ink-2); }
.co-steps .is-done span { background: var(--success); border-color: var(--success); color: #fff; }
.co-steps .is-current { color: var(--ink); }
.co-steps .is-current span { background: var(--ink); border-color: var(--ink); color: #fff; }
.co-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 40px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); font-size: .88rem; color: var(--ink-3); }
.co-trust li { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.co-trust .icon { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; color: var(--ink-2); }
@media (max-width: 800px) { .co-trust { grid-template-columns: 1fr; } }

/* Single product, one unit: hide quantity, cart and coupon affordances in the block checkout. */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-quantity-selector,
.wc-block-components-checkout-return-to-cart-button,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-components-totals-coupon { display: none !important; }
.wc-block-components-order-summary-item__image { display: none !important; }
.wc-block-components-order-summary-item { padding-left: 0 !important; }
.wc-block-components-order-summary-item__description { padding-left: 0 !important; }
.wc-block-components-checkout-place-order-button { min-height: 56px; }
.wc-block-checkout__actions_row { justify-content: flex-end !important; }
.wc-block-components-express-payment { margin-bottom: 24px; }
.wc-block-components-express-payment__title-container { font-weight: 600; }

/* Thank-you page */
.ty { margin: 0 0 40px; }
.ty__status { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: var(--radius); font-weight: 600; margin: 0 0 24px; }
.ty__status.is-ok { background: var(--success-bg); color: #14532d; border: 1px solid #bbf7d0; }
.ty__status.is-wait { background: var(--warning-bg); color: #78350f; border: 1px solid #fde68a; }
.ty__status .icon { width: 20px; height: 20px; }
.ty__steps { counter-reset: ty; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
.ty__steps li { counter-increment: ty; display: flex; flex-direction: column; gap: 8px; padding: 22px; margin: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.ty__steps li::before { content: counter(ty, decimal-leading-zero); font-family: var(--font-display); font-weight: 700; font-size: 1.3rem; letter-spacing: -.03em; }
.ty__steps h3 { margin: 0; font-size: 1.1rem; }
.ty__steps p { margin: 0; color: var(--ink-2); font-size: .95rem; flex: 1; }
.ty__steps .button { align-self: flex-start; }
.ty__note { margin: 16px 0 0; font-size: .88rem; color: var(--ink-3); }
.woocommerce-order > .woocommerce-notice--success { display: none; }
@media (max-width: 800px) { .ty__steps { grid-template-columns: 1fr; } }

/* Product page purchase card */
.product-buy__cta { width: 100%; justify-content: center; }
.product-buy__trust { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; font-size: .88rem; color: var(--ink-3); }
.product-buy__trust li { display: flex; gap: 8px; align-items: center; margin: 0; }
.product-buy__trust .icon { width: 16px; height: 16px; color: var(--ink-2); }

/* Single product (Meikero Pro) */
.product-layout { display: grid; grid-template-columns: minmax(0, var(--content)) 380px; gap: 64px; align-items: start; }
.product-layout__body > *:first-child { margin-top: 0; }
.product-buy { position: sticky; top: 96px; padding: 28px; border: 1px solid var(--ink); border-radius: var(--radius-lg); background: var(--paper); }
.admin-bar .product-buy { top: 128px; }
.product-buy__price { display: flex; align-items: baseline; gap: 10px; margin: 0 0 18px; }
.product-buy__price strong { font-family: var(--font-display); font-size: 2.8rem; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.product-buy__price span { color: var(--ink-3); }
.product-buy .plan__list li { font-size: .92rem; }
.product-buy form.cart { display: flex; gap: 10px; margin: 0; }
.product-buy form.cart .quantity { display: none; }
.product-buy form.cart .single_add_to_cart_button { flex: 1; justify-content: center; padding: 15px 24px !important; font-size: 1.05rem !important; background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }
.product-buy .button[aria-disabled] { width: 100%; justify-content: center; }
.product-buy__compare { margin: 14px 0 0; font-size: .92rem; }
@media (max-width: 960px) { .product-layout { grid-template-columns: 1fr; gap: 32px; } .product-buy { position: static; } }

/* ---- Cart & Checkout blocks (WooCommerce 8+) ---- */
.woo-content .wp-block-woocommerce-cart, .woo-content .wp-block-woocommerce-checkout { max-width: none; margin: 0; }
.wc-block-components-sidebar-layout { gap: 40px; }
.wc-block-components-title.wc-block-components-title, .wc-block-components-checkout-step__title { font-weight: 600 !important; letter-spacing: -.02em; color: var(--ink); }
.wc-block-components-checkout-step { margin-bottom: 28px !important; }
.wc-block-components-checkout-step__description { color: var(--ink-3); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid var(--line-strong) !important; border-radius: var(--radius) !important; background: var(--paper) !important; color: var(--ink) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 2px rgba(0,0,0,.08) !important; outline: none !important; }
.wc-block-components-text-input.has-error input { border-color: var(--danger) !important; }
.wc-block-components-validation-error { color: var(--danger) !important; }
.wc-block-components-button:not(.is-link) {
	min-height: 50px; border-radius: var(--radius) !important; border: 1px solid var(--ink) !important;
	background: var(--ink) !important; color: var(--paper) !important; font-weight: 500 !important; box-shadow: none !important;
}
.wc-block-components-button:not(.is-link):hover { background: #262626 !important; }
.wc-block-components-button:not(.is-link):focus-visible { outline: 2px solid var(--ink) !important; outline-offset: 3px; }
.wc-block-components-button.is-link { color: var(--ink) !important; }
.wc-block-components-checkout-place-order-button { width: 100%; font-size: 1.05rem !important; }
.wp-block-woocommerce-checkout-totals-block .wc-block-components-checkout-order-summary__content,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-totals-block {
	border: 1px solid var(--line); border-radius: 14px; background: var(--paper-2); padding: 18px 20px;
}
.wc-block-components-totals-wrapper { border-color: var(--line) !important; }
@media (max-width: 699px) {
	.wp-block-woocommerce-checkout-order-summary-block { border: 0; background: transparent; padding: 0; }
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 600; font-size: 1.15rem; }
.wc-block-components-product-name { color: var(--ink) !important; font-weight: 500; text-decoration: none; }
.wc-block-components-product-metadata { color: var(--ink-3); font-size: .88rem; }
.wc-block-cart-items__header { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option { border-color: var(--line) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 1.5px var(--ink) !important; border-radius: var(--radius); }
.wc-block-components-radio-control__input:checked { border-color: var(--ink) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ink) !important; border-color: var(--ink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }
.wc-block-components-notice-banner { border-radius: var(--radius) !important; }
.wc-block-components-notice-banner.is-error { background: var(--danger-bg) !important; border-color: #fecaca !important; }
.wc-block-components-notice-banner.is-success { background: var(--success-bg) !important; border-color: #bbf7d0 !important; }
.wc-block-components-notice-banner.is-warning, .wc-block-components-notice-banner.is-info { background: var(--warning-bg) !important; border-color: #fde68a !important; }
.wc-block-checkout__terms, .wc-block-checkout__terms a { color: var(--ink-3); font-size: .88rem; }
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-size: 1.4rem; letter-spacing: -.02em; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }
.wc-block-grid__product-title, .wc-block-components-product-title { font-weight: 500; }

.woo-page .woocommerce h1, .woo-page .woocommerce h2 { letter-spacing: -0.02em; }
.woo-page .woocommerce h2 { font-size: 1.4rem; margin-top: var(--space-5); }

/* Notices use the semantic palette */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px;
	margin: 0 0 var(--space-4); background: var(--paper-2); color: var(--ink-2); list-style: none;
}
.woocommerce-message, .woocommerce-notice--success { background: var(--success-bg); border-color: #bbf7d0; color: #14532d; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; padding: 8px 14px !important; min-height: 0; font-size: .88rem !important; }
.woocommerce-info { background: var(--warning-bg); border-color: #fde68a; color: #78350f; }
.woocommerce-error { background: var(--danger-bg); border-color: #fecaca; color: #7f1d1d; }
.woocommerce-error li + li { margin-top: 6px; }

/* Forms */
.woocommerce form .form-row { margin-bottom: var(--space-3); }
.woocommerce form .form-row label { display: block; font-size: 0.9rem; font-weight: 500; margin-bottom: 6px; }
.woocommerce form .form-row label .required { color: var(--danger); text-decoration: none; }
.woocommerce .input-text, .woocommerce select, .woocommerce textarea,
.woocommerce form .form-row .select2-container .select2-selection--single {
	width: 100%; padding: 11px 12px; font: inherit; font-size: 0.97rem;
	border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--paper); color: var(--ink);
	min-height: 44px;
}
.woocommerce .input-text:focus, .woocommerce select:focus, .woocommerce textarea:focus { border-color: var(--ink); outline: none; box-shadow: 0 0 0 2px rgba(0,0,0,.08); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--danger); }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--success); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { clear: both; }
@media (max-width: 600px) { .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; } }

/* Buttons */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; font: inherit; font-size: 0.97rem; font-weight: 500; line-height: 1;
	border: 1px solid var(--ink); border-radius: var(--radius); background: var(--paper); color: var(--ink); text-decoration: none; cursor: pointer;
}
.woocommerce .button:hover { background: var(--paper-2); }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce #place_order, .woocommerce .checkout-button, .woocommerce .button--primary {
	background: var(--ink); color: var(--paper);
}
.woocommerce .button.alt:hover, .woocommerce #place_order:hover { background: #262626; color: var(--paper); }
.woocommerce .button.disabled, .woocommerce .button:disabled { opacity: .5; cursor: default; }

/* Tables (cart, orders, downloads) */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--radius-lg); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--line); }
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table th { background: var(--paper-2); font-size: 0.88rem; }
.woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions .button { padding: 7px 12px; font-size: 0.85rem; }
@media (max-width: 700px) {
	.woocommerce table.shop_table_responsive thead { display: none; }
	.woocommerce table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--line); padding: 8px 0; }
	.woocommerce table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 8px 14px; }
	.woocommerce table.shop_table_responsive td::before { content: attr(data-title); font-weight: 500; color: var(--ink-3); }
}

/* My Account
   WooCommerce adds clearfix ::before/::after to .woocommerce; inside a grid they become
   phantom cells, so they are removed. The grid applies only when the account nav exists. */
.woocommerce-account .woo-content .woocommerce::before,
.woocommerce-account .woo-content .woocommerce::after { display: none !important; content: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
/* Logged in: tab bar on top, content below. Minimal, no sidebar. */
.woocommerce-account .section--page { padding-top: 20px; }
.woocommerce-account.logged-in .woo-content .woocommerce { display: block; max-width: var(--content, 880px); }
.woocommerce-account .woo-content .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.acct-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 32px; border-bottom: 1px solid var(--line); }
.acct-nav__list { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.acct-nav__list::-webkit-scrollbar { display: none; }
.acct-nav__list li { margin: 0; flex: 0 0 auto; }
.acct-nav__list a { display: inline-flex; align-items: center; gap: 7px; padding: 12px 12px 14px; margin-bottom: -1px; border-bottom: 2px solid transparent; text-decoration: none; color: var(--ink-3); font-size: .92rem; font-weight: 500; white-space: nowrap; }
.acct-nav__list a .icon { width: 16px; height: 16px; }
.acct-nav__list a:hover { color: var(--ink); }
.acct-nav__list .is-active a { color: var(--ink); border-bottom-color: var(--ink); }
.acct-nav__logout { flex: 0 0 auto; font-size: .88rem; color: var(--ink-3); text-decoration: none; }
.acct-nav__logout:hover { color: var(--ink); text-decoration: underline; }
.woocommerce-MyAccount-content > h2:first-child, .woocommerce-MyAccount-content > h3:first-child { margin-top: 0; }
.woocommerce-MyAccount-content > h2 { font-size: 1.25rem; }

/* Signed-out: single, centred-left login column */
.woocommerce-account:not(.logged-in) .woo-content .woocommerce { display: block; max-width: 460px; }
.woocommerce-account:not(.logged-in) .woocommerce-form-login { max-width: none; }
.woocommerce-form-login h2, .woocommerce-account:not(.logged-in) .woo-content h2 { font-size: 1.4rem !important; margin-top: 0; }

/* Account dashboard (theme template woocommerce/myaccount/dashboard.php) */
.acct-hello { margin: 0 0 6px; font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.1; }
.acct-sub { margin: 0 0 28px; color: var(--ink-3); }
.acct-sub a { color: var(--ink-2); }
.acct-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 28px; }
.acct-card { display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); text-decoration: none; color: var(--ink); transition: border-color .2s; }
.acct-card:hover { border-color: var(--ink); color: var(--ink); }
.acct-card__label { font-size: .88rem; font-weight: 600; color: var(--ink-2); display: flex; align-items: center; gap: 8px; }
.acct-card__label .icon { width: 18px; height: 18px; }
.acct-card__value { font-family: var(--font-display); font-size: 2rem; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.acct-card__hint { font-size: .86rem; color: var(--ink-3); margin-top: auto; }
.acct-next { padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-2); }
.acct-next h3 { font-size: 1.05rem; margin: 0 0 10px; }
.acct-next ol { margin: 0; padding-left: 1.2em; color: var(--ink-2); }
.acct-next li + li { margin-top: 6px; }
.acct-note { margin-top: 16px; font-size: .88rem; color: var(--ink-3); }
.acct-hello { font-size: 1.25rem; }
.page-head--acct { padding-bottom: 0; }
.page-head--acct h1 { font-size: clamp(1.8rem, 3.5vw, 2.4rem); margin-bottom: 6px; }
@media (max-width: 900px) {
	.acct-cards { grid-template-columns: 1fr; }
	.acct-nav { flex-wrap: wrap; }
}

/* Signed-out: compact sign-in card without the two-column register layout */
.woocommerce-account:not(.logged-in) .woocommerce-form-login { padding: 28px; }
.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__submit { width: 100%; justify-content: center; }
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword { font-size: .9rem; color: var(--ink-3); }

/* Meikero licenses section (markup from the License Manager plugin; theme restyles inline-styled sections) */
.woocommerce-MyAccount-content section[style] { border: 1px solid var(--line) !important; border-radius: var(--radius-lg); padding: var(--space-4) !important; margin: var(--space-4) 0 !important; }
.woocommerce-MyAccount-content section h3 { font-size: 1.1rem; margin-bottom: var(--space-2); }
.woocommerce-MyAccount-content section input[readonly] { font-family: var(--font-mono); font-size: 0.9rem; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--paper-2); width: 100%; }
.woocommerce-MyAccount-content section form button { margin-left: 8px; padding: 7px 12px; font: inherit; font-size: 0.85rem; border: 1px solid var(--ink); border-radius: var(--radius); background: var(--paper); cursor: pointer; }
.woocommerce-MyAccount-content section form button:hover { background: var(--paper-2); }

/* Login / register */
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword { max-width: 440px; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
@media (max-width: 800px) { .woocommerce-account .u-columns { grid-template-columns: 1fr; } }

/* Checkout */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.woocommerce-checkout #order_review_heading { margin-top: var(--space-6); }
.woocommerce-checkout #payment { background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-4); }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 var(--space-4); }
.woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment .payment_box { margin-top: 8px; padding: 12px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); font-size: 0.92rem; color: var(--ink-2); }
.woocommerce-checkout #payment .place-order { margin-top: var(--space-3); }
.woocommerce-checkout #place_order { width: 100%; justify-content: center; padding: 15px 24px; font-size: 1.05rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper { font-size: 0.88rem; color: var(--ink-3); }
.woocommerce-checkout-review-order-table .product-name { color: var(--ink-2); }
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total th { font-weight: 600; font-size: 1.05rem; }
@media (max-width: 800px) { .woocommerce-checkout .col2-set { grid-template-columns: 1fr; } }

/* Cart */
.woocommerce-cart .cart-collaterals .cart_totals { max-width: 420px; margin-left: auto; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 1.2rem; }

/* Order received */
.woocommerce-order ul.order_details { list-style: none; padding: var(--space-4); margin: 0 0 var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.woocommerce-order ul.order_details li { font-size: 0.85rem; color: var(--ink-3); }
.woocommerce-order ul.order_details li strong { display: block; color: var(--ink); font-size: 1rem; }

/* Product page (single virtual product) */
.single-product .product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.single-product .product .woocommerce-product-gallery { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.single-product .product .price { font-size: 1.6rem; font-weight: 600; letter-spacing: -0.02em; }
.single-product .product .woocommerce-tabs, .single-product .product .related { grid-column: 1 / -1; }
@media (max-width: 800px) { .single-product .product { grid-template-columns: 1fr; } }
