/* Phi — WooCommerce (checkout, account, thank-you). Loaded only when WooCommerce is active. */
.woocommerce-checkout .phi-main, .woocommerce-account .phi-main, .woocommerce-order-received .phi-main { padding-block-start: 0; }
.woocommerce .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 20px !important; padding: 14px 16px !important; border: 0 !important; border-radius: 12px; font-size: .9375rem; background: var(--phi-violet-50) !important; color: var(--phi-violet-700) !important; }
.woocommerce-error { background: var(--wp--preset--color--error-bg) !important; color: var(--wp--preset--color--error) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message .button, .woocommerce-info .button { float: none !important; margin-inline-start: 8px; }

/* Buttons */
.woocommerce :where(a.button, button.button, input.button, #respond input#submit),
.woocommerce #payment #place_order { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 10px !important; border: 0; background: var(--phi-violet) !important; color: #fff !important; font: 600 1rem/1.5 inherit; font-family: inherit !important; text-decoration: none; transition: background-color .18s; }
.woocommerce :where(a.button, button.button, input.button):hover, .woocommerce #payment #place_order:hover { background: var(--phi-violet-700) !important; }
.woocommerce #payment #place_order { width: 100%; min-height: 54px; font-size: 1.0625rem; background: var(--phi-grad) !important; box-shadow: var(--phi-sh-brand); float: none; }

/* Checkout — one column on phones, form + summary on desktop */
.phi-checkout { display: grid; gap: 24px; padding-block-start: 8px; }
@media (min-width: 1000px) { .phi-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; align-items: start; } }
.woocommerce-checkout form.checkout > * { min-width: 0; }
.woocommerce-checkout #customer_details { display: block; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #customer_details .col-2:empty, .woocommerce-checkout .woocommerce-shipping-fields:empty { display: none; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout .phi-checkout__summary { padding: clamp(20px, 3vw, 32px); border-radius: var(--phi-r-lg); background: var(--phi-surface); border: 1px solid var(--phi-line); box-shadow: var(--phi-sh-sm); }
.woocommerce-checkout .phi-checkout__summary { position: sticky; top: calc(var(--phi-header-h) + 20px); box-shadow: var(--phi-sh-lg); }
@media (max-width: 999px) { .woocommerce-checkout .phi-checkout__summary { position: static; } }
.woocommerce-checkout h3, #order_review_heading { font-size: var(--wp--preset--font-size--h-4) !important; margin: 0 0 16px !important; }
.woocommerce form .form-row { padding: 0; margin: 0 0 16px; float: none !important; width: 100% !important; }
@media (min-width: 640px) { .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; } .woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; } }
.woocommerce form .form-row label { font-size: .875rem; font-weight: 600; color: var(--phi-ink); margin-block-end: 6px; line-height: 1.5; }
.woocommerce form .form-row .required { color: var(--wp--preset--color--error); text-decoration: none; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { outline: none; border-color: var(--phi-violet); box-shadow: var(--phi-focus); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--wp--preset--color--error); }
.woocommerce form .form-row .description { font-size: .8125rem; color: var(--phi-ink-3); background: none; padding: 4px 0 0; }
#billing_phone, #billing_email { direction: ltr; text-align: right; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: var(--phi-surface-2) !important; color: var(--phi-ink-2) !important; }

/* Order review table */
.woocommerce table.shop_table { border: 0; border-radius: 0; margin: 0 0 16px; border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 0; border-top: 1px solid var(--phi-line); font-size: .9375rem; background: none !important; }
.woocommerce table.shop_table thead { display: none; }
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
.woocommerce table.shop_table .product-name { font-weight: 600; }
.woocommerce table.shop_table .product-name .product-quantity { display: none; }
.woocommerce table.shop_table dl.variation { margin: 4px 0 0; font-weight: 400; font-size: .8125rem; color: var(--phi-ink-3); }
.woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd { display: inline; margin: 0; }
.woocommerce table.shop_table dl.variation dd p { display: inline; margin: 0; }
.woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td { font-size: 1.125rem; font-weight: 700; color: var(--phi-ink); border-top: 1px solid var(--phi-line-strong); }
.woocommerce table.shop_table td:last-child, .woocommerce table.shop_table th:last-child { text-align: end; }

/* Payment box */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; display: grid; gap: 8px; margin-block-end: 16px; }
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; padding: 12px 14px; border-radius: 12px; border: 1.5px solid var(--phi-line-strong); line-height: 1.5; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--phi-violet); background: var(--phi-violet-50); }
.woocommerce-checkout #payment ul.payment_methods li input { accent-color: var(--phi-violet); margin-inline-end: 8px; }
.woocommerce-checkout #payment div.payment_box { background: var(--phi-surface-2); color: var(--phi-ink-2); border-radius: 10px; font-size: .875rem; margin: 10px 0 0; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row { padding: 0; }
.woocommerce-terms-and-conditions-wrapper { font-size: .8125rem; color: var(--phi-ink-3); margin-block-end: 16px; }
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox { display: flex; gap: 8px; align-items: flex-start; font-weight: 500; color: var(--phi-ink-2); }
.phi-trust { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--phi-line); display: grid; gap: 8px; font-size: .8125rem; color: var(--phi-ink-3); }
.phi-trust li { display: flex; gap: 8px; align-items: center; }
.phi-trust .phi-ico { color: var(--wp--preset--color--success); }
.phi-checkout__steps { display: flex; gap: 8px; align-items: center; font-size: .8125rem; color: var(--phi-ink-3); margin: 0 0 16px; padding: 0; list-style: none; }
.phi-checkout__steps li { display: inline-flex; align-items: center; gap: 6px; }
.phi-checkout__steps li.is-current { color: var(--phi-violet); font-weight: 600; }
.phi-checkout__steps li + li::before { content: ""; width: 20px; height: 1px; background: var(--phi-line-strong); }

/* Thank-you */
.woocommerce-order { display: grid; gap: 20px; }
.phi-thanks { text-align: center; padding: clamp(24px, 5vw, 48px); border-radius: var(--phi-r-lg); background: var(--phi-surface); border: 1px solid var(--phi-line); box-shadow: var(--phi-sh); }
.phi-thanks__ico { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 20px; background: var(--wp--preset--color--success-bg); color: var(--wp--preset--color--success); font-size: 30px; }
.phi-thanks h2 { margin: 0 0 8px; }
.phi-thanks ol { text-align: start; max-width: 520px; margin: 20px auto; display: grid; gap: 8px; color: var(--phi-ink-2); }
.woocommerce ul.order_details { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.woocommerce ul.order_details li { list-style: none; border: 1px solid var(--phi-line); border-radius: 12px; padding: 10px 14px; margin: 0; font-size: .75rem; color: var(--phi-ink-3); float: none; }
.woocommerce ul.order_details li strong { display: block; font-size: .9375rem; color: var(--phi-ink); }
.woocommerce .woocommerce-customer-details address { border: 1px solid var(--phi-line); border-radius: 12px; padding: 16px; font-style: normal; }

/* My account */
.woocommerce-account .woocommerce { display: grid; gap: 24px; }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 240px 1fr; } }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 8px; margin: 0; border-radius: var(--phi-r); background: var(--phi-surface); border: 1px solid var(--phi-line); display: grid; gap: 2px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--phi-ink-2); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--phi-violet-50); color: var(--phi-violet); }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--phi-line) !important; border-radius: var(--phi-r-lg) !important; background: var(--phi-surface); padding: 24px !important; }
