/* ==========================================================================
   CatalogIQ Portal (portal.css)
   ========================================================================== */

.portal-hero{
  padding: 80px 0 40px 0;
  text-align: center;
}

.portal-entry{
  padding: 0;
}

.portal-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(320px, 420px));
  gap:28px;
  margin-top:36px;
}

.portal-card{
  padding: 40px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  text-align: center;
  background: #fff;
}

.portal-card h2{
  margin-bottom: 10px;
}

.portal-card p{
  margin-bottom: 20px;
}

.brand--portal{
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-portal-label{
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand-gold);
}

@media (max-width: 900px){
  .portal-grid{
    grid-template-columns: 1fr;
  }
}

.portal-card-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 40px;
  max-width: 980px;
  margin: 0 auto;
  
  align-items: stretch;
}

@media (max-width: 900px){
  .portal-card-grid{
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.portal-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:28px;

  display:flex;
  flex-direction:column;
  align-items:flex-start;   /* left align everything */
  text-align:left;          /* ensure text aligns left */

  min-height:300px;
}

.portal-card:hover{
  transform: translateY(-2px);
  border-color: rgba(244,181,42,.28);
  box-shadow: 0 22px 56px rgba(0,0,0,.28);
}

.portal-card__kicker{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brand-gold);
  margin: 0 0 10px;
}

.portal-card__title{
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--text-primary);
}

.portal-card__text{
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(230,237,243,.72);
  max-width: 28ch;
}

.portal-card .btn,
.portal-card .button,
.portal-card a.btn{
  margin-top: auto;
}

.portal-card-link{
  margin-top:auto;
  font-weight:600;
  color:var(--brand-gold);
  text-decoration:none;
}

/* =========================
   PORTAL HEADER
========================= */

.portal-login{
  padding:48px 0 32px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.portal-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
}

.portal-header-text{
  max-width:720px;
}

.portal-header-text h1{
  margin-bottom:10px;
}

.portal-header-text p{
  color:var(--text-secondary);
  line-height:1.6;
}

.portal-header-actions{
  flex-shrink:0;
  margin-top:6px;
}

/* =========================
   CUSTOMER PORTAL CARDS
========================= */

.portal-resources{
  padding:60px 0;
}

.portal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
}

.portal-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:28px;
  transition:all .2s ease;
}

.portal-card:hover{
  border-color:rgba(244,181,42,.35);
  transform:translateY(-3px);
}

.portal-card h3{
  font-size:20px;
  margin-bottom:14px;
}

.portal-card p{
  font-size:15px;
  line-height:1.6;
  color:var(--text-secondary);
  margin-bottom:16px;
  max-width:280px;
}

.portal-card-link{
  font-weight:600;
  color:var(--brand-gold);
  text-decoration:none;
}

.portal-card-link:hover{
  text-decoration:underline;
}

/* =========================
   PORTAL RESOURCE LINKS
========================= */

.portal-links{
  padding:24px 0 80px;
}

.portal-links-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

.portal-links-column h4{
  margin-bottom:16px;
  font-size:16px;
}

.portal-links-column ul{
  list-style:none;
  padding:0;
  margin:0;
}

.portal-links-column li{
  margin-bottom:10px;
}

.portal-links-column a{
  color:var(--text-secondary);
  text-decoration:none;
}

.portal-links-column a:hover{
  color:var(--brand-gold);
}