/* Stockverkoop landingspagina – Juweliers Van Schoenwinkel */

.vsw {
  --vsw-ground: #FBF3E4;
  --vsw-ink: #1E1D1B;
  --vsw-ink-soft: #3D3A35;
  --vsw-brass: #5A4A2C;
  --vsw-line: #E6D6B8;
  --vsw-note: #F2E2BF;
  --vsw-dark: #2F2E2C;
  --vsw-sage: #A3AC9E;
  --vsw-blue: #A9C1E3;
  --vsw-mauve: #D8C5CD;
  --vsw-pad: clamp(20px, 5.5vw, 80px);

  margin: 0;
  background: var(--vsw-ground);
  color: var(--vsw-ink);
  font-family: Archivo, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.vsw *, .vsw *::before, .vsw *::after { box-sizing: border-box; }
.vsw img { max-width: 100%; display: block; }
.vsw a { color: var(--vsw-ink); }
.vsw a:hover { color: #6E5220; }
.vsw a:focus-visible { outline: 3px solid #6E5220; outline-offset: 3px; border-radius: 4px; }

/* Header */
.vsw-header {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 14px var(--vsw-pad);
  border-bottom: 1px solid var(--vsw-line);
}
.vsw-logo img { height: 120px; width: auto; }
.vsw-header__meta { display: flex; align-items: center; gap: 32px; font-size: 16px; }
.vsw-header__phone { font-weight: 600; text-decoration: none; }

.vsw-btn {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 48px; padding: 0 22px;
  font-weight: 800; font-size: 16px; text-decoration: none;
  border-radius: 999px;
}
.vsw a.vsw-btn--dark { background: var(--vsw-dark); color: var(--vsw-ground); }
.vsw a.vsw-btn--light { background: var(--vsw-ground); color: var(--vsw-dark); min-height: 56px; padding: 0 28px; font-size: 17px; }
.vsw a.vsw-btn--dark:hover { background: #000; color: var(--vsw-ground); }
.vsw a.vsw-btn--light:hover { background: #fff; color: var(--vsw-dark); }
.vsw-btn svg { flex-shrink: 0; }

/* Hero */
.vsw-hero {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px; align-items: center;
  padding: 72px var(--vsw-pad);
  max-width: 1440px; margin: 0 auto;
}
.vsw-hero__text { display: flex; flex-direction: column; gap: 28px; }
.vsw-period {
  align-self: flex-start; padding: 10px 16px;
  border: 1.5px solid var(--vsw-ink); border-radius: 999px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.vsw-hero h1 {
  margin: 0; font-size: clamp(44px, 5.6vw, 80px); font-weight: 900;
  line-height: 0.96; letter-spacing: -0.03em;
}
.vsw-hero p { margin: 0; max-width: 560px; }
.vsw-intro { font-size: 21px; }
.vsw-note { padding: 14px 18px; background: var(--vsw-note); border-radius: 12px; }
.vsw-hero__photo { width: 100%; height: 740px; object-fit: cover; object-position: center bottom; border-radius: 24px; }

/* Kortingen */
.vsw-deals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vsw-deal {
  min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
}
.vsw-deal--sage { background: var(--vsw-sage); }
.vsw-deal--blue { background: var(--vsw-blue); }
.vsw-deal--mauve { background: var(--vsw-mauve); }
.vsw-deal__pct { font-size: clamp(84px, 9vw, 132px); font-weight: 900; line-height: 1; letter-spacing: -0.04em; }
.vsw-deal__label { font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }

/* Merken */
.vsw-brands {
  background: var(--vsw-dark); color: var(--vsw-ground);
  padding: 40px var(--vsw-pad);
  display: flex; align-items: center; gap: 64px;
}
.vsw-brands__text { flex-grow: 1; display: flex; flex-direction: column; gap: 14px; }
.vsw-brands__title { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #D9C9A6; }
.vsw-brands__list { margin: 0; font-size: 20px; line-height: 1.7; }
.vsw-brands .vsw-btn { flex-shrink: 0; }

/* Info */
.vsw-info {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px;
  padding: 64px var(--vsw-pad);
  max-width: 1440px; margin: 0 auto;
}
.vsw-info__col { display: flex; flex-direction: column; gap: 10px; }
.vsw-info h2 {
  margin: 0; font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px; font-weight: 600; font-style: italic; line-height: 1.2;
}
.vsw-info p { margin: 0; }
.vsw-info__tagline { font-size: 16px; color: var(--vsw-brass); }

/* Footer */
.vsw-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 24px var(--vsw-pad);
  border-top: 1px solid var(--vsw-line);
  font-size: 14px; color: var(--vsw-brass);
}
.vsw .vsw-footer a { color: var(--vsw-brass); }

/* Tablet */
@media (max-width: 1024px) {
  .vsw-hero { gap: 40px; }
  .vsw-hero__photo { height: 600px; }
  .vsw-header__address { display: none; }
  .vsw-logo img { height: 88px; }
}

/* Mobiel */
@media (max-width: 760px) {
  .vsw { font-size: 17px; }
  .vsw-header { padding-top: 12px; padding-bottom: 12px; }
  .vsw-logo img { height: 56px; }
  .vsw-header__meta { gap: 16px; }
  .vsw-header .vsw-btn { display: none; }
  .vsw-header__phone { min-height: 44px; display: flex; align-items: center; font-size: 15px; }

  .vsw-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 32px; padding-bottom: 40px; }
  .vsw-hero__text { gap: 22px; }
  .vsw-period { font-size: 12px; padding: 8px 14px; }
  .vsw-intro { font-size: 18px; }
  .vsw-note { font-size: 16px; }
  .vsw-hero__photo { height: 440px; border-radius: 20px; }

  .vsw-deals { grid-template-columns: minmax(0, 1fr); }
  .vsw-deal { min-height: 180px; gap: 4px; }

  .vsw-brands { flex-direction: column; align-items: stretch; gap: 20px; padding-top: 32px; padding-bottom: 32px; }
  .vsw-brands__list { font-size: 16px; }
  .vsw-brands .vsw-btn { justify-content: center; }

  .vsw-info { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 40px; padding-bottom: 40px; }
  .vsw-info h2 { font-size: 26px; }
  .vsw-info__col a { min-height: 44px; display: flex; align-items: center; }
  .vsw-footer a { min-height: 44px; display: flex; align-items: center; }
}
