/* Portaal: home-content, main-breedte, iframes. Banner-styling staat in landing-page.css */

.portal-shell-main{
  max-width:1320px;
  margin:0 auto;
  padding:clamp(20px, 3vw, 28px) clamp(16px, 4vw, 40px) 48px;
}

body.portal-shell[data-portal-view="dashboard"] .portal-shell-main,
body.portal-shell[data-portal-view="rapportages"] .portal-shell-main{
  padding-top:30px !important;
}

/* Wizard dichter onder de portal-banner (minder top-padding + kleinere marge op .v6-layout). */
body.portal-shell[data-portal-view="deal-maken"] .portal-shell-main{
  padding-top:10px !important;
}

body.portal-shell[data-portal-view="deal-maken"] .portal-deal-wizard-embed.v6-page{
  padding-top:4px;
}

body.portal-shell[data-portal-view="deal-maken"] .portal-deal-wizard-embed .v6-layout{
  margin-top:14px;
}

/* Zelfde ruimte onder de portal-banner als dashboard / rapportages */
body.portal-shell[data-portal-view="mijn-ikash"] .portal-shell-main,
body.portal-shell[data-portal-view="mijn-wallet"] .portal-shell-main,
body.portal-shell[data-portal-view="veelgestelde-vragen"] .portal-shell-main,
body.portal-shell[data-portal-view="ai-inzichten"] .portal-shell-main{
  padding-top:30px !important;
}

.portal-shell-home{
  display:grid;
  gap:14px;
}

.portal-shell-home[hidden]{
  display:none !important;
}

.portal-home-hero,
.portal-home-kpi,
.portal-home-card{
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(35,34,59,0.11);
  box-shadow:0 14px 32px rgba(35,34,59,0.07);
}

.portal-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);
  gap:14px;
  padding:20px;
}

.portal-home-hero-copy h2{
  margin:0 0 8px;
  color:#23223B;
  letter-spacing:-0.025em;
}

.portal-home-hero-copy p{
  margin:0;
  color:#64748b;
  line-height:1.58;
  max-width:66ch;
}

.portal-home-hero-actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.portal-home-hero-visual{
  position:relative;
  min-height:150px;
  border-radius:14px;
  border:1px solid rgba(99,102,241,0.18);
  background:
    radial-gradient(circle at 26% 22%, rgba(99,102,241,0.34), transparent 55%),
    radial-gradient(circle at 72% 58%, rgba(188,105,0,0.24), transparent 62%),
    linear-gradient(160deg, rgba(35,34,59,0.96), rgba(55,48,163,0.94));
  overflow:hidden;
}

.portal-home-orb{
  position:absolute;
  border-radius:50%;
}
.portal-home-orb-a{ width:98px; height:98px; left:12%; top:14%; background:rgba(255,255,255,0.15); }
.portal-home-orb-b{ width:130px; height:130px; right:-14px; top:18%; background:rgba(120,126,255,0.45); }
.portal-home-orb-c{ width:84px; height:84px; right:22%; bottom:-10px; background:rgba(255,203,128,0.42); }

.portal-home-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.portal-home-kpi{
  padding:12px 13px;
}

.portal-home-kpi-label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.portal-home-kpi strong{
  display:block;
  color:#23223B;
  font-size:1.34rem;
  letter-spacing:-0.02em;
}

.portal-home-kpi em{
  display:block;
  margin-top:4px;
  font-style:normal;
  color:#64748b;
  font-size:12px;
}

.portal-home-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:12px;
}

.portal-home-card{
  padding:16px;
}

.portal-home-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.portal-home-card-head h3{
  margin:0;
  color:#23223B;
  letter-spacing:-0.015em;
}

.portal-home-chip{
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:#334155;
  background:linear-gradient(180deg,#eef2ff,#e2e8f0);
}

.portal-home-trend-controls{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.portal-home-trend-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,0.28);
  border-radius:999px;
  min-height:30px;
  padding:0 12px;
  font:inherit;
  font-size:12px;
  font-weight:var(--ik-primary-btn-font-weight, 600);
  letter-spacing:0.01em;
  cursor:pointer;
  color:#fff;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
  transition:filter .18s ease, box-shadow .18s ease, transform .1s ease;
}

.portal-home-trend-btn:hover{
  filter:brightness(1.05);
}

.portal-home-trend-btn:active{
  transform:translateY(1px);
}

.portal-home-trend-btn:focus-visible{
  outline:3px solid rgba(99,102,241,0.35);
  outline-offset:2px;
}

.portal-home-trend-btn[aria-pressed="false"]:not(.is-active){
  color:#23223B;
  background:linear-gradient(180deg,#f8faff 0%,#eef2ff 100%);
  border-color:rgba(35,34,59,0.16);
  box-shadow:0 6px 18px rgba(15,23,42,0.08);
}

.portal-home-chart{
  border-radius:12px;
  background:linear-gradient(180deg,#fafbff,#f6f8ff);
  border:1px solid rgba(99,102,241,0.16);
  padding:10px 10px 4px;
}

.portal-home-chart svg{
  width:100%;
  height:auto;
  display:block;
}

.portal-home-line{
  fill:none;
  stroke:#4f46e5;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.portal-home-area{
  fill:url(#portalAreaFill);
}

.portal-home-area-index{
  fill:url(#indexPortalAreaFill);
}

.portal-home-note{
  margin:9px 0 0;
  color:#64748b;
  line-height:1.5;
  font-size:13px;
}

/* Deal-wizard: account nog niet gevalideerd — duidelijkere, grotere copy */
.portal-deal-gate-card .portal-deal-gate-lead{
  margin-top:14px;
  font-size:17px;
  line-height:1.55;
  color:#334155;
}
.portal-deal-gate-card .portal-deal-gate-cta{
  margin-top:18px;
  font-size:16px;
}
.portal-deal-gate-card .portal-deal-gate-cta a{
  font-weight:600;
}

.portal-home-live-summary{
  border-radius:12px;
  border:1px solid rgba(99,102,241,0.14);
  background:linear-gradient(180deg,#fafbff,#f6f8ff);
  overflow:hidden;
}

.portal-home-live-head,
.portal-home-live-row{
  display:grid;
  grid-template-columns:1.5fr .7fr 1fr .8fr;
  gap:10px;
  align-items:center;
  padding:10px 12px;
}

.portal-home-live-head{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#64748b;
  font-weight:800;
  border-bottom:1px solid rgba(99,102,241,0.14);
}

.portal-home-live-row{
  font-size:14px;
  color:#334155;
  border-bottom:1px solid rgba(15,23,42,0.08);
}

.portal-home-live-row strong{
  color:#1e293b;
}

.portal-home-live-row:last-child{
  border-bottom:none;
}

.portal-home-list{
  margin:0;
  padding:0;
  list-style:none;
}

.portal-home-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid rgba(15,23,42,0.08);
  color:#334155;
}

.portal-home-list li:last-child{
  border-bottom:none;
}

.portal-home-actions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.portal-shell-home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:14px;
  text-decoration:none;
  font-weight:var(--ik-primary-btn-font-weight, 600);
  color:#fff;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
}

.portal-shell-home-btn--alt{
  color:#23223B;
  background:#fff;
  border:1px solid rgba(35,34,59,0.18);
  box-shadow:none;
}

.portal-home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:11px;
  min-height:42px;
  padding:0 12px;
  color:#fff;
  cursor:pointer;
  font-weight:var(--ik-primary-btn-font-weight, 600);
  text-decoration:none;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
}

.portal-home-btn.portal-home-btn--validate{
  font-weight:400;
  background:linear-gradient(180deg, #9b2929 0%, #7f1d1d 50%, #6b1919 100%);
  border:2px solid #fff;
  box-shadow:0 8px 22px rgba(127, 29, 29, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.portal-home-btn.portal-home-btn--validate:hover{
  filter:brightness(1.07);
  color:#fff;
}

.portal-home-btn--alt{
  background:linear-gradient(180deg,#8290ff 0%,#4f46e5 60%,#3730a3 100%);
}

.portal-home-btn--ghost{
  background:#fff;
  color:#23223B;
  border:1px solid rgba(35,34,59,0.2);
  box-shadow:none;
}

.portal-home-card--gold{
  position:relative;
}

.portal-home-card--gold::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  padding:1.5px;
  background:linear-gradient(120deg, rgba(255,220,145,0.75), rgba(255,255,255,0.8) 45%, rgba(170,124,36,0.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.portal-shell-frame{
  width:100%;
  height:calc(100vh - 260px);
  border:0;
  border-radius:12px;
  background:transparent;
}

.portal-shell-frame[hidden]{
  display:none;
}

@media (max-width:900px){
  .portal-home-hero{
    grid-template-columns:1fr;
  }
  .portal-home-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .portal-home-grid{
    grid-template-columns:1fr;
  }
  .portal-home-actions-grid{
    grid-template-columns:1fr;
  }
  .portal-home-live-head,
  .portal-home-live-row{
    grid-template-columns:1.3fr .8fr .95fr .8fr;
    font-size:12px;
  }
  .portal-shell-frame{
    height:calc(100vh - 220px);
  }
}
