/* ==========================================================================
   L'Atelier Rétro Vintage - Custom Premium Styling
   Pour revenir en arrière : supprimer ce fichier et retirer la ligne
   <link> dans _partials/head.tpl
   ========================================================================== */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ---------- Variables ---------- */
:root {
  --lrv-cream: #FAF7F2;
  --lrv-dark: #1A1A1A;
  --lrv-warm: #8B6914;
  --lrv-gold: #C5A55A;
  --lrv-gold-light: #E8D5A3;
  --lrv-brown: #5C4A2A;
  --lrv-text: #2D2D2D;
  --lrv-text-light: #6B6B6B;
  --lrv-border: #E8E0D4;
  --lrv-bg-light: #F5F0E8;
  --lrv-shadow: 0 2px 20px rgba(0,0,0,0.06);
  --lrv-shadow-hover: 0 8px 30px rgba(0,0,0,0.12);
  --lrv-radius: 4px;
  --lrv-transition: all 0.3s ease;
}

/* ---------- Base ---------- */
body {
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: var(--lrv-text) !important;
  background-color: var(--lrv-cream) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4,
.products-section-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--lrv-dark) !important;
  font-weight: 600 !important;
}

a {
  color: var(--lrv-brown);
  transition: var(--lrv-transition);
}
a:hover {
  color: var(--lrv-warm);
  text-decoration: none;
}

/* ---------- Top Navigation Bar ---------- */
.header-nav {
  background: var(--lrv-dark) !important;
  border-bottom: 1px solid rgba(197,165,90,0.3);
  padding: 3px 0 9px;
}
.header-nav,
.header-nav a,
.header-nav .expand-more,
#contact-link a,
#blog-link a {
  color: var(--lrv-gold-light) !important;
  font-size: 12px !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-weight: 400 !important;
}
.header-nav a:hover,
#contact-link a:hover,
#blog-link a:hover {
  color: #fff !important;
}
.header-nav .user-info .account,
.header-nav .user-info a {
  color: var(--lrv-gold-light) !important;
}
.header-nav .blockcart,
#header .header-nav .blockcart {
  background: transparent !important;
}
.header-nav .cart-preview.active,
.header-nav .blockcart .header,
.header-nav .blockcart,
.header-nav .blockcart a,
.header-nav .blockcart span,
.header-nav .cart-products-count,
.header-nav .shopping-cart a,
.header-nav .shopping-cart span,
#_desktop_cart a,
#_desktop_cart span {
  color: #fff !important;
}
.header-nav .material-icons {
  color: var(--lrv-gold) !important;
}

/* ---------- Header fixe avec shrink au scroll ---------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
body {
  padding-top: 200px !important; /* reserve space for fixed header */
}
@media (max-width: 767px) {
  body {
    padding-top: 80px !important;
  }
  /* Supprimer tout espace parasite dans le header */
  #header .header-nav .container {
    padding: 0 !important;
  }
  #header .header-nav .row {
    margin: 0 !important;
  }
  #header .header-banner,
  #header .header-banner + div,
  #header .header-top,
  #search_widget,
  .search-widget,
  #mobile_top_menu_wrapper {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
  }

  /* --- Icônes user + panier à droite --- */
  .lrv-mobile-icons {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 0 15px !important;
    gap: 20px !important;
    width: 100% !important;
    order: 1 !important;
  }
  /* Écraser les float + styles du thème sur les icônes */
  .lrv-mobile-icons > div,
  .lrv-mobile-icons > div.float-xs-right,
  .lrv-mobile-icons > div.float-xs-left,
  .lrv-mobile-icons #_mobile_cart,
  .lrv-mobile-icons #_mobile_user_info {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  /* Reset du blockcart */
  .lrv-mobile-icons .blockcart,
  .lrv-mobile-icons .blockcart.cart-preview {
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .lrv-mobile-logo {
    margin-right: auto !important;
    display: flex !important;
    align-items: center;
  }
  .lrv-mobile-logo img {
    height: 33px;
    width: auto;
  }
  .lrv-mobile-icons a,
  .lrv-mobile-icons span {
    color: var(--lrv-gold-light) !important;
  }
  .lrv-mobile-icons .material-icons {
    color: var(--lrv-gold-light) !important;
    font-size: 22px !important;
  }
  /* Reset user-info */
  .lrv-mobile-icons .user-info {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Le conteneur mobile doit wrapper */
  #header .header-nav .mobile {
    display: flex !important;
    flex-wrap: wrap !important;
    float: none !important;
    width: 100% !important;
  }
  #header .header-nav .mobile > * {
    float: none !important;
  }

  /* --- Menu catégories horizontal, fixé sous la barre noire --- */
  .lrv-mobile-menu {
    display: flex !important;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--lrv-border);
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    position: fixed;
    top: 42px;
    left: 0;
    right: 0;
    z-index: 1000;
  }
  .lrv-mobile-menu a {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--lrv-dark) !important;
    padding: 10px 10px;
    text-decoration: none;
    flex-shrink: 0;
  }

  /* --- Masquer Blog sur petits écrans --- */
  @media (max-width: 430px) {
    .lrv-mobile-menu .lrv-hide-430 {
      display: none !important;
    }
  }
  @media (max-width: 375px) {
    .lrv-mobile-menu a {
      font-size: 9px !important;
      padding: 10px 8px !important;
      letter-spacing: 1px !important;
    }
  }

  /* --- Shrink --- */
  #header.shrink .lrv-mobile-icons {
    padding: 4px 15px;
  }
  #header.shrink ~ .lrv-mobile-menu,
  #header.shrink .lrv-mobile-menu {
    top: 30px;
  }
  #header.shrink .lrv-mobile-menu a {
    padding: 6px 8px;
    font-size: 9px;
  }
}

/* Masquer les éléments mobile custom sur desktop */
@media (min-width: 768px) {
  .lrv-mobile-icons,
  .lrv-mobile-menu {
    display: none !important;
  }
}
#header .header-banner {
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
  max-height: 50px;
  overflow: hidden;
  opacity: 1;
}
#header.shrink .header-banner {
  max-height: 0;
  opacity: 0;
  padding: 0;
}
#header .header-nav {
  transition: padding 0.3s ease;
}
#header.shrink .header-nav {
  padding: 2px 0;
}
#header .header-top {
  transition: padding 0.3s ease, box-shadow 0.3s ease;
}
#header.shrink .header-top {
  padding: 5px 0 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
#_desktop_logo img {
  transition: max-height 0.3s ease;
  max-height: 120px;
  width: auto;
}
#header.shrink #_desktop_logo img {
  max-height: 50px;
  width: auto;
}

/* ---------- Header / Logo Area ---------- */
.header-top {
  background: #fff !important;
  padding: 15px 0 !important;
  box-shadow: var(--lrv-shadow);
}
#_desktop_logo img {
  transition: var(--lrv-transition);
}

/* ---------- Main Menu ---------- */
#_desktop_top_menu .top-menu a,
.top-menu a[data-depth="0"] {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--lrv-dark) !important;
  padding: 10px 16px !important;
  position: relative;
}
#_desktop_top_menu .top-menu a:hover,
.top-menu a[data-depth="0"]:hover {
  color: var(--lrv-warm) !important;
}
.top-menu a[data-depth="0"]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--lrv-gold);
  transition: var(--lrv-transition);
  transform: translateX(-50%);
}
.top-menu a[data-depth="0"]:hover::after {
  width: 70%;
}

/* ---------- Titles / Headings ---------- */
.products-section-title,
section.featured-products h2,
section > h1 {
  font-size: 28px !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  margin: 40px 0 30px !important;
  position: relative;
  padding-bottom: 15px !important;
}
.products-section-title::after,
section.featured-products h2::after,
section > h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
  background: var(--lrv-gold);
}

/* ---------- Product Cards ---------- */
.product-miniature {
  background: #fff;
  border: 1px solid var(--lrv-border);
  border-radius: var(--lrv-radius);
  overflow: hidden;
  transition: var(--lrv-transition);
  margin-bottom: 25px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.product-miniature:hover {
  box-shadow: var(--lrv-shadow-hover);
  transform: translateY(-4px);
  border-color: var(--lrv-gold-light);
}

.product-miniature .thumbnail-container {
  position: relative;
  overflow: hidden;
  background: #f9f7f4;
}
.product-miniature .thumbnail-container img {
  transition: transform 0.5s ease;
}
.product-miniature:hover .thumbnail-container img {
  transform: scale(1.05);
}

.product-miniature .product-title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 600;
  color: var(--lrv-dark) !important;
  line-height: 1.4;
}
.product-miniature .product-title a:hover {
  color: var(--lrv-warm) !important;
}

.product-miniature .product-price-and-shipping .price {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--lrv-brown) !important;
}

/* Quick view & wishlist buttons */
.product-miniature .highlighted-informations {
  background: rgba(26,26,26,0.85) !important;
}
.product-miniature .quick-view {
  color: #fff !important;
  border: 1px solid var(--lrv-gold) !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.product-miniature .quick-view:hover {
  background: var(--lrv-gold) !important;
}

/* ---------- Buttons ---------- */
.btn-primary,
.add-to-cart,
button.btn-primary {
  background: var(--lrv-dark) !important;
  border-color: var(--lrv-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px !important;
  padding: 10px 28px !important;
  border-radius: var(--lrv-radius) !important;
  transition: var(--lrv-transition);
}
.btn-primary:hover,
.add-to-cart:hover,
button.btn-primary:hover {
  background: var(--lrv-warm) !important;
  border-color: var(--lrv-warm) !important;
}

.btn-secondary {
  border: 1px solid var(--lrv-dark) !important;
  color: var(--lrv-dark) !important;
  background: transparent !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px !important;
}
.btn-secondary:hover {
  background: var(--lrv-dark) !important;
  color: #fff !important;
}

/* ---------- "View all" Links ---------- */
.all-product-link {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--lrv-brown) !important;
  border-bottom: 1px solid var(--lrv-gold);
  padding-bottom: 3px;
}
.all-product-link:hover {
  color: var(--lrv-warm) !important;
  border-bottom-color: var(--lrv-warm);
}

/* ---------- Search Bar ---------- */
.search-widget form,
.search-widgets form {
  position: relative;
  display: flex;
  align-items: center;
}
.search-widget form input[type="text"],
.search-widgets form input[type="text"] {
  border: 1px solid var(--lrv-border) !important;
  border-radius: 30px !important;
  padding: 9px 40px 9px 38px !important;
  font-size: 12px !important;
  background: var(--lrv-cream);
  transition: var(--lrv-transition);
  color: var(--lrv-text) !important;
}
.search-widget form input[type="text"]::placeholder,
.search-widgets form input[type="text"]::placeholder {
  font-size: 11px !important;
  color: var(--lrv-text-light) !important;
  opacity: 0.6;
}
.search-widget form input[type="text"]:focus,
.search-widgets form input[type="text"]:focus {
  border-color: var(--lrv-gold) !important;
  box-shadow: 0 0 0 2px rgba(197,165,90,0.15) !important;
  background: #fff;
}
/* Search icon (left) */
.search-widget form i.search,
.search-widgets form i.search,
.search-widget form button[type="submit"],
.search-widgets form button[type="submit"] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lrv-gold) !important;
  font-size: 18px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer;
  z-index: 2;
  overflow: hidden;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
}
/* Clear icon (right) */
.search-widget form i.clear,
.search-widgets form i.clear {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lrv-text-light) !important;
  font-size: 16px !important;
  cursor: pointer;
  opacity: 0.5;
  transition: var(--lrv-transition);
}
.search-widget form i.clear:hover,
.search-widgets form i.clear:hover {
  color: var(--lrv-warm) !important;
  opacity: 1;
}
/* Header-top toujours sur une ligne */
.header-top .row {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.header-top-right {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
/* Recherche desktop : toujours écraser le min-width du thème */
.header-top .search-widget form input[type="text"],
.header-top .search-widgets form input[type="text"] {
  min-width: 0 !important;
}
/* Masquer la recherche sous 1200px */
@media (max-width: 1199px) {
  .header-top #search_widget,
  .header-top .search-widget,
  .header-top .search-widgets {
    display: none !important;
  }
}
/* Masquer la recherche en mode shrink sous 1400px */
#header.shrink .header-top #search_widget,
#header.shrink .header-top .search-widget,
#header.shrink .header-top .search-widgets {
  display: none !important;
}
@media (min-width: 1400px) {
  #header.shrink .header-top #search_widget,
  #header.shrink .header-top .search-widget,
  #header.shrink .header-top .search-widgets {
    display: inline-block !important;
  }
  #header.shrink .header-top .search-widget form input[type="text"],
  #header.shrink .header-top .search-widgets form input[type="text"] {
    width: 150px !important;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .header-top .search-widget form input[type="text"],
  .header-top .search-widgets form input[type="text"] {
    width: 160px !important;
  }
}
@media (min-width: 1400px) {
  .header-top .search-widget form input[type="text"],
  .header-top .search-widgets form input[type="text"] {
    width: 220px !important;
  }
}

/* ---------- Breadcrumb ---------- */
.breadcrumb {
  background: transparent !important;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.breadcrumb a {
  color: var(--lrv-text-light) !important;
}

/* ---------- Footer ---------- */
#footer {
  background: var(--lrv-dark) !important;
  color: #b0a898 !important;
  border-top: 3px solid var(--lrv-gold);
  padding-top: 50px !important;
}
#footer h4,
#footer .h4,
#footer .block-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #fff !important;
  font-size: 16px !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 20px !important;
  position: relative;
  padding-bottom: 12px;
}
#footer h4::after,
#footer .h4::after,
#footer .block-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: var(--lrv-gold);
}
#footer,
#footer p,
#footer li,
#footer span,
#footer .block-title,
#footer .block_content,
#footer label {
  color: #b0a898 !important;
}
#footer a {
  color: #b0a898 !important;
  font-size: 13px;
}
#footer a:hover {
  color: var(--lrv-gold-light) !important;
  padding-left: 5px;
}
#footer .footer-container {
  padding: 30px 0 !important;
}
#footer .footer-before {
  background: var(--lrv-dark) !important;
}

/* ---------- Newsletter ---------- */
.block_newsletter {
  background: linear-gradient(135deg, #2a2520 0%, var(--lrv-dark) 100%) !important;
  border: none !important;
  border-radius: 8px;
  padding: 45px 50px !important;
  margin: 0 auto 30px !important;
  max-width: 900px;
  text-align: center;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15);
  position: relative;
  overflow: hidden;
}
.block_newsletter::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--lrv-gold), transparent);
}
.block_newsletter > * {
  position: relative;
  z-index: 1;
}
.block_newsletter p.block_newsletter_title,
.block_newsletter h2,
.block_newsletter .block_newsletter_title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #fff !important;
  font-size: 32px !important;
  letter-spacing: 1px;
  margin-bottom: 25px !important;
  display: block !important;
  width: 100%;
  float: none !important;
}
.block_newsletter .col-xs-12,
.block_newsletter .col-sm-12,
.block_newsletter .col-md-5,
.block_newsletter .col-md-7,
.block_newsletter .col-lg-5,
.block_newsletter .col-lg-7 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  float: none !important;
  text-align: center;
}
.block_newsletter .row {
  display: block !important;
}
.block_newsletter form {
  display: flex;
  justify-content: center;
  gap: 0;
  max-width: 500px;
  margin: 0 auto 15px;
}
.block_newsletter input[type="email"],
.block_newsletter input[name="email"] {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(197,165,90,0.4) !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  color: #fff !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  flex: 1;
}
.block_newsletter input[type="email"]::placeholder,
.block_newsletter input[name="email"]::placeholder {
  color: rgba(255,255,255,0.5) !important;
}
.block_newsletter input[type="email"]:focus,
.block_newsletter input[name="email"]:focus {
  background: rgba(255,255,255,0.15) !important;
  border-color: var(--lrv-gold) !important;
  box-shadow: none !important;
  outline: none;
}
.block_newsletter input[type="submit"],
.block_newsletter .btn-primary,
.block_newsletter button {
  background: var(--lrv-gold) !important;
  border: 1px solid var(--lrv-gold) !important;
  border-radius: 0 4px 4px 0 !important;
  color: var(--lrv-dark) !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px;
  padding: 12px 25px !important;
  font-size: 12px !important;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--lrv-transition);
}
.block_newsletter input[type="submit"]:hover,
.block_newsletter .btn-primary:hover,
.block_newsletter button:hover {
  background: var(--lrv-gold-light) !important;
  border-color: var(--lrv-gold-light) !important;
}
.block_newsletter p:not(.block_newsletter_title) {
  color: rgba(255,255,255,0.55) !important;
  font-size: 13px !important;
  max-width: 500px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .block_newsletter {
    padding: 30px 20px !important;
  }
  .block_newsletter form {
    flex-direction: column;
    gap: 10px;
  }
  .block_newsletter input[type="email"],
  .block_newsletter input[name="email"] {
    border-right: 1px solid rgba(197,165,90,0.4) !important;
    border-radius: 4px !important;
  }
  .block_newsletter input[type="submit"],
  .block_newsletter .btn-primary,
  .block_newsletter button {
    border-radius: 4px !important;
  }
}

/* Copyright bar */
.footer-after,
#footer .footer-after {
  background: rgba(0,0,0,0.3) !important;
  padding: 15px 0;
  font-size: 12px;
  color: #7a7a7a !important;
}

/* ---------- Category Pages ---------- */
#category-description {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 16px;
  line-height: 1.8;
  color: var(--lrv-text-light);
  max-width: 800px;
  margin: 0 auto 30px;
  text-align: center;
}

.block-categories .category-sub-menu li a {
  color: var(--lrv-text) !important;
  font-weight: 400;
}
.block-categories .category-sub-menu li a:hover {
  color: var(--lrv-warm) !important;
}
.block-categories .category-sub-menu li[data-depth="0"] > a {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ---------- Product Detail Page ---------- */
.product-cover img {
  border-radius: var(--lrv-radius);
}
.product-prices .current-price .price,
.product-prices .current-price-value {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 28px !important;
  color: var(--lrv-brown) !important;
  font-weight: 700;
}
.product-information h1 {
  font-size: 26px !important;
  line-height: 1.3;
}

/* Tabs on product page */
.product-tabs .nav-tabs .nav-link {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
  font-weight: 500;
  color: var(--lrv-text-light);
}
.product-tabs .nav-tabs .nav-link.active {
  color: var(--lrv-dark);
  border-bottom: 2px solid var(--lrv-gold);
}

/* ---------- Cart ---------- */
.cart-grid .cart-items .product-line-grid {
  border-bottom: 1px solid var(--lrv-border);
  padding: 20px 0;
}

/* ---------- Blog styling ---------- */
.blog-article-card {
  background: #fff;
  border: 1px solid var(--lrv-border);
  border-radius: var(--lrv-radius);
  overflow: hidden;
  transition: var(--lrv-transition);
}
.blog-article-card:hover {
  box-shadow: var(--lrv-shadow-hover);
  transform: translateY(-3px);
}
.blog-article-card h3 a {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--lrv-dark) !important;
}
.blog-article-card h3 a:hover {
  color: var(--lrv-warm) !important;
}

/* ---------- Custom text block ---------- */
#custom-text {
  background: url('/img/custom-text-bg.png') center / cover no-repeat;
  border: none;
  border-radius: 8px;
  padding: 50px 50px;
  margin: 40px 0;
  text-align: center;
  box-shadow: var(--lrv-shadow);
  position: relative;
  overflow: hidden;
}
#custom-text::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255, 255, 255, 0.88);
}
#custom-text > * {
  position: relative;
  z-index: 1;
}
#custom-text h1,
#custom-text h2,
#custom-text h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--lrv-dark) !important;
  font-size: 24px !important;
  margin-bottom: 15px !important;
  background: none !important;
}
#custom-text p {
  color: var(--lrv-text) !important;
  background: none !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
#custom-text strong,
#custom-text b {
  color: var(--lrv-brown) !important;
  background: none !important;
}
#custom-text * {
  background-color: transparent !important;
}
@media (max-width: 767px) {
  #custom-text {
    padding: 30px 20px;
  }
}

/* ---------- Wishlist heart ---------- */
.wishlist-button-add .material-icons {
  color: var(--lrv-gold) !important;
}

/* ---------- Pagination ---------- */
.pagination {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--lrv-border);
}
.pagination .page-list li a,
.pagination .page-list li span {
  border-radius: var(--lrv-radius) !important;
  padding: 8px 14px !important;
  margin: 0 3px;
  font-size: 14px !important;
  color: var(--lrv-text) !important;
  border: 1px solid var(--lrv-border) !important;
  background: #fff !important;
  transition: var(--lrv-transition);
}
.pagination .page-list li a:hover {
  background: var(--lrv-bg-light) !important;
  border-color: var(--lrv-gold) !important;
  color: var(--lrv-dark) !important;
}
.pagination .current a,
.pagination .page-list li.current a,
.pagination .page-list li.current span {
  background: var(--lrv-dark) !important;
  border-color: var(--lrv-dark) !important;
  color: #fff !important;
}
.pagination .page-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.pagination .page-list li .next,
.pagination .page-list li .previous {
  font-weight: 500;
  letter-spacing: 0.5px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.pagination .showing {
  color: var(--lrv-text-light) !important;
  font-size: 13px;
}

/* ---------- Forms ---------- */
.form-control:focus {
  border-color: var(--lrv-gold) !important;
  box-shadow: 0 0 0 2px rgba(197,165,90,0.15) !important;
}

/* ---------- Blog sidebar: masquer sur mobile + masquer sur desktop les blocs redondants ---------- */
.ets_blog_sidebar {
  display: none;
}
/* Sur desktop, afficher la sidebar mais sans les catégories (redondant avec header) ni les derniers posts */
@media (min-width: 768px) {
  .ets_blog_sidebar {
    display: block;
  }
  .ets_blog_sidebar .ets_block_categories,
  .ets_blog_sidebar .ets_block_latest_posts,
  .ets_blog_sidebar .block.ets_block_categories {
    display: none;
  }
}
/* Sur mobile, masquer toute la colonne gauche (catégories + blog sidebar) */
@media (max-width: 767px) {
  #left-column {
    display: none !important;
  }
  #content-wrapper,
  #content-wrapper.left-column {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ---------- Header responsive < 1000px ---------- */
@media (max-width: 1000px) {
  #contact-link a {
    display: none;
  }
}

/* ---------- Scroll to top (if exists) ---------- */
.back-to-top {
  background: var(--lrv-dark) !important;
  color: var(--lrv-gold) !important;
}

/* ---------- Selection / highlight ---------- */
::selection {
  background: var(--lrv-gold-light);
  color: var(--lrv-dark);
}

/* ---------- Blog (ets_blog) style override ---------- */
.ets_blog_sidebar .title_blog,
.ets_block_latest_posts .title_blog,
.ets_block_categories .title_blog,
.block.ets_block_latest_posts h4,
.block.ets_block_categories h4 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--lrv-dark) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px !important;
}
/* Boutons blog : remplacer le bleu par le style du site */
.ets_blog_sidebar a.btn,
.ets_blog_sidebar .view_all_link,
.ets_blog_sidebar .blog_view_all,
.block.ets_block_latest_posts a.view_all_link,
.block.ets_block_categories a.blog_view_all,
a.view_all_link,
a.blog_view_all,
.ets_blog_ltr_mode a.btn-primary,
.ets_blog_ltr_mode .btn-primary,
.ets_blog_ltr_mode a.view_all_link,
.ets_blog_ltr_mode a.blog_view_all {
  background: var(--lrv-dark) !important;
  border-color: var(--lrv-dark) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 10px 20px !important;
  border-radius: var(--lrv-radius) !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: var(--lrv-transition) !important;
}
.ets_blog_sidebar a.btn:hover,
.ets_blog_sidebar .view_all_link:hover,
.ets_blog_sidebar .blog_view_all:hover,
a.view_all_link:hover,
a.blog_view_all:hover,
.ets_blog_ltr_mode a.btn-primary:hover,
.ets_blog_ltr_mode .btn-primary:hover,
.ets_blog_ltr_mode a.view_all_link:hover,
.ets_blog_ltr_mode a.blog_view_all:hover {
  background: var(--lrv-warm) !important;
  border-color: var(--lrv-warm) !important;
}
/* Fond des blocs blog */
.block.ets_block_latest_posts,
.block.ets_block_categories,
.ets_blog_sidebar .block {
  background: #fff !important;
  border: 1px solid var(--lrv-border) !important;
  border-radius: var(--lrv-radius) !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}
.ets_blog_sidebar .block.ets_block_search .block_content,
.ets_blog_sidebar .block.ets_block_search .content_block {
  overflow: hidden !important;
}
/* Liens articles dans sidebar */
.ets_block_latest_posts .post-title a,
.ets_block_latest_posts h5 a {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--lrv-dark) !important;
  font-size: 14px !important;
}
.ets_block_latest_posts .post-title a:hover,
.ets_block_latest_posts h5 a:hover {
  color: var(--lrv-warm) !important;
}
/* Read more link */
a.read_more {
  color: var(--lrv-brown) !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--lrv-gold);
  text-decoration: none !important;
}
a.read_more:hover {
  color: var(--lrv-warm) !important;
  border-bottom-color: var(--lrv-warm);
}
/* Page blog - contenu principal */
.page-heading.product-listing {
  font-family: 'Playfair Display', Georgia, serif !important;
}
/* Boutons dans les articles blog (commentaires, submit, etc.) - exclure le header */
#ets_blog_page #wrapper .button,
#ets_blog_page #wrapper input[type="submit"],
#ets_blog_page #wrapper button,
#ets_blog_page #wrapper .btn,
#ets_blog_page #content-wrapper .button,
#ets_blog_page #content-wrapper input[type="submit"],
#ets_blog_page #content-wrapper button[type="submit"],
#ets_blog_page #content-wrapper .btn,
#ets_blog_page #left-column .button,
#ets_blog_page #left-column .btn,
.ets_blog_ltr_mode .button,
.ets_blog_ltr_mode input.button,
.ets_blog_ltr_mode button.button {
  background: var(--lrv-dark) !important;
  border-color: var(--lrv-dark) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 10px 25px !important;
  border-radius: var(--lrv-radius) !important;
  transition: var(--lrv-transition) !important;
  cursor: pointer;
}
#ets_blog_page #wrapper .button:hover,
#ets_blog_page #wrapper input[type="submit"]:hover,
#ets_blog_page #wrapper button:hover,
#ets_blog_page #content-wrapper .button:hover,
#ets_blog_page #content-wrapper input[type="submit"]:hover,
#ets_blog_page #content-wrapper button[type="submit"]:hover,
.ets_blog_ltr_mode .button:hover,
.ets_blog_ltr_mode input.button:hover {
  background: var(--lrv-warm) !important;
  border-color: var(--lrv-warm) !important;
}
/* Liens dans les articles blog - exclure le header */
#ets_blog_page #content-wrapper a,
#ets_blog_page #left-column a,
#ets_blog_page #wrapper a,
.ets_blog_ltr_mode .post-content a,
.ets_blog_ltr_mode .blog-post-content a {
  color: var(--lrv-brown) !important;
}
#ets_blog_page #content-wrapper a:hover,
#ets_blog_page #left-column a:hover,
#ets_blog_page #wrapper a:hover,
.ets_blog_ltr_mode .post-content a:hover,
.ets_blog_ltr_mode .blog-post-content a:hover {
  color: var(--lrv-warm) !important;
}
/* Liens visited sur fond blanc : même couleur que non-visited */
#ets_blog_page #content-wrapper a:visited,
#ets_blog_page #left-column a:not(.view_all_link):not(.blog_view_all):not(.btn):not(.btn-primary):visited,
.ets_blog_ltr_mode .post-content a:visited,
.ets_blog_ltr_mode .blog-post-content a:visited {
  color: var(--lrv-brown) !important;
}
/* Boutons visited sur fond noir : garder blanc */
#ets_blog_page #left-column a.view_all_link:visited,
#ets_blog_page #left-column a.blog_view_all:visited,
#ets_blog_page #left-column .blog_view_all_button a:visited,
#ets_blog_page #content-wrapper a.view_all_link:visited,
#ets_blog_page #content-wrapper a.blog_view_all:visited,
#ets_blog_page a.view_all_link:visited,
#ets_blog_page a.blog_view_all:visited,
.ets_blog_ltr_mode a.btn-primary:visited {
  color: #fff !important;
}
/* Liens visited sur fond noir (footer, newsletter, header, boutons) */
#footer a:visited,
.block_newsletter a:visited,
body#ets_blog_page #header .header-nav a:visited {
  color: var(--lrv-gold-light) !important;
}
/* Boutons blog visited */
.ets_blog_ltr_mode a.btn-primary:visited,
a.view_all_link:visited,
a.blog_view_all:visited {
  color: #fff !important;
}

/* === Pages blog : pas de surcharge header === */

/* Bloc recherche blog : juste la loupe */
.ets_block_search form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
.ets_block_search form input[type="text"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 0% !important;
  border: 1px solid var(--lrv-border) !important;
  border-radius: 20px !important;
  padding: 8px 36px 8px 14px !important;
  font-size: 11px !important;
  height: 36px !important;
  background: var(--lrv-cream) !important;
  color: var(--lrv-text) !important;
}
.ets_block_search form input[type="text"]::placeholder {
  font-size: 10px !important;
  color: var(--lrv-text-light) !important;
  opacity: 0.7;
}
.ets_block_search form input.button,
.ets_block_search form input[type="submit"] {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  font-size: 0 !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}
.ets_block_search form .icon_search {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer;
  font-size: 16px !important;
  color: var(--lrv-gold) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  z-index: 2;
}
.ets_block_search form .icon_search::before {
  content: "\f002";
  font-family: FontAwesome;
}

/* Étoiles de notation */
.ets_blog_ltr_mode .fa-star,
.ets_blog_ltr_mode .star-rating .fa-star {
  color: var(--lrv-gold) !important;
}

/* Blog post cards dans les pages catégories/produits */
.ets_blog_ltr_mode .blog_post_item,
.ets_blog_ltr_mode .blog-post-item {
  background: #fff !important;
  border: 1px solid var(--lrv-border) !important;
  border-radius: var(--lrv-radius) !important;
}

/* ---------- Smooth scroll ---------- */
html {
  scroll-behavior: smooth;
}

#mobile_top_menu_wrapper .js-top-menu-bottom a, .dropdown, body#checkout section.checkout-step small {
    color: #bebdbd;
}


/* --- Champ de recherche mobile (ajoute le 18/08/2026) --- */
@media (max-width: 767px) {
  body { padding-top: 124px !important; }
  .lrv-mobile-search {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex !important;
    align-items: center;
    gap: 6px;
    background: #fff;
    border-bottom: 1px solid var(--lrv-border);
    padding: 6px 10px;
    margin: 0;
  }
  .lrv-mobile-search input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 34px;
    padding: 6px 10px;
    font-size: 14px;
    border: 1px solid var(--lrv-border);
    border-radius: 4px;
    background: #fff;
  }
  .lrv-mobile-search button {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    padding: 0 4px;
    line-height: 1;
    color: var(--lrv-dark);
  }
  .lrv-mobile-search .material-icons { font-size: 22px; }
}
@media (min-width: 768px) {
  .lrv-mobile-search { display: none !important; }
}

/* --- Barre de categories mobile : ne pas rogner le debut quand elle deborde --- */
@media (max-width: 767px) {
  .lrv-mobile-menu {
    justify-content: flex-start;
    justify-content: safe center;
    padding-left: 6px;
    padding-right: 6px;
  }
}

