/* VS Medlem – registreringssida, medlemsflikar och knappen i headern. */
.vsm-head > a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.vsm-head { margin-right: 18px; }
.vsm-head .vsm-head-icon { display: inline-flex; line-height: 0; }
.vsm-head .wd-tools-text { white-space: nowrap; }
.vsm-head > a:hover { opacity: .85; }

.vsm-box { max-width: 760px; margin: 0 auto 40px; }
.vsm-intro h2 { margin-bottom: 10px; }
.vsm-login { margin-top: -4px; }
.vsm-form { margin-top: 18px; }
.vsm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.vsm-field { margin-bottom: 16px; }
.vsm-field label { display: block; margin-bottom: 6px; font-weight: 600; }
.vsm-field label span, .vsm-check label span { color: var(--wd-primary-color, #d63a1e); }
.vsm-field input { width: 100%; }
.vsm-field small { display: block; margin-top: 4px; opacity: .7; }
.vsm-check { margin-bottom: 10px; }
.vsm-check label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.vsm-check input { margin-top: 4px; flex: none; }
.vsm-privacy { font-size: 14px; opacity: .8; margin-top: 14px; }
.vsm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vsm-btn { min-width: 200px; }
.vsm-errors { border-left: 4px solid #c0392b; background: #fdf1ef; padding: 12px 16px; margin: 16px 0; }
.vsm-errors ul { margin: 0; padding-left: 18px; }
.vsm-member { text-align: center; }

.vsm-muted, .vsm-empty { opacity: .75; }
.vsm-offers { display: grid; gap: 16px; }
.vsm-offer { display: flex; gap: 16px; border: 1px solid rgba(0,0,0,.1); border-radius: 12px; padding: 16px; background: #fff; }
.vsm-offer-img { flex: 0 0 140px; }
.vsm-offer-img img { width: 100%; height: auto; border-radius: 8px; }
.vsm-offer-body h3 { margin: 0 0 8px; }
.vsm-code strong { display: inline-block; padding: 2px 10px; border: 1px dashed currentColor; border-radius: 6px; letter-spacing: .5px; }
.vsm-until { font-size: 14px; opacity: .75; }

@media (max-width: 640px) {
  .vsm-row { grid-template-columns: 1fr; }
  .vsm-offer { flex-direction: column; }
  .vsm-offer-img { flex-basis: auto; }
}

/* Bli medlem / Logga in i headern */
.vsm-head { display: inline-flex; align-items: center; }
.vsm-head .vsm-head-sep { margin: 0 8px; opacity: .7; }
/* Inloggningssidan */
.col-register-text .vsm-become-member { min-width: 180px; }
.col-register-text .vsm-company-link { display: block; margin-top: 14px; font-size: 14px; text-decoration: underline; opacity: .8; }
