/* Customer pages: native WooCommerce markup, including Cart/Checkout blocks. */
body.emotion-customer-page { --ec-paper:#f6f6f3; --ec-line:#dcdcd6; --ec-ink:#242424; background:#fff; color:var(--ec-ink); }
.emotion-customer-page #primary { width:100%; float:none; margin-right:0; }
.emotion-customer-page .site-main { max-width:1180px; margin-inline:auto; padding-bottom:80px; }
.emotion-customer-intro { padding:48px 0 36px; margin-bottom:40px; border-bottom:1px solid var(--ec-line); }
.emotion-customer-intro > p:first-child { font-size:10px; letter-spacing:.22em; color:#6a6a64; margin-bottom:16px; }
.emotion-customer-intro h2 { font-family:inherit; font-weight:500; font-size:clamp(25px,3.5vw,42px); letter-spacing:.13em; margin:0 0 18px; line-height:1.3; }
.emotion-customer-intro > p:last-child { font-size:14px; color:#62625d; margin:0; }
.emotion-customer-page .entry-content { overflow-wrap:anywhere; }
.emotion-customer-page :is(.cart_totals,.woocommerce-checkout-review-order,.woocommerce-MyAccount-content,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) { padding:clamp(20px,3vw,36px); border:1px solid var(--ec-line); border-radius:8px; background:var(--ec-paper); box-shadow:0 8px 26px #00000004; }
.emotion-customer-page :is(.woocommerce-MyAccount-content,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) { background:#fff; }
.emotion-customer-page :is(h3,.cart_totals h2,#order_review_heading) { font-size:20px; font-weight:500; letter-spacing:.04em; }
.emotion-customer-page table.shop_table { border:1px solid var(--ec-line); border-radius:6px; border-collapse:separate; border-spacing:0; background:#fff; }
.emotion-customer-page table.shop_table th { background:var(--ec-paper); font-weight:500; }
.emotion-customer-page table.shop_table :is(td,th) { padding:18px 14px; border-bottom:1px solid var(--ec-line); }
.emotion-customer-page table.shop_table td { background:transparent; }
.emotion-customer-page .product-thumbnail img { width:80px; border-radius:4px; }
.emotion-customer-page .woocommerce-MyAccount-navigation ul { border:1px solid var(--ec-line); border-radius:6px; padding:8px 20px; background:var(--ec-paper); }
.emotion-customer-page .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--ec-line); }
.emotion-customer-page .woocommerce-MyAccount-navigation li:last-child { border:0; }
.emotion-customer-page .woocommerce-MyAccount-navigation a { padding:18px 0; color:#555; font-size:14px; }
.emotion-customer-page .woocommerce-MyAccount-navigation .is-active a { color:#111; font-weight:600; }
.emotion-customer-page .woocommerce-MyAccount-content a:not(.button) { text-decoration:underline; text-underline-offset:4px; }
.emotion-customer-page .woocommerce form .form-row :is(input.input-text,textarea,select),
.emotion-customer-page .woocommerce-form :is(input.input-text,textarea),
.emotion-customer-page .wc-block-components-text-input input { background:#fff; border:1px solid #a5a5a0; border-radius:4px; box-shadow:none; color:#242424; font-size:16px; min-height:48px; }
.emotion-customer-page .woocommerce form .form-row label { font-size:13px; }
.emotion-customer-page .woocommerce :is(button.button,a.button,input.button),
.emotion-customer-page .wc-block-components-button:not(.is-link) { background:#252525; color:#fff; border:1px solid #252525; border-radius:3px; min-height:46px; padding:13px 22px; font-weight:500; letter-spacing:.04em; box-shadow:none; transition:background-color .2s ease; }
.emotion-customer-page .woocommerce :is(button.button,a.button,input.button):hover,
.emotion-customer-page .wc-block-components-button:not(.is-link):hover { background:#474743; color:#fff; }
.emotion-customer-page :is(button,input):disabled { opacity:.55; cursor:not-allowed; }
.emotion-customer-page :is(a,button,input,select,textarea):focus-visible { outline:2px solid #333; outline-offset:3px; }
.emotion-customer-page #payment { border:1px solid var(--ec-line); border-radius:6px; background:#fff; }
.emotion-customer-page #payment .place-order { background:var(--ec-paper); }
.emotion-customer-page #payment .payment_box { background:var(--ec-paper); color:#242424; }
.emotion-customer-page :is(.wc-block-cart,.wc-block-checkout) { font-family:inherit; color:var(--ec-ink); }
.emotion-customer-page .wc-block-components-sidebar { padding:24px; border:1px solid var(--ec-line); border-radius:8px; background:var(--ec-paper); }
.emotion-customer-page .wc-block-components-title { font-weight:500; letter-spacing:.035em; }
.emotion-customer-page .wc-block-cart-items__header th { color:#62625d; font-size:12px; letter-spacing:.06em; }
.emotion-customer-page .wc-block-components-product-name { color:#242424; font-weight:500; }
.emotion-customer-page .wc-block-components-product-image img { border-radius:5px; }
/* Error, validation, express payment and hosted card fields retain Woo/provider styling. */
@media(max-width:767px) {
 .emotion-customer-page .site-main { padding-bottom:48px; }
 .emotion-customer-intro { padding-top:28px; margin-bottom:26px; }
 .emotion-customer-intro > p:last-child { font-size:12px; }
 .emotion-customer-page .woocommerce-MyAccount-navigation { margin-bottom:24px; }
 .emotion-customer-page .woocommerce-MyAccount-navigation ul { display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; }
 .emotion-customer-page .woocommerce-MyAccount-navigation li { width:100%; margin:0; float:none; }
 .emotion-customer-page .woocommerce-MyAccount-navigation a { display:block; padding:12px 0; min-height:44px; box-sizing:border-box; }
 .emotion-customer-page .wc-block-components-sidebar { padding:18px; }
 .emotion-customer-page table.shop_table :is(td,th) { padding:14px 10px; }
}
@media(prefers-reduced-motion:reduce) { .emotion-customer-page .button,.emotion-customer-page .wc-block-components-button { transition:none; } }

/* Public policy links beneath the account sign-in form. */
.emotion-policy-links { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:32px; padding-top:24px; border-top:1px solid #dcdcd6; }
.emotion-policy-links a { display:inline-flex; align-items:center; gap:12px; color:inherit; font-size:13px; text-decoration:none; border-bottom:1px solid #b9b9b3; padding:8px 0; transition:color .2s ease,border-color .2s ease; }
.emotion-policy-links a:hover { color:#666; border-color:#222; }
.emotion-policy-links a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.emotion-customer-page .woocommerce-MyAccount-content .emotion-policy-links a { text-decoration:none; }
@media(max-width:767px) {
 .emotion-policy-links { flex-direction:column; flex-wrap:nowrap; gap:0; }
 .emotion-policy-links a { display:flex; justify-content:space-between; width:100%; min-height:44px; box-sizing:border-box; padding:12px 0; }
}
@media(prefers-reduced-motion:reduce) { .emotion-policy-links a { transition:none; } }

.emotion-policy-links { clear:both; }
.emotion-policy-document { max-width:860px; margin:0 auto; padding:32px 0; line-height:1.9; }
.emotion-policy-document h1 { font-size:clamp(22px,3vw,32px); margin-bottom:32px; }
.emotion-policy-document h2 { font-size:18px; margin-top:36px; }
@media(max-width:767px) { .emotion-policy-document { padding:24px 0; } }
