/* Public pages (index/plans/login/dashboard) using the same /portal theme */

.portal.public{
  grid-template-columns: 1fr;
}
.portal.public .sidebar{display:none;}
.portal.public .main{grid-column:1;}

/* Slightly narrower for storefront pages */
.portal.public .container{max-width: 1120px;}

/* Plans grid + pricing */
.grid.plans-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.plan-card .price{
  font-size: 34px;
  font-weight: 900;
  margin: 12px 0 8px;
  letter-spacing: .2px;
}
.plan-card ul{margin:10px 0 0; padding-left:18px; color: rgba(255,255,255,.80)}
.plan-card li{margin:6px 0}

/* Public hero buttons */
.big-buttons .btn{min-width: 170px;}

/* Centered auth card */
.auth-wrap{max-width: 460px; margin: 0 auto;}
.auth-wrap label{display:block; margin: 10px 0 6px; color: rgba(255,255,255,.70); font-weight: 800; font-size: 13px;}

@media (max-width: 1020px){
  .grid.plans-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 720px){
  .grid.plans-grid{grid-template-columns: 1fr;}
}

/* Utility */
.muted{color: rgba(255,255,255,.65);} 
.linkbox{
  white-space: pre-wrap;
  word-break: break-all;
  padding: 12px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  color: rgba(255,255,255,.90);
  font-size: 12px;
  line-height: 1.35;
}


/* =========================================
   PUBLIC PAGES – FULL MOBILE RESPONSIVE
   (index / plans / login / dashboard)
   ========================================= */

.portal.public{
  grid-template-columns: 1fr;
  grid-template-rows: var(--topbar) 1fr;
}

.portal.public .sidebar{
  display:none !important;
}

.portal.public .main{
  grid-column:1;
  padding:16px;
}

/* Container */
.portal.public .container{
  max-width: 1120px;
  margin: 0 auto;
}

/* =========================
   HERO + BUTTONS
   ========================= */
.big-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.big-buttons .btn{
  min-width:170px;
}

/* Mobile hero buttons */
@media (max-width: 768px){
  .big-buttons{
    flex-direction:column;
  }
  .big-buttons .btn{
    width:100%;
    min-width:unset;
  }
}

/* =========================
   PLANS GRID
   ========================= */
.grid.plans-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}

.plan-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.plan-card .price{
  font-size:34px;
  font-weight:900;
  margin:12px 0 8px;
  letter-spacing:.2px;
}

.plan-card ul{
  margin:10px 0 0;
  padding-left:18px;
  color:rgba(255,255,255,.80);
}

.plan-card li{
  margin:6px 0;
}

/* Tablet */
@media (max-width: 1020px){
  .grid.plans-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* Mobile */
@media (max-width: 720px){
  .grid.plans-grid{
    grid-template-columns: 1fr;
  }

  .plan-card .price{
    font-size:28px;
  }
}

/* =========================
   AUTH / LOGIN PAGES
   ========================= */
.auth-wrap{
  max-width:460px;
  margin:0 auto;
  padding:18px;
}

.auth-wrap label{
  display:block;
  margin:10px 0 6px;
  color:rgba(255,255,255,.70);
  font-weight:800;
  font-size:13px;
}

/* Mobile auth */
@media (max-width: 480px){
  .auth-wrap{
    padding:14px;
  }
}

/* =========================
   UTILITY
   ========================= */
.muted{
  color: rgba(255,255,255,.65);
}

.linkbox{
  white-space: pre-wrap;
  word-break: break-word;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  color: rgba(255,255,255,.90);
  font-size:12px;
  line-height:1.4;
}

/* Mobile linkbox */
@media (max-width: 480px){
  .linkbox{
    font-size:11px;
  }
}
