.ecc-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:24px;margin:0 0 20px;box-sizing:border-box}.ecc-auth-card{max-width:520px}.ecc-card h1,.ecc-card h2,.ecc-card h3{margin-top:0}.ecc-card form label{display:block;font-weight:600;margin:0 0 16px}.ecc-card input[type=text],.ecc-card input[type=email],.ecc-card input[type=password],.ecc-card input[type=number],.ecc-card select,.ecc-card textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:11px 12px;border:1px solid #d8d8d8;border-radius:9px;background:#fff}.ecc-button{display:inline-block;border:0;border-radius:10px;padding:11px 18px;background:#111827;color:#fff;text-decoration:none;cursor:pointer;font-weight:600}.ecc-notice{padding:12px 16px;border-radius:10px;margin:0 0 16px}.ecc-error{background:#fff0f0;color:#a11}.ecc-success{background:#effaf1;color:#176b2a}.ecc-muted{color:#737373}.ecc-checkbox{font-weight:400!important}.ecc-profile-header{display:flex;gap:20px;align-items:center}.ecc-avatar img{border-radius:50%}.ecc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.ecc-stats>div{background:#f7f7f7;border-radius:14px;padding:20px;text-align:center}.ecc-stats strong,.ecc-stats span{display:block}.ecc-stats strong{font-size:26px}.ecc-stats span{color:#777;margin-top:4px}.ecc-collection-item{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #eee}.ecc-collection-item:last-child{border-bottom:0}.ecc-inline-form{display:inline}.ecc-link-button{border:0;background:none;padding:0;cursor:pointer;text-decoration:underline}.ecc-form-message{margin-top:12px}.ecc-add-coin{max-width:460px}
/* Koinea identity — royal blue + Euro-star gold */
.ecc-profile, .ecc-auth-card, .ecc-add-coin {--ecc-blue:#071b91;--ecc-gold:#e2cb00;--ecc-ink:#18244a;--ecc-bg:#f2f5fc;--ecc-line:#e2e7f2;color:var(--ecc-ink);font-family:inherit}
.ecc-profile{max-width:1200px;margin:12px auto 60px}
.ecc-profile-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(110deg,#091b8e 0%,#0d32b0 100%);padding:38px 42px 44px;color:#fff;margin-bottom:18px}
.ecc-profile-hero:after{content:"✦";position:absolute;right:36px;top:-60px;color:rgba(226,203,0,.22);font-size:220px;line-height:1;pointer-events:none}
.ecc-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--ecc-blue);margin-bottom:16px}
.ecc-profile-hero .ecc-eyebrow{color:var(--ecc-gold)}
.ecc-profile-identity{display:flex;align-items:center;gap:26px;position:relative;z-index:1}
.ecc-profile-intro{flex:1;min-width:0}
.ecc-profile-intro h1{color:#fff!important;font-size:clamp(28px,3vw,42px);line-height:1.2;margin:0 0 8px}
.ecc-avatar{flex:0 0 auto}
.ecc-avatar .ecc-profile-photo{width:112px;height:112px;object-fit:cover;border-radius:50%;border:4px solid var(--ecc-gold);background:#fff;display:block}
.ecc-country{color:#f4e78b;font-weight:700;font-size:15px}
.ecc-bio{margin:10px 0 0;color:#e9edff;max-width:600px}
.ecc-outline-button{border:1px solid rgba(255,255,255,.75);padding:10px 18px;border-radius:9px;color:#fff!important;text-decoration:none;font-weight:700;white-space:nowrap}
.ecc-outline-button:hover{background:#fff;color:var(--ecc-blue)!important}
.ecc-profile .ecc-stats{gap:16px;margin:0 0 18px}
.ecc-profile .ecc-stat{background:#fff;border:1px solid var(--ecc-line);border-radius:16px;padding:25px 16px;box-shadow:0 5px 20px rgba(7,27,145,.04)}
.ecc-stat-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fefbe5;color:#a58c00;border-radius:12px;font-size:24px;margin:0 auto 13px}
.ecc-profile .ecc-stat strong{font-size:34px;color:var(--ecc-blue);line-height:1.1}
.ecc-profile .ecc-stat span{color:#59647c;margin-top:7px;font-size:14px}
.ecc-profile-links{margin-bottom:24px}
.ecc-button{background:var(--ecc-blue,#071b91);color:#fff!important;transition:background .15s}
.ecc-button:hover{background:#0d32b0;color:#fff}
.ecc-profile .ecc-edit-panel{border:1px solid var(--ecc-line);border-top:4px solid var(--ecc-gold);padding:34px 38px;box-shadow:0 5px 24px rgba(7,27,145,.04)}
.ecc-edit-panel h2{color:var(--ecc-blue);font-size:27px}
.ecc-edit-panel form{max-width:700px}
.ecc-edit-panel label{color:var(--ecc-ink)}
.ecc-hint{font-weight:400;color:#68738b;font-size:12px;margin-left:8px}
.ecc-edit-panel input:focus,.ecc-edit-panel textarea:focus{outline:2px solid var(--ecc-gold);border-color:var(--ecc-blue)}
.ecc-edit-panel input[type=file]{display:block;margin-top:9px;font-weight:400}
.ecc-auth-card{border-top:4px solid var(--ecc-gold)}
.ecc-auth-card h2{color:var(--ecc-blue)}
@media(max-width:700px){.ecc-profile-hero{padding:26px 20px}.ecc-profile-identity{align-items:flex-start;gap:16px;flex-wrap:wrap}.ecc-avatar .ecc-profile-photo{width:76px;height:76px}.ecc-edit-jump{width:100%;text-align:center}.ecc-profile .ecc-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ecc-profile .ecc-stat{padding:16px 6px}.ecc-profile .ecc-stat strong{font-size:25px}.ecc-profile .ecc-stat span{font-size:11px}.ecc-profile .ecc-edit-panel{padding:24px 18px}}

/* =========================================================
   KOINEA DESIGN SYSTEM
   Use these classes across all Koinea frontend components.
   ========================================================= */
:root{
  --koinea-blue:#071b91;
  --koinea-blue-2:#0d32b0;
  --koinea-blue-3:#eaf0ff;
  --koinea-gold:#e2cb00;
  --koinea-gold-soft:#fffbea;
  --koinea-ink:#18244a;
  --koinea-muted:#66728c;
  --koinea-bg:#f3f6fc;
  --koinea-white:#ffffff;
  --koinea-border:#dfe6f3;
  --koinea-radius:16px;
  --koinea-radius-sm:10px;
  --koinea-shadow:0 6px 24px rgba(7,27,145,.06);
}

/* Shared headings */
.koinea-ui h1,
.koinea-ui h2,
.koinea-ui h3,
.koinea-ui h4,
.ecc-profile h1,
.ecc-profile h2,
.ecc-profile h3,
.ecc-auth-card h1,
.ecc-auth-card h2,
.ecc-auth-card h3,
.ecc-card h1,
.ecc-card h2,
.ecc-card h3{
  color:var(--koinea-blue);
  font-weight:700;
  letter-spacing:-.02em;
}
.koinea-ui h1{font-size:clamp(32px,4vw,48px);line-height:1.12}
.koinea-ui h2{font-size:30px;line-height:1.2}
.koinea-ui h3{font-size:21px;line-height:1.3}

.koinea-eyebrow,
.ecc-eyebrow{
  color:var(--koinea-blue);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Shared buttons */
.koinea-button,
.ecc-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  box-sizing:border-box;
  padding:0 19px;
  border:1px solid var(--koinea-blue);
  border-radius:var(--koinea-radius-sm);
  background:var(--koinea-blue);
  color:#fff!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.koinea-button:hover,
.ecc-button:hover{
  background:var(--koinea-blue-2);
  border-color:var(--koinea-blue-2);
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(7,27,145,.16);
}
.koinea-button:focus-visible,
.ecc-button:focus-visible{
  outline:3px solid rgba(226,203,0,.55);
  outline-offset:2px;
}

.koinea-button--secondary,
.ecc-outline-button{
  background:#fff;
  color:var(--koinea-blue)!important;
  border-color:var(--koinea-blue);
}
.koinea-button--secondary:hover,
.ecc-outline-button:hover{
  background:var(--koinea-blue-3);
  color:var(--koinea-blue)!important;
}

.koinea-button--gold{
  background:var(--koinea-gold);
  border-color:var(--koinea-gold);
  color:var(--koinea-blue)!important;
}
.koinea-button--gold:hover{
  background:#f0dc00;
  border-color:#f0dc00;
  color:var(--koinea-blue)!important;
}

.koinea-button--small{
  min-height:38px;
  padding:0 14px;
  font-size:13px;
  border-radius:8px;
}

/* Shared cards / panels */
.koinea-card,
.ecc-card{
  background:var(--koinea-white);
  border:1px solid var(--koinea-border);
  border-radius:var(--koinea-radius);
  box-shadow:var(--koinea-shadow);
}
.koinea-card--accent{
  border-top:4px solid var(--koinea-gold);
}
.koinea-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.koinea-section-head h2{
  margin:5px 0 0;
}

/* Shared forms */
.koinea-form label,
.ecc-card form label{
  color:var(--koinea-ink);
  font-size:14px;
  font-weight:700;
}
.koinea-form input,
.koinea-form select,
.koinea-form textarea,
.ecc-card input[type=text],
.ecc-card input[type=email],
.ecc-card input[type=password],
.ecc-card input[type=number],
.ecc-card select,
.ecc-card textarea{
  color:var(--koinea-ink);
  border:1px solid var(--koinea-border);
  border-radius:9px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.koinea-form input:focus,
.koinea-form select:focus,
.koinea-form textarea:focus,
.ecc-card input:focus,
.ecc-card select:focus,
.ecc-card textarea:focus{
  border-color:var(--koinea-blue);
  box-shadow:0 0 0 3px rgba(7,27,145,.08);
  outline:none;
}

/* Status pills */
.koinea-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--koinea-blue-3);
  color:var(--koinea-blue);
  font-size:12px;
  font-weight:800;
}
.koinea-pill--gold{
  background:var(--koinea-gold-soft);
  color:#806e00;
}
.koinea-pill--success{
  background:#edf9f0;
  color:#18733a;
}

/* Plugin page background */
.koinea-page{
  color:var(--koinea-ink);
  background:var(--koinea-bg);
}

/* Auth pages */
.ecc-auth-card{
  border-top:4px solid var(--koinea-gold);
  border-radius:var(--koinea-radius);
  box-shadow:var(--koinea-shadow);
}
.ecc-auth-card .ecc-button{width:100%;margin-top:5px}
.ecc-auth-card a{color:var(--koinea-blue);font-weight:700}

/* Collection item */
.ecc-collection-item{
  border-bottom:1px solid var(--koinea-border);
}
.ecc-collection-item a{color:var(--koinea-blue);text-decoration:none}
.ecc-collection-item a:hover{text-decoration:underline}

/* Responsive shared rules */
@media(max-width:700px){
  .koinea-section-head{display:block}
  .koinea-button,.ecc-button{width:100%}
}

/* Profile editing is collapsed by default */
.ecc-edit-panel[hidden]{display:none!important}
.ecc-edit-toggle{font-family:inherit;cursor:pointer}
.ecc-edit-panel .koinea-button{margin-top:4px}
.ecc-edit-panel input[type=file]{
  width:100%;
  box-sizing:border-box;
  padding:10px;
  border:1px solid var(--koinea-border);
  border-radius:9px;
  background:#fff;
  color:var(--koinea-ink);
}
.ecc-edit-panel input[type=file]::file-selector-button{
  margin-right:12px;
  border:0;
  border-radius:8px;
  padding:9px 13px;
  background:var(--koinea-blue);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

/* Profile hero refinements */
.ecc-profile-hero:after{display:none!important}
.ecc-profile-hero .ecc-edit-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 19px;
  border:1px solid #fff;
  border-radius:10px;
  background:#fff;
  color:var(--koinea-blue)!important;
  font-weight:700;
  font-family:inherit;
  cursor:pointer;
  box-shadow:none;
}
.ecc-profile-hero .ecc-edit-toggle:hover{
  background:var(--koinea-gold);
  border-color:var(--koinea-gold);
  color:var(--koinea-blue)!important;
  transform:translateY(-1px);
}
.ecc-profile-hero .ecc-edit-toggle:focus-visible{
  outline:3px solid rgba(226,203,0,.7);
  outline-offset:3px;
}

.ecc-notice.ecc-success{
  position:relative;
  border:1px solid #cfe8d4;
  transition:opacity .3s ease;
}

/* Koinea primary action — profile save button must match all primary buttons */
.ecc-edit-panel .koinea-button,
.ecc-edit-panel button.koinea-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  min-width:150px!important;
  min-height:46px!important;
  height:46px!important;
  margin:4px 0 0!important;
  padding:0 19px!important;
  box-sizing:border-box!important;
  border:1px solid var(--koinea-blue)!important;
  border-radius:10px!important;
  background:var(--koinea-blue)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.ecc-edit-panel .koinea-button:hover,
.ecc-edit-panel button.koinea-button:hover{
  background:var(--koinea-blue-2)!important;
  border-color:var(--koinea-blue-2)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(7,27,145,.16)!important;
}
.ecc-edit-panel .koinea-button span{
  color:inherit!important;
  display:inline-block!important;
}
@media(max-width:700px){
  .ecc-edit-panel .koinea-button,
  .ecc-edit-panel button.koinea-button{
    width:100%!important;
  }
}

/* Hard override for the profile hero toggle, including theme/Elementor button states */
.ecc-profile-hero button.ecc-edit-toggle,
.ecc-profile-hero button.ecc-edit-toggle:hover,
.ecc-profile-hero button.ecc-edit-toggle:focus,
.ecc-profile-hero button.ecc-edit-toggle:active{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:150px!important;
  min-height:46px!important;
  height:46px!important;
  padding:0 19px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:1px solid #071b91!important;
  border-radius:10px!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:#071b91!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none;
}
.ecc-profile-hero button.ecc-edit-toggle:hover{
  background:#e2cb00!important;
  background-color:#e2cb00!important;
  border-color:#e2cb00!important;
  color:#071b91!important;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(7,27,145,.16)!important;
}
.ecc-profile-hero button.ecc-edit-toggle:focus-visible{
  outline:3px solid rgba(226,203,0,.7)!important;
  outline-offset:3px;
}
