/* ====== Base / Typography ====== */
@font-face{
  font-family:'SutonnyMJ';
  src:url('../fonts/SutonnyMJ.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}
:root{
  --bg:#f6f8fb; --card:#fff; --text:#0f172a; --muted:#64748b;
  --primary:#0b5ea8; --primary-100:#eaf2ff;
  --soft:#eef2f7; --border:#e5e7eb; --danger:#e11d48; --success:#0ea5a4;
  --nav-h:56px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,'SutonnyMJ',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial;}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1100px,92%);margin:0 auto}
.pad{padding:14px}

/* ====== Flash ====== */
.flash{margin:10px 0;padding:10px;border-radius:10px}
.flash.success{background:#e6fffa;color:#065f46;border:1px solid #bff0e9}
.flash.danger{background:#fff1f2;color:#9f1239;border:1px solid #ffd5db}

/* ====== Top Nav ====== */
.topnav{position:sticky; top:0; z-index:1300; background:#0d47a1; color:#fff}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;height:56px}
.brand{font-weight:800;font-size:1.2rem}
.nav-links{display:flex;align-items:center;gap:12px}
.logout-form{display:inline}
.btn{border:1px solid transparent;background:#e2e8f0;color:#0f172a;border-radius:10px;padding:.55rem .9rem;cursor:pointer}
.btn-primary{background:var(--primary);color:#fff}
.btn-outline{background:transparent;border-color:#cfe0ff;color:#fff}
.btn-ghost{background:transparent;color:#fff}
.btn-soft{background:#f1f5f9;color:#0f172a}
.btn-danger{background:var(--danger);color:#fff}
.btn-success{background:#10b981;color:#fff}

/* ====== Cards / Common ====== */
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.card .thumb{width:100%;height:180px;object-fit:cover}

/* LISTING grid (.cards) — unified with HOME (.post-grid) */
.cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
@media (max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .cards{grid-template-columns:1fr} }

.card-post .card-body{padding:10px}
.card-post h3{margin:.3rem 0 .2rem;font-size:1.05rem}

/* LISTING card footer — match HOME footer */
.card-actions{
  padding:12px 14px;
  border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:#fafafa;
}
.card-actions .btn{
  padding:8px 14px; border-radius:10px; font-weight:700; font-size:14px; line-height:1;
}
.card-actions .btn-soft{
  background:#eef2ff; color:#1e3a8a; border:1px solid #c7d2fe;
}
.card-actions .btn-fav{
  text-decoration:none; padding:8px 14px; border-radius:10px;
  background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; line-height:1;
}

/* chips & bits */
.chip{background:#eef2ff;color:#0b5ea8;border-radius:10px;padding:2px 8px;font-weight:600}
.loc-line{display:flex;gap:6px;flex-wrap:wrap;margin:.25rem 0}
.loc-pill{background:#eef2f7;border:1px dashed var(--border);border-radius:10px;padding:2px 8px}
.price{font-weight:800;margin-top:4px}
.rent-badge{background:#dcfce7;color:#065f46;border-radius:10px;padding:2px 8px;margin-left:6px}

/* ====== Home hero & Search bar ====== */
.home-hero{background:linear-gradient(120deg,#0b5ea8,#0f75c3);color:#fff}
.hero-title{margin:.2rem 0 10px}
/* base grid; responsive below */
.searchbar{display:grid;grid-template-columns:1fr 140px 160px 160px 180px 120px;gap:8px}
@media (max-width:980px){.searchbar{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.searchbar{grid-template-columns:1fr}}
.search-input,.search-select{border:1px solid #cbd5e1;border-radius:10px;padding:.6rem .8rem}
.search-btn{width:100%}

/* ====== Listing filterbar ====== */
.panel.filterbar{display:grid;grid-template-columns:1fr 130px 160px 160px 160px 120px;gap:8px;margin:10px 0}
@media (max-width:980px){.panel.filterbar{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.panel.filterbar{grid-template-columns:1fr}}
.pager{display:flex;gap:8px;justify-content:center;margin:14px 0}

/* ====== Forms ====== */
.form.pro.modern .field{display:block}
.form.pro.modern input,.form.pro.modern select,.form.pro.modern textarea{
  width:100%;padding:.62rem .8rem;border:1px solid #d1d5db;border-radius:12px;background:#fff;
}
.form.pro.modern select{appearance:none;background-image:
  linear-gradient(45deg, transparent 50%, #94a3b8 50%),
  linear-gradient(135deg, #94a3b8 50%, transparent 50%);
background-position: calc(100% - 18px) calc(.9em), calc(100% - 13px) calc(.9em);
background-size: 5px 5px, 5px 5px; background-repeat:no-repeat;}
.invalid{border-color:#dc2626!important;background:#fff5f5}
.req{color:#dc2626}
.hint{font-size:.82rem;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:980px){.grid-5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.grid-3,.grid-4,.grid-5{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr}}
.sec{border:1px solid var(--border);border-radius:14px;padding:14px;margin:12px 0;background:#fff}
.sec>legend{font-weight:700;padding:0 6px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}

/* Amenity chips (used in forms & view) */
.amen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:980px){.amen-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.amen-grid{grid-template-columns:1fr}}     /* default mobile = 1col (will override on pv) */
.amen-chip{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:12px;padding:.55rem .7rem;background:#fbfdff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amen-grid.warn .amen-chip{background:#fffaf5;border-color:#fde6c6}
.amen-chip input{width:18px;height:18px}

/* ====== Post View (pv-*) ====== */
.pv-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-top:10px}
@media (max-width:980px){.pv-grid{grid-template-columns:1fr}}
.pv-main{overflow:hidden}
.pv-hero{display:grid}
.pv-image{width:100%;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}
.pv-image img{width:100%;height:100%;object-fit:cover}
.pv-head{padding:14px}
.pv-head-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pv-title{margin:6px 0 4px;font-size:1.7rem;line-height:1.25}
.pv-author{color:#475569;font-size:.95rem}
.pv-author-link{font-weight:600}
.pv-rating-badge{display:flex;align-items:center;gap:4px;background:#fef08a;color:#92400e;border-radius:10px;padding:2px 8px;font-weight:700}
.pv-location{margin:10px 0 6px}
.pv-location-line{color:#334155}
.pv-shortaddr{color:#475569}
.pv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
@media (max-width:640px){.pv-stats{grid-template-columns:repeat(2,1fr)}}
.pv-stat{background:#f8fafc;border:1px dashed #e5e7eb;border-radius:10px;padding:10px}
.pv-stat .k{color:#64748b;font-size:.86rem}
.pv-stat .v{font-weight:800}
.pv-sections{display:grid;gap:16px}
.pv-section{border-top:1px solid #eef2f7;padding-top:12px}
.pv-h{font-size:1.05rem;margin:0 0 8px}
.pv-desc{margin:0}
/* general key/vals */
.pv-pairs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
@media (max-width:640px){.pv-pairs{grid-template-columns:1fr}}
.pv-pairs li{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border:1px solid #eef0f3;border-radius:10px;padding:8px 10px}
.pv-tags{display:flex;flex-wrap:wrap;gap:8px}
.pv-aside{display:flex;flex-direction:column;gap:14px}
.pv-sidecard{border-radius:12px;overflow:hidden}
.pv-side-h{margin:0 0 8px;font-size:1.05rem}
.pv-side-hrow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pv-mini-rating{display:flex;align-items:center;gap:4px;background:#fef08a;color:#92400e;border-radius:8px;padding:2px 6px;font-weight:700}
.pv-cta{display:flex;flex-direction:column;gap:8px}
.w-100{width:100%}
.pv-review-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.pv-review-list li{border:1px solid #eef0f3;border-radius:10px;padding:8px 10px;background:#fff}
.review-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.review-head .stars{color:#f59e0b}
.review-head .dim{color:#d1d5db}
.comment-tree>ul{list-style:none;padding-left:0;margin:10px 0 0}
.comment-tree ul{list-style:none;padding-left:16px;margin:8px 0 0}
.citem{background:#f8fafc;padding:10px;border:1px solid #eef0f3;border-radius:10px;margin:6px 0}
.reply summary{cursor:pointer;color:#0b5ea8;margin-top:6px}
.pv-form textarea{border-radius:10px}
.stars-input.compact label{font-size:18px;margin-inline:2px}

/* ====== Sticky actions for Post New ====== */
.sticky-actions{position:sticky;top:calc(var(--nav-h) + 8px);z-index:50;border-radius:0}
.actions-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}

/* ====== Inbox ====== */
.page-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 10px}
.inbox-list{display:flex;flex-direction:column}
.inbox-row{display:grid;grid-template-columns:120px 1fr 220px;gap:10px;align-items:center;border-bottom:1px solid #eef0f3;padding:10px}
.inbox-row.read{opacity:.8}
.inbox-row .msg{font-weight:600}
.inbox-row .time{font-size:.85rem}
.chip-info{background:#eaf2ff;color:#0b5ea8;border-radius:12px;padding:3px 10px}
.chip-warn{background:#fff7ed;color:#c2410c;border-radius:12px;padding:3px 10px}
.inline{display:inline}
@media (max-width:760px){
  .inbox-row{grid-template-columns:1fr;align-items:start}
  .inbox-row .actions{display:flex;gap:8px}
}

/* ====== Footer ====== */
.site-footer{margin:18px 0 30px;text-align:center;color:var(--muted)}

/* ===== Header / Drawer ===== */
.burger{display:none;background:transparent;border:0;color:#fff;font-size:22px;margin-right:8px}
.icon-link{position:relative;display:inline-flex;align-items:center;gap:4px}
.badge{position:absolute;top:-7px;right:-10px;background:#ef4444;color:#fff;border-radius:10px;padding:0 6px;font-size:12px;line-height:18px}
.profile-dd{position:relative}
.profile-dd > summary{list-style:none;cursor:pointer}
.profile-dd[open] > .menu{display:block}
.profile-dd .menu{position:absolute;right:0;top:36px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:180px;padding:8px;display:none}
.profile-dd .menu a,.profile-dd .menu form{display:block;margin:6px 4px}
.home-ico{margin-right:4px}
@media (max-width:860px){
  .burger{display:inline-block}
  body.nav-open .nav-links{display:flex}
  .nav-links{display:none;position:absolute;left:0;right:0;top:56px;flex-direction:column;background:#0d47a1;padding:10px;gap:10px}
  .top-search{display:none}
}

/* fixed form panel look like screenshot */
.form-panel{max-width:520px;margin:40px auto}
.panel-head{display:flex;align-items:center;gap:10px;padding:14px 14px 0}
.panel-head .ico{font-size:22px}
.panel-title{margin:0}
.tiny{font-size:.85rem}
.ta-center{text-align:center}
.w-100{width:100%}

/* Visibility helpers */
.show-desktop{display:flex}
.show-mobile{display:none}
@media (max-width:860px){
  .show-desktop{display:none!important}
  .show-mobile{display:inline-flex!important}
}

/* Header layout */
.three-cols{display:grid; grid-template-columns:1fr auto 1fr; align-items:center}
.nav-left{display:flex; align-items:center; gap:10px}
.nav-center{display:flex; align-items:center; gap:14px; justify-content:center; white-space:nowrap}
.nav-right{display:flex; align-items:center; gap:12px; justify-content:flex-end}
.home-ico{font-size:18px}

/* Prevent header from breaking into a second line */
.topnav *{min-width:0}
.nav-center a{color:#eaf2ff; padding:6px 10px; border-radius:10px}
.nav-center a:hover{background:rgba(255,255,255,.10)}

/* Mobile: center brand, left burger, right bell */
@media (max-width:860px){
  .three-cols{grid-template-columns:auto 1fr auto}
  .brand{position:absolute; left:50%; transform:translateX(-50%)}
  .nav-center{display:none}
}

/* Mobile drawer */
.nav-links{display:none}
@media (max-width:860px){
  .nav-links{
    display:none; position:fixed; top:56px; right:0; bottom:0; width:320px;
    background:linear-gradient(180deg,#0d47a1 0%, #063b93 100%);
    padding:16px 14px 24px; gap:8px; flex-direction:column;
    box-shadow:-12px 0 32px rgba(2,6,23,.22); z-index:1200;
  }
  body.nav-open .nav-links{display:flex}
  .nav-links a{color:#eaf2ff; padding:8px 10px; border-radius:10px}
  .nav-links a:hover{background:rgba(255,255,255,.08)}
  .only-mobile{display:block}
}
@media (min-width:861px){ .only-mobile{display:none} }

/* Bell badge */
.icon-link{position:relative; align-items:center}
.icon-link .badge{
  position:absolute; top:-7px; right:-10px; background:#ef4444; color:#fff;
  border-radius:10px; padding:0 6px; font-size:12px; line-height:18px;
}

/* Desktop profile dropdown (button style) */
.profile-dd{position:relative}
.profile-dd > summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px}
.profile-dd > summary::-webkit-details-marker{display:none}
.profile-dd .menu{
  position:absolute; right:0; top:calc(100% + 8px);
  background:#fff; color:#0f172a; border:1px solid #e5e7eb; border-radius:12px;
  min-width:240px; padding:10px; box-shadow:0 16px 36px rgba(2,6,23,.16); display:none
}
.profile-dd[open] .menu{display:block}
.menu-item{
  display:block; text-decoration:none; color:#0f172a; font-weight:600;
  background:#f8fafc; border:1px solid #e5e7eb; padding:10px 12px; border-radius:10px; margin:6px 0;
}
.menu-item:hover{background:#eef2f7}
.btn-logout{background:#ef4444; color:#fff; border:0; padding:10px 12px; border-radius:10px}
.btn-logout:hover{filter:brightness(.95)}

/* ==== HOME: Card grid ==== */
.post-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media (max-width:1100px){ .post-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:860px){  .post-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){  .post-grid{grid-template-columns:1fr} }

.p-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px;
  overflow:hidden; display:flex; flex-direction:column; min-height:430px;
  box-shadow:0 4px 18px rgba(2,6,23,.05);
}
.p-media{position:relative; display:block; aspect-ratio: 16/10; overflow:hidden; background:#f1f5f9}
.p-media img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.001);}
.p-type{
  position:absolute; left:10px; top:10px;
  background:rgba(29,78,216,.95); color:#fff; font-weight:700;
  padding:6px 10px; border-radius:999px; font-size:13px
}
.p-fav{
  position:absolute; right:10px; top:10px; width:34px; height:34px;
  border-radius:50%; background:rgba(255,255,255,.9);
  display:grid; place-items:center; font-size:18px; color:#0f172a; text-decoration:none;
  box-shadow:0 6px 16px rgba(2,6,23,.15);
}
.p-fav.on{ color:#f59e0b; background:#fff }

.p-body{padding:12px 14px 0}
.p-title{font-size:18px; margin:0 0 6px}
/* desktop clamp 2 lines (mobile override below) */
.p-title a{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis; line-height:1.35; min-height:3.1em;
  color:#0f172a; text-decoration:none; font-weight:800; font-size:18px;
}
.p-loc{color:#64748b; font-size:14px; margin-bottom:6px}
.p-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:6px}
.rent{
  background:#ecfeff; color:#0e7490; border:1px solid #a5f3fc;
  padding:4px 8px; border-radius:8px; font-weight:700; font-size:14px;
}
.from{
  background:#ecfdf5; color:#15803d; border:1px solid #bbf7d0;
  padding:4px 8px; border-radius:8px; font-size:13px;
}
.p-vac{color:#334155; font-size:14px; margin-bottom:10px}

/* HOME card footer */
.p-foot{
  margin-top:auto; padding:12px 14px; display:flex; justify-content:space-between; gap:10px;
  border-top:1px solid #e5e7eb; background:#fafafa
}
.p-foot .btn{ padding:8px 14px; border-radius:8px; font-weight:700; font-size:14px; line-height:1 }
.p-foot .btn-soft{ background:#eef2ff; color:#1e3a8a }
.p-foot .btn-fav{ background:#fff7ed; color:#9a3412; border:1px solid #fed7aa }

/* ---------- FIXED PHOTO FRAME (16:9) ---------- */
.p-media{ position:relative; overflow:hidden; border-radius:14px 14px 0 0; background:#e5e7eb; }
.p-media::before{ content:""; display:block; padding-top:56.25%; }
.p-media > a, .p-media img{ position:absolute; inset:0; }

/* image top badges */
.p-chip{ position:absolute; top:10px; left:10px; background:#1e40af; color:#fff; font-weight:700; padding:4px 10px; border-radius:999px; font-size:12px; z-index:2 }
.p-chip.right{ left:auto; right:10px }

/* SMART small location badge */
.p-addr-badge{
  display:flex; align-items:center; gap:6px;
  background:#f7faff; border:1px solid #e5efff;
  border-radius:10px; padding:5px 8px; margin:4px 0 10px; color:#0f172a;
}
.loc-pin{ width:18px; height:18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2563eb,#60a5fa); color:#fff; box-shadow:0 2px 6px rgba(37,99,235,.25); }
.loc-text{ max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13.5px; }

/* KPI grid — desktop 4 cols but we show 2×2 in cards (value-only on mobile) */
.p-kpis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:8px; }
.kpi2{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px;
  padding:10px; display:flex; flex-direction:column; justify-content:space-between;
}
.kpi2 .k-h{ font-size:12px; color:#64748b; line-height:1; margin-bottom:4px; font-weight:700 }
.kpi2 .k-v{ font-size:16px; color:#0f172a; font-weight:800; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.kpi2 .k-unit{ font-size:12px; color:#475569; font-weight:600; white-space:nowrap; margin-left:4px }

/* ===== Listing Searchbar (Responsive, Compact) ===== */
.searchbar{
  display:grid;
  grid-template-columns: repeat(6, minmax(140px,1fr));
  gap:12px; align-items:center; padding:12px;
  background:#eff6ff; border:1px solid #dbeafe; border-radius:12px;
  box-shadow: 0 1px 0 rgba(15,23,42,.03);
}
.searchbar select,
.searchbar input[type="text"]{
  height:44px; line-height:44px; padding:0 12px; font-size:14px; font-weight:600;
  color:#0f172a; background:#fff; border:1px solid #e2e8f0; border-radius:10px; outline:none; width:100%; -webkit-appearance:none; appearance:none;
}
.searchbar select:focus,
.searchbar input[type="text"]:focus{ border-color:#60a5fa; box-shadow:0 0 0 3px rgba(59,130,246,.15); }
.searchbar .btn{ height:44px; border-radius:10px; font-weight:800; white-space:nowrap; }
@media (max-width:1024px){ .searchbar{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width:640px){
  .searchbar{ grid-template-columns: repeat(2, 1fr); position:static !important; top:auto !important; z-index:1 !important; margin-bottom:10px; }
  .searchbar .btn{ grid-column: 1 / -1; }
}
@media (max-width:360px){ .searchbar{ grid-template-columns: 1fr; } }
/* loading */
.searchbar select[disabled]{ opacity:.6; }
.searchbar select[data-loading]{
  background-image: linear-gradient(90deg,#f8fafc 25%,#eef2f7 37%,#f8fafc 63%);
  background-size: 400% 100%; animation: sbShimmer 1.2s ease infinite;
}
@keyframes sbShimmer{ 0%{ background-position:100% 0 } 100%{ background-position:0 0 } }

/* =========================
   MOBILE‑ONLY POLISH
   ========================= */

/* A) Container & forms full width */
@media (max-width:860px){
  .container{ width:100% !important; padding-left:12px !important; padding-right:12px !important; }
  .form-panel{ max-width:none !important; margin:12px 0 !important; }
  .sec{ margin-left:0; margin-right:0; border-radius:12px; }
  .pv-grid{ gap:14px; }
  .pv-head{ padding:12px; }
  html,body{ scroll-padding-top:70px; }
}

/* B) KPI one‑line on mobile (label hidden) */
@media (max-width:640px){
  .p-kpis .kpi2{ flex-direction:row; align-items:center; padding:8px 10px; min-height:auto; }
  .p-kpis .k-h{ display:none; } /* label hide → এক লাইনের বক্স */
  .p-kpis .k-v{ font-size:15px; }
}

/* C) Title clamp OFF on mobile (natural height) */
@media (max-width:640px){
  .p-title a{ display:block; -webkit-line-clamp:unset; -webkit-box-orient:initial; min-height:0; }
}

/* D) page_view: Room সুবিধা ৩‑কলাম; বক্স কমপ্যাক্ট */
@media (max-width:640px){
  .pv-grid .amen-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .pv-grid .amen-chip{ padding:.5rem .6rem; }
}

/* E) Small-screen card spacing */
@media (max-width:520px){
  .post-grid{ gap:14px; }
  .p-card{ box-shadow:0 4px 14px rgba(2,6,23,.06); }
  .p-body{ padding:10px 12px 0; }
  .p-foot{ padding:10px 12px 12px; }
}
