/* ============================================================
   Sweet Properteez — Portfolio + Profile (WordPress shortcode)
   SUNSET WARM palette. EVERYTHING scoped under .spe-pf so it can
   never clobber the WordPress theme (no global body/* resets).
   ============================================================ */
.spe-pf{
  --cream:#fff6ea; --cream-2:#fdeede; --paper:#fffdf9;
  --line:#f2e5d1; --line-2:#e8d6bd;
  --ink:#2c1d11; --ink-2:#5a4838; --ink-dim:#8a7767; --ink-faint:#b4a390;
  --on:#fff;
  --orange:#ff6a1c; --orange-deep:#e85610; --orange-soft:rgba(255,106,28,.12);
  --yellow:#ffda62; --yellow-deep:#f2c53d;
  --amber:#ffae56; --amber-deep:#f2922f;
  --pink:#f5788b; --pink-deep:#e85c72; --pink-soft:rgba(245,120,139,.16);
  --gain:#1fa46e; --gain-soft:rgba(31,164,110,.14);
  --loss:#e85c72; --loss-soft:rgba(245,120,139,.16);
  --radius:18px; --radius-sm:12px;
  --shadow:0 20px 44px -22px rgba(196,110,40,.30);
  --shadow-soft:0 10px 26px -16px rgba(196,110,40,.26);
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif;

  font-family:var(--sans); color:var(--ink-2); position:relative;
  max-width:1120px; margin:0 auto; padding:6px 4px 120px;
}
.spe-pf *{box-sizing:border-box}
.spe-pf .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* hero */
.spe-hero{position:relative;overflow:hidden;border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(255,106,28,.10),rgba(245,120,139,.08)),var(--paper);
  border:1px solid var(--line);box-shadow:var(--shadow);padding:26px 28px;margin-bottom:22px}
.spe-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 90% -30%,rgba(255,174,86,.28),transparent 70%);pointer-events:none}
.spe-hero-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;position:relative}
.spe-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.spe-pf-name{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--orange);margin-top:3px}
.spe-pf-value{text-align:right}
.spe-big{font-family:var(--mono);font-size:38px;font-weight:600;color:var(--ink);line-height:1}
.spe-sub{font-size:12.5px;color:var(--ink-dim);margin-top:6px}
.spe-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;position:relative}
.spe-stat{border-radius:var(--radius-sm);padding:16px 18px;background:var(--cream);border:1px solid var(--line)}
.spe-stat .spe-k{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:7px}
.spe-stat .spe-v{font-family:var(--mono);font-size:22px;font-weight:600;margin-top:8px;color:var(--ink)}
.spe-stat .spe-p{font-size:12.5px;margin-top:4px;color:var(--ink-dim)}
.spe-stat.gain{background:linear-gradient(180deg,var(--gain-soft),transparent),var(--cream);border-color:rgba(31,164,110,.3)}
.spe-stat.loss{background:linear-gradient(180deg,var(--loss-soft),transparent),var(--cream);border-color:rgba(232,92,114,.3)}
.spe-stat.gain .spe-v{color:var(--gain)} .spe-stat.loss .spe-v{color:var(--loss)}
.spe-stat.gold .spe-v{color:var(--orange)} .spe-stat.amber .spe-v{color:var(--amber-deep)}
.spe-pill{font-size:11px;padding:2px 8px;border-radius:99px;font-weight:600}
.spe-pill.up{background:var(--gain-soft);color:var(--gain)} .spe-pill.down{background:var(--loss-soft);color:var(--loss)}

/* section head */
.spe-sec-head{display:flex;align-items:center;gap:12px;margin:26px 4px 14px}
.spe-bar{width:4px;height:20px;border-radius:2px;background:linear-gradient(var(--orange),var(--amber))}
.spe-sec-head h2{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink);margin:0}
.spe-muted{color:var(--ink-faint);font-size:13px;font-weight:400}
.spe-count{margin-left:auto;font-size:12.5px;color:var(--ink-dim);font-family:var(--mono)}

/* cards */
.spe-card{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:18px;align-items:center;
  padding:20px 22px;margin-bottom:14px;border-radius:var(--radius);background:var(--paper);
  border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.22s}
.spe-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 16px 32px -18px rgba(255,106,28,.4)}
.spe-accent{position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:0 4px 4px 0;background:var(--amber)}
.spe-card.is-loss .spe-accent{background:var(--loss)} .spe-card.is-gain .spe-accent{background:var(--gain)}
.spe-type-badge{display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);
  background:var(--orange-soft);border:1px solid rgba(255,106,28,.28);padding:2px 9px;border-radius:99px;margin-bottom:8px}
.spe-loc{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);line-height:1.15}
.spe-city{font-size:12.5px;color:var(--ink-dim);margin-top:3px}
.spe-area{font-family:var(--mono);font-size:12px;color:var(--orange-deep);margin-top:8px}
.spe-metric .spe-k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.spe-metric .spe-v{font-family:var(--mono);font-size:16px;font-weight:600;margin-top:3px;color:var(--ink-2)}
.spe-metric .spe-v.big{font-size:17px;color:var(--ink)}
.spe-metric+.spe-metric{margin-top:12px}
.spe-chg{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:13px;font-weight:600;margin-top:3px}
.spe-chg.up{color:var(--gain)} .spe-chg.down{color:var(--loss)}
.spe-yield-tag{font-size:11px;color:var(--amber-deep);font-family:var(--mono);margin-top:2px}
.spe-card-actions{display:flex;flex-direction:column;gap:9px}
.spe-icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);background:var(--cream);
  color:var(--ink-dim);display:grid;place-items:center;transition:.18s}
.spe-icon-btn:hover{color:var(--ink);transform:translateY(-1px)}
.spe-icon-btn.sell:hover{border-color:var(--pink);color:var(--pink-deep);background:var(--pink-soft)}
.spe-icon-btn.rent:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}
.spe-icon-btn svg{width:19px;height:19px}
.spe-empty{text-align:center;padding:60px 20px;color:var(--ink-faint)}

/* FAB */
.spe-fab-wrap{position:fixed;right:34px;bottom:34px;z-index:99999;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.spe-fab-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}
.spe-fab-actions.open{opacity:1;pointer-events:auto;transform:none}
.spe-fab-action{display:flex;align-items:center;gap:12px}
.spe-lbl{background:var(--paper);color:var(--ink);border:1px solid var(--line);font-weight:600;font-size:13.5px;padding:9px 15px;border-radius:10px;box-shadow:var(--shadow-soft)}
.spe-fbtn{width:52px;height:52px;border-radius:50%;border:0;color:var(--on);cursor:pointer;
  background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(255,106,28,.55)}
.spe-fbtn svg{width:22px;height:22px}
.spe-fab-action.sell .spe-fbtn{background:linear-gradient(135deg,var(--pink),var(--pink-deep))}
.spe-fab-action.rent .spe-fbtn{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));color:var(--ink)}
.spe-fab-main{width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--orange),var(--pink));color:var(--on);
  display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(255,106,28,.6);transition:.3s}
.spe-fab-main svg{width:26px;height:26px;transition:.3s}
.spe-fab-main.open{transform:rotate(45deg)}

/* modal */
.spe-overlay{position:fixed;inset:0;z-index:100000;background:rgba(60,30,10,.34);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}
.spe-overlay.open{display:flex}
.spe-modal{width:100%;max-width:480px;border-radius:22px;background:var(--paper);border:1px solid var(--line);
  box-shadow:0 30px 70px -20px rgba(120,60,20,.4);padding:26px;max-height:90vh;overflow:auto}
.spe-modal h3{font-family:var(--serif);font-size:22px;font-weight:600;margin:0 0 4px;color:var(--ink)}
.spe-desc{font-size:13px;color:var(--ink-dim);margin-bottom:20px}
.spe-field{margin-bottom:15px}
.spe-field>label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:7px}
.spe-field input,.spe-field select{width:100%;padding:12px 14px;border-radius:11px;font-size:14.5px;font-family:var(--sans);
  background:var(--cream);border:1px solid var(--line-2);color:var(--ink);outline:none;transition:.18s}
.spe-field input:focus,.spe-field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,106,28,.15)}
.spe-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.spe-modal-actions{display:flex;gap:10px;margin-top:22px}
.spe-btn-primary{flex:1;padding:13px;border:0;border-radius:12px;font-weight:700;font-size:14.5px;cursor:pointer;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:var(--on)}
.spe-btn-primary.danger{background:linear-gradient(135deg,var(--pink),var(--pink-deep))}
.spe-btn-primary.amber{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));color:var(--ink)}
.spe-btn-ghost{padding:13px 20px;border-radius:12px;border:1px solid var(--line-2);background:transparent;color:var(--ink-dim);font-weight:600;cursor:pointer}
.spe-hint{font-family:var(--mono);font-size:12px;color:var(--amber-deep);margin-top:6px}

/* toast */
.spe-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);z-index:100001;background:var(--paper);
  border:1px solid var(--orange);color:var(--ink);padding:13px 20px;border-radius:12px;font-size:14px;box-shadow:var(--shadow);opacity:0;transition:.3s;display:flex;align-items:center;gap:10px}
.spe-toast.show{opacity:1;transform:translateX(-50%)}
.spe-tk{color:var(--orange)}

/* login gate */
.spe-login-gate{max-width:420px;margin:40px auto;text-align:center;padding:40px 30px;border-radius:var(--radius);
  background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.spe-login-mark{width:56px;height:56px;border-radius:16px;margin:0 auto 18px;background:linear-gradient(135deg,var(--orange),var(--pink));
  display:grid;place-items:center;color:var(--on);font-family:var(--serif);font-size:26px;font-weight:700}
.spe-login-gate h2{font-family:var(--serif);font-size:22px;color:var(--ink);margin:0 0 8px}
.spe-login-gate p{color:var(--ink-dim);font-size:14px;margin:0 0 22px}
.spe-login-gate .spe-btn-primary{display:inline-block;text-decoration:none;text-align:center;margin:0 6px 8px}
.spe-login-gate .spe-btn-ghost{display:inline-block;text-decoration:none}

/* profile */
.spe-profile-head{display:flex;align-items:center;gap:22px;padding:28px;margin-bottom:22px;border-radius:var(--radius);
  background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.spe-profile-head::after{content:"";position:absolute;inset:0;background:radial-gradient(500px 200px at 100% 0,rgba(255,174,86,.28),transparent 65%);pointer-events:none}
.spe-big-avatar{width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,var(--orange),var(--pink));
  display:grid;place-items:center;font-family:var(--serif);font-size:34px;font-weight:600;color:var(--on);position:relative;z-index:1}
.spe-profile-meta{position:relative;z-index:1}
.spe-profile-meta h1{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--ink);margin:0}
.spe-email{color:var(--ink-dim);font-size:14px;margin-top:2px}
.spe-since{font-size:12.5px;color:var(--ink-faint);margin-top:8px}
.spe-badge-verified{background:var(--gain-soft);color:var(--gain);font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;vertical-align:middle}
.spe-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.spe-pstat{border-radius:var(--radius-sm);padding:18px;background:var(--paper);border:1px solid var(--line);text-align:center}
.spe-pstat .spe-v{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--orange)}
.spe-pstat.amber .spe-v{color:var(--amber-deep)} .spe-pstat.pink .spe-v{color:var(--pink-deep)} .spe-pstat.green .spe-v{color:var(--gain)}
.spe-pstat .spe-k{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}
.spe-panel{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);padding:8px 6px;margin-bottom:16px}
.spe-panel-title{font-family:var(--serif);font-size:15px;padding:12px 18px 4px;color:var(--ink-dim)}
.spe-prow{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;transition:.15s;text-decoration:none}
.spe-prow:hover{background:var(--cream)}
.spe-ico{width:38px;height:38px;border-radius:11px;background:var(--cream);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--orange)}
.spe-ico svg{width:18px;height:18px}
.spe-txt{flex:1;display:flex;flex-direction:column}
.spe-txt .spe-t{font-weight:600;font-size:14.5px;color:var(--ink)}
.spe-txt .spe-s{font-size:12.5px;color:var(--ink-faint);margin-top:1px}
.spe-go{color:var(--ink-faint);font-size:20px}
.spe-cities{display:flex;flex-wrap:wrap;gap:8px;padding:6px 18px 16px}
.spe-city-chip{font-size:12.5px;padding:6px 13px;border-radius:99px;background:var(--cream);border:1px solid var(--line-2);color:var(--ink-dim)}
.spe-city-chip.active{background:var(--orange-soft);border-color:var(--orange);color:var(--orange-deep)}

/* footer credit */
.spe-powered{text-align:center;margin-top:26px;font-size:12.5px;color:var(--ink-faint);letter-spacing:.02em}
.spe-powered a{color:var(--orange-deep);font-weight:600;text-decoration:none}
.spe-powered a:hover{text-decoration:underline}

@media(max-width:820px){
  .spe-card{grid-template-columns:1fr 1fr;gap:14px}
  .spe-card-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end}
  .spe-stat-row,.spe-profile-grid{grid-template-columns:1fr}
  .spe-pf-value{text-align:left}
}
