.portal-body .portal-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}
.portal-search{margin-bottom:1.25rem}
.deal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.deal-card{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:1.15rem;display:flex;flex-direction:column;gap:.45rem;min-height:100%}
.deal-card h3{margin:0;font-family:var(--display);font-weight:500;font-size:1.15rem}
.deal-card .meta{color:var(--muted);font-size:.9rem}
.deal-card .price{color:var(--steel2);font-weight:600}
.deal-card .tags{display:flex;flex-wrap:wrap;gap:.35rem}
.tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(192,198,206,.35);border-radius:99px;padding:.15rem .5rem;color:var(--steel2)}
.tag.hot{border-color:var(--navy);color:#fff;background:rgba(30,58,138,.45)}
.tag.warn{border-color:var(--steel2)}
.countdown{font-family:var(--display);color:var(--steel2);font-size:1rem}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.plan-card{border:1px solid var(--line);border-radius:18px;padding:1.35rem;background:linear-gradient(180deg,var(--bg3),var(--bg2))}
.plan-card.featured{border-color:rgba(30,58,138,.55);box-shadow:0 0 0 1px rgba(30,58,138,.25)}
.plan-card h3{margin:.2rem 0;font-family:var(--display)}
.plan-card .price{font-size:1.6rem;color:var(--white);margin:.4rem 0}
.plan-card ul{margin:.6rem 0 1rem;padding-left:1.1rem;color:var(--muted);font-size:.9rem}
.plan-card li{margin:.3rem 0}
.portal-detail .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;margin:1rem 0}
.portal-detail .stat{border:1px solid var(--line);border-radius:12px;padding:.7rem;background:rgba(0,0,0,.25)}
.portal-detail .stat strong{display:block;color:var(--steel2);font-family:var(--display)}
.portal-detail .stat span{font-size:.75rem;color:var(--muted)}
.locked{opacity:.85;border-style:dashed}
.upgrade-banner{border:1px solid rgba(30,58,138,.45);background:rgba(30,58,138,.16);border-radius:14px;padding:1rem;margin:1rem 0}
#mapsFallback{border:1px solid var(--line);border-radius:14px;padding:1.25rem;background:var(--bg3);text-align:center;color:var(--muted)}
@media(max-width:700px){
  .portal-top{flex-direction:column}
  .deal-grid{grid-template-columns:1fr}
}

/* v2 */
.portal-section .section-head{margin-bottom:1rem}
.compare-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}
.compare-chip{border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;background:var(--bg3);font-size:.85rem}
.compare-table{overflow:auto;border:1px solid var(--line);border-radius:16px}
.compare-table table{width:100%;border-collapse:collapse;font-size:.85rem}
.compare-table th,.compare-table td{border-bottom:1px solid var(--line);padding:.65rem .75rem;text-align:left;vertical-align:top}
.compare-table th{background:rgba(0,0,0,.35);position:sticky;top:0}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}
.calc-grid label{font-size:.72rem;color:var(--muted);display:block;margin-bottom:.2rem}
.calc-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.75rem}
.calc-results .stat strong{font-size:1.05rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:1rem 0}
.gallery a,.gallery img{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;background:#0a0b0e}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.nb-card{border:1px solid var(--line);border-radius:14px;padding:.9rem;background:rgba(0,0,0,.25)}
.nb-card h4{margin:.1rem 0 .5rem;font-size:.95rem}
.offer-box{border:1px solid rgba(30,58,138,.45);background:rgba(30,58,138,.12);border-radius:14px;padding:1rem;margin-top:1rem}
.saved-card{border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.65rem;background:var(--bg2)}
.deal-card .card-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}
.icon-btn{background:transparent;border:1px solid var(--line);color:var(--white);border-radius:8px;padding:.35rem .55rem;cursor:pointer;font-size:.8rem}
.icon-btn.on{border-color:var(--navy);background:rgba(30,58,138,.35)}
.video-wrap{margin:1rem 0}
.video-wrap video{width:100%;max-height:360px;border-radius:14px;border:1px solid var(--line);background:#000}
@media (max-width:640px){
  .calc-grid{grid-template-columns:1fr 1fr}
  .portal-actions{flex-wrap:wrap}
}
