.page-sommelier {
  --sommelier-toolbar-top: 136px;
  --sommelier-toolbar-height: 64px;
  --sommelier-booking-top: 208px;
}

.page-sommelier .sommelier-editorial-toolbar {
  position: relative;
  z-index: 2147482400;
  isolation: isolate;
  top: auto;
  box-sizing: border-box;
  width: calc(100% - .5cm);
  margin: 0 .5cm 0 0;
  padding: 6px 0 6px 14px;
  background: #050505 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.16);
}

.page-sommelier .sommelier-editorial-toolbar-placeholder {
  display: block;
  width: 100%;
  height: 0;
}

.page-sommelier .sommelier-toolbar-guard {
  position: fixed;
  z-index: 2147482300;
  right: 0;
  left: 0;
  display: none;
  width: 100%;
  height: auto;
  background: #fff;
  pointer-events: none;
}
.page-sommelier .sommelier-toolbar-guard-breadcrumb {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 19px;
  min-height: 19px;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0 18px;
  overflow: hidden;
  background: #fff;
  color: #706b65;
  font: 600 8px/1 Arial,sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: auto;
}
.page-sommelier .sommelier-toolbar-guard-breadcrumb a { color: inherit;text-decoration: none; }
.page-sommelier .sommelier-toolbar-guard-breadcrumb a:hover { color: #b58a31; }
.page-sommelier .sommelier-toolbar-guard > .sommelier-editorial-toolbar.is-fixed {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: calc(100% - .5cm);
  margin: 0 .5cm 0 0;
  pointer-events: auto;
  transform: none!important;
}

.page-sommelier .sommelier-editorial-toolbar.is-fixed {
  position: fixed;
  z-index: 2147482400;
  top: var(--sommelier-toolbar-top);
  right: .5cm;
  left: 0;
  width: auto;
  margin: 0;
}

/* Surface opaque : aucun texte ou visuel de l'article ne doit traverser le bandeau fixe. */
.page-sommelier .sommelier-editorial-toolbar::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #050505;
  opacity: 1;
  pointer-events: none;
}

.page-sommelier .sommelier-editorial-toolbar-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(405px,460px);
  gap: 8px;
  min-height: 52px;
}

.page-sommelier .sommelier-editorial-controls {
  position: relative;
  display: grid;
  grid-template-columns: minmax(126px,150px) minmax(180px,1fr) minmax(132px,160px) minmax(128px,152px);
  min-width: 0;
  border: 1px solid #ddd;
  background: #fff;
}

.page-sommelier .sommelier-editorial-toolbar button,
.page-sommelier .sommelier-editorial-toolbar a {
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  font-family: Arial,Helvetica,sans-serif;
}

.page-sommelier .sommelier-special-toggle {
  display: flex;
  width: 100%;
  height: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 12px;
  background: #0b1919;
  color: #fff;
  font-size: 12px;
  line-height: 1.05;
  text-align: left;
  cursor: pointer;
  transition: background-color .18s ease,color .18s ease;
}
.page-sommelier .sommelier-special-toggle:hover,
.page-sommelier .sommelier-special-toggle:focus-visible,
.page-sommelier .sommelier-special-toggle[aria-expanded="true"] {
  background: #0b1919!important;
  color: #fff;
}

.page-sommelier .sommelier-special-toggle strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
}

.page-sommelier .sommelier-toolbar-chevron {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(45deg);
  transition: transform .2s ease,margin .2s ease;
}

.page-sommelier .sommelier-special-toggle[aria-expanded="true"] .sommelier-toolbar-chevron {
  margin-top: 5px;
  transform: rotate(225deg);
}

.page-sommelier .sommelier-special-menu {
  position: absolute;
  z-index: 95;
  top: calc(100% + 7px);
  left: 0;
  width: min(460px,calc(100vw - 38px));
  padding: 20px;
  border: 1px solid rgba(255,255,255,.3);
  background: #0b1919;
  color: #fff;
  box-shadow: 0 18px 45px rgba(0,0,0,.34);
}

.page-sommelier .sommelier-special-menu[hidden] { display: none; }
.page-sommelier .sommelier-special-menu p { margin: 0 0 12px;font: 700 13px/1.35 Arial,sans-serif;text-align:center;text-transform: uppercase; }
.page-sommelier .sommelier-special-menu a { display: block;padding: 11px 0;border-top: 1px solid rgba(255,255,255,.18);color: #fff;font: 600 12px/1.35 Arial,sans-serif;text-decoration: none;text-transform: uppercase; }
.page-sommelier .sommelier-special-menu a:hover,.page-sommelier .sommelier-special-menu a:focus-visible { color: #d7b975; }
.page-sommelier .sommelier-special-menu a[aria-current="page"] { color: #d7b975; }

.page-sommelier .sommelier-like-button,
.page-sommelier .sommelier-opinion-button,
.page-sommelier .sommelier-reviews-button {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 10px;
  border-right: 1px solid #ddd!important;
  background: #fff;
  color: #111;
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
}

.page-sommelier .sommelier-like-button { justify-content: flex-start;font-weight: 700; }
.page-sommelier .sommelier-like-button svg { flex: 0 0 22px;width: 22px;height: 22px;fill: #0b1919;stroke: #b98d2f;stroke-width: 1.5;transition: transform .18s ease,fill .18s ease; }
.page-sommelier .sommelier-like-button[aria-pressed="true"] svg { fill: #a7192d;transform: scale(1.08); }
.page-sommelier .sommelier-like-count { min-width: 13px;font-size: 14px; }
.page-sommelier .sommelier-opinion-button svg { flex: 0 0 22px;width: 22px;height: 22px;fill: none;stroke: currentColor;stroke-width: 1.7; }
.page-sommelier .sommelier-reviews-button { border-right: 0!important;white-space: nowrap; }
.page-sommelier .sommelier-like-button:hover,.page-sommelier .sommelier-opinion-button:hover,.page-sommelier .sommelier-reviews-button:hover { background: #f2f0eb; }

.page-sommelier .sommelier-editorial-nav { display: grid;grid-template-columns: repeat(3,minmax(0,1fr));min-width: 0;border: 1px solid rgba(255,255,255,.24);background: #0b1919; }
.page-sommelier .sommelier-editorial-nav a { display: flex;align-items: center;justify-content: center;padding: 0 8px;border-right: 1px solid rgba(255,255,255,.2);background: #0b1919;color: #fff;font: 700 10px/1.1 Arial,sans-serif;letter-spacing: .02em;text-align: center;text-decoration: none;text-transform: uppercase; }
.page-sommelier .sommelier-editorial-nav a:last-child { border-right: 0; }
.page-sommelier .sommelier-editorial-nav a:hover,.page-sommelier .sommelier-editorial-nav a:focus-visible { background: #173030;color: #d7b975; }

.page-sommelier .sommelier-opinion-modal { position: fixed;z-index: 2147483600;inset: 0;display: grid;place-items: center;padding: 20px;background: rgba(0,0,0,.68);opacity: 0;visibility: hidden;transition: opacity .2s ease,visibility .2s ease; }
.page-sommelier .sommelier-opinion-modal.is-open { opacity: 1;visibility: visible; }
.page-sommelier .sommelier-opinion-dialog { position: relative;box-sizing: border-box;width: min(620px,100%);max-height: calc(100vh - 40px);overflow: auto;padding: 28px;background: #f3f1ed;color: #111;box-shadow: 0 28px 80px rgba(0,0,0,.4); }
.page-sommelier .sommelier-opinion-close { position: absolute;top: 10px;right: 12px;width: 34px;height: 34px;background: transparent;color: #111;font-size: 29px;line-height: 1;cursor: pointer; }
.page-sommelier .sommelier-opinion-dialog h2 { margin: 0 44px 22px 0;font: 500 28px/1.05 "Bodoni Moda",Didot,Georgia,serif;text-transform: uppercase; }
.page-sommelier .sommelier-reviews-view { box-sizing: border-box;max-height: min(640px,calc(100vh - 96px));overflow-y: auto;overscroll-behavior: contain;padding-right: 10px;scrollbar-gutter: stable; }
.page-sommelier .sommelier-reviews-view h2 { position: sticky;z-index: 2;top: -1px;margin-right: 0;padding: 2px 44px 12px 0;background: #f3f1ed; }
.page-sommelier .sommelier-opinion-dialog label { display: block;margin: 0 0 12px;font: 700 10px/1.2 Arial,sans-serif;letter-spacing: .06em;text-transform: uppercase; }
.page-sommelier .sommelier-opinion-dialog input,.page-sommelier .sommelier-opinion-dialog select,.page-sommelier .sommelier-opinion-dialog textarea { display: block;box-sizing: border-box;width: 100%;margin-top: 6px;padding: 10px;border: 1px solid #aaa;background: #fff;color: #111;font: 400 14px/1.35 Arial,sans-serif; }
.page-sommelier .sommelier-opinion-dialog textarea { min-height: 115px;resize: vertical; }
.page-sommelier .sommelier-opinion-consent { display: grid!important;grid-template-columns: 18px minmax(0,1fr);gap: 9px;align-items: start;margin-top: 16px!important;font-size: 10px!important;font-weight: 400!important;line-height: 1.42!important;letter-spacing: 0!important;text-transform: none!important; }
.page-sommelier .sommelier-opinion-consent input { width: 16px;height: 16px;margin: 1px 0 0;accent-color: #111; }
.page-sommelier .sommelier-opinion-consent a { color: #111;text-decoration: underline; }
.page-sommelier .sommelier-opinion-newsletter { display: grid!important;grid-template-columns: 18px minmax(0,1fr);gap: 9px;align-items: start;margin: 10px 0 0!important;font-size: 10px!important;font-weight: 400!important;line-height: 1.42!important;letter-spacing: 0!important;text-transform: none!important; }
.page-sommelier .sommelier-opinion-newsletter input { width: 16px;height: 16px;margin: 1px 0 0;accent-color: #111; }
.page-sommelier .sommelier-opinion-legal { margin: 10px 0 18px;font: 400 10px/1.42 Arial,sans-serif;color: #555; }
.page-sommelier .sommelier-opinion-submit { width: 100%;padding: 13px 18px!important;border: 1px solid #111!important;background: #111!important;color: #fff!important;font: 700 11px/1 Arial,sans-serif!important;letter-spacing: .08em;text-transform: uppercase;cursor: pointer; }
.page-sommelier .sommelier-opinion-submit:hover { background: #263838!important; }
.page-sommelier .sommelier-opinion-success { margin: 14px 0 0;padding: 12px;border: 1px solid #7c8f80;background: #edf3ee;font: 600 12px/1.4 Arial,sans-serif;text-align: center; }
.page-sommelier .sommelier-reviews-view p { padding: 22px;border: 1px solid #ccc;background: #fff;font: 400 13px/1.5 Arial,sans-serif;text-align: center; }
.page-sommelier .sommelier-reviews-view article { margin: 0 0 12px;padding: 16px 18px;border: 1px solid #ccc;background: #fff; }
.page-sommelier .sommelier-reviews-view article:last-child { margin-bottom: 0; }
.page-sommelier .sommelier-reviews-view article strong { display: block;margin-bottom: 6px;font: 700 12px/1.2 Arial,sans-serif;text-transform: uppercase; }
.page-sommelier .sommelier-reviews-view article p { margin: 0;padding: 0;border: 0;background: transparent;text-align: left; }
.page-sommelier .sommelier-reviews-disclaimer { margin: 0 0 12px!important;padding: 10px 12px!important;border-color:#d9c99f!important;background:#fffaf0!important;font-size:11px!important; }
.page-sommelier .booking-newsletter-consent { margin-top:8px!important;padding-top:8px;border-top:1px solid #cbc8c1; }
.page-sommelier.is-opinion-modal-open { overflow: hidden; }

.page-sommelier .sommelier-booking,
.page-sommelier .sommelier-booking.is-fixed {
  top: var(--sommelier-booking-top)!important;
  height: min(720px,calc(var(--booking-vh,100vh) - var(--sommelier-booking-top) - 14px))!important;
  max-height: calc(var(--booking-vh,100vh) - var(--sommelier-booking-top) - 14px)!important;
}

@media (max-width: 1080px) {
  .page-sommelier .sommelier-editorial-toolbar-inner { grid-template-columns: minmax(0,1fr) 376px; }
  .page-sommelier .sommelier-editorial-controls { grid-template-columns: 128px minmax(168px,1fr) 126px 128px; }
}

@media (max-width: 900px) {
  .page-sommelier .sommelier-toolbar-guard { display:none!important; }
  .page-sommelier .sommelier-editorial-toolbar,.page-sommelier .sommelier-editorial-toolbar.is-fixed { position: relative;top: auto;right: auto;left: auto;width: 100%;margin: 0;padding: 7px;transform: none!important; }
  .page-sommelier .sommelier-editorial-toolbar-inner { grid-template-columns: 1fr; }
  .page-sommelier .sommelier-editorial-controls { grid-template-columns: 128px minmax(175px,1fr) 126px 130px;overflow-x: auto; }
  .page-sommelier .sommelier-editorial-controls>* { min-height: 52px; }
  .page-sommelier .sommelier-editorial-nav { min-height: 46px; }
  .page-sommelier .sommelier-booking,.page-sommelier .sommelier-booking.is-fixed { height: auto!important;max-height: none!important; }
}

@media (max-width: 560px) {
  .page-sommelier .sommelier-opinion-dialog { padding: 24px 18px; }
  .page-sommelier .sommelier-editorial-nav a { min-height: 44px;font-size: 9px; }
}
