.card{
  background:var(--card);
  border:0;
  border-radius:var(--radius-card);
  padding:24px;
}

.side-card{
  background:var(--card);
  border:0;
  border-radius:var(--radius-card-soft);
  padding:24px;
  height:auto;
  align-self:start;
}

.pill-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  border:none;
  border-radius:var(--radius-pill);
  padding:14px 20px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:var(--fs-ui);
  font-weight:600;
  line-height:1;
  transition:background-color .16s ease;
}

.full-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border:none;
  border-radius:var(--radius-pill);
  padding:16px 20px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:var(--fs-ui);
  font-weight:600;
  line-height:1;
  margin-top:12px;
  transition:background-color .16s ease;
}

.compact-pill-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  border:none;
  border-radius:var(--radius-pill);
  padding:10px 14px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:var(--fs-secondary);
  font-weight:600;
  line-height:1;
  transition:background-color .16s ease;
}

.pill-btn:hover,
.full-pill:hover,
.compact-pill-btn:hover{
  background:var(--accent-soft-hover);
}

.cta-main{
  min-width:220px;
  border:none;
  border-radius:var(--radius-pill);
  padding:14px 28px;
  background:var(--button-dark-bg);
  background-color:var(--button-dark-bg);
  color:#fff;
  font-size:var(--fs-ui);
  font-weight:600;
  line-height:1;
  text-align:center;
  cursor:pointer;
  filter:none;
}

.cta-main:hover{
  background:var(--button-dark-hover);
  background-color:var(--button-dark-hover);
}

.section-title{
  font-size:var(--fs-h2);
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.03em;
}

.section-text{
  margin-top:8px;
  font-size:var(--fs-body);
  line-height:1.7;
  color:var(--text-soft);
}

.sidebar-box-title{
  font-size:var(--fs-eyebrow);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--text-soft);
  margin:0;
}

.label{
  display:block;
  margin-bottom:8px;
  font-size:var(--fs-secondary);
  font-weight:600;
  color:var(--text-soft);
}

.selectbox,
select,
input{
  width:100%;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:var(--radius-input);
  padding:14px 16px;
  font-size:var(--fs-ui);
  line-height:1.5;
  color:var(--text);
}

select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:48px;
  background-color:var(--bg);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M2 4.5L6 8.5L10 4.5' stroke='%230F172A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px 12px;
}

select::-ms-expand{
  display:none;
}

input::-webkit-calendar-picker-indicator{
  display:none !important;
  -webkit-appearance:none;
}

.muted-small{
  font-size:var(--fs-secondary);
  line-height:1.6;
  color:var(--text-soft);
}

.state-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:none;
}

.state-label::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:999px;
  background:currentColor;
}

.state-prepare{
  color:var(--state-prepare);
}

.state-act{
  color:var(--state-act);
}

.state-protect{
  color:var(--state-protect);
}

@media (max-width:900px){
  .section-title{
    font-size:var(--fs-h2-mobile);
  }
}
