/* Restricted to the four Ipoteco CRM portal shortcodes. */
.ipoteco-portal { --p-ink:#16334a; --p-muted:#5a7080; --p-green:#07845e; width:min(100%,1100px); margin:36px auto; padding:0 12px 35px; box-sizing:border-box; color:var(--p-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.6; }
.ipoteco-portal *, .ipoteco-portal *::before, .ipoteco-portal *::after { box-sizing:border-box; }
.ipoteco-portal-hero { padding:34px 30px; border-radius:20px; background:linear-gradient(115deg,#063c36,#0d7f67); color:#fff; margin-bottom:20px; }
.ipoteco-portal-hero span { font-size:12px; letter-spacing:.16em; font-weight:800; color:#c8f0e2; }
.ipoteco-portal-hero h1 { margin:7px 0; color:#fff; font-size:clamp(25px,4vw,37px); line-height:1.22; }
.ipoteco-portal-hero p { margin:0; color:#e1f4eb; }
.ipoteco-portal-card { padding:25px 27px; border:1px solid #dce7e3; border-radius:15px; background:#fff; box-shadow:0 3px 15px rgba(14,45,52,.05); margin:0 0 19px; }
.ipoteco-portal-card h2 { margin:0 0 13px; font-size:23px; color:#16334a; }
.ipoteco-portal-card h3 { margin:20px 0 10px; font-size:18px; color:#16334a; }
.ipoteco-portal-card p { margin:0 0 13px; }
.ipoteco-portal-card a { color:#007e58; word-break:break-word; }
.ipoteco-portal-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.ipoteco-portal-nav a { padding:9px 13px; border-radius:9px; background:#eef7f1; text-decoration:none; color:#11654e; font-weight:700; }
.ipoteco-portal-nav a:hover,.ipoteco-portal-nav a:focus { background:#d6efe4; }
.ipoteco-portal-table-wrap { max-width:100%; overflow-x:auto; }
.ipoteco-portal table { width:100%; border-collapse:collapse; font-size:13px; min-width:540px; text-align:left; }
.ipoteco-portal th,.ipoteco-portal td { padding:11px 9px; border-bottom:1px solid #e9eeeb; vertical-align:top; }
.ipoteco-portal th { background:#f4f7f6; color:#2e4755; font-weight:700; }
.ipoteco-portal th:first-child { border-radius:6px 0 0 6px; }
.ipoteco-portal-button,.ipoteco-portal button[type=submit] { display:inline-block; width:auto; padding:10px 16px; border:0; border-radius:9px; background:#09785c; color:#fff!important; font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; }
.ipoteco-portal-button:hover,.ipoteco-portal button[type=submit]:hover { background:#075b43; }
.ipoteco-portal form input:not([type=hidden]):not([type=checkbox]):not([type=file]),.ipoteco-portal form textarea { width:100%; max-width:480px; padding:10px 11px; background:#fff; border:1px solid #bdcfc8; border-radius:8px; font-size:15px; color:#14364c; }
.ipoteco-portal form input[type=file] { width:min(100%,460px); }
.ipoteco-portal form label { display:block; font-weight:650; }
.ipoteco-portal textarea { display:block; width:100%; max-width:850px !important; resize:vertical; }
.ipoteco-portal-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:end; }
.ipoteco-portal-inputs .ipoteco-portal-button { grid-column:1/-1; justify-self:start; }
.ipoteco-portal-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:12px; margin:14px 0; }
.ipoteco-portal-metrics>div { background:#eff8f4; border-radius:12px; padding:16px; }
.ipoteco-portal-metrics strong { display:block; font-size:23px; line-height:1.2; color:#05634b; }
.ipoteco-portal-metrics span { display:block; color:#476c63; font-size:12px; margin-top:7px; }
.ipoteco-portal-code { display:inline-block; padding:7px 12px; border-radius:7px; background:#eff6f3; font-size:19px; letter-spacing:.06em; }
.ipoteco-portal-events { list-style:none; margin:0 0 18px; padding:0; }
.ipoteco-portal-events li { padding:14px 0; border-bottom:1px solid #e1e9e5; }
.ipoteco-portal-events small { color:#637987; }
.ipoteco-portal-events p { margin:5px 0 0; white-space:normal; }
.ipoteco-portal-list { padding-left:22px; }
.ipoteco-portal-list li { margin:9px 0; }
.ipoteco-portal-feedback,.ipoteco-crm-feedback { padding:12px 16px; border-left:3px solid #07845e; background:#f2f8f5; margin:15px 0; }
.ipoteco-portal-disclaimer { padding:10px 0 0; color:var(--p-muted); font-size:12px; }
.ipoteco-crm-trap { position:absolute !important; left:-10000px !important; height:1px !important; width:1px !important; overflow:hidden !important; }
@media(max-width:700px) { .ipoteco-portal{padding:0 8px;} .ipoteco-portal-card{padding:18px 14px;} .ipoteco-portal-hero{padding:26px 17px;} .ipoteco-portal-inputs{grid-template-columns:1fr;} }
/* v0.6.2: one verified account, three sections (client/partner/agency). */
.ipoteco-portal-account-intro{margin:5px 0 14px;padding:0 3px;color:#31536a}
.ipoteco-portal-account-intro p{margin:0}
.ipoteco-portal-tabs{display:flex;flex-wrap:wrap;gap:9px;border-bottom:1px solid #dce7e3;margin-bottom:19px;padding:0 0 12px}
.ipoteco-portal-tabs a{display:inline-flex;align-items:center;border:1px solid #d0dfd8;border-radius:10px;padding:11px 18px;color:#0c5b46;background:#f7faf9;text-decoration:none;font-weight:700}
.ipoteco-portal-tabs a.is-active,.ipoteco-portal-tabs a[aria-current="page"]{background:#09785c;color:#fff;border-color:#09785c}
.ipoteco-portal-tabs a:focus-visible{outline:2px solid #153b61;outline-offset:3px}
.ipoteco-account-register{max-width:600px}
.ipoteco-portal .ipoteco-account-register input[type=checkbox]{accent-color:#09785c;margin-inline-end:6px}
@media(max-width:540px){.ipoteco-portal-tabs a{flex:1 1 100%;justify-content:center}}

/* v0.6.4: portal uses the SAME Elementor header/footer widgets as marketing pages.
   The theme's small default header/footer are retained (hooks intact), but
   suppressed visually only when our complete shared layout is available. */
body.ipoteco-crm-shared-layout > .ipo-default-header,
body.ipoteco-crm-shared-layout > .ipo-default-footer { display:none!important; }
.ipoteco-crm-shared-chrome {width:100%;max-width:100%;margin:0 auto;}
.ipoteco-crm-shared-chrome .elementor-widget-ipx_header > .elementor-widget-container,
.ipoteco-crm-shared-chrome .elementor-widget-ipx_footer > .elementor-widget-container {
  display:flex!important; align-items:flex-start!important; justify-content:center!important;
}
.ipoteco-crm-shared-main { width:100%; min-height:40vh; margin:0 auto; padding:26px 16px 35px; }
.ipoteco-crm-shared-article { width:100%; margin:0 auto; }
.ipoteco-crm-shared-article > .ipoteco-portal { margin-top:20px; }
@media(max-width:767px) {
  .ipoteco-crm-shared-main {padding:16px 8px 28px;}
  .ipoteco-crm-shared-article > .ipoteco-portal {margin-top:16px;}
}


/* v0.6.6: visual refresh for account / portal authentication pages */
.ipoteco-portal {
  --p-ink:#12324a;
  --p-muted:#607889;
  --p-green:#0b7d61;
  --p-green-dark:#075543;
  --p-soft:#f3f8f6;
  --p-border:#dce8e3;
  --p-shadow:0 18px 55px rgba(12,41,49,.08);
  width:min(100%,1160px);
  margin:34px auto 52px;
}
.ipoteco-portal-hero {
  position:relative;
  overflow:hidden;
  padding:40px 38px;
  border-radius:28px;
  background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%), linear-gradient(135deg,#083f3b 0%,#0c6c5d 42%,#0f8f75 100%);
  box-shadow:var(--p-shadow);
}
.ipoteco-portal-hero::after{
  content:'';
  position:absolute;
  inset:auto -70px -70px auto;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.08);
  filter:blur(4px);
}
.ipoteco-portal-card {
  border:1px solid var(--p-border);
  border-radius:22px;
  box-shadow:var(--p-shadow);
}
.ipoteco-portal-card--primary {
  background:linear-gradient(180deg,#ffffff 0%,#fbfefd 100%);
}
.ipoteco-portal-card--accent {
  color:#fff;
  background:linear-gradient(160deg,#0d6957 0%,#0b8a6d 100%);
  border-color:transparent;
}
.ipoteco-portal-card--accent h3,
.ipoteco-portal-card--accent p,
.ipoteco-portal-card--accent li,
.ipoteco-portal-card--accent .ipoteco-portal-kicker { color:#fff; }
.ipoteco-portal-card--secondary {
  background:linear-gradient(180deg,#f9fcfb 0%,#f4f8f7 100%);
}
.ipoteco-portal-card--register {
  margin-top:24px;
}
.ipoteco-portal-card-head { margin-bottom:18px; }
.ipoteco-portal-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.18em;
  font-weight:800;
  color:#0a7258;
}
.ipoteco-portal-kicker::before {
  content:''; width:22px; height:2px; border-radius:999px; background:currentColor;
}
.ipoteco-portal-card h2 { font-size:clamp(26px,3vw,34px); line-height:1.15; margin:0 0 10px; }
.ipoteco-portal-card h3 { font-size:24px; line-height:1.2; margin:0 0 10px; }
.ipoteco-portal-auth {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(290px,.9fr);
  gap:22px;
  align-items:start;
  margin-top:22px;
}
.ipoteco-portal-auth-main,
.ipoteco-portal-auth-side { display:grid; gap:18px; }
.ipoteco-portal-benefits { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
.ipoteco-portal-benefits li {
  position:relative; padding-left:30px; margin:0;
}
.ipoteco-portal-benefits li::before {
  content:'✓'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:12px;
  color:#0b7d61; background:#dff6ec;
}
.ipoteco-portal-card--accent .ipoteco-portal-benefits li::before { background:#d2fff0; color:#0c6f58; }
.ipoteco-portal-mini-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.ipoteco-portal-mini-pills span {
  display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.18); font-weight:700; font-size:13px;
}
.ipoteco-portal .login-username,
.ipoteco-portal .login-password,
.ipoteco-portal .login-remember,
.ipoteco-portal .login-submit { margin:0 0 16px; }
.ipoteco-portal .login-submit { margin-top:22px; }
.ipoteco-portal .login-submit input,
.ipoteco-portal .button.button-primary,
.ipoteco-portal input[type=submit].button-primary,
.ipoteco-portal .ipoteco-portal-button,
.ipoteco-portal button[type=submit] {
  min-height:52px;
  padding:14px 22px;
  border-radius:14px;
  background:linear-gradient(135deg,#0a7d61 0%,#10896d 100%);
  box-shadow:0 10px 20px rgba(10,125,97,.18);
}
.ipoteco-portal .login-submit input { width:100%; }
.ipoteco-portal form input:not([type=hidden]):not([type=checkbox]):not([type=file]),
.ipoteco-portal form textarea {
  max-width:none;
  min-height:52px;
  padding:13px 14px;
  border:1px solid #c5d7d0;
  border-radius:14px;
  background:#fbfefd;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.02);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ipoteco-portal form textarea { min-height:120px; }
.ipoteco-portal form input:focus,
.ipoteco-portal form textarea:focus {
  outline:none;
  border-color:#0a7d61;
  background:#fff;
  box-shadow:0 0 0 4px rgba(10,125,97,.12);
}
.ipoteco-portal form label { font-size:15px; line-height:1.45; }
.ipoteco-account-register { max-width:none; }
.ipoteco-portal-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 22px;
  margin-bottom:8px;
}
.ipoteco-portal-form-grid p { margin:0; }
.ipoteco-portal-form-grid .is-span-2 { grid-column:1 / -1; }
.ipoteco-portal-form-grid small,
.ipoteco-portal-form-note {
  display:block; margin-top:7px; color:var(--p-muted); font-size:13px; line-height:1.55;
}
.ipoteco-portal-check label {
  display:flex; gap:10px; align-items:flex-start; font-weight:600;
}
.ipoteco-portal .ipoteco-account-register input[type=checkbox],
.ipoteco-portal .login-remember input[type=checkbox] {
  accent-color:#0a7d61; inline-size:18px; block-size:18px; margin-top:2px;
}
.ipoteco-portal-inline-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
.ipoteco-portal-inline-links a {
  color:#0a7258; text-decoration:none; font-weight:700;
}
.ipoteco-portal-inline-links a:hover { text-decoration:underline; }
.ipoteco-portal-feedback {
  border-left:0;
  border:1px solid #dbece6;
  border-radius:14px;
  background:#f6fbf8;
  color:#174130;
}
@media (max-width: 920px) {
  .ipoteco-portal-auth { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .ipoteco-portal-hero { padding:28px 22px; border-radius:22px; }
  .ipoteco-portal-card { border-radius:18px; }
  .ipoteco-portal-card h2 { font-size:28px; }
  .ipoteco-portal-card h3 { font-size:22px; }
  .ipoteco-portal-form-grid { grid-template-columns:1fr; gap:16px; }
  .ipoteco-portal-form-grid .is-span-2 { grid-column:auto; }
}


/* v0.6.7: stronger wow / premium-fintech visual direction */
.ipoteco-portal {
  --p-ink:#0d2f47;
  --p-muted:#61798a;
  --p-green:#0a8163;
  --p-green-dark:#064f40;
  --p-emerald:#11a784;
  --p-soft:#f2f7f5;
  --p-soft-2:#edf5f2;
  --p-border:#d6e3dd;
  --p-shadow:0 22px 60px rgba(11,40,47,.08);
  width:min(100%,1200px);
  margin:34px auto 64px;
  padding:0 16px 38px;
}
.ipoteco-portal-hero {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  padding:48px 42px 38px;
  background:
    radial-gradient(circle at 12% 12%, rgba(255,255,255,.18), transparent 18%),
    radial-gradient(circle at 85% 18%, rgba(255,255,255,.14), transparent 20%),
    linear-gradient(135deg, #072e34 0%, #0b5a56 36%, #0f7e67 68%, #13a27f 100%);
  box-shadow:0 28px 80px rgba(6,44,39,.18);
}
.ipoteco-portal-hero::before,
.ipoteco-portal-hero::after {
  content:''; position:absolute; border-radius:50%; pointer-events:none;
}
.ipoteco-portal-hero::before {
  width:300px; height:300px; right:-80px; top:-120px;
  background:radial-gradient(circle, rgba(255,255,255,.18), transparent 60%);
}
.ipoteco-portal-hero::after {
  width:220px; height:220px; left:-60px; bottom:-80px;
  background:radial-gradient(circle, rgba(255,255,255,.10), transparent 65%);
}
.ipoteco-portal-hero h1 { max-width:760px; font-size:clamp(30px, 4.7vw, 52px); margin:10px 0 12px; }
.ipoteco-portal-hero p { max-width:720px; font-size:17px; line-height:1.65; }
.ipoteco-portal-hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.ipoteco-portal-hero-pills strong {
  display:inline-flex; align-items:center; padding:10px 14px; border-radius:999px;
  background:rgba(255,255,255,.12); color:#fff; font-size:13px; font-weight:700;
  border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(6px);
}
.ipoteco-portal-card {
  position:relative; overflow:hidden;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border:1px solid var(--p-border);
  border-radius:26px;
  box-shadow:var(--p-shadow);
  padding:28px 28px;
}
.ipoteco-portal-card--login,
.ipoteco-portal-card--register-form { padding:30px; }
.ipoteco-portal-card--accent {
  color:#fff;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(155deg,#0d6b58 0%, #0d876c 55%, #14a382 100%);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 24px 70px rgba(7,89,71,.24);
}
.ipoteco-portal-card--accent .ipoteco-portal-benefits li::before {
  background:#eafff8; color:#0b7a62;
}
.ipoteco-portal-auth {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr); gap:24px; align-items:start; margin-top:24px;
}
.ipoteco-portal-auth-main,
.ipoteco-portal-auth-side { display:grid; gap:18px; }
.ipoteco-portal-card-head h2,
.ipoteco-portal-card-head h3 { color:var(--p-ink); }
.ipoteco-portal-card--accent .ipoteco-portal-card-head h3,
.ipoteco-portal-card--accent p,
.ipoteco-portal-card--accent .ipoteco-portal-kicker { color:#fff; }
.ipoteco-portal-kicker { color:#0a785d; }
.ipoteco-portal-trust-row { display:flex; flex-wrap:wrap; gap:10px; margin:4px 0 20px; }
.ipoteco-portal-trust-row span {
  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
  background:var(--p-soft); color:#19604c; font-size:12px; font-weight:700; border:1px solid #dce8e3;
}
.ipoteco-portal-trust-row span::before { content:'✦'; font-size:11px; opacity:.75; }
.ipoteco-portal-stat-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 8px;
}
.ipoteco-portal-stat-grid > div {
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.15);
  border-radius:18px; padding:16px 12px; text-align:center;
}
.ipoteco-portal-stat-grid strong { display:block; font-size:28px; line-height:1; color:#fff; }
.ipoteco-portal-stat-grid span { display:block; margin-top:7px; font-size:12px; color:rgba(255,255,255,.92); }
.ipoteco-portal-benefits { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
.ipoteco-portal-benefits li { position:relative; padding-left:32px; margin:0; line-height:1.5; }
.ipoteco-portal-benefits li::before {
  content:'✓'; position:absolute; left:0; top:.05em; width:21px; height:21px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:900;
  color:#0a7a5e; background:#def8ed;
}
.ipoteco-portal-mini-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.ipoteco-portal-mini-pills span {
  padding:8px 13px; border-radius:999px; font-size:13px; font-weight:700;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.16);
}
.ipoteco-portal-register-showcase {
  display:grid; grid-template-columns:minmax(300px,.92fr) minmax(0,1.28fr); gap:24px; margin-top:28px;
}
.ipoteco-portal-card--register-visual {
  color:#fff;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 22%),
    linear-gradient(160deg,#082f38 0%,#0b5b57 45%,#108166 100%);
  border-color:transparent; box-shadow:0 24px 70px rgba(5,53,47,.22);
}
.ipoteco-portal-card--register-visual h2,
.ipoteco-portal-card--register-visual p,
.ipoteco-portal-card--register-visual .ipoteco-portal-kicker,
.ipoteco-portal-card--register-visual strong { color:#fff; }
.ipoteco-portal-register-note {
  margin-top:18px; padding:16px; border-radius:18px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14);
}
.ipoteco-portal-steps { display:grid; gap:12px; margin-top:20px; }
.ipoteco-portal-steps > div {
  display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:18px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14);
}
.ipoteco-portal-steps b {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%; background:#fff; color:#0a6a56; font-size:15px;
}
.ipoteco-portal-steps span { font-weight:700; }
.ipoteco-portal-card--register-form::before,
.ipoteco-portal-card--login::before {
  content:''; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,#0c8d6e,#12b38b);
}
.ipoteco-portal .login-username,
.ipoteco-portal .login-password,
.ipoteco-portal .login-remember,
.ipoteco-portal .login-submit,
.ipoteco-portal .ipoteco-account-register p { margin:0 0 18px; }
.ipoteco-portal form input:not([type=hidden]):not([type=checkbox]):not([type=file]),
.ipoteco-portal form textarea {
  width:100%; max-width:none; min-height:56px; padding:14px 16px;
  border:1px solid #c7d7d0; border-radius:16px; background:#fbfefc;
  transition:border-color .22s ease, box-shadow .22s ease, transform .18s ease, background .22s ease;
}
.ipoteco-portal form input:focus,
.ipoteco-portal form textarea:focus {
  outline:none; border-color:#12a07d; background:#fff; box-shadow:0 0 0 5px rgba(18,160,125,.12); transform:translateY(-1px);
}
.ipoteco-portal .login-submit input,
.ipoteco-portal .button.button-primary,
.ipoteco-portal input[type=submit].button-primary,
.ipoteco-portal .ipoteco-portal-button,
.ipoteco-portal button[type=submit] {
  min-height:56px; border-radius:16px; padding:14px 24px; font-size:15px; font-weight:800;
  background:linear-gradient(135deg,#0a7f62 0%,#12a47f 100%);
  color:#fff !important; box-shadow:0 14px 30px rgba(9,128,98,.22);
}
.ipoteco-portal .login-submit input:hover,
.ipoteco-portal .ipoteco-portal-button:hover,
.ipoteco-portal button[type=submit]:hover { transform:translateY(-1px); }
.ipoteco-portal .login-submit input { width:100%; }
.ipoteco-portal .login-remember label,
.ipoteco-portal-check label {
  display:flex; align-items:flex-start; gap:10px; font-weight:700;
}
.ipoteco-portal .ipoteco-account-register input[type=checkbox],
.ipoteco-portal .login-remember input[type=checkbox] {
  accent-color:#0a7f62; inline-size:18px; block-size:18px; margin-top:3px;
}
.ipoteco-portal-form-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; margin-bottom:6px;
}
.ipoteco-portal-form-grid .is-span-2 { grid-column:1/-1; }
.ipoteco-portal-form-note, .ipoteco-portal-form-grid small {
  display:block; color:var(--p-muted); font-size:13px; line-height:1.55; margin-top:7px;
}
.ipoteco-portal-feedback {
  border:1px solid #d9ece6; border-radius:16px; background:#f5fbf8; color:#184636; padding:14px 16px;
}
.ipoteco-portal-inline-links { display:flex; flex-wrap:wrap; gap:12px; }
.ipoteco-portal-inline-links a { color:#0b7359; font-weight:800; text-decoration:none; }
.ipoteco-portal-inline-links a:hover { text-decoration:underline; }
@media (max-width: 1000px) {
  .ipoteco-portal-auth,
  .ipoteco-portal-register-showcase { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .ipoteco-portal { padding:0 10px 28px; }
  .ipoteco-portal-hero { padding:32px 22px 28px; border-radius:24px; }
  .ipoteco-portal-card { padding:22px 18px; border-radius:22px; }
  .ipoteco-portal-hero-pills { gap:8px; }
  .ipoteco-portal-stat-grid { grid-template-columns:1fr; }
  .ipoteco-portal-form-grid { grid-template-columns:1fr; gap:16px; }
  .ipoteco-portal-form-grid .is-span-2 { grid-column:auto; }
}


/* v0.6.8: two optional, accessible self-service panels.
   Forms stay in the markup for correct WordPress POST/nonce handling, but are
   visually collapsed until a visitor chooses an action. */
.ipoteco-portal .ipoteco-portal-chooser {
  margin: 30px 0 4px;
}
.ipoteco-portal .ipoteco-portal-chooser-head {
  margin-bottom: 18px;
  text-align: left;
}
.ipoteco-portal .ipoteco-portal-chooser-head h2 {
  font-size: clamp(23px, 2.6vw, 32px);
  font-weight: 750;
  line-height: 1.22;
  color: var(--p-ink);
  margin: 0 0 7px;
}
.ipoteco-portal .ipoteco-portal-chooser-head p {
  color: var(--p-muted);
  margin: 0;
}
.ipoteco-portal .ipoteco-portal-chooser-options {
  display: grid;
  gap: 13px;
}
.ipoteco-portal .ipoteco-portal-choice {
  overflow: hidden;
  border: 1px solid #d6e5de;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 33px rgba(11, 40, 47, .045);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.ipoteco-portal .ipoteco-portal-choice[open] {
  border-color: #8cc7b1;
  box-shadow: 0 18px 45px rgba(11, 75, 57, .09);
}
.ipoteco-portal .ipoteco-portal-choice-trigger {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 21px 25px;
  list-style: none;
  cursor: pointer;
  outline-offset: -4px;
  transition: background .2s ease;
}
.ipoteco-portal .ipoteco-portal-choice-trigger::-webkit-details-marker { display: none; }
.ipoteco-portal .ipoteco-portal-choice-trigger::marker { content: ''; }
.ipoteco-portal .ipoteco-portal-choice-trigger:hover {
  background: #f5faf7;
}
.ipoteco-portal .ipoteco-portal-choice-trigger:focus-visible {
  outline: 3px solid #0c8f72;
  background: #f5faf7;
}
.ipoteco-portal .ipoteco-portal-choice-icon {
  flex: 0 0 49px;
  width: 49px;
  height: 49px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #e6f5ed, #d4eee2);
  color: #078065;
  font-family: system-ui, sans-serif;
  font-size: 24px;
  font-weight: 700;
}
.ipoteco-portal .ipoteco-portal-choice--resend .ipoteco-portal-choice-icon {
  background: #e9f2f9;
  color: #1c5b87;
}
.ipoteco-portal .ipoteco-portal-choice-title {
  min-width: 0;
  flex: 1;
}
.ipoteco-portal .ipoteco-portal-choice-title strong {
  display: block;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.25;
  color: #0d344a;
}
.ipoteco-portal .ipoteco-portal-choice-title small {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.45;
  color: #5f7684;
}
.ipoteco-portal .ipoteco-portal-choice-arrow {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  margin: 0 7px 6px 0;
  border-right: 2px solid #1c6b56;
  border-bottom: 2px solid #1c6b56;
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.ipoteco-portal .ipoteco-portal-choice[open] .ipoteco-portal-choice-arrow {
  transform: rotate(225deg) translate(-3px, -3px);
}
.ipoteco-portal .ipoteco-portal-choice-content {
  padding: 2px 23px 23px;
  border-top: 1px solid #edf3ef;
}
.ipoteco-portal .ipoteco-portal-choice-content .ipoteco-portal-register-showcase {
  margin-top: 20px;
}
.ipoteco-portal .ipoteco-portal-choice-content > .ipoteco-portal-card {
  margin: 16px 0 0;
  box-shadow: none;
  background: #f8fbfa;
}
.ipoteco-portal .ipoteco-portal-choice-content .ipoteco-portal-card--register-form,
.ipoteco-portal .ipoteco-portal-choice-content .ipoteco-portal-card--register-visual {
  margin-bottom: 0;
}
@media (max-width: 700px) {
  .ipoteco-portal .ipoteco-portal-choice-trigger {
    padding: 17px 14px;
    gap: 12px;
  }
  .ipoteco-portal .ipoteco-portal-choice-icon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }
  .ipoteco-portal .ipoteco-portal-choice-content {
    padding: 0 13px 15px;
  }
  .ipoteco-portal .ipoteco-portal-choice-title small {
    font-size: 12px;
  }
}


/* Desktop: login and benefits side by side, choices below both.
   Mobile: login -> choices -> benefits, so the important actions are easy to find. */
.ipoteco-portal .ipoteco-portal-auth {
  grid-template-areas:
    "login benefits"
    "choices choices";
}
.ipoteco-portal .ipoteco-portal-auth-main { grid-area: login; }
.ipoteco-portal .ipoteco-portal-auth-side { grid-area: benefits; }
.ipoteco-portal .ipoteco-portal-chooser { grid-area: choices; margin: 6px 0 0; }
.ipoteco-portal form#loginform .login-submit input[type="submit"] {
  color: #fff !important;
  background: linear-gradient(135deg, #0a7f62 0%, #12a47f 100%) !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(9, 128, 98, .22);
  cursor: pointer;
}
@media (max-width: 1000px) {
  .ipoteco-portal .ipoteco-portal-auth {
    grid-template-areas: "login" "choices" "benefits";
  }
}


/* v0.6.11 - Contract and private validation screens */
.ipoteco-portal-verificare{border:1px solid #cfe2d9;background:#fcfffd;}
.ipoteco-portal-verificare h2{font-size:clamp(23px,3vw,29px);}
.ipoteco-contract-review{border:1px solid #c9ded5;border-radius:16px;padding:13px 17px;margin:18px 0;background:#f5faf7;}
.ipoteco-contract-review summary{font-weight:750;color:#076b54;cursor:pointer;}
.ipoteco-contract-text{max-height:400px;overflow-y:auto;overflow-wrap:anywhere;line-height:1.7;font-size:14px;background:#fff;border-radius:12px;padding:20px;margin-top:16px;}
.ipoteco-contract-form p>label{font-weight:650;display:block;}
.ipoteco-contract-form input[type=checkbox]{accent-color:#0a7f62;inline-size:18px;block-size:18px;margin-right:8px;}
.ipoteco-contract-form .ipoteco-portal-form-grid{margin:18px 0 22px;}
@media(max-width:700px){.ipoteco-contract-text{padding:14px}.ipoteco-contract-form .ipoteco-portal-form-grid{grid-template-columns:1fr}}
