/* ============================================================
   S-Class v2.46.0 — Sticky Footer + Multi-theme E-Portfolio
   ============================================================ */

/* Footer must finish at the actual bottom of the viewport/page. */
.ep-root{
  min-height:calc(100vh - 76px)!important;
  display:flex!important;
  flex-direction:column!important;
  --ep-primary:#4f72ea;
  --ep-secondary:#86a0ff;
  --ep-soft:#eef3ff;
  --ep-soft-2:#f7f9ff;
  --ep-theme-bg:#eef6fb;
  --ep-theme-glow:rgba(79,114,234,.10);
}
.ep-footer{
  width:100%!important;
  margin:auto 0 0!important;
  padding:26px 0 0!important;
  text-align:center!important;
}
.ep-footer>div{
  width:min(1120px,calc(100% - 28px))!important;
  margin:0 auto!important;
  border-radius:18px 18px 0 0!important;
  border-bottom:0!important;
  padding:14px 18px 16px!important;
  box-shadow:0 -4px 18px rgba(41,65,94,.05)!important;
}
body{background:var(--ep-theme-bg,#eef6fb)!important}
.ep-root{
  background:
    radial-gradient(circle at 8% 0,var(--ep-theme-glow),transparent 26%),
    radial-gradient(circle at 94% 5%,color-mix(in srgb,var(--ep-secondary) 9%,transparent),transparent 25%),
    linear-gradient(180deg,#f8fbfd 0%,var(--ep-theme-bg) 55%,var(--ep-theme-bg) 100%)!important;
}

/* Manual themes + themes recommended by career */
.ep-root.theme-soft{--ep-primary:#4f72ea;--ep-secondary:#86a0ff;--ep-soft:#eef3ff;--ep-soft-2:#f7f9ff;--ep-theme-bg:#eef6fb;--ep-theme-glow:rgba(79,114,234,.10)}
.ep-root.theme-sky{--ep-primary:#268ecb;--ep-secondary:#75c6e9;--ep-soft:#e7f6fd;--ep-soft-2:#f5fbfe;--ep-theme-bg:#edf8fc;--ep-theme-glow:rgba(38,142,203,.11)}
.ep-root.theme-mint,.ep-root.theme-green{--ep-primary:#2f8f65;--ep-secondary:#69b995;--ep-soft:#e9f7ef;--ep-soft-2:#f6fcf9;--ep-theme-bg:#eef9f4;--ep-theme-glow:rgba(47,143,101,.10)}
.ep-root.theme-amber{--ep-primary:#b67d36;--ep-secondary:#d9ad6d;--ep-soft:#fbf1df;--ep-soft-2:#fffaf1;--ep-theme-bg:#faf5eb;--ep-theme-glow:rgba(182,125,54,.10)}
.ep-root.theme-navy{--ep-primary:#345c91;--ep-secondary:#6e8fb8;--ep-soft:#eaf0f7;--ep-soft-2:#f7f9fc;--ep-theme-bg:#edf3f8;--ep-theme-glow:rgba(52,92,145,.10)}
.ep-root.theme-olive{--ep-primary:#60734b;--ep-secondary:#91a37b;--ep-soft:#eef2e8;--ep-soft-2:#fafcf7;--ep-theme-bg:#f1f5ed;--ep-theme-glow:rgba(96,115,75,.10)}
.ep-root.theme-slate{--ep-primary:#536171;--ep-secondary:#8894a1;--ep-soft:#edf0f3;--ep-soft-2:#f8f9fa;--ep-theme-bg:#f0f3f5;--ep-theme-glow:rgba(83,97,113,.09)}
.ep-root.theme-sunset{--ep-primary:#e88715;--ep-secondary:#f2b655;--ep-soft:#fff2d9;--ep-soft-2:#fffaf1;--ep-theme-bg:#fff7e9;--ep-theme-glow:rgba(232,135,21,.11)}
.ep-root.theme-cyan{--ep-primary:#188da8;--ep-secondary:#62bbcc;--ep-soft:#e4f7fa;--ep-soft-2:#f5fcfd;--ep-theme-bg:#edf9fb;--ep-theme-glow:rgba(24,141,168,.10)}
.ep-root.theme-rose{--ep-primary:#be3154;--ep-secondary:#dd7891;--ep-soft:#fdebf0;--ep-soft-2:#fff7f9;--ep-theme-bg:#fff0f4;--ep-theme-glow:rgba(190,49,84,.10)}
.ep-root.theme-forest{--ep-primary:#4d7c0f;--ep-secondary:#80a94a;--ep-soft:#eff7df;--ep-soft-2:#f9fcef;--ep-theme-bg:#f2f8e8;--ep-theme-glow:rgba(77,124,15,.10)}
.ep-root.theme-sport{--ep-primary:#1d4ed8;--ep-secondary:#5b82eb;--ep-soft:#e7efff;--ep-soft-2:#f6f9ff;--ep-theme-bg:#edf3ff;--ep-theme-glow:rgba(29,78,216,.10)}
.ep-root.theme-purple{--ep-primary:#7c3aed;--ep-secondary:#a77aef;--ep-soft:#f2eaff;--ep-soft-2:#fbf8ff;--ep-theme-bg:#f5efff;--ep-theme-glow:rgba(124,58,237,.10)}
.ep-root.theme-peach{--ep-primary:#d96a31;--ep-secondary:#eb9b72;--ep-soft:#fff0e7;--ep-soft-2:#fff9f5;--ep-theme-bg:#fff3eb;--ep-theme-glow:rgba(217,106,49,.10)}

/* Carry the chosen palette through the actual portfolio, not only buttons. */
.ep-root .ep-section-head>span,.ep-root .ep-kicker{background:var(--ep-soft)!important;color:var(--ep-primary)!important}
.ep-root .ep-brand-icon{background:var(--ep-soft)!important;color:var(--ep-primary)!important;border-color:color-mix(in srgb,var(--ep-primary) 18%,#dce6f1)!important}
.ep-root .ep-nav-links button:hover{background:var(--ep-soft)!important;color:var(--ep-primary)!important}
.ep-root .ep-card-highlight,.ep-root .ep-future-section{border-color:color-mix(in srgb,var(--ep-primary) 18%,#dce8f3)!important}
.ep-root .ep-future-section{background:color-mix(in srgb,var(--ep-soft-2) 78%,#fff)!important}
.ep-root .ep-future-section-head>span{background:var(--ep-soft)!important;color:var(--ep-primary)!important;border-color:color-mix(in srgb,var(--ep-primary) 20%,#e1e8ef)!important}
.ep-root .ep-future-block-head small{background:var(--ep-soft)!important;color:var(--ep-primary)!important}
.ep-root .ep-future-skill-row span i,.ep-root .ep-future-empty i{color:var(--ep-primary)!important}
.ep-root .ep-future-week-item>i{background:var(--ep-soft)!important;color:var(--ep-primary)!important}
.ep-root .ep-future-week-item em i{background:var(--ep-primary)!important}
.ep-root .ep-game-exp-track i{background:var(--ep-primary)!important}
.ep-root .ep-footer>div{border-color:color-mix(in srgb,var(--ep-primary) 14%,#dce6f1)!important}

/* Public palette dialog */
.ep-theme-swal{border-radius:24px!important}
.ep-theme-dialog{text-align:left}.ep-theme-career-auto{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border:2px solid #dfe7f2;border-radius:16px;background:#f8fbff;cursor:pointer;margin-bottom:12px}.ep-theme-career-auto>i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff0d9;color:#cb861f;font-size:17px}.ep-theme-career-auto span,.ep-theme-career-auto b,.ep-theme-career-auto small{display:block}.ep-theme-career-auto b{font-size:14px;color:#2b3c59}.ep-theme-career-auto small{font-size:13px;color:#7b899d;margin-top:2px}.ep-theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ep-theme-choice{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid #dfe7f0;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.ep-theme-choice:hover{transform:translateY(-1px);box-shadow:0 4px 0 #e2e8f0}.ep-theme-choice>i{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--sw1) 0 50%,var(--sw2) 50% 100%);border:2px solid #fff;box-shadow:0 0 0 1px #d9e2ec}.ep-theme-choice span,.ep-theme-choice b,.ep-theme-choice small{display:block}.ep-theme-choice b{font-size:13px;color:#33445f}.ep-theme-choice small{font-size:13px;color:#8290a3;margin-top:2px}.ep-theme-mode-title{margin:15px 0 7px;font-size:13px;font-weight:900;color:#40506a}.theme-mode-row button{display:flex;align-items:center;justify-content:center;gap:7px}
.theme-sky{background:#268ecb}.theme-mint{background:#2f8f65}.theme-amber{background:#b67d36}.theme-navy{background:#345c91}.theme-olive{background:#60734b}.theme-slate{background:#536171}.theme-sunset{background:#e88715}.theme-cyan{background:#188da8}.theme-forest{background:#4d7c0f}.theme-sport{background:#1d4ed8}

/* Dark mode keeps the palette accent but protects readability. */
.ep-root.mode-dark{--ep-theme-bg:#0b1220!important;background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--ep-primary) 17%,transparent),transparent 29%),linear-gradient(180deg,#0b1220,#101827 48%,#0b1220)!important}

@media(max-width:720px){
  .ep-root{min-height:calc(100vh - 68px)!important}
  .ep-footer{padding-top:18px!important}.ep-footer>div{width:calc(100% - 16px)!important;border-radius:14px 14px 0 0!important;font-size:13px!important}
  .ep-theme-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
