/*
 * WooCommerce supplement. app.css is the original compiled Tailwind build and is
 * never edited; everything WooCommerce-specific (checkout/account forms, notices,
 * a handful of utilities the original build did not emit) lives here.
 */

/* Utilities not present in the original build */
.bottom-6 { bottom: calc(var(--spacing) * 6); }
.pointer-events-auto { pointer-events: auto; }
.z-\[110\] { z-index: 110; }
[hidden] { display: none !important; }
.apex-cart-count[hidden] { display: none !important; }

/* Toast tones */
.apex-toast-error { border-color: rgba(251, 133, 105, 0.5); }

/* WooCommerce notices → brand pills */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-error, .woocommerce-message, .woocommerce-info {
  list-style: none; margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; font-size: 14px; border: 1px solid var(--color-ui-200);
  background: var(--color-surface-muted); color: var(--color-ink);
}
.woocommerce-error { border-color: rgba(251, 133, 105, 0.5); background: rgba(251, 133, 105, 0.08); }
.woocommerce-message { border-color: rgba(23, 212, 136, 0.4); background: rgba(23, 212, 136, 0.08); }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li { margin: 0; }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { text-decoration: underline; }
.woocommerce-message .button, .woocommerce-info .button { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Forms (checkout, account, addresses, login) */
.apex-wc-form .form-row { margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.apex-wc-form .form-row label,
.apex-wc-form label.brand-label,
.apex-wc-form .woocommerce-form-login label:not(.woocommerce-form__label-for-checkbox) {
  font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--color-ink-faint);
}
.apex-wc-form .form-row label .required { color: var(--color-error); text-decoration: none; }
.apex-wc-form .form-row label .optional { color: var(--color-ink-faint); text-transform: none; letter-spacing: 0; font-family: inherit; }
.apex-wc-form input[type="text"], .apex-wc-form input[type="email"], .apex-wc-form input[type="tel"],
.apex-wc-form input[type="password"], .apex-wc-form input[type="number"], .apex-wc-form input[type="search"],
.apex-wc-form textarea, .apex-wc-form select, .apex-wc-form .select2-container .select2-selection--single {
  border-radius: calc(var(--radius) - 2px); border: 1px solid var(--color-ui-400); background: var(--color-surface); width: 100%;
  padding: 10px 12px; font-size: var(--text-sm); color: var(--color-ink); outline: none; height: auto; min-height: 42px; font-family: inherit;
}
.apex-wc-form input:focus, .apex-wc-form textarea:focus, .apex-wc-form select:focus { border-color: var(--color-ink); }
.apex-wc-form textarea { min-height: 96px; resize: vertical; }
.apex-wc-form .select2-container .select2-selection--single { display: flex; align-items: center; }
.apex-wc-form .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.3; padding-left: 0; color: var(--color-ink); }
.apex-wc-form .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 8px; }
.select2-dropdown { border-color: var(--color-ui-400); border-radius: 10px; overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--color-ink); }
.apex-wc-form .form-row-first, .apex-wc-form .form-row-last { width: calc(50% - 7px); display: inline-flex; vertical-align: top; }
.apex-wc-form .form-row-first { margin-right: 14px; }
@media (max-width: 640px) { .apex-wc-form .form-row-first, .apex-wc-form .form-row-last { width: 100%; margin-right: 0; } }
.apex-wc-form .woocommerce-form__label-for-checkbox, .apex-wc-form .woocommerce-form-login__rememberme {
  display: inline-flex; gap: 8px; align-items: center; font-size: 13px; color: var(--color-ink-soft); text-transform: none; letter-spacing: 0; font-family: inherit;
}
.apex-wc-form input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--color-ink); }
.apex-wc-form .woocommerce-input-wrapper { display: block; }
.apex-wc-form .woocommerce-password-strength, .apex-wc-form .woocommerce-password-hint { font-size: 12px; color: var(--color-ink-faint); margin-top: 4px; }
.apex-wc-form .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; cursor: pointer; }
.apex-wc-form .password-input { position: relative; display: block; }
.apex-wc-form .button, .apex-wc-form button[type="submit"]:not(.brand-btn):not([class*="brand-btn"]) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9999px; background: var(--color-ink); color: var(--color-surface);
  padding: 12px 22px; font-size: 14px; font-weight: 500; border: 0; cursor: pointer; transition: opacity .15s;
}
.apex-wc-form .button:hover { opacity: .9; }
.apex-wc-form .button.alt, .apex-wc-form #place_order { background: var(--color-brand-green); color: var(--color-surface-deep); width: 100%; padding: 15px 22px; font-size: 15px; }
.apex-wc-form .woocommerce-form-coupon-toggle { display: none; }
.apex-wc-form .required { color: var(--color-error); }

/* Checkout layout */
.apex-checkout .col2-set { display: grid; gap: 24px; }
.apex-checkout h3 { font-size: 17px; font-weight: 500; margin: 0 0 14px; }
.apex-checkout .woocommerce-billing-fields h3,
.apex-checkout .woocommerce-shipping-fields h3,
.apex-checkout .woocommerce-additional-fields h3 { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--color-ink-faint); margin-bottom: 14px; }
.apex-checkout #ship-to-different-address { display: flex; }
.apex-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-ink-soft); text-transform: none; letter-spacing: 0; font-family: inherit; }
.apex-checkout .woocommerce-checkout-review-order-table { width: 100%; font-size: 13px; border-collapse: collapse; }
.apex-checkout .woocommerce-checkout-review-order-table th,
.apex-checkout .woocommerce-checkout-review-order-table td { padding: 10px 0; text-align: left; border-bottom: 1px solid var(--color-ui-200); vertical-align: top; }
.apex-checkout .woocommerce-checkout-review-order-table th { color: var(--color-ink-faint); font-weight: 400; }
.apex-checkout .woocommerce-checkout-review-order-table td.product-total,
.apex-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.apex-checkout .woocommerce-checkout-review-order-table thead { display: none; }
.apex-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.apex-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: 0; }
.apex-checkout .woocommerce-checkout-review-order-table .order-total th { color: var(--color-ink); font-weight: 500; font-size: 15px; }
.apex-checkout .woocommerce-checkout-review-order-table .order-total td { font-weight: 500; font-size: 22px; }
.apex-checkout .woocommerce-checkout-review-order-table .product-quantity { color: var(--color-ink-faint); }
.apex-checkout .woocommerce-checkout-review-order-table .variation { margin: 2px 0 0; font-size: 11px; color: var(--color-ink-faint); display: flex; gap: 6px; }
.apex-checkout .woocommerce-checkout-review-order-table .variation p { margin: 0; display: inline; }
.apex-checkout .woocommerce-checkout-review-order-table .variation dt { font-weight: 400; }
.apex-checkout .fee td, .apex-checkout .cart-discount td { color: var(--color-brand-green); }
.apex-checkout #shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.apex-checkout #shipping_method li { display: flex; align-items: center; gap: 8px; }
.apex-checkout #shipping_method label { font-size: 13px; color: var(--color-ink); }
.apex-checkout .wc_payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.apex-checkout .wc_payment_method { border: 1px solid var(--color-ui-200); border-radius: 10px; padding: 12px 14px; background: var(--color-surface); }
.apex-checkout .wc_payment_method > label { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; cursor: pointer; }
.apex-checkout .wc_payment_method > label img { height: 20px; width: auto; }
.apex-checkout .payment_box { margin-top: 10px; font-size: 13px; color: var(--color-ink-soft); }
.apex-checkout .payment_box p { margin: 0 0 8px; }
.apex-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--color-ink-soft); margin: 14px 0; }
.apex-checkout .woocommerce-privacy-policy-text p { margin: 0 0 8px; }
.apex-checkout .woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; }
.apex-checkout .wc-stripe-elements-field, .apex-checkout .wc-stripe-upe-element { border: 1px solid var(--color-ui-400); border-radius: 8px; padding: 10px 12px; background: #fff; }
.apex-checkout .blockUI.blockOverlay { border-radius: 14px; }
.apex-checkout .woocommerce-shipping-destination { font-size: 12px; color: var(--color-ink-faint); margin: 6px 0 0; }
.apex-checkout .woocommerce-shipping-calculator { display: none; }
.apex-checkout .checkout_coupon { display: grid; gap: 8px; margin: 0 0 14px; }

/* Account */
.apex-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.apex-account .woocommerce-MyAccount-navigation a { display: block; border-radius: 10px; padding: 10px 12px; font-size: 14px; color: var(--color-ink-soft); }
.apex-account .woocommerce-MyAccount-navigation a:hover { background: var(--color-surface-muted); color: var(--color-ink); }
.apex-account .woocommerce-MyAccount-navigation .is-active a { background: var(--color-ink); color: var(--color-surface); font-weight: 500; }
.apex-account .woocommerce-MyAccount-content > p:first-child { color: var(--color-ink-soft); font-size: 14px; }
.apex-account table.shop_table { width: 100%; border-collapse: collapse; font-size: 13px; }
.apex-account table.shop_table th { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--color-ink-faint); font-weight: 400; text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--color-ui-200); }
.apex-account table.shop_table td { padding: 12px 10px; border-bottom: 1px solid var(--color-ui-200); vertical-align: middle; }
.apex-account table.shop_table .button { display: inline-flex; border-radius: 9999px; border: 1px solid var(--color-ui-400); padding: 6px 12px; font-size: 12px; margin-right: 6px; }
.apex-account table.shop_table .button:hover { border-color: var(--color-ink); }
.apex-account .woocommerce-pagination { display: flex; gap: 8px; margin-top: 16px; }
.apex-account .woocommerce-Addresses { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.apex-account .woocommerce-Address { border: 1px solid var(--color-ui-200); border-radius: 14px; padding: 20px; background: var(--color-surface); }
.apex-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.apex-account .woocommerce-Address-title h2, .apex-account .woocommerce-Address-title h3 { font-size: 15px; font-weight: 500; margin: 0; }
.apex-account .woocommerce-Address-title .edit { font-size: 12px; text-decoration: underline; color: var(--color-ink-soft); }
.apex-account address { font-style: normal; font-size: 14px; color: var(--color-ink-soft); line-height: 1.5; }
.apex-account fieldset { border: 0; padding: 0; margin: 20px 0 0; }
.apex-account legend { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--color-ink-faint); margin-bottom: 12px; }
.apex-account .woocommerce-order-details, .apex-account .woocommerce-customer-details { margin-top: 24px; }
.apex-account .woocommerce-order-details__title, .apex-account .woocommerce-column__title { font-size: 17px; font-weight: 500; margin: 0 0 12px; }
.apex-account .woocommerce-table--order-details tfoot th { color: var(--color-ink-faint); font-weight: 400; text-transform: none; letter-spacing: 0; font-family: inherit; font-size: 13px; }
.apex-account .woocommerce-table--order-details tfoot tr:last-child th, .apex-account .woocommerce-table--order-details tfoot tr:last-child td { font-weight: 500; font-size: 15px; color: var(--color-ink); }
.apex-account .woocommerce-orders-table__cell-order-status { font-weight: 500; }
.apex-account .woocommerce-columns--addresses { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.apex-account mark { background: transparent; color: inherit; font-weight: 500; }
.apex-account .woocommerce-info { margin-bottom: 16px; }
.apex-account .woocommerce-Button { margin-top: 8px; }

/* Cart page table (shortcode) */
.apex-cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--color-ui-400); border-radius: 6px; }
.apex-cart .quantity input { width: 44px; border: 0; background: transparent; text-align: center; font-size: 13px; padding: 4px 0; -moz-appearance: textfield; }
.apex-cart .quantity input::-webkit-outer-spin-button, .apex-cart .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Product reviews / comments */
.apex-pdp .commentlist { list-style: none; margin: 0; padding: 0; }

/* Misc content pages (legal copy) */
.apex-prose h2 { font-size: 22px; font-weight: 500; margin: 28px 0 10px; letter-spacing: -0.01em; }
.apex-prose h3 { font-size: 17px; font-weight: 500; margin: 22px 0 8px; }
.apex-prose p, .apex-prose li { font-size: 15px; line-height: 1.6; color: var(--color-ink-soft); }
.apex-prose p { margin: 0 0 12px; }
.apex-prose ul { list-style: disc; padding-left: 20px; margin: 0 0 12px; }
.apex-prose ol { list-style: decimal; padding-left: 20px; margin: 0 0 12px; }
.apex-prose a { text-decoration: underline; color: var(--color-ink); }
.apex-prose b, .apex-prose strong { color: var(--color-ink); font-weight: 500; }
.apex-prose table { width: 100%; font-size: 14px; border-collapse: collapse; margin: 0 0 16px; }
.apex-prose th, .apex-prose td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--color-ui-200); }
.apex-prose th { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--color-ink-faint); font-weight: 400; }

/* CoA iframe */
.apex-coa-frame { width: 100%; min-height: 720px; border: 0; background: var(--color-surface-muted); }

/* Longevity journey (full-screen wizard) */
.apex-journey-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 8px; padding: 16px 24px; font-size: 15px; font-weight: 500; line-height: 1; color: #0A1616; background: linear-gradient(135deg, #46FDAE 0%, #C6FB4B 100%); transition: filter .18s, box-shadow .18s, transform .18s; }
.apex-journey-btn:hover { filter: brightness(1.04); box-shadow: 0 6px 20px rgba(70,253,174,0.25); }
.apex-journey-btn:active { transform: translateY(1px); }
.apex-journey-btn:disabled { opacity: .4; }
@keyframes apexJourneyRise { from { transform: translateY(110%); } to { transform: translateY(0); } }
@keyframes apexJourneyFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes apexJourneyBlobA { 0%,100% { transform: translate(0,0); } 33% { transform: translate(30px,-20px); } 66% { transform: translate(-15px,15px); } }
@keyframes apexJourneyBlobB { 0%,100% { transform: translate(0,0); } 33% { transform: translate(-25px,20px); } 66% { transform: translate(20px,-10px); } }
@keyframes apexJourneyPulse { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.5); opacity: 0; } }
.apex-journey-rise { animation: apexJourneyRise .62s cubic-bezier(.22,.8,.26,.99) both; animation-delay: .18s; }
.apex-journey h1 span:nth-child(2) .apex-journey-rise { animation-delay: .3s; }
.apex-journey h1 span:nth-child(3) .apex-journey-rise { animation-delay: .42s; }
.apex-journey-fade { animation: apexJourneyFade .5s cubic-bezier(.22,.8,.26,.99) both; }
.apex-journey-blob-a { animation: apexJourneyBlobA 16s ease-in-out infinite; }
.apex-journey-blob-b { animation: apexJourneyBlobB 20s ease-in-out infinite; }
.apex-journey-ring-pulse { animation: apexJourneyPulse 1.1s ease-out infinite; }
.apex-journey input[type="number"]::-webkit-inner-spin-button { opacity: .4; }
@media (prefers-reduced-motion: reduce) { .apex-journey-rise, .apex-journey-fade, .apex-journey-blob-a, .apex-journey-blob-b, .apex-journey-ring-pulse { animation: none; } }

/* Utilities missing from compiled app.css (used by ported templates) */
.py-0 { padding-block: 0; }
.max-w-full { max-width: 100%; }
.z-\[110\] { z-index: 110; }
.mb-12 { margin-bottom: 48px; }
.not-italic { font-style: normal; }
.duration-\[180ms\] { transition-duration: 180ms; }
.duration-\[260ms\] { transition-duration: 260ms; }
.duration-\[420ms\] { transition-duration: 420ms; }
.bg-white\/92 { background-color: rgba(255,255,255,.92); }
.brand-btn-outline-light { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.5); color: #fff; background: transparent; padding: 15px 17px; border-radius: 6px; font-size: 14px; font-weight: 500; line-height: 1; transition: border-color .18s; }
.brand-btn-outline-light:hover { border-color: rgba(255,255,255,.9); }
