.nav-item--active a {
  font-weight: bold;
  text-decoration: underline !important;
}

/* Largeur globale : 70% de la fenêtre, minimum 1024px, centré */
:root {
  --site-width: 70%;
  --site-min-width: 1024px;
}

.site-header-logo,
.site-nav,
table.site-products-layout,
table:has(#site-products-sidebar),
body > table {
  width: var(--site-width) !important;
  min-width: var(--site-min-width) !important;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-header-logo td {
  position: relative;
}

.site-header-tools {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.site-google-translate {
  display: inline-block;
  font-family: Calibri, sans-serif;
  font-size: 13px;
  line-height: 1;
}

.site-google-translate .goog-te-gadget {
  font-family: Calibri, sans-serif !important;
  font-size: 13px !important;
  color: rgb(0, 0, 0) !important;
}

.site-google-translate .goog-te-gadget-simple {
  background: transparent !important;
  border: 1px solid #ccc !important;
  border-radius: 4px;
  padding: 4px 8px !important;
}

.site-google-translate .goog-te-menu-value span {
  color: rgb(0, 0, 0) !important;
}

.site-google-translate img {
  width: auto !important;
  height: auto !important;
}

.site-google-translate--hidden {
  display: none !important;
}

.site-translate-reopen {
  font-family: Calibri, sans-serif;
  font-size: 13px;
  line-height: 1;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: transparent;
  color: rgb(0, 0, 0);
  cursor: pointer;
}

.site-translate-reopen:hover {
  background: #f5f5f5;
}

.goog-te-banner-frame.skiptranslate {
  display: none !important;
}

body {
  top: 0 !important;
}

.site-header-logo img {
  width: 366px;
  max-width: 100%;
  height: auto;
}

.site-nav td {
  width: 20% !important;
}

.site-nav {
  border-bottom: 1px solid #ccc;
}

.site-home-photo {
  float: right;
  margin-left: 1rem;
}

.products-sidebar {
  font-family: Calibri, sans-serif;
  font-size: 14px;
  max-width: 100%;
  margin-top: 2rem;
  text-align: left;
}

.products-sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

.products-sidebar li {
  border-bottom: none;
}

.products-sidebar li:last-child {
  border-bottom: none;
}

.products-sidebar a,
.products-sidebar .products-sidebar__current {
  display: block;
  padding: 10px 12px;
  color: #000;
  text-decoration: none;
  line-height: 1.35;
}

.products-sidebar a:hover {
  background: #f5f5f5;
}

.products-sidebar li.products-sidebar__item--active {
  background: #fff3e0;
  border-left: 4px solid #ff9900;
}

.products-sidebar li.products-sidebar__item--active .products-sidebar__current {
  font-weight: bold;
}

.products-sidebar li.products-sidebar__separator {
  margin: 12px 12px;
  padding: 0;
  border: none;
  border-top: 1px solid #ccc;
  height: 0;
  list-style: none;
}

/* Layout uniforme des pages Produits : 80% centré (aligné sur le bandeau) */
table.site-products-layout,
table:has(#site-products-sidebar) {
  table-layout: fixed;
  border-collapse: collapse;
}

table.site-products-layout > tbody > tr > td:first-child,
table:has(#site-products-sidebar) > tbody > tr > td:first-child {
  width: 20% !important;
  max-width: none;
  vertical-align: top;
  text-align: left !important;
}

table.site-products-layout > tbody > tr > td:nth-child(2),
table:has(#site-products-sidebar) > tbody > tr > td:nth-child(2) {
  width: 66% !important;
  max-width: none;
  margin-left: 0 !important;
  vertical-align: top;
}

table.site-products-layout > tbody > tr > td:first-child img,
table:has(#site-products-sidebar) > tbody > tr > td:first-child img {
  max-width: 100%;
  height: auto;
}

table.site-products-layout > tbody > tr > td:nth-child(2) img,
table:has(#site-products-sidebar) > tbody > tr > td:nth-child(2) img {
  max-width: 100%;
  height: auto;
}

#contents img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

/* Panneau contenu à droite du menu latéral Produits */
#contents {
  font-family: Calibri, sans-serif;
  padding: 16px 20px;
  margin-top: 1rem;
  border: none;
  border-left: 1px solid #ccc;
  background: #fff;
  min-height: 300px;
  box-sizing: border-box;
}

/* Galerie : grille de vignettes */
.site-galerie-content {
  font-family: Calibri, sans-serif;
}

.site-galerie-title {
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: bold;
  color: rgb(255, 153, 0);
  font-family: "Century Gothic", Calibri, sans-serif;
}

.site-galerie-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.site-galerie-thumb {
  display: block;
  text-decoration: none;
  color: #000;
  background: #fff;
  border: 1px solid #ccc;
  overflow: hidden;
  transition: box-shadow 0.15s ease;
}

.site-galerie-thumb:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

#contents .site-galerie-thumb img {
  display: block;
  width: 100% !important;
  height: 130px !important;
  max-width: none !important;
  object-fit: cover;
  margin: 0 !important;
}

.site-galerie-caption {
  display: block;
  padding: 8px;
  font-size: 12px;
  text-align: center;
  line-height: 1.3;
  background: #fafafa;
}

.site-galerie-links {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #ddd;
  font-size: 14px;
}

.site-galerie-links ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.site-galerie-links a {
  color: #000;
}

.site-galerie-error {
  color: #c00;
  font-family: Calibri, sans-serif;
}

/* Page produit avec document intégré (PDF) */
.site-products-doc {
  font-family: Calibri, sans-serif;
}

.site-products-doc__title {
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: bold;
  color: rgb(255, 153, 0);
  font-family: "Century Gothic", Calibri, sans-serif;
}

.site-products-doc__viewer {
  display: block;
  width: 100%;
  height: 900px;
  min-height: 600px;
  border: 1px solid #ccc;
  background: #f5f5f5;
}

.site-products-doc__fallback {
  margin: 10px 0 0;
  font-size: 13px;
}

.site-products-doc__fallback a {
  color: #000;
}
