/* ============================================
   Le Barman Vous Déteste — Design System
   ============================================ */

@font-face {
  font-family: 'Epilogue';
  font-style: normal; font-weight: 400;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-400-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Epilogue';
  font-style: normal; font-weight: 600;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-600-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Epilogue';
  font-style: normal; font-weight: 700;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-700-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Epilogue';
  font-style: normal; font-weight: 800;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-800-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Epilogue';
  font-style: italic; font-weight: 700;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-700-italic.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Epilogue';
  font-style: italic; font-weight: 800;
  src: url('/wp-content/uploads/fonts/epilogue/epilogue-latin-800-italic.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  font-style: normal; font-weight: 300;
  src: url('/wp-content/uploads/fonts/lato/lato-latin-300-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  font-style: normal; font-weight: 400;
  src: url('/wp-content/uploads/fonts/lato/lato-latin-400-normal.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  font-style: normal; font-weight: 700;
  src: url('/wp-content/uploads/fonts/lato/lato-latin-700-normal.woff2') format('woff2');
  font-display: swap;
}

:root {
  --lbvd-red: #FF4757;
  --lbvd-red-hover: #FF3A45;
  --lbvd-red-active: #E63946;
  --lbvd-navy: #091747;
  --lbvd-charcoal: #2B333F;
  --lbvd-blue: #31A8F0;
  --lbvd-yellow: #F1D600;
  --lbvd-error: #FF2E3F;

  --lbvd-white: #FFFFFF;
  --lbvd-bg-light: #F5F8FB;
  --lbvd-border: #DEDEDE;
  --lbvd-text: #3D3D3D;
  --lbvd-muted: #767676;
  --lbvd-muted-2: #999999;

  --lbvd-radius-sm: 4px;
  --lbvd-radius-md: 5px;
  --lbvd-radius-lg: 9px;

  --lbvd-shadow-1: 0 2px 8px rgba(0, 0, 0, 0.08);
  --lbvd-shadow-2: 0 4px 12px rgba(0, 0, 0, 0.12);
  --lbvd-shadow-3: 0 6px 16px rgba(0, 0, 0, 0.15);

  --lbvd-font-display: 'Epilogue', system-ui, sans-serif;
  --lbvd-font-body: 'Lato', system-ui, sans-serif;
}

body {
  font-family: var(--lbvd-font-body);
  color: var(--lbvd-text);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--lbvd-font-display);
  color: var(--lbvd-navy);
  letter-spacing: -0.01em;
}
h1 { font-weight: 800; line-height: 1.1; }
h2 { font-weight: 700; line-height: 1.2; }
h3 { font-weight: 700; line-height: 1.3; }

a, a:visited { color: var(--lbvd-red); }
a:hover, a:focus { color: var(--lbvd-red-hover); }

.ast-button, button.ast-button, input[type="submit"].ast-button,
.wp-block-button__link {
  background: var(--lbvd-red) !important;
  color: var(--lbvd-white) !important;
  font-family: var(--lbvd-font-body) !important;
  font-weight: 500;
  border-radius: var(--lbvd-radius-md);
  border: none;
  padding: 12px 24px;
  height: 45px;
  line-height: 1;
  transition: background 0.2s, transform 0.1s;
}
.ast-button:hover, .wp-block-button__link:hover {
  background: var(--lbvd-red-hover) !important;
  transform: translateY(-1px);
}
.ast-button:active, .wp-block-button__link:active {
  background: var(--lbvd-red-active) !important;
  transform: translateY(0);
}

.ast-primary-header-bar,
.main-header-bar,
.site-header {
  background-color: var(--lbvd-navy) !important;
  color: var(--lbvd-white);
}
.site-header .menu-link,
.main-header-bar .ast-builder-menu-1 .menu-link {
  color: var(--lbvd-white);
  font-family: var(--lbvd-font-body);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
}
.site-header .menu-link:hover { color: var(--lbvd-red); }

.site-footer {
  background-color: var(--lbvd-navy);
  color: var(--lbvd-white);
}
.site-footer a { color: var(--lbvd-white); text-decoration: underline; text-underline-offset: 3px; }
.site-footer a:hover { color: var(--lbvd-red); }

.blog .ast-article-post,
.archive .ast-article-post,
.search .ast-article-post {
  background: var(--lbvd-white);
  border: 1px solid var(--lbvd-border);
  border-radius: var(--lbvd-radius-lg);
  padding: 24px;
  box-shadow: var(--lbvd-shadow-1);
  transition: box-shadow 0.2s, transform 0.2s;
  margin-bottom: 24px;
}
.blog .ast-article-post:hover {
  box-shadow: var(--lbvd-shadow-2);
  transform: translateY(-2px);
}

.single-post .entry-header {
  margin-bottom: 40px;
}
.single-post .entry-title {
  font-size: clamp(28px, 4vw, 48px);
  color: var(--lbvd-navy);
}
.single-post .entry-meta {
  color: var(--lbvd-muted);
  font-size: 14px;
}
.single-post .entry-content {
  max-width: 720px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.7;
}
.single-post .entry-content p {
  margin-bottom: 1.4em;
}
.single-post .entry-content h2 {
  margin-top: 2.5em;
  margin-bottom: 0.6em;
}

.widget-area .widget {
  background: var(--lbvd-bg-light);
  border-radius: var(--lbvd-radius-lg);
  padding: 20px;
  margin-bottom: 24px;
}
.widget-area .widget-title {
  font-family: var(--lbvd-font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--lbvd-navy);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="url"], input[type="search"],
textarea, select {
  background: var(--lbvd-white);
  border: 1px solid var(--lbvd-border);
  border-radius: var(--lbvd-radius-md);
  padding: 10px 12px;
  font-family: var(--lbvd-font-body);
  font-size: 16px;
  color: var(--lbvd-text);
  height: 40px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--lbvd-blue);
  box-shadow: 0 0 0 3px rgba(49, 168, 240, 0.1);
  outline: none;
}

.ast-container, .site-content > .ast-container { padding-left: 40px; padding-right: 40px; }
@media (max-width: 768px) {
  .ast-container { padding-left: 16px; padding-right: 16px; }
}


/* Hide header social icons — not in use */
.ast-header-social-wrap,
.ast-header-social-1-wrap,
[data-section="section-hb-social-icons-1"] {
  display: none !important;
}
