body.qr-landing{
  background:var(--bg);
  color:var(--text-main);
}

.qr-main{
  padding-top:32px;
  padding-bottom:64px;
  display:flex;
  flex-direction:column;
  gap:56px;
  align-items:center;
}

.qr-upcoming{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.qr-actions{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  text-align:center;
}

.qr-actions .title{margin-bottom:4px;}

.qr-actions-copy{
  margin:0;
  max-width:520px;
  color:var(--muted);
  line-height:1.5;
}

.qr-action-row{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.qr-action-card{
  width:90vw;
  max-width:384px;
  padding:clamp(0px,0vw,0px) clamp(14px,2.4vw,18px);
  min-height:clamp(84.5px,20.1vw,104.5px);
  border-radius:12px;
  background:var(--card);
  box-shadow:0 2px 8px rgba(0,0,0,.8);
  text-decoration:none;
  color:var(--text-main);
  display:flex;
  align-items:center;
  gap:clamp(12px,2vw,16px);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer;
}

.qr-action-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 28px rgba(0,0,0,.9);
}

.qr-action-card:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.qr-action-icon{
  width:clamp(36px,8vw,46px);
  height:clamp(36px,8vw,46px);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:var(--accent);
  flex-shrink:0;
  padding-right:4px;
  background:none;
}

.qr-action-icon svg,
.qr-action-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.qr-action-label{
  font-weight:700;
  font-size:1rem;
  text-align:left;
  flex:1 1 auto;
}

.qr-landing .contact-list .row:nth-child(3),
.qr-landing .contact-list .row:nth-child(4){
  display:none;
}

.qr-empty-card{
  width:90vw;
  max-width:384px;
  padding:20px clamp(18px,3vw,24px);
  border-radius:12px;
  background:var(--card);
  box-shadow:0 2px 8px rgba(0,0,0,.8);
  display:flex;
  flex-direction:column;
  gap:10px;
  text-align:left;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.qr-empty-card h3{
  margin:0;
  font-size:1.3rem;
}

.qr-empty-card p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
}

@media (max-width:768px){
  .qr-main{
    padding-top:26px;
    gap:48px;
  }

  .qr-actions-copy{
    font-size:.95rem;
  }
}

@media (prefers-color-scheme:light){
  .qr-action-card,
  .qr-empty-card{
    box-shadow:0 6px 18px rgba(0,0,0,.18);
  }

}
