/* ============================================================================
 * profile.css — Public profile page (/u/{slug}) redesigned to preview (23).
 * Scoped under `.mgc-profile` so generic class names can't be clobbered by
 * main.css. All sizing/spacing keys here match the preview mockup.
 * ========================================================================== */

.mgc-profile {
  --bg:#f7f3eb; --paper:#fff; --paper-soft:#fcfaf6; --ink:#173827; --muted:#6e756d;
  --line:rgba(23,56,39,.10); --green:#143f29; --green-2:#1f6b43; --green-soft:#eaf4e7;
  --sage:#d7ebd2; --gold:#d8b86b; --gold-soft:#fff4d8;
  --orange:#b05f1d; --orange-soft:#fff0e4;
  --blue:#587fd9; --blue-soft:#edf3ff;
  --red:#c94d43; --red-soft:#fff0ef;
  --shadow:0 18px 46px rgba(23,56,39,.08);
  --shadow-soft:0 10px 28px rgba(23,56,39,.06);
  --radius-xl:30px;
  --font-serif:'Playfair Display', Georgia, "Times New Roman", serif;

  width:min(1360px, calc(100% - 40px));
  margin:0 auto;
  padding:112px 0 78px;          /* clears 89px fixed #mainNav with breathing room */
  color:var(--ink);
}
.mgc-profile *{box-sizing:border-box}

/* ─── Kill main.css leaks ─── main.css ships `.hero { min-height: 100vh;
 * padding: 8rem 4rem 5rem; display: grid; grid-template-columns: 1fr 1fr }`
 * + `section { padding: 6rem 4rem }` at top level. Both leak into this
 * scoped page via shared class names — neutralize them. */
.mgc-profile section{padding:0 !important;margin:0 !important;min-height:0 !important}
.mgc-profile .hero{
  min-height:0 !important;
  padding:0 !important;
  height:auto !important;
  align-items:start !important;
}

.mgc-profile a{color:inherit;text-decoration:none}

.mgc-profile .page-head{
  display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;
}
.mgc-profile .page-head a{color:var(--green-2);font-weight:850;font-size:15px;display:inline-flex;align-items:center;gap:6px}

/* ---- buttons ---- */
.mgc-profile .btn{
  border:0;border-radius:999px;padding:12px 18px;font-weight:850;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  transition:.18s ease;font-size:14px;text-decoration:none;line-height:1;
}
.mgc-profile .btn:hover{transform:translateY(-1px)}
.mgc-profile .btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(20,63,41,.18)}
.mgc-profile .btn-light{background:#fff;color:var(--green);border:1px solid var(--line)}
.mgc-profile .btn-soft{background:var(--sage);color:var(--green);border:1px solid rgba(31,107,67,.14)}
.mgc-profile .btn-danger-link{background:none;border:0;color:#b3342d;font-weight:850;cursor:pointer;font-size:13px;text-decoration:underline;padding:0}

/* ---- hero (cover + avatar XL + name + stats + aside cards) ---- */
.mgc-profile .hero{
  position:relative;border-radius:36px;overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%, rgba(184,216,131,.20), transparent 18rem),
    linear-gradient(180deg, #ffffff, #fcfaf6);
  border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:26px;
}
.mgc-profile .hero-cover{
  height:168px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 10% 30%, rgba(184,216,131,.42), transparent 8rem),
    radial-gradient(circle at 90% 15%, rgba(31,107,67,.15), transparent 10rem),
    linear-gradient(135deg,#173f2a,#215539 55%,#173f2a);
}
.mgc-profile .hero-cover::before,
.mgc-profile .hero-cover::after{
  content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;
}
.mgc-profile .hero-cover::before{width:220px;height:220px;right:-50px;top:-40px}
.mgc-profile .hero-cover::after{width:140px;height:140px;left:-30px;bottom:-40px}

.mgc-profile .hero-body{position:relative;padding:0 30px 30px;margin-top:-56px}
.mgc-profile .hero-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;
}
.mgc-profile .profile-top{display:flex;align-items:flex-start;gap:24px;margin-bottom:22px;flex-wrap:wrap}
.mgc-profile .avatar-xl{
  width:126px;height:126px;border-radius:28px;border:6px solid #fff;
  background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.02)), var(--paper-soft);
  overflow:hidden;flex:none;display:grid;place-items:center;
  box-shadow:0 18px 36px rgba(23,56,39,.15);
  color:var(--green);font-family:var(--font-serif);font-size:42px;font-weight:700;
}
.mgc-profile .avatar-xl img{width:100%;height:100%;object-fit:cover}

.mgc-profile .profile-id{flex:1;min-width:240px}
.mgc-profile .profile-name{
  margin:12px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.mgc-profile .profile-name h1{
  margin:0;font-family:var(--font-serif);font-size:clamp(34px,4.4vw,52px);
  line-height:.96;letter-spacing:-.045em;color:var(--ink);
}
.mgc-profile .handle{
  color:var(--muted);font-family:var(--font-serif);font-size:22px;
  letter-spacing:-.035em;margin-top:6px;
}
.mgc-profile .meta-line{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.mgc-profile .pill{
  display:inline-flex;align-items:center;gap:7px;padding:9px 12px;
  border-radius:999px;font-size:12px;font-weight:900;line-height:1;
  background:var(--green-soft);color:var(--green-2);white-space:nowrap;
}
.mgc-profile .pill.gray{background:#f2f2ef;color:#666e66}
.mgc-profile .pill.gold{background:var(--gold-soft);color:#876112}
.mgc-profile .pill.orange{background:var(--orange-soft);color:var(--orange)}
.mgc-profile .pill.blue{background:var(--blue-soft);color:var(--blue)}
.mgc-profile .pill.red{background:var(--red-soft);color:#a8392f}
.mgc-profile .pill.green{background:var(--green-soft);color:var(--green-2)}

.mgc-profile .location-line{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;
  color:#364337;font-size:16px;font-weight:700;
}
.mgc-profile .location-line span{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0}
.mgc-profile .location-line small{
  display:block;color:var(--muted);font-size:13px;font-weight:700;margin-top:2px;
}

.mgc-profile .stats-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;
}
.mgc-profile .stat{
  border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px 18px;
  box-shadow:var(--shadow-soft);
}
.mgc-profile .stat strong{
  display:block;font-size:28px;line-height:1;letter-spacing:-.045em;margin-bottom:7px;
  font-variant-numeric:tabular-nums;color:var(--ink);
}
.mgc-profile .stat span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}
.mgc-profile .stat a{color:inherit}

/* hero aside */
.mgc-profile .hero-aside{display:grid;gap:16px;align-content:start}
.mgc-profile .aside-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;
  box-shadow:var(--shadow-soft);
}
.mgc-profile .aside-card h3{
  margin:0 0 8px;font-family:var(--font-serif);font-size:24px;letter-spacing:-.04em;color:var(--ink);
}
.mgc-profile .aside-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.mgc-profile .action-stack{display:grid;gap:10px;margin-top:14px}
.mgc-profile .action-stack .btn{width:100%}
.mgc-profile .trust-list{display:grid;gap:10px;margin-top:14px}
.mgc-profile .trust-item{
  display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:12px;
  background:var(--paper-soft);border:1px solid var(--line);border-radius:16px;
}
.mgc-profile .trust-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--green-soft);color:var(--green);font-size:18px;
}
.mgc-profile .trust-item strong{display:block;font-size:14px;margin-bottom:4px;color:var(--ink)}
.mgc-profile .trust-item span{display:block;color:var(--muted);font-size:12px;line-height:1.5}

/* sidebar help-card variant (gold-tinted) */
.mgc-profile .help-card{
  background:
    radial-gradient(circle at 85% 10%, rgba(184,216,131,.18), transparent 8rem),
    linear-gradient(180deg,#fffdf7,#fbf7ea);
  border-color:rgba(216,184,107,.30);
}

/* ---- main content + sidebar layout ---- */
.mgc-profile .content{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;
}
.mgc-profile .main-col{display:grid;gap:24px;min-width:0}
.mgc-profile .side-col{display:grid;gap:18px;position:sticky;top:104px}

.mgc-profile .panel{
  background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:30px;
  box-shadow:var(--shadow-soft);padding:24px;
}
.mgc-profile .section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap;
}
.mgc-profile .section-head h2{
  margin:0;font-family:var(--font-serif);font-size:30px;letter-spacing:-.04em;color:var(--ink);
}
.mgc-profile .section-head p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55;max-width:760px}
.mgc-profile .section-head h2[style*="font-size"]{font-size:inherit}  /* respect inline overrides */

.mgc-profile .bio-box{
  padding:18px 20px;border-radius:22px;
  background:linear-gradient(180deg,#fff,#fcfbf8);border:1px solid var(--line);
  color:#314034;font-size:15px;line-height:1.75;white-space:pre-wrap;
}

/* ---- garden grid ---- */
.mgc-profile .garden-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:16px;
}
.mgc-profile .garden-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;
}
.mgc-profile .garden-card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.03em;color:var(--ink)}
.mgc-profile .garden-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.mgc-profile .chip-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.mgc-profile .chip-wrap .pill{font-weight:900}

/* ---- tabs ---- */
.mgc-profile .tabs{
  display:flex;gap:10px;flex-wrap:wrap;padding:6px;border-radius:999px;
  background:#fff;border:1px solid var(--line);
  width:max-content;max-width:100%;overflow:auto;
}
.mgc-profile .tabs a{
  border:0;background:transparent;border-radius:999px;padding:12px 16px;
  font-weight:850;color:var(--muted);cursor:pointer;white-space:nowrap;
  text-decoration:none;font-size:14px;
}
.mgc-profile .tabs a:hover{color:var(--ink)}
.mgc-profile .tabs a.active{background:var(--green);color:#fff}

/* ---- listing card grid ---- */
.mgc-profile .listing-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;
}
.mgc-profile .listing-card{
  overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:24px;
  box-shadow:var(--shadow-soft);display:flex;flex-direction:column;transition:.18s ease;
}
.mgc-profile .listing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mgc-profile .listing-image{
  position:relative;height:154px;overflow:hidden;
  background:
    radial-gradient(circle at 28% 32%, rgba(216,184,107,.32), transparent 4rem),
    radial-gradient(circle at 78% 42%, rgba(93,142,71,.26), transparent 6rem),
    linear-gradient(135deg,#eef5e8,#fff);
}
.mgc-profile .listing-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mgc-profile .image-badge{position:absolute;top:14px;left:14px;backdrop-filter:blur(4px)}
.mgc-profile .listing-boost{
  position:absolute;top:14px;right:14px;background:var(--gold);color:#fff;
  font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;
  text-transform:uppercase;letter-spacing:.05em;
}
.mgc-profile .listing-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.mgc-profile .listing-title{margin:0;font-size:20px;letter-spacing:-.035em;color:var(--ink);line-height:1.25}
.mgc-profile .listing-sub{color:var(--muted);font-size:14px;line-height:1.5}
.mgc-profile .mini-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.mgc-profile .mini-pill{
  display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;
  background:#f7f7f4;border:1px solid rgba(23,56,39,.08);font-size:12px;font-weight:800;color:#334235;
}
.mgc-profile .listing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.mgc-profile .listing-actions .btn{padding:10px 14px;font-size:13px}

/* ---- post card list ---- */
.mgc-profile .post-list{display:grid;gap:14px;margin-top:18px}

/* ---- review card list ---- */
.mgc-profile .review-summary{
  display:flex;align-items:center;justify-content:center;gap:14px;padding:18px;text-align:center;
  background:var(--paper-soft);border:1px solid var(--line);border-radius:22px;margin-top:18px;
}
.mgc-profile .review-summary .big-star{font-size:34px;color:var(--gold);line-height:1}
.mgc-profile .review-summary strong{font-size:26px;color:var(--ink);font-variant-numeric:tabular-nums}
.mgc-profile .review-summary span{color:var(--muted);font-size:13px;display:block}
.mgc-profile .review-list{display:grid;gap:14px;margin-top:14px}
.mgc-profile .review-card{
  border:1px solid var(--line);background:#fff;border-radius:22px;padding:18px;
  box-shadow:var(--shadow-soft);
}
.mgc-profile .review-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px;flex-wrap:wrap}
.mgc-profile .review-name{display:flex;align-items:center;gap:10px}
.mgc-profile .review-avatar{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#cfe2bc,#6c9361);color:#fff;font-weight:900;font-size:14px;
}
.mgc-profile .stars{color:#d39f2f;letter-spacing:.08em;font-size:14px;font-weight:900}
.mgc-profile .review-card p{margin:0;color:#334236;font-size:14px;line-height:1.65;white-space:pre-wrap}

/* ---- empty state ---- */
.mgc-profile .empty{
  padding:32px 24px;text-align:center;color:var(--muted);
  background:var(--paper-soft);border:1px dashed rgba(23,56,39,.18);border-radius:22px;margin-top:18px;
}
.mgc-profile .empty .icon{font-size:32px;margin-bottom:10px}
.mgc-profile .empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}

/* ---- public-crops grid ---- */
.mgc-profile .crop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}
.mgc-profile .crop-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  text-decoration:none;color:inherit;display:block;transition:.15s ease;
}
.mgc-profile .crop-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.mgc-profile .crop-img{width:100%;height:96px;display:grid;place-items:center;font-size:32px;background:linear-gradient(135deg,#dff2dc,#cce6c7)}
.mgc-profile .crop-img img{width:100%;height:100%;object-fit:cover}
.mgc-profile .crop-meta{padding:10px 12px}
.mgc-profile .crop-meta strong{display:block;color:var(--green);font-size:13.5px}
.mgc-profile .crop-meta span{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

/* org section */
.mgc-profile .org-panel{
  background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid #bfdbfe;
}
.mgc-profile .org-panel .section-head h2{color:#1e40af}

/* ---- privacy gate ---- */
.mgc-profile .gate{
  padding:36px 24px;text-align:center;color:var(--muted);
  background:#fff;border:1px solid var(--line);border-radius:22px;
}
.mgc-profile .gate .lock{font-size:34px;margin-bottom:10px}
.mgc-profile .gate strong{display:block;color:var(--ink);font-family:var(--font-serif);font-size:22px;margin-bottom:6px}

/* ---- responsive ---- */
@media (max-width:1200px){
  .mgc-profile .hero-grid,
  .mgc-profile .content,
  .mgc-profile .garden-grid{grid-template-columns:minmax(0,1fr)}
  .mgc-profile .side-col{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mgc-profile .hero-aside{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .mgc-profile{width:min(calc(100% - 22px), 1360px)}
  .mgc-profile .hero-body{padding:0 18px 18px}
  .mgc-profile .profile-top{flex-direction:column;gap:16px}
  .mgc-profile .stats-row,
  .mgc-profile .listing-grid{grid-template-columns:minmax(0,1fr)}
  .mgc-profile .hero-aside,
  .mgc-profile .side-col{grid-template-columns:minmax(0,1fr)}
  .mgc-profile .tabs{width:100%}
}
@media (max-width:560px){
  .mgc-profile .hero-cover{height:132px}
  .mgc-profile .avatar-xl{width:104px;height:104px;border-radius:24px}
  .mgc-profile .page-head{flex-direction:column;align-items:flex-start}
  .mgc-profile .location-line{font-size:14px}
  .mgc-profile .btn{width:100%}
  .mgc-profile .listing-actions .btn{width:auto;flex:1}
  .mgc-profile .section-head h2{font-size:26px}
}
