/* =============================================================================
   BASE – màu sắc, font, nút bấm, ô nhập (dùng cho toàn bộ website)
   Muốn đổi màu chủ đạo: sửa các biến trong :root bên dưới (hoặc ghi đè trong custom.css).
   ============================================================================= */

:root {
  /* Màu thương hiệu */
  --wb-primary: #990d23;        /* Đỏ vang: nút chính, thanh menu */
  --wb-primary-dark: #640519;   /* Đỏ đậm: khi rê chuột */
  --wb-deep: #3d0310;           /* Nâu đỏ rất đậm: thanh trên cùng, chân trang */
  --wb-accent: #e8a33d;         /* Vàng hổ phách: điểm nhấn nhỏ */
  --wb-cream: #f9f5f0;          /* Nền kem nhạt */
  --wb-ink: #1e1b1b;            /* Chữ chính */
  --wb-muted: #6d6565;          /* Chữ phụ */
  --wb-line: #e8e0d8;           /* Đường kẻ */
  --wb-white: #ffffff;

  /* Hình khối */
  --wb-radius: 16px;
  --wb-radius-sm: 10px;
  --wb-shadow: 0 6px 24px rgba(61, 3, 16, 0.08);
  --wb-shadow-lg: 0 16px 40px rgba(61, 3, 16, 0.16);

  /* Kích thước */
  --wb-container: 1240px;
  --wb-gutter: 20px;
  --wb-topbar-h: 40px;

  /* Font */
  --wb-font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ----- Đặt lại mặc định ----- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--wb-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--wb-ink);
  background: var(--wb-white);
  -webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
svg { display: inline-block; flex: none; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5em;
  font-weight: 700;
  line-height: 1.25;
  color: var(--wb-ink);
  letter-spacing: -0.01em;
}
h1 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); }
h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
h3 { font-size: 1.15rem; }

p { margin: 0 0 1em; }
a { color: var(--wb-primary); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--wb-primary-dark); }
ul, ol { margin: 0 0 1em; padding-left: 1.25em; }

:focus-visible { outline: 3px solid var(--wb-accent); outline-offset: 2px; }

/* ----- Tiện ích ----- */
.wb-container {
  width: 100%;
  max-width: calc(var(--wb-container) + var(--wb-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--wb-gutter);
}

.wb-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.wb-skip {
  position: absolute; left: 12px; top: -60px; z-index: 1000;
  background: var(--wb-ink); color: #fff; padding: 10px 16px; border-radius: 8px;
}
.wb-skip:focus { top: 12px; color: #fff; }

/* ----- Nút bấm ----- */
.wb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 22px;
  font: 600 0.95rem/1.2 var(--wb-font);
  border: 2px solid transparent; border-radius: 999px;
  cursor: pointer; text-align: center;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s, box-shadow 0.2s;
}
.wb-btn:hover { transform: translateY(-1px); }
.wb-btn--lg { padding: 14px 28px; font-size: 1rem; }

.wb-btn--primary { background: var(--wb-primary); color: #fff; box-shadow: 0 6px 16px rgba(153, 13, 35, 0.28); }
.wb-btn--primary:hover { background: var(--wb-primary-dark); color: #fff; }

.wb-btn--outline { background: transparent; color: var(--wb-primary); border-color: var(--wb-primary); }
.wb-btn--outline:hover { background: var(--wb-primary); color: #fff; }

.wb-btn--light { background: #fff; color: var(--wb-primary); }
.wb-btn--light:hover { background: var(--wb-cream); color: var(--wb-primary-dark); }

.wb-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.55); }
.wb-btn--ghost-light:hover { background: rgba(255, 255, 255, 0.14); color: #fff; border-color: #fff; }

/* ----- Ô nhập, nút gửi ----- */
input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"],
input[type="password"], input[type="number"], select, textarea {
  width: 100%;
  padding: 11px 14px;
  font: inherit; color: var(--wb-ink);
  background: #fff;
  border: 1.5px solid var(--wb-line); border-radius: var(--wb-radius-sm);
  transition: border-color 0.2s, box-shadow 0.2s;
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--wb-primary);
  box-shadow: 0 0 0 3px rgba(153, 13, 35, 0.14);
}
textarea { min-height: 140px; resize: vertical; }

button, input[type="submit"] { font-family: inherit; }
input[type="submit"], .button, button.button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 11px 22px; font-weight: 600; color: #fff; background: var(--wb-primary);
  border: 0; border-radius: 999px; cursor: pointer;
}
input[type="submit"]:hover, .button:hover { background: var(--wb-primary-dark); color: #fff; }

/* ----- Nhãn nhỏ ----- */
.wb-badge {
  display: inline-block; padding: 4px 10px;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.02em;
  color: #fff; background: var(--wb-primary); border-radius: 999px;
}

.wb-eyebrow {
  display: inline-block; margin: 0 0 14px; padding: 5px 12px;
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--wb-accent); background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(232, 163, 61, 0.45); border-radius: 999px;
}

/* ----- Giảm chuyển động nếu người dùng yêu cầu ----- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

@media (max-width: 720px) {
  :root { --wb-gutter: 16px; --wb-topbar-h: 36px; }
}
