/* Kadiner account/wallet/OTP UI — mirrors the theme's account template: white cards rounded 2rem, gray-100 borders, #FFD700 brand, #0A0A0A ink. */
:root{--kd-ink:#0A0A0A;--kd-muted:#6b7280;--kd-line:#f3f4f6;--kd-line-strong:#e5e7eb;--kd-surface:#fff;--kd-soft:#f9fafb;--kd-yellow:#FFD700;--kd-yellow-soft:rgba(255,215,0,.1);--kd-yellow-line:rgba(255,215,0,.25);--kd-green:#15803d;--kd-red:#b91c1c}
html.dark{--kd-ink:var(--kd-text-primary,#F5F5F7);--kd-muted:var(--kd-text-muted,#858590);--kd-line:var(--kd-border,#32323C);--kd-line-strong:var(--kd-border,#32323C);--kd-surface:var(--kd-bg-card,#212128);--kd-soft:var(--kd-bg-secondary,#19191F);--kd-green:#4ade80;--kd-red:#f87171}

/* ---------- Auth (OTP + password) ---------- */
.kd-auth{color:var(--kd-ink);text-align:right}.kd-auth [hidden]{display:none!important}
.kd-auth-heading h2{font-size:24px;font-weight:900;margin:0 0 8px}.kd-auth-heading p{color:var(--kd-muted);font-size:14px;margin:0 0 24px}
.kd-auth p,.kd-wallet p{line-height:1.9}
.kd-auth label,.kd-wallet label{display:block;font-size:14px;font-weight:700;margin-bottom:16px;color:var(--kd-ink)}
.kd-auth input,.kd-wallet input:not([type=hidden]),.kd-wallet select{display:block;box-sizing:border-box;width:100%;min-height:52px;border:1px solid var(--kd-line-strong);border-radius:16px;background:var(--kd-soft);color:var(--kd-ink);padding:12px 16px;margin-top:8px;font:inherit;transition:border-color .2s,box-shadow .2s,background .2s}
.kd-auth input:focus,.kd-wallet input:focus,.kd-wallet select:focus{outline:0;border-color:var(--kd-yellow);background:var(--kd-surface);box-shadow:0 0 0 4px var(--kd-yellow-soft)}
.kd-auth input[dir=ltr]{text-align:left}
.kd-auth input[name=code]{font-size:24px;letter-spacing:.5em;text-align:center;font-weight:800}
.kd-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:52px;background:var(--kd-yellow)!important;color:#0A0A0A!important;border:0;border-radius:16px;padding:12px 24px;font:inherit;font-weight:800;text-align:center;cursor:pointer;box-shadow:0 10px 20px -10px rgba(255,215,0,.8);transition:transform .15s,filter .2s}
.kd-primary:hover{filter:brightness(.95)}.kd-primary:active{transform:scale(.98)}.kd-primary:disabled{opacity:.6;cursor:wait}
.kd-auth .kd-primary{width:100%;margin-top:8px}
.kd-link{background:none;border:0;padding:4px 0;color:var(--kd-ink);font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-decoration-color:var(--kd-yellow);text-decoration-thickness:2px;text-underline-offset:6px;cursor:pointer}
.kd-link:disabled{opacity:.5;cursor:default}
.kd-password-toggle{display:block;margin:20px auto 0}
.kd-auth-tools{display:flex;justify-content:space-between;gap:12px;margin:8px 0 16px}
.kd-auth-status{font-size:13px;color:var(--kd-muted);margin:12px 0 0;min-height:24px}.kd-auth-status[data-error=true]{color:var(--kd-red);font-weight:700}
.kd-auth form.kd-password{border:0;padding:0;margin:24px 0 0;float:none;width:100%;text-align:right}
.kd-password a{display:block;margin-top:16px;text-align:center}
.kd-auth :focus-visible,.kd-wallet :focus-visible,.kd-checkout-login summary:focus-visible,.kd-stat-card:focus-visible{outline:3px solid #2563eb;outline-offset:3px}

/* ---------- Checkout login (collapsible card) ---------- */
.kd-checkout-login{background:var(--kd-surface);border:1px solid var(--kd-line);border-radius:2rem;box-shadow:0 1px 2px rgba(0,0,0,.05);margin:0 0 32px;overflow:hidden}
.kd-checkout-login summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;color:var(--kd-ink)}
.kd-checkout-login summary::-webkit-details-marker{display:none}
.kd-checkout-login summary::after{content:"";flex:none;width:10px;height:10px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-top:-4px}
.kd-checkout-login[open] summary::after{transform:rotate(135deg);margin-top:4px}
.kd-checkout-login summary strong{display:block;font-weight:900}.kd-checkout-login summary small{display:block;color:var(--kd-muted);font-size:13px;margin-top:4px;line-height:1.8}
.kd-checkout-login .kd-auth{max-width:440px;padding:0 24px 24px}
.kd-checkout-login .kd-auth-heading{display:none}

/* ---------- Dashboard stat card (matches the two existing cards) ---------- */
.kd-stat-card{display:flex;align-items:center;gap:16px;background:var(--kd-surface);padding:20px;border-radius:2rem;border:1px solid var(--kd-line);box-shadow:0 1px 2px rgba(0,0,0,.05);color:var(--kd-ink);text-decoration:none;transition:box-shadow .2s,border-color .2s}
.kd-stat-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border-color:var(--kd-yellow-line)}
.kd-stat-card__icon{display:flex;flex:none;align-items:center;justify-content:center;width:56px;height:56px;border-radius:1rem;background:var(--kd-yellow-soft);border:1px solid var(--kd-yellow-line);color:var(--kd-ink)}
.kd-stat-card__value{display:block;font-size:20px;font-weight:900;line-height:1.5}.kd-stat-card__value .woocommerce-Price-currencySymbol{font-size:12px;font-weight:700;margin-inline-start:4px}
.kd-stat-card__label{display:block;font-size:12px;font-weight:700;color:var(--kd-muted)}
.kd-icon{width:24px;height:24px}

/* ---------- Wallet page ---------- */
.kd-wallet{color:var(--kd-ink)}
.kd-wallet-hero{display:flex;align-items:center;gap:20px;background:#0A0A0A;color:#fff;border-radius:2rem;padding:28px;margin-bottom:24px;box-shadow:0 20px 25px -5px rgba(0,0,0,.15);position:relative;overflow:hidden}
.kd-wallet-hero::after{content:"";position:absolute;left:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:rgba(255,215,0,.12);pointer-events:none}
html.dark .kd-wallet-hero{background:var(--kd-bg-card,#212128);border:1px solid var(--kd-border,#32323C)}
.kd-wallet-hero__icon{display:flex;flex:none;align-items:center;justify-content:center;width:64px;height:64px;border-radius:1.25rem;background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.25);color:#FFD700}
.kd-wallet-hero__icon .kd-icon{width:28px;height:28px}
.kd-wallet-hero__label{display:block;font-size:13px;font-weight:700;color:#9ca3af}
.kd-wallet-hero__amount{display:block;font-size:30px;font-weight:900;color:#FFD700;line-height:1.5}
.kd-wallet-hero__amount .woocommerce-Price-currencySymbol{font-size:14px;color:#fff;margin-inline-start:6px}
.kd-wallet-panel{background:var(--kd-surface);border:1px solid var(--kd-line);border-radius:2rem;padding:24px 28px;margin:0 0 24px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.kd-wallet-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:900;margin:0 0 16px;color:var(--kd-ink)}
.kd-wallet-title__bar{width:8px;height:28px;border-radius:999px;background:var(--kd-yellow)}
.kd-wallet-note{color:var(--kd-muted);font-size:14px;margin:0 0 16px}
.kd-topup{max-width:520px}
.kd-topup input[name=amount]{font-size:20px;font-weight:800;text-align:left;letter-spacing:.03em}
.kd-topup-presets{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 8px}
.kd-chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:999px;border:1px solid var(--kd-line-strong);background:var(--kd-soft);color:var(--kd-ink);font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}
.kd-chip:hover,.kd-chip[aria-pressed=true]{background:var(--kd-yellow-soft);border-color:var(--kd-yellow)}
.kd-topup-hint{font-size:12px;color:var(--kd-muted);margin:0 0 16px}
.kd-topup-preview{font-size:13px;font-weight:700;color:var(--kd-ink);margin:-8px 0 16px;min-height:20px}
.kd-topup .kd-primary{min-width:220px}
.kd-table-scroll{overflow-x:auto;border:1px solid var(--kd-line);border-radius:1rem}
.kd-wallet table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap;margin:0}
.kd-wallet th,.kd-wallet td{padding:14px 16px;text-align:right;border-bottom:1px solid var(--kd-line);background:transparent}
.kd-wallet tbody tr:last-child td{border-bottom:0}
.kd-wallet th{font-size:12px;font-weight:800;color:var(--kd-muted);background:var(--kd-soft)}
.kd-wallet td a{color:var(--kd-ink);font-weight:700}
.kd-amount{font-weight:800;direction:rtl}.kd-amount.is-credit{color:var(--kd-green)}.kd-amount.is-debit{color:var(--kd-red)}
.kd-badge{display:inline-block;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:800;background:var(--kd-soft);color:var(--kd-ink);border:1px solid var(--kd-line)}
.kd-badge--topup,.kd-badge--admin_credit{background:rgba(34,197,94,.1);color:var(--kd-green);border-color:rgba(34,197,94,.2)}
.kd-badge--purchase{background:var(--kd-yellow-soft);border-color:var(--kd-yellow-line)}
.kd-badge--refund{background:rgba(59,130,246,.1);color:#2563eb;border-color:rgba(59,130,246,.2)}
.kd-wallet-empty{text-align:center;padding:32px 16px;border:1px dashed var(--kd-line-strong);border-radius:1rem;background:var(--kd-soft);color:var(--kd-muted)}
.kd-wallet-empty .kd-icon{width:40px;height:40px;opacity:.5;margin-bottom:8px}
.kd-wallet-empty p{margin:0;font-size:14px;font-weight:700}
.kd-pager{display:flex;justify-content:center;gap:8px;margin-top:16px}

/* ---------- Wallet gateway box on checkout ---------- */
.kd-pay-wallet{border:1px solid var(--kd-yellow-line);background:var(--kd-yellow-soft);border-radius:1rem;padding:16px;color:var(--kd-ink)}
.kd-pay-wallet span{display:block;font-size:12px;font-weight:700;color:var(--kd-muted)}
.kd-pay-wallet strong{display:block;font-size:20px;font-weight:900}
.kd-pay-wallet p{font-size:13px;margin:8px 0;line-height:1.8}
.kd-pay-wallet.is-short{border-color:rgba(185,28,28,.3);background:rgba(185,28,28,.06)}.kd-pay-wallet.is-short p{color:var(--kd-red);font-weight:700}

@media(max-width:480px){.kd-wallet-panel{padding:20px 16px;border-radius:1.5rem}.kd-wallet-hero{padding:20px;gap:14px;border-radius:1.5rem}.kd-wallet-hero__icon{width:52px;height:52px}.kd-wallet-hero__amount{font-size:24px}.kd-topup .kd-primary{width:100%}.kd-checkout-login summary{padding:16px 18px}.kd-checkout-login .kd-auth{padding:0 18px 18px}}
@media(prefers-reduced-motion:reduce){.kd-primary,.kd-chip,.kd-stat-card,.kd-checkout-login summary::after{transition:none}}

/* ---------- Refund notice (checkout) ---------- */
.kd-refund-notice{background:var(--kd-yellow-soft);border:1px solid var(--kd-yellow-line);border-radius:1.5rem;padding:16px 20px;color:var(--kd-ink);font-size:13px;line-height:2}
.kd-refund-notice strong{display:flex;align-items:center;gap:8px;font-weight:900;font-size:14px;margin-bottom:4px}
.kd-refund-notice strong::before{content:"";width:6px;height:18px;border-radius:999px;background:var(--kd-yellow)}
.kd-refund-notice p{margin:0;color:var(--kd-muted)}.kd-refund-notice b{color:var(--kd-ink)}
.kd-refund-notice__more{margin-top:6px!important}.kd-refund-notice__more a{color:var(--kd-ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--kd-yellow);text-decoration-thickness:2px;text-underline-offset:5px}

/* ---------- Dark mode: login page (card stayed white while its text turned light) ---------- */
html.dark .kd-original-login{color:var(--kd-text-primary,#F5F5F7)}
html.dark .kd-original-login .kd-original-main{background:radial-gradient(circle at 70% 15%,rgba(253,207,0,.18),transparent 55%),linear-gradient(160deg,#121217,#19191F);animation:none}
html.dark .kd-original-login .kd-original-card{background:var(--kd-bg-card,#212128);border:1px solid var(--kd-border,#32323C);box-shadow:0 25px 50px -12px rgba(0,0,0,.6)}
html.dark .kd-original-login .kd-original-back{background:rgba(255,255,255,.08);color:var(--kd-text-primary,#F5F5F7);border:1px solid var(--kd-border,#32323C)}
html.dark .kd-original-login .kd-original-video{background:#0f0f13}

/* ---------- Checkout: no card-inside-card on phones/tablets (the Claude terms had ~180px of width) ---------- */
@media(max-width:1023px){
  .kadiner-payment-container .woocommerce-checkout-payment,
  #order_review .woocommerce-checkout-review-order-table{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
}
.form-row.place-order .kadiner-claude-terms{width:100%;max-width:100%}
html.dark .kd-original-card .kd-auth form,html.dark .kd-checkout-login .kd-auth form{background:transparent!important;border:0!important;box-shadow:none!important}

/* Site-wide dark-mode fixes (same block as in dark-mode.css; delivered here because this file loads after it on every page). */
/* =====================================================================
   Dark-mode fixes — Claude review 2026-10-14 (audited on live kadiner.ir)
   ===================================================================== */

/* Yellow (brand) surfaces always carry dark text; light text on #FDCF00 was unreadable. */
html.dark .bg-brand *,
html.dark .bg-brand.text-black,
html.dark .woocommerce-mini-cart__buttons .button,
html.dark .woocommerce-mini-cart__buttons .button * {
    color: #0A0A0A !important;
}
/* Drawers color every link/button light via ID selectors; yellow buttons inside them need the same weight. */
html.dark #cart-drawer .bg-brand, html.dark #cart-drawer .bg-brand *,
html.dark #cart-drawer .woocommerce-mini-cart__buttons .button, html.dark #cart-drawer .woocommerce-mini-cart__buttons .button *,
html.dark #search-drawer .bg-brand, html.dark #search-drawer .bg-brand *,
html.dark #mobile-drawer .bg-brand, html.dark #mobile-drawer .bg-brand *,
html.dark body > .fixed.bottom-0.bg-white .bg-brand, html.dark body > .fixed.bottom-0.bg-white .bg-brand * {
    color: #0A0A0A !important;
}

/* Inline-colored text pasted in widgets/content (e.g. footer) must stay readable. */
html.dark mark.has-inline-color {
    color: inherit !important;
    background: transparent !important;
}

/* Drawer close buttons */
html.dark #mobile-drawer button[aria-label^="بستن"],
html.dark #cart-drawer button[aria-label^="بستن"],
html.dark #search-drawer button[aria-label^="بستن"] {
    color: var(--kd-text-primary) !important;
    background-color: var(--kd-bg-hover) !important;
}

/* Blog pagination */
html.dark .page-numbers {
    background-color: var(--kd-bg-card) !important;
    color: var(--kd-text-primary) !important;
    border-color: var(--kd-border) !important;
}
html.dark .page-numbers.current {
    background-color: var(--kd-brand) !important;
    color: #0A0A0A !important;
}

/* WooCommerce form labels / descriptions (checkout, account, address) */
html.dark .woocommerce form .form-row label,
html.dark .woocommerce-checkout label,
html.dark .woocommerce-form-row label {
    color: var(--kd-text-secondary) !important;
}
html.dark .woocommerce form .form-row .required { color: #f87171 !important; }
html.dark .woocommerce form .form-row .optional,
html.dark .woocommerce-privacy-policy-text,
html.dark .woocommerce-privacy-policy-text p {
    color: var(--kd-text-muted) !important;
}
html.dark .woocommerce-privacy-policy-text a { color: var(--kd-brand) !important; }
html.dark .select2-container--default .select2-selection--single,
html.dark .select2-dropdown {
    background-color: var(--kd-bg-secondary) !important;
    border-color: var(--kd-border) !important;
}
html.dark .select2-container--default .select2-selection--single .select2-selection__rendered,
html.dark .select2-results__option { color: var(--kd-text-primary) !important; }
html.dark .select2-results__option--highlighted { background-color: var(--kd-bg-hover) !important; }

/* Claude purchase terms (product page + checkout) */
html.dark .kadiner-claude-terms {
    background: rgba(253, 207, 0, .06) !important;
    border-color: rgba(253, 207, 0, .3) !important;
    color: var(--kd-text-secondary) !important;
}
html.dark .kadiner-claude-terms__heading,
html.dark .kadiner-claude-terms__heading *:not(.kadiner-claude-terms__icon) {
    color: var(--kd-brand) !important;
}
html.dark .kadiner-claude-terms__icon {
    background: rgba(253, 207, 0, .15) !important;
    border-color: rgba(253, 207, 0, .45) !important;
    color: var(--kd-brand) !important;
}
html.dark .kadiner-claude-terms__lead,
html.dark .kadiner-claude-terms__policy,
html.dark .kadiner-claude-terms__policy p {
    color: var(--kd-text-secondary) !important;
}
html.dark .kadiner-claude-terms__details {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(253, 207, 0, .25) !important;
}
html.dark .kadiner-claude-terms__details summary {
    background: transparent !important;
    color: var(--kd-brand) !important;
}
html.dark .kadiner-claude-terms__hint { color: var(--kd-text-muted) !important; }
html.dark .kadiner-claude-terms__confirm {
    background: var(--kd-bg-secondary) !important;
    border-color: rgba(253, 207, 0, .45) !important;
    color: var(--kd-text-primary) !important;
}
html.dark .kadiner-claude-terms__confirm span { color: var(--kd-text-primary) !important; }
html.dark .kadiner-claude-terms__confirm b { color: var(--kd-brand) !important; }
html.dark .kadiner-claude-terms__confirm input[type=checkbox] { accent-color: #FDCF00; }

/* Blog articles with embedded "kadiner-editorial" styles */
html.dark .kadiner-editorial { color: var(--kd-text-secondary) !important; }
html.dark .kadiner-editorial h2,
html.dark .kadiner-editorial h3,
html.dark .kadiner-editorial h4,
html.dark .kadiner-editorial strong { color: var(--kd-text-primary) !important; }
html.dark .kadiner-editorial > p:first-of-type,
html.dark .kadiner-editorial .kadiner-highlight-box,
html.dark .kadiner-editorial blockquote {
    background: rgba(253, 207, 0, .07) !important;
    color: var(--kd-text-secondary) !important;
}
html.dark .kadiner-editorial > p:first-of-type strong,
html.dark .kadiner-editorial .kadiner-highlight-box strong { color: var(--kd-brand) !important; }
html.dark .kadiner-editorial .kadiner-section-card,
html.dark .kadiner-editorial .kadiner-toc,
html.dark .kadiner-editorial .kadiner-person-card {
    background: var(--kd-bg-card) !important;
    border-color: var(--kd-border) !important;
}
html.dark .kadiner-editorial .kadiner-section-card > h2:first-child,
html.dark .kadiner-editorial tr:nth-child(2n) td {
    background: var(--kd-bg-secondary) !important;
    color: var(--kd-text-primary) !important;
}
html.dark .kadiner-editorial .kadiner-image-card figcaption {
    background: var(--kd-bg-secondary) !important;
    color: var(--kd-text-muted) !important;
}
html.dark .kadiner-editorial .kadiner-toc summary { color: var(--kd-text-primary) !important; }
html.dark .kadiner-editorial td,
html.dark .kadiner-editorial .kadiner-table-wrapper { border-color: var(--kd-border) !important; }
html.dark .kadiner-editorial th { background: #0f0f13 !important; color: #F5F5F7 !important; }
html.dark .kadiner-editorial a { color: #c4b5fd !important; }
html.dark .kadiner-editorial .kadiner-auto-cta__button { background: var(--kd-brand) !important; color: #0A0A0A !important; }

/* Footer block widgets and login form background */
html.dark footer .wp-block-archives a,
html.dark footer .wp-block-categories a,
html.dark footer .wp-block-latest-posts a { color: var(--kd-text-secondary) !important; }

/* Auto FAQ block at the end of articles */
html.dark .kadiner-auto-faq details,
html.dark .kadiner-auto-faq details summary {
    background: var(--kd-bg-secondary) !important;
    color: var(--kd-text-primary) !important;
    border-color: var(--kd-border) !important;
}
html.dark .kadiner-auto-faq__answer,
html.dark .kadiner-auto-faq__answer * { color: var(--kd-text-secondary) !important; }


/* The site's dark-mode.css swaps the logo for white-fa.png, which does not exist on the server (404),
   so the header logo broke/shrank in dark mode. Keep the normal logo instead. */
html.dark #site-header .logo-kdnr,
html.dark .bg-animated-gradient img[alt="لوگو کادینر"] {
    content: normal !important;
}
