/*
Theme Name: EKAME Modern
Theme URI: https://ekame.net
Author: EKAME
Description: Custom modern theme for EKAME (Tailwind via CDN), WooCommerce-ready. Work in progress — preview only.
Version: 0.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: ekame-modern
*/

/* Tailwind is loaded via CDN in header.php for preview.
   Add only small overrides here. */

/* ── Checkout steps + review thumbnails ── */
.ekm-steps { display:flex; align-items:center; justify-content:center; margin:0 0 30px; }
.ekm-step { display:inline-flex; align-items:center; gap:9px; }
.ekm-step-dot { width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; background:#f0f1f4; color:#9aa0ad; flex-shrink:0; transition:.2s; }
.ekm-step-label { font-size:14px; color:#9aa0ad; white-space:nowrap; }
.ekm-step.is-current .ekm-step-dot { background:#3b5bfd; color:#fff; box-shadow:0 0 0 4px rgba(59,91,253,.14); }
.ekm-step.is-current .ekm-step-label { color:#0b1020; font-weight:600; }
.ekm-step.is-done .ekm-step-dot { background:#3b5bfd; color:#fff; }
.ekm-step.is-done .ekm-step-label { color:#3b5bfd; }
.ekm-step-line { flex:1; height:2px; min-width:24px; max-width:80px; background:#ececf1; margin:0 12px; border-radius:2px; }
.ekm-step-line.is-done { background:#3b5bfd; }
@media (max-width:560px){ .ekm-step-label { display:none; } .ekm-step-line { margin:0 8px; } }
.ekm-review-item { display:flex; align-items:center; gap:10px; }
.ekm-review-thumb img { width:42px; height:42px; object-fit:cover; border-radius:9px; display:block; }
.ekm-review-name { font-size:14px; }

/* ── Cart (2 columns: items left, sticky summary right) ── */
.woocommerce-cart .woocommerce { display:grid; grid-template-columns:1.6fr 1fr; gap:30px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .cart-empty,
.woocommerce-cart .woocommerce > .return-to-shop,
.woocommerce-cart .woocommerce .cross-sells { grid-column:1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column:1; }
.woocommerce-cart .cart-collaterals { grid-column:2; width:auto !important; }
@media (max-width:860px){
  .woocommerce-cart .woocommerce { grid-template-columns:1fr; }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { grid-column:1; }
}

/* ── Cart ── */
.woocommerce-cart table.cart { width:100%; border-collapse:collapse; margin:0 0 24px; }
.woocommerce-cart table.cart thead th { text-align:left; padding:12px; font-size:13px; font-weight:500; color:#737373; border-bottom:1px solid #e5e5e5; }
.woocommerce-cart table.cart td { padding:16px 12px; border-bottom:1px solid #f3f3f6; vertical-align:middle; }
.woocommerce-cart table.cart td.product-thumbnail img { width:64px; height:64px; object-fit:cover; border-radius:12px; }
.woocommerce-cart table.cart td.product-remove a { color:#9aa0ad; text-decoration:none; font-size:18px; }
.woocommerce-cart table.cart .quantity input.qty { width:70px; text-align:center; min-height:42px; }
.woocommerce-cart .actions { padding:8px 0; }
.woocommerce-cart .cart-collaterals .cart_totals { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; max-width:420px; margin-left:auto; position:sticky; top:88px; box-shadow:0 16px 44px rgba(15,23,42,.07); }
.woocommerce-cart .cart_totals h2 { font-size:18px; font-weight:600; margin:0 0 14px; }
.woocommerce-cart .cart_totals table { width:100%; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding:10px 0; border-bottom:1px solid #f3f3f6; text-align:left; }
.woocommerce-cart .cart_totals .order-total td { font-weight:600; font-size:18px; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top:16px; }
.woocommerce-cart .wc-proceed-to-checkout .button { display:block; text-align:center; width:100%; padding:.9em; }
.woocommerce .coupon { display:flex; gap:10px; }
.woocommerce .coupon input { max-width:200px; }

/* ── Light WooCommerce skin (global, so it also applies on custom pages like crypto-payment) ── */
.woocommerce, .woocommerce-page { color:#171717; }
.woocommerce .woocommerce-breadcrumb { font-size:13px; color:#737373; margin-bottom:1.25rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; font-weight:500; }
.woocommerce ul.products li.product .price { color:#171717; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce-page button.button {
  background:#2563eb !important; color:#fff !important;
  border:0 !important; border-radius:9999px !important;
  padding:.6em 1.4em !important; font-weight:500 !important; box-shadow:none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover { background:#1d4ed8 !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .input-text,
.woocommerce select,
.select2-container .select2-selection {
  border:1px solid #d4d4d4 !important; border-radius:10px !important;
  padding:10px 12px !important; min-height:42px;
}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { border-top-color:#2563eb; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce table.shop_table { border-radius:12px; }

/* Floating "X items in cart" bar removed site-wide — the header cart badge + drawer popup already cover it. */
a[id$="-cartbar"] { display:none !important; }

/* ── Checkout (scoped to the FORM so it applies on /checkout/ AND custom pages e.g. crypto-payment) ── */
form.woocommerce-checkout { max-width:1000px; margin:0 auto; }
/* 2 columns: customer details + payment (left), sticky order summary (right) */
.ekm-co-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; }
.ekm-co-main, .ekm-co-side { min-width:0; }
.ekm-co-side { position:sticky; top:88px; }
form.woocommerce-checkout .col2-set,
form.woocommerce-checkout .col2-set .col-1,
form.woocommerce-checkout .col2-set .col-2 { display:block; width:auto; float:none; }
form.woocommerce-checkout #customer_details { margin-bottom:18px; }
/* Payment block as a card in the main column */
.ekm-pay-block { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; box-shadow:0 16px 44px rgba(15,23,42,.06); }
.ekm-pay-block > h3 { margin-top:0; }
form.woocommerce-checkout #order_review_heading { font-size:18px; font-weight:600; margin:0 0 12px; color:#0b1020; }
form.woocommerce-checkout #order_review { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; box-shadow:0 16px 44px rgba(15,23,42,.06); }
form.woocommerce-checkout h3 { font-size:17px; font-weight:600; margin:0 0 14px; color:#0b1020; }
@media (max-width:860px){ .ekm-co-grid { grid-template-columns:1fr; } .ekm-co-side { position:static; } }
form.woocommerce-checkout #order_review table.shop_table { width:100%; border-collapse:collapse; margin-bottom:18px; }
form.woocommerce-checkout #order_review table.shop_table th, form.woocommerce-checkout #order_review table.shop_table td { padding:11px 0; border-bottom:1px solid #f3f3f6; text-align:left; font-size:14px; }
form.woocommerce-checkout #order_review table.shop_table thead th { font-size:12px; color:#9aa0ad; font-weight:500; text-transform:uppercase; letter-spacing:.04em; }
form.woocommerce-checkout .order-total th, form.woocommerce-checkout .order-total td { font-weight:600; font-size:20px; color:#0b1020; border-bottom:0; padding-top:14px; }
/* Payment methods as selectable cards */
form.woocommerce-checkout #payment { background:transparent; border:0; border-radius:0; padding:0; margin-top:6px; }
form.woocommerce-checkout #payment ul.payment_methods { list-style:none; margin:0 0 16px; padding:0; }
form.woocommerce-checkout #payment ul.payment_methods li { padding:14px 16px; border:1px solid #e5e5e5; border-radius:14px; margin:0 0 10px; transition:border-color .15s, background .15s, box-shadow .15s; }
form.woocommerce-checkout #payment ul.payment_methods li:hover { border-color:#c7cffb; }
form.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color:#3b5bfd; background:#f5f7ff; box-shadow:0 0 0 3px rgba(59,91,253,.10); }
form.woocommerce-checkout #payment ul.payment_methods li label { display:inline-flex; align-items:center; gap:8px; font-weight:500; cursor:pointer; margin:0; }
form.woocommerce-checkout #payment ul.payment_methods > li > label img { max-height:24px; width:auto; vertical-align:middle; }
form.woocommerce-checkout #payment .payment_box { background:#f9fafb; border:1px solid #ececf1; border-radius:10px; padding:12px 14px; font-size:13px; color:#52525b; margin:10px 0 0; }
form.woocommerce-checkout #payment .payment_box::before { display:none; }
form.woocommerce-checkout #place_order { width:100%; padding:1.05em; font-size:16px; font-weight:600; background:#3b5bfd; color:#fff; border:0; border-radius:9999px; box-shadow:0 12px 26px rgba(59,91,253,.28); cursor:pointer; }
form.woocommerce-checkout #place_order:hover { background:#2f49d6; }
form.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size:13px; color:#737373; margin:8px 0 14px; }
/* ── Thank-you / Order received ── */
.ekm-thankyou { max-width:640px; margin:0 auto; }
.ekm-ty-card { background:#fff; border:1px solid #ececf1; border-radius:24px; padding:36px 28px; text-align:center; box-shadow:0 16px 44px rgba(15,23,42,.06); }
.ekm-ty-icon { width:72px; height:72px; border-radius:50%; background:#e6f7ec; color:#1f9d55; display:flex; align-items:center; justify-content:center; font-size:40px; margin:0 auto 18px; }
.ekm-ty-icon--fail { background:#fef2f2; color:#e03131; }
.ekm-ty-card h1 { font-size:26px; font-weight:600; color:#0b1020; margin:0 0 8px; letter-spacing:-.01em; }
.ekm-ty-card > p { color:#6b7280; margin:0 0 22px; font-size:15px; }
.ekm-ty-overview { list-style:none; margin:0; padding:0; border-top:1px solid #f3f3f6; text-align:left; }
.ekm-ty-overview li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 2px; border-bottom:1px solid #f3f3f6; font-size:14px; }
.ekm-ty-overview li span { color:#9aa0ad; }
.ekm-ty-overview li strong { color:#0b1020; font-weight:600; }
.ekm-ty-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:24px 0 0; }
.ekm-btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 26px; border-radius:9999px; font-size:15px; font-weight:600; text-decoration:none; line-height:1; transition:.15s; }
.ekm-btn-primary { background:#3b5bfd; color:#fff; box-shadow:0 12px 26px rgba(59,91,253,.26); }
.ekm-btn-primary:hover { background:#2f49d6; color:#fff; }
.ekm-btn-ghost { background:#fff; border:1px solid #d9dbe3; color:#475569; }
.ekm-btn-ghost:hover { border-color:#3b5bfd; color:#3b5bfd; }
.ekm-thankyou .woocommerce-order-details,
.ekm-thankyou .woocommerce-customer-details { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; margin-top:18px; box-shadow:0 16px 44px rgba(15,23,42,.05); }
.ekm-thankyou .woocommerce-order-details h2,
.ekm-thankyou .woocommerce-customer-details h2 { font-size:17px; font-weight:600; color:#0b1020; margin:0 0 14px; }
.ekm-thankyou table.shop_table { width:100%; border-collapse:collapse; }
.ekm-thankyou table.shop_table th, .ekm-thankyou table.shop_table td { padding:11px 0; border-bottom:1px solid #f3f3f6; text-align:left; font-size:14px; }
.ekm-thankyou .order-total th, .ekm-thankyou .order-total td { font-weight:600; font-size:18px; color:#0b1020; }

/* ── Plain Content template (no-title pages: payment, etc.) ── */
.ekm-plain > p:empty { display:none; }
.ekm-plain > p { margin:0 0 14px; }
.ekm-plain > h2, .ekm-plain > h3, .ekm-plain > h4, .ekm-plain > h6 { text-align:center; color:#0b1020; font-weight:600; margin:18px auto 8px; max-width:640px; }
.ekm-plain > h6 { font-size:13px; font-weight:400; color:#9aa0ad; line-height:1.6; }

/* ── Boxcoin crypto widget — EKAME skin (overrides the default teal theme) ── */
.bxc-main.bxc-inline { max-width:680px; margin-left:auto; margin-right:auto; }
.bxc-main .bxc-box { border-radius:22px !important; border:1px solid #ececf1 !important; padding:28px !important; box-shadow:0 16px 44px rgba(15,23,42,.06); }
.bxc-main .bxc-title { color:#0b1020 !important; }
/* Crypto list rows as selectable ekame cards */
.bxc-main .bxc-payment-methods > div { border:1px solid #e5e5e5 !important; border-radius:14px !important; padding:12px 16px !important; transition:border-color .15s, background .15s, box-shadow .15s !important; }
.bxc-main .bxc-payment-methods > div:hover { border-color:#3b5bfd !important; background:#f5f7ff !important; box-shadow:0 0 0 3px rgba(59,91,253,.10); }
.bxc-main .bxc-payment-methods > div:hover, .bxc-main .bxc-payment-methods > div:hover .bxc-label { color:#0b1020 !important; }
.bxc-main .bxc-payment-methods > div:hover span + span { color:#3b5bfd !important; }
.bxc-main .bxc-payment-methods .bxc-label { border:1px solid #e5e5e5 !important; color:#9aa0ad !important; border-radius:6px; padding:1px 7px; font-size:11px; }
/* Buttons → ekame indigo */
.bxc-main .bxc-btn { background-color:#3b5bfd !important; border-radius:9999px !important; color:#fff !important; font-weight:600; }
.bxc-main .bxc-btn:hover, .bxc-main .bxc-btn:active { background-color:#2f49d6 !important; }
.bxc-main .bxc-btn.bxc-btn-border { background:none !important; border:1px solid #d9dbe3 !important; color:#475569 !important; }
.bxc-main .bxc-btn.bxc-btn-border:hover, .bxc-main .bxc-btn.bxc-btn-border:active { color:#3b5bfd !important; border-color:#3b5bfd !important; }
.bxc-main .bxc-btn.bxc-btn-red:hover { color:#e03131 !important; border-color:#e03131 !important; }
/* Total amount + countdown accents */
.bxc-main .bxc-amount-fiat-total { color:#0b1020; font-weight:700; }
.bxc-main .bxc-countdown { color:#3b5bfd !important; }
/* Status icons */
.bxc-main .bxc-complete-cnt .bxc-icon-check { color:#1f9d55 !important; }
.bxc-main .bxc-failed-cnt .bxc-icon-close,
.bxc-main .bxc-underpayment-cnt .bxc-icon-close { color:#e03131 !important; }
/* Loading spinner in our colour */
.bxc-main .bxc-loading:before { border-color:rgba(59,91,253,.25) !important; border-top-color:#3b5bfd !important; }

/* ── Checkout form fields ── */
form.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3,
form.woocommerce-checkout #customer_details .woocommerce-additional-fields > h3,
form.woocommerce-checkout #customer_details h3#ship-to-different-address { font-size:18px; font-weight:600; margin:0 0 16px; color:#0b1020; }
form.woocommerce-checkout .form-row { margin:0 0 14px; padding:0; display:block; }
form.woocommerce-checkout .form-row label { display:block; font-size:13px; color:#6b7280; margin-bottom:6px; }
form.woocommerce-checkout .form-row .required { color:#e03131; text-decoration:none; }
form.woocommerce-checkout .input-text,
form.woocommerce-checkout select,
form.woocommerce-checkout textarea,
form.woocommerce-checkout .select2-selection { border:1px solid #d9dbe3 !important; border-radius:10px !important; padding:11px 12px !important; min-height:46px; box-shadow:none !important; width:100%; font-size:15px; background:#fff; }
form.woocommerce-checkout .select2-selection__rendered { line-height:24px !important; padding-left:0 !important; }
form.woocommerce-checkout .select2-selection__arrow { top:11px !important; }
form.woocommerce-checkout .input-text:focus,
form.woocommerce-checkout select:focus,
form.woocommerce-checkout textarea:focus { border-color:#3b5bfd !important; outline:none; box-shadow:0 0 0 3px rgba(59,91,253,.10) !important; }
/* Billing block as a card (matches the order summary) */
form.woocommerce-checkout .woocommerce-billing-fields { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; box-shadow:0 16px 44px rgba(15,23,42,.06); }
form.woocommerce-checkout .woocommerce-billing-fields > h3 { margin-top:0; }
/* Hide the empty shipping / additional-info sections (digital, email-only checkout) */
form.woocommerce-checkout .woocommerce-shipping-fields,
form.woocommerce-checkout .woocommerce-additional-fields { display:none; }
/* QR / images inside payment boxes (Alipay/WeChat) — force a consistent, visible size */
.payment_box img { width:220px !important; max-width:100% !important; height:auto !important; max-height:none !important; border-radius:8px; margin:4px 0; display:block; }

/* ── Pay for order (order-pay / form-pay) — same look as checkout ── */
form#order_review { max-width:620px; margin:0 auto; }
form#order_review > table.shop_table { width:100%; background:#fff; border:1px solid #ececf1; border-radius:22px; padding:6px 24px; box-shadow:0 16px 44px rgba(15,23,42,.06); margin-bottom:18px; }
form#order_review table.shop_table th, form#order_review table.shop_table td { padding:11px 0; border-bottom:1px solid #f3f3f6; text-align:left; font-size:14px; }
form#order_review .order-total th, form#order_review .order-total td { font-weight:600; font-size:18px; color:#0b1020; border-bottom:0; }
form#order_review #payment { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; box-shadow:0 16px 44px rgba(15,23,42,.06); }
form#order_review #payment ul.payment_methods { list-style:none; margin:0 0 16px; padding:0; }
form#order_review #payment ul.payment_methods li { padding:14px 16px; border:1px solid #e5e5e5; border-radius:14px; margin:0 0 10px; transition:border-color .15s, background .15s, box-shadow .15s; }
form#order_review #payment ul.payment_methods li:hover { border-color:#c7cffb; }
form#order_review #payment ul.payment_methods li:has(input:checked) { border-color:#3b5bfd; background:#f5f7ff; box-shadow:0 0 0 3px rgba(59,91,253,.10); }
form#order_review #payment ul.payment_methods li label { display:inline-flex; align-items:center; gap:8px; font-weight:500; margin:0; cursor:pointer; }
form#order_review #payment ul.payment_methods > li > label img { max-height:24px; width:auto; }
form#order_review #payment .payment_box { background:#f9fafb; border:1px solid #ececf1; border-radius:10px; padding:12px 14px; font-size:13px; color:#52525b; margin:10px 0 0; }
form#order_review #payment .payment_box::before { display:none; }
form#order_review #payment #place_order { width:100%; padding:1.05em; font-size:16px; font-weight:600; background:#3b5bfd; color:#fff; border:0; border-radius:9999px; box-shadow:0 12px 26px rgba(59,91,253,.28); cursor:pointer; }
form#order_review #payment #place_order:hover { background:#2f49d6; }
/* Reference field inside a payment box should be full width */
form.woocommerce-checkout #payment .payment_box .form-row { margin-top:10px; }

/* Notices, coupon & login toggles (cart + checkout) */
.woocommerce-info, .woocommerce-message { background:#f5f7ff; border:1px solid #dfe6ff; border-left:3px solid #3b5bfd; border-radius:12px; padding:12px 16px; font-size:14px; color:#374151; list-style:none; }
.woocommerce-error { background:#fef2f2; border:1px solid #fecaca; border-left:3px solid #e03131; border-radius:12px; padding:12px 16px; color:#991b1b; list-style:none; }

/* "Returning customer?" / "Have a coupon?" prompts — quiet, inline, branded link */
.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle { margin-bottom:14px; }
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info { background:#fff; border:1px solid #ececf1; border-left:1px solid #ececf1; color:#6b7280; }
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a { color:#3b5bfd; font-weight:600; text-decoration:none; }
.woocommerce-form-login-toggle .woocommerce-info a:hover,
.woocommerce-form-coupon-toggle .woocommerce-info a:hover { text-decoration:underline; }

/* Login & coupon drop-down forms */
.woocommerce-form-coupon, .woocommerce-form-login { background:#fff; border:1px solid #ececf1; border-radius:16px; padding:20px; margin-bottom:18px; box-shadow:0 12px 32px rgba(15,23,42,.05); }
.woocommerce-form-login > p:first-of-type { margin-top:0; font-size:14px; color:#6b7280; }
.woocommerce-form-login .lost_password { margin:6px 0 0; font-size:13px; }
.woocommerce-form-login .lost_password a, .woocommerce-form-coupon a { color:#3b5bfd; }
.woocommerce-cart .woocommerce-form-coupon .input-text,
.woocommerce-checkout .woocommerce-form-coupon .input-text { width:auto; max-width:240px; display:inline-block; }

/* Billing details + account grouped as a card in the left column */
form.woocommerce-checkout #customer_details { background:#fff; border:1px solid #ececf1; border-radius:22px; padding:24px; box-shadow:0 16px 44px rgba(15,23,42,.06); }
form.woocommerce-checkout .woocommerce-billing-fields > h3,
form.woocommerce-checkout .woocommerce-additional-fields > h3 { font-size:17px; font-weight:600; margin:0 0 14px; color:#0b1020; }
/* Optional "create account" fields as a soft inset panel */
.woocommerce-account-fields .create-account { background:#f7f8fc; border:1px solid #eef0f6; border-radius:14px; padding:16px 18px; margin-top:8px; }
.woocommerce-account-fields .create-account .form-row:last-child { margin-bottom:0; }
/* Hide the empty "Additional information" / shipping blocks when no fields are configured */
form.woocommerce-checkout .woocommerce-additional-fields:not(:has(.form-row)),
form.woocommerce-checkout .woocommerce-shipping-fields:not(:has(.form-row)) { display:none; }

/* Order review item with thumbnail (added via woocommerce_cart_item_name filter) */
.ekm-review-item { display:flex; align-items:center; gap:10px; }
.ekm-review-thumb img { width:40px; height:40px; border-radius:8px; object-fit:cover; display:block; }
.ekm-review-name { flex:1; min-width:0; }

/* ── My Account → Orders (cards) ── */
.ekm-orders { display:flex; flex-direction:column; gap:12px; }
.ekm-order { border:1px solid #ececf1; border-radius:18px; padding:18px 20px; background:#fff; transition:box-shadow .15s; }
.ekm-order:hover { box-shadow:0 10px 30px rgba(15,23,42,.06); }
.ekm-order-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.ekm-order-num { font-weight:600; color:#0b1020; font-size:15px; }
.ekm-order-date { font-size:13px; color:#9aa0ad; margin-top:2px; }
.ekm-status { font-size:12px; font-weight:500; padding:5px 12px; border-radius:9999px; white-space:nowrap; }
.ekm-status--completed { background:#e6f7ec; color:#1f9d55; }
.ekm-status--processing { background:#e7ecff; color:#2563eb; }
.ekm-status--pending, .ekm-status--on-hold { background:#fff1da; color:#b8730a; }
.ekm-status--cancelled, .ekm-status--failed, .ekm-status--refunded { background:#f3f3f6; color:#6b7280; }
.ekm-order-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:14px; border-top:1px solid #f3f3f6; }
.ekm-order-total { font-size:18px; font-weight:600; color:#0b1020; }
.ekm-order-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ekm-order-actions a { font-size:14px; padding:8px 18px; border-radius:9999px; text-decoration:none; line-height:1.2; }
.ekm-order-actions a.view, .ekm-order-actions a.pay { background:#3b5bfd; color:#fff; }
.ekm-order-actions a.view:hover, .ekm-order-actions a.pay:hover { background:#2f49d6; }
.ekm-order-actions a.cancel { background:#fff; border:1px solid #e5e5e5; color:#6b7280; }
.ekm-order-actions a.cancel:hover { border-color:#d1d5db; color:#374151; }
.ekm-orders-pagination { display:flex; gap:10px; margin-top:18px; }
.ekm-pagebtn { display:inline-block; border:1px solid #d9dbe3; color:#374151; padding:9px 20px; border-radius:9999px; text-decoration:none; font-size:14px; }
.ekm-pagebtn:hover { border-color:#3b5bfd; color:#3b5bfd; }
.ekm-pagebtn--primary { background:#3b5bfd; color:#fff; border-color:#3b5bfd; }
.ekm-orders-empty { text-align:center; padding:48px 20px; color:#9aa0ad; }
.ekm-orders-empty i { font-size:42px; }
.ekm-orders-empty p { margin:10px 0 16px; }

/* ── My Account → Addresses (cards) ── */
.woocommerce-account .woocommerce-Addresses { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0; }
.woocommerce-account .woocommerce-Address { background:#fff; border:1px solid #ececf1; border-radius:16px; padding:20px; }
.woocommerce-account .woocommerce-Address-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 { font-size:16px; font-weight:600; margin:0; }
.woocommerce-account .woocommerce-Address-title .edit { font-size:13px; color:#3b5bfd; text-decoration:none; }
.woocommerce-account .woocommerce-Address address { font-style:normal; color:#52525b; line-height:1.7; font-size:14px; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { color:#52525b; }
@media (max-width:680px){ .woocommerce-account .woocommerce-Addresses { grid-template-columns:1fr; } }

/* Account details / edit-address forms — constrain width for readability */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields { max-width:560px; }
.woocommerce-account fieldset { border:0; padding:0; margin:24px 0 0; }
.woocommerce-account fieldset legend { font-size:16px; font-weight:600; margin-bottom:8px; }

/* ── Single product ── */
.single-product div.product { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.single-product div.product .woocommerce-product-gallery { max-width:100%; position:relative; }
.single-product div.product .woocommerce-product-gallery__wrapper { margin:0; }
.single-product div.product .woocommerce-product-gallery img { border-radius:16px; display:block; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs { list-style:none; display:flex; gap:8px; padding:0; margin:12px 0 0; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li { width:64px; margin:0; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs img { border-radius:8px; cursor:pointer; }
.single-product div.product .product_title { font-size:30px; font-weight:600; letter-spacing:-0.02em; margin:0 0 10px; }
.single-product div.product .price { font-size:28px; font-weight:600; color:#0b1020; margin:0 0 16px; display:block; }
.single-product form.cart .button { padding:.95em 2.4em; font-size:16px; }
.ekm-trust { display:flex; flex-wrap:wrap; gap:14px 18px; margin-top:18px; padding-top:18px; border-top:1px solid #f3f3f6; }
.ekm-trust span { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#6b7280; }
.ekm-trust i { color:#3b5bfd; font-size:16px; }

/* ── Spinner ── */
.ekm-spinner { display:inline-block; width:16px; height:16px; border:2px solid #e5e7eb; border-top-color:#3b5bfd; border-radius:50%; animation:ekm-spin .8s linear infinite; vertical-align:-2px; }
@keyframes ekm-spin { to { transform:rotate(360deg); } }

/* ── Searchable combobox (proxy country) ── */
.ekm-combo { position:relative; }
.ekm-combo-list { position:absolute; z-index:40; left:0; right:0; top:calc(100% + 6px); max-height:280px; overflow:auto; background:#fff; border:1px solid #e5e5e5; border-radius:14px; box-shadow:0 18px 44px rgba(15,23,42,.12); padding:6px; margin:0; list-style:none; }
.ekm-combo-list li { padding:10px 12px; border-radius:9px; cursor:pointer; display:flex; align-items:center; gap:10px; font-size:14px; color:#0b1020; }
.ekm-combo-list li:hover { background:#f3f4ff; }
.ekm-combo-flag { font-size:20px; line-height:1; }

/* ── SMM panel inputs ── */
.ekm-input, .ekm-select { width:100%; box-sizing:border-box; border:1px solid #d9dbe3; border-radius:12px; padding:12px 14px; font-size:15px; background:#fff; color:#0b1020; outline:none; min-height:48px; }
.ekm-input:focus, .ekm-select:focus { border-color:#3b5bfd; box-shadow:0 0 0 3px rgba(59,91,253,.15); }
.ekm-select { appearance:none; -webkit-appearance:none; padding-right:40px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239aa0ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; }
.single-product div.product .price del { color:#9aa0ad; font-weight:400; font-size:18px; margin-right:8px; }
.single-product .woocommerce-product-details__short-description { color:#52525b; line-height:1.7; margin-bottom:20px; }
.single-product form.cart { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:20px 0; }
.single-product .quantity input.qty { width:74px; text-align:center; min-height:46px; }
.single-product form.cart .button { padding:.85em 2em; }
.single-product table.variations { width:100%; margin:0 0 16px; border-collapse:collapse; }
.single-product table.variations td, .single-product table.variations th { padding:8px 0; text-align:left; vertical-align:middle; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells { grid-column:1 / -1; }
.single-product .woocommerce-tabs ul.tabs { list-style:none; display:flex; gap:6px; padding:0; margin:32px 0 20px; border-bottom:1px solid #e5e5e5; flex-wrap:wrap; }
.single-product .woocommerce-tabs ul.tabs li { margin:0; }
.single-product .woocommerce-tabs ul.tabs li a { display:block; padding:10px 16px; text-decoration:none; color:#52525b; border-bottom:2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a { color:#0b1020; border-bottom-color:#3b5bfd; font-weight:500; }
.single-product .related > h2, .single-product .upsells > h2 { font-size:22px; font-weight:600; margin:0 0 18px; letter-spacing:-0.01em; }
@media (max-width:860px){ .single-product div.product { grid-template-columns:1fr; gap:24px; } }

/* ── Shop catalog (Woo CSS disabled, so lay out the grid ourselves) ── */
.woocommerce ul.products,
.woocommerce-page ul.products { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:18px; }
.woocommerce ul.products li.product { margin:0 !important; width:auto !important; float:none !important; }
.ekm-product__media { position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ekm-product__media img { width:100%; height:100%; object-fit:cover; display:block; }
.ekm-product__badge { position:absolute; top:10px; left:10px; background:#3b5bfd; color:#fff; font-size:11px; padding:3px 9px; border-radius:9999px; }
.ekm-product__title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.5em; }
.ekm-product .price { color:#0b1020; }
.ekm-product .price del { color:#9aa0ad; font-weight:400; margin-right:6px; }
.ekm-product .button,
.ekm-product .add_to_cart_button { display:block; text-align:center; width:100%; box-sizing:border-box; }
/* shop header bits */
.woocommerce .woocommerce-result-count { color:#737373; font-size:14px; margin:0 0 16px; }
.woocommerce .woocommerce-ordering { margin:0 0 16px; }
.woocommerce-products-header__title, .woocommerce .page-title { font-size:28px; font-weight:600; margin:0 0 14px; letter-spacing:-0.02em; }

/* ── WooCommerce base (we disabled Woo's own CSS, so style forms ourselves) ── */
.woocommerce form .form-row,
.woocommerce .woocommerce-form-row { display:block; margin:0 0 16px; padding:0; }
.woocommerce form .form-row label,
.woocommerce .woocommerce-form-row label,
.woocommerce-account .woocommerce-MyAccount-content label { display:block; font-size:13px; color:#374151; margin:0 0 6px; }

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
  width:100%; box-sizing:border-box; border:1px solid #d9dbe3; border-radius:10px;
  padding:11px 13px; min-height:46px; font-size:15px; line-height:1.3;
  background:#fff; color:#0b1020; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus { border-color:#3b5bfd; box-shadow:0 0 0 3px rgba(59,91,253,.15); }
.woocommerce textarea { min-height:110px; }

.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] { width:auto !important; min-height:0 !important; margin-right:8px; accent-color:#3b5bfd; }
.woocommerce-form__label-for-checkbox,
.woocommerce-form-login__rememberme { display:flex; align-items:center; gap:6px; font-size:14px; color:#374151; }

.woocommerce .button,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"] {
  display:inline-block; background:#3b5bfd; color:#fff; border:0; border-radius:9999px;
  padding:.7em 1.6em; font-weight:500; font-size:15px; cursor:pointer; line-height:1.2; text-decoration:none;
}
.woocommerce .button:hover,
.woocommerce button[type="submit"]:hover,
.woocommerce input[type="submit"]:hover { background:#2f49d6; }
.woocommerce .button.alt, .woocommerce .button.disabled { opacity:1; }

/* Login / register cards */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.lost_reset_password {
  background:#fff; border:1px solid #ececf1; border-radius:18px; padding:24px; max-width:440px;
}
.woocommerce form.login p.form-row > .button,
.woocommerce form.register p.form-row > .button { width:100%; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  list-style:none; border-radius:12px; padding:12px 16px; margin:0 0 16px; border:1px solid #ececf1; background:#f7f8fa; color:#374151;
}
.woocommerce-error { border-color:#fca5a5; background:#fef2f2; color:#991b1b; }
.woocommerce-message { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }

/* ── YITH Account Funds — global skin (account endpoints AND standalone deposit page) ── */
.ywf_make_a_deposit_form { background:#fff; border:1px solid #ececf1; border-radius:18px; padding:20px; max-width:460px; }
.ywf_make_a_deposit_form .ekm-deposit-title { display:block; font-weight:500; color:#0b1020; margin-bottom:12px; }
.ywf_make_a_deposit_form form { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0; }
.ywf_make_a_deposit_form p { margin:0; display:flex; align-items:center; border:1px solid #d9dbe3; border-radius:10px; background:#fff; overflow:hidden; width:200px; }
.ywf_make_a_deposit_form p:focus-within { border-color:#3b5bfd; box-shadow:0 0 0 3px rgba(59,91,253,.15); }
.ywf_make_a_deposit_form .ywf_currency_symbol { position:static; color:#9aa0ad; font-size:15px; line-height:1; padding:0 2px 0 14px; }
.ywf_make_a_deposit_form input.ywf_deposit { border:0 !important; box-shadow:none !important; outline:none !important; padding:12px 14px 12px 6px !important; min-height:46px; flex:1; width:auto !important; background:transparent !important; font-size:15px; }
.ywf_make_a_deposit_form input.ywf_deposit:focus { box-shadow:none !important; border:0 !important; }
.ywf_make_a_deposit_form input.ywf_deposit::-webkit-outer-spin-button,
.ywf_make_a_deposit_form input.ywf_deposit::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ywf_make_a_deposit_form .button,
.ywf_button,
.ywf_make_a_deposit_container .button { background:#3b5bfd !important; color:#fff !important; border:0 !important; border-radius:9999px !important; padding:.65em 1.4em !important; box-shadow:none !important; font-weight:500 !important; width:auto !important; }
.ywf_fund_av { font-size:15px; color:#374151; }
.ywf_fund_av .amount { font-weight:600; color:#0b1020; }

.my_funds_history { border:1px solid #ececf1 !important; box-shadow:none !important; border-radius:14px !important; font-size:14px !important; background:#fff !important; }
.my_funds_history thead { display:none !important; }
.my_funds_history tbody, .my_funds_history tr, .my_funds_history td { display:block; }
.my_funds_history tr.order { display:flex !important; align-items:center; flex-wrap:wrap; gap:4px 12px; padding:12px 14px !important; border:0 !important; border-bottom:1px solid #f3f3f6 !important; background:transparent !important; }
.my_funds_history tr.order td { border:0 !important; padding:0 !important; background:transparent !important; }
.my_funds_history td.description { flex:1 1 55%; min-width:0; order:1; }
.my_funds_history td.description p { margin:0; font-size:13px; color:#374151; line-height:1.45; }
.my_funds_history td.log-date { order:3; flex-basis:100%; font-size:12px; color:#9aa0ad; }
.my_funds_history td.deposit-amount { order:2; margin-left:auto; font-size:15px; font-weight:600; white-space:nowrap; }
.my_funds_history td.balance { display:none !important; }
.my_funds_history td span.funds-minus { color:#e03131 !important; font-weight:600 !important; }
.my_funds_history td span.funds-plus { color:#1f9d55 !important; font-weight:600 !important; }
.my_funds_history time { color:#9aa0ad !important; }
.ywf_history_container { background:#fff; border:1px solid #ececf1; border-radius:20px; padding:8px 20px; }
.ekm-tx-filter { display:flex; gap:10px; padding:14px 0 6px; }
.ekm-tx-filter select { border:1px solid #d9dbe3; border-radius:10px; padding:9px 12px; }
.ekm-tx-filterbtn { background:#f3f3f6; border:0; border-radius:10px; padding:9px 16px; cursor:pointer; color:#374151; }
.ekm-tx-list { display:flex; flex-direction:column; }
.ekm-tx { border-bottom:1px solid #f3f3f6; }
.ekm-tx:last-child { border-bottom:0; }
.ekm-tx > summary { list-style:none; cursor:pointer; outline:none; }
.ekm-tx > summary::-webkit-details-marker { display:none; }
.ekm-tx-row { display:flex; align-items:center; gap:14px; padding:14px 2px; }
.ekm-tx-row:hover { background:#fafafe; border-radius:12px; }
.ekm-tx-chev { color:#cfcfd6; font-size:18px; transition:transform .2s; flex:0 0 auto; }
.ekm-tx[open] .ekm-tx-chev { transform:rotate(180deg); }
.ekm-tx-full { padding:2px 2px 16px 60px; font-size:13px; color:#52525b; line-height:1.6; word-break:break-word; }
.ekm-tx-full a { color:#3b5bfd; display:inline-block; margin-top:6px; text-decoration:none; }
.ekm-tx-ico { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; flex:0 0 44px; }
.ekm-tx-ico--green { background:#e6f7ec; color:#1f9d55; }
.ekm-tx-ico--indigo { background:#eef1ff; color:#3b5bfd; }
.ekm-tx-ico--blue { background:#e7ecff; color:#2563eb; }
.ekm-tx-ico--amber { background:#fff1da; color:#b8730a; }
.ekm-tx-ico--gray { background:#f3f3f6; color:#6b7280; }
.ekm-tx-main { flex:1; min-width:0; }
.ekm-tx-title { font-size:15px; font-weight:500; color:#0b1020; }
.ekm-tx-desc { font-size:12.5px; color:#6b7280; line-height:1.4; margin-top:2px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ekm-tx-date { font-size:12px; color:#9aa0ad; margin-top:3px; }
.ekm-tx-right { text-align:right; white-space:nowrap; }
.ekm-tx-amt { font-size:15px; font-weight:600; }
.ekm-tx-amt.is-plus { color:#1f9d55; }
.ekm-tx-amt.is-minus { color:#e03131; }
.ekm-tx-amt .woocommerce-Price-amount { color:inherit; }
.ekm-tx-bal { font-size:11px; color:#9aa0ad; margin-top:2px; }
.ekm-tx-bal .woocommerce-Price-amount { color:inherit; }
.ekm-tx-pagination { padding:14px 0; }
.ekm-tx-empty { color:#9aa0ad; padding:16px 0; }

/* ── YITH "Make a deposit" page (make-a-deposit.php markup) ── */
.make_a_deposit_checkout { max-width:480px; }
.make_a_deposit_checkout .ywf_message_amount { margin-bottom:14px; font-size:14px; color:#374151; }
.make_a_deposit_checkout .ywf_show_form { color:#3b5bfd; margin-left:6px; }
.ywf_make_a_deposit_container { display:flex; gap:18px; align-items:center; background:#fff; border:1px solid #ececf1; border-radius:18px; padding:22px; }
.ywf_make_a_deposit_container .ywf_product_image { flex:0 0 80px; width:80px; }
.ywf_make_a_deposit_container .ywf_product_image img { width:80px; height:80px; object-fit:cover; border-radius:14px; display:block; }
.ywf_make_a_deposit_container .ywf_summary { flex:1; min-width:0; }
.ywf_make_a_deposit_container .ywf_summary h3 { margin:0 0 14px; font-size:17px; font-weight:600; color:#0b1020; }
#make-a-deposit .ywf_amount_input_container { display:flex; flex-direction:column; gap:6px; margin:0 0 14px; }
#make-a-deposit .ywf_amount_input_container label { font-size:13px; color:#6b7280; }
#make-a-deposit .ywf_deposit_content { display:inline-flex; align-items:center; gap:6px; }
#make-a-deposit .ywf_currency_symbol { color:#9aa0ad; }
#make-a-deposit input.ywf_deposit { border:1px solid #d9dbe3 !important; border-radius:10px !important; padding:11px 12px !important; min-height:44px; width:180px; box-shadow:none !important; }
#make-a-deposit .add_a_deposit_button,
.add_a_deposit_button.button { background:#3b5bfd !important; color:#fff !important; border:0 !important; border-radius:9999px !important; padding:.7em 1.5em !important; box-shadow:none !important; font-weight:500 !important; width:auto !important; cursor:pointer; }
.add_a_deposit_button.button:hover { background:#2f49d6 !important; }
@media(max-width:560px){ .ywf_make_a_deposit_container { flex-direction:column; align-items:flex-start; } }
