/* KeyEase Customer Accounts (KeyEase Horizons tokens) */
:root{--keca-ink:#112643;--keca-accent:#1671E8;--keca-accent-p:#125FC3;--keca-muted:#5B6B80;--keca-line:#E5EBF2;--keca-surface:#F5F8FC;--keca-tint:#EFF6FF;--keca-tint-line:#D9E7F8;--keca-card:#fff}
html[data-ke-theme=dark]{--keca-ink:#E6EDF7;--keca-muted:#9FB0C7;--keca-line:#24324A;--keca-surface:#111C2E;--keca-tint:#12233D;--keca-tint-line:#22406A;--keca-card:#0F1A2B;--keca-accent:#3B8BF5}

.keca-card{background:var(--keca-card);border:1px solid var(--keca-line);border-radius:10px;padding:20px 22px;margin:0 0 20px;color:var(--keca-ink);font-family:Manrope,Arial,sans-serif}
.keca-card h2,.keca-card h3{margin:0 0 8px;font-weight:800;letter-spacing:-.01em;color:var(--keca-ink)}
.keca-card h2{font-size:22px}.keca-card h3{font-size:19px}
.keca-lead,.keca-card p{color:var(--keca-muted)}
.keca-note{background:var(--keca-tint);border-color:var(--keca-tint-line)}
.keca-note strong{color:var(--keca-ink)}
.keca-form{margin:14px 0 0}
.keca-form[hidden]{display:none!important}
.keca-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.keca-row{grid-template-columns:1fr}}
.keca-field{margin:0 0 14px!important}
.keca-field label{display:block;font-weight:700;font-size:13px;color:var(--keca-ink);margin:0 0 6px}
.keca-field input,.keca-field select,.keca-field textarea{width:100%;border:1px solid var(--keca-line)!important;border-radius:6px!important;padding:10px 12px!important;background:var(--keca-card)!important;color:var(--keca-ink)!important;font-size:15px;min-height:44px}
.keca-field input:focus,.keca-field select:focus,.keca-field textarea:focus{outline:2px solid var(--keca-accent);outline-offset:1px;border-color:var(--keca-accent)!important}
.keca-field small{display:block;color:var(--keca-muted);font-size:12px;margin-top:4px}
.keca-field input[name=code]{font-size:22px;letter-spacing:8px;font-weight:800;text-align:center;max-width:240px}
.keca-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.keca-btn,.keca-card .button.keca-btn{background:var(--keca-accent)!important;color:#fff!important;border:0!important;border-radius:6px!important;font-weight:700!important;padding:12px 22px!important;min-height:44px;text-transform:none!important;box-shadow:none!important;cursor:pointer}
.keca-btn:hover{background:var(--keca-accent-p)!important}
.keca-btn[disabled]{opacity:.6;cursor:wait}
.keca-btn--ghost,.keca-card .button.keca-btn--ghost{background:transparent!important;color:var(--keca-accent)!important;border:1px solid var(--keca-tint-line)!important}
.keca-btn--ghost:hover{background:var(--keca-tint)!important}
.keca-link{background:none!important;border:0!important;padding:0!important;color:var(--keca-accent)!important;font-weight:600;text-decoration:underline;cursor:pointer;min-height:0!important;font-size:13px}
.keca-msg{margin:10px 0 0!important;font-weight:600;min-height:1em}
.keca-msg.is-error{color:#B42318}.keca-msg.is-ok{color:#17643F}
html[data-ke-theme=dark] .keca-msg.is-error{color:#FDA29B}html[data-ke-theme=dark] .keca-msg.is-ok{color:#75E0A7}
.keca-resend{margin:8px 0 0!important}
.keca-ts-slot:empty{display:none}.keca-ts-slot{margin:0 0 14px}
.keca-perks{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--keca-line);display:grid;gap:6px}
.keca-perks li{padding-left:24px;position:relative;color:var(--keca-muted);font-size:14px}
.keca-perks li:before{content:"";position:absolute;left:0;top:5px;width:14px;height:8px;border-left:2px solid var(--keca-accent);border-bottom:2px solid var(--keca-accent);transform:rotate(-45deg)}

/* my account register next to login */
.woocommerce-account:not(.logged-in) .keca-register{max-width:470px;margin:28px auto 0}

/* checkout */
.keca-co{margin:0 0 16px;padding:14px 16px;border:1px solid var(--keca-tint-line);background:var(--keca-tint);border-radius:10px}
.keca-co__label{display:flex!important;gap:12px;align-items:flex-start;cursor:pointer;margin:0!important;font-size:14px;line-height:1.5;color:var(--keca-ink)}
.keca-co__label input{width:18px;height:18px;margin:2px 0 0!important;flex:0 0 auto;accent-color:var(--keca-accent)}
.keca-co__label small{display:block;color:var(--keca-muted);font-size:13px;margin-top:2px}

/* dashboard */
.keca-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}
@media(max-width:600px){.keca-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}}
.keca-stat{display:block;border:1px solid var(--keca-line);border-radius:10px;padding:16px;background:var(--keca-card);text-decoration:none!important;color:var(--keca-ink)!important}
.keca-stat:hover{border-color:var(--keca-accent)}
.keca-stat strong{display:block;font-size:28px;font-weight:800;line-height:1.1}
.keca-stat span{font-size:13px;color:var(--keca-muted)}
.keca-help{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--keca-tint);border-color:var(--keca-tint-line)}
.keca-help p{margin:4px 0 0}
.keca-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}.keca-head p{margin:0;color:var(--keca-muted)}
.keca-empty{border:1px dashed var(--keca-tint-line);border-radius:10px;padding:22px;text-align:center;color:var(--keca-muted)}
.keca-muted{color:var(--keca-muted)}
.keca-actions{display:flex;gap:10px;flex-wrap:wrap}

/* licenses */
.keca-keys{display:grid;gap:12px}
.keca-key{border:1px solid var(--keca-line);border-radius:10px;padding:16px;background:var(--keca-card)}
.keca-key__top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;color:var(--keca-ink)}
.keca-key__top a{font-size:13px}
.keca-key__row{display:flex;gap:8px;flex-wrap:wrap}
.keca-key__row code{flex:1 1 240px;background:var(--keca-tint);border:1px dashed var(--keca-tint-line);border-radius:6px;padding:10px 12px;font-size:16px;font-weight:700;letter-spacing:1px;color:var(--keca-accent);word-break:break-all}
.keca-copy{border:0;border-radius:6px;background:var(--keca-accent);color:#fff;font-weight:700;padding:0 16px;min-height:44px;cursor:pointer}
.keca-key__meta{margin-top:8px;font-size:13px;color:var(--keca-muted)}

/* support */
.keca-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.keca-badge--open{background:#FEF3C7;color:#92400E}.keca-badge--answered{background:#E0EDFF;color:#125FC3}.keca-badge--resolved{background:#DCFCE7;color:#166534}.keca-badge--closed{background:#EEF2F6;color:#475569}
.keca-thread-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.keca-thread-head small{color:var(--keca-muted)}
.keca-thread{display:flex;flex-direction:column;gap:10px;margin:0 0 20px}
.keca-msgb{max-width:85%;background:var(--keca-surface);border:1px solid var(--keca-line);border-radius:10px;padding:12px 14px;color:var(--keca-ink)}
.keca-msgb--mine{align-self:flex-end;background:var(--keca-tint);border-color:var(--keca-tint-line)}
.keca-msgb__who{font-size:12px;color:var(--keca-muted);margin-bottom:4px}
.keca-msgb img{display:block;max-width:240px;margin-top:8px;border-radius:6px}
.keca-table .button{padding:6px 14px!important}

/* dark mode: the logo files have a white background and navy ink, so invert them (hue kept) */
html[data-ke-theme=dark] .wd-logo img,html[data-ke-theme=dark] .site-logo img,html[data-ke-theme=dark] .footer-container img[src*="logo" i],html[data-ke-theme=dark] .wd-prefooter img[src*="logo" i]{filter:invert(1) hue-rotate(180deg) brightness(1.1)}

/* desktop header: keep the menu on one line (Italian labels are longer) and let the search shrink */
@media(min-width:1025px){
.whb-general-header .whb-col-center .wd-nav{flex-wrap:nowrap!important}
.whb-general-header .whb-col-center .wd-nav>li{white-space:nowrap}
.whb-general-header .whb-col-center .wd-nav>li>a{padding-left:9px!important;padding-right:9px!important}
.whb-general-header .ke-hdr-tools{margin:0 2px 0 4px!important;gap:4px!important}
.whb-general-header .whb-col-left{flex:0 0 auto!important}
.whb-general-header .whb-col-center{flex:1 1 auto!important;min-width:0}
.whb-general-header .whb-col-right{flex:0 0 auto!important}
}
.whb-general-header .wd-header-search-form form.searchform{width:100%!important}
@media(min-width:1025px) and (max-width:1365px){.whb-general-header .wd-header-search-form{width:160px!important;max-width:160px!important}.whb-general-header .whb-col-center .wd-nav>li>a{padding-left:6px!important;padding-right:6px!important}}
@media(min-width:1025px) and (max-width:1249px){.whb-general-header .wd-header-search-form{display:none!important}.whb-general-header .whb-col-center .wd-nav>li>a{font-size:15px!important}}

/* header controls */
.ke-hdr-tools{display:flex!important;align-items:center;gap:6px;margin:0 4px 0 10px}
.whb-mobile-right .ke-hdr-tools{margin:0 2px 0 0;gap:2px}
.whb-mobile-right .ke-theme-toggle,.whb-mobile-right .ke-account-link{border:0;width:36px;height:36px}
.ke-theme-toggle,.ke-account-link{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;border:1px solid var(--line,#E5EBF2);background:transparent;color:inherit;cursor:pointer;padding:0;transition:background .2s}
.ke-theme-toggle:hover,.ke-account-link:hover{background:var(--light,#F5F8FC)}
.ke-theme-toggle:focus-visible,.ke-account-link:focus-visible{outline:2px solid #1671E8;outline-offset:2px}
.ke-theme-toggle svg,.ke-account-link svg{flex:0 0 auto;width:19px!important;min-width:19px;height:19px}
.ke-theme-toggle .ke-tt-sun{display:none}
html[data-ke-theme=dark] .ke-theme-toggle .ke-tt-sun{display:block}
html[data-ke-theme=dark] .ke-theme-toggle .ke-tt-moon{display:none}
.ke-theme-toggle--float{position:fixed;left:16px;bottom:16px;z-index:9990;background:#fff;color:#112643;box-shadow:0 4px 14px rgba(17,38,67,.15);width:44px;height:44px;border-radius:50%}
html[data-ke-theme=dark] .ke-theme-toggle--float{background:#16233A;color:#E6EDF7;border-color:#24324A}
@media(prefers-reduced-motion:reduce){.ke-theme-toggle,.ke-account-link{transition:none}}
