/* =============================================================
   MBC Mobile UI — drawer menu + cart drawer
   Design aligne sur la charte Shopify clone (Impulse theme)
   ============================================================= */

/* Cache les drawers theme.js (on a les notres) */
@media (max-width: 989px) {
  #NavDrawer,
  #CartDrawer,
  .drawer:not(.mbc-drawer) {
    display: none !important;
  }
}

/* === Variables locales (alignees sur le Shopify clone) === */
:root {
  --mbc-d-bg:        #ffffff;
  --mbc-d-text:      #0a0605;
  --mbc-d-muted:     #6f6c5b;
  --mbc-d-brown:     #564d2e;
  --mbc-d-brown-lt:  #776b40;
  --mbc-d-divider:   #ebe7da;
  --mbc-d-hover:     #faf8f1;
  --mbc-d-overlay:   rgba(10, 6, 5, 0.55);
  --mbc-d-radius:    3px;
  --mbc-d-font-h:    "New York", Iowan Old Style, "Apple Garamond", Baskerville, "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif;
  --mbc-d-font-b:    Archivo, sans-serif;
}

/* === Overlay === */
.mbc-overlay {
  position: fixed;
  inset: 0;
  background: var(--mbc-d-overlay);
  z-index: 100001;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  cursor: pointer;
}
.mbc-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

/* === Drawer container === */
.mbc-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 88%;
  max-width: 400px;
  background: var(--mbc-d-bg);
  color: var(--mbc-d-text);
  z-index: 100002;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(.4, 0, .2, 1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--mbc-d-font-b);
  display: flex;
  flex-direction: column;
}
.mbc-drawer.is-open {
  transform: translateX(0);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.08);
}

/* === Header === */
.mbc-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 26px 20px;
  border-bottom: 1px solid var(--mbc-d-divider);
  flex-shrink: 0;
}
.mbc-drawer__title {
  font-family: var(--mbc-d-font-h);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin: 0;
  color: var(--mbc-d-brown);
  line-height: 1.1;
}
.mbc-drawer__close {
  background: transparent;
  border: 0;
  width: 36px;
  height: 36px;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mbc-d-text);
  transition: opacity 0.15s;
}
.mbc-drawer__close:hover { opacity: 0.65; }
.mbc-drawer__close svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
}

/* === Body === */
.mbc-drawer__body {
  flex: 1;
  padding: 0;
  overflow-y: auto;
}

/* === Nav === */
.mbc-mobile-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mbc-mobile-nav__item {
  border-bottom: 1px solid var(--mbc-d-divider);
}
.mbc-mobile-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 26px;
  color: var(--mbc-d-text);
  font-family: var(--mbc-d-font-b);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  line-height: 1.3;
}
.mbc-mobile-nav__link:hover,
.mbc-mobile-nav__link:active {
  background: var(--mbc-d-hover);
  color: var(--mbc-d-brown);
}
.mbc-mobile-nav__chev {
  width: 12px;
  height: 8px;
  stroke: var(--mbc-d-brown);
  fill: none;
  stroke-width: 1.8;
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-left: 14px;
}
.mbc-mobile-nav__item.is-open > .mbc-mobile-nav__link .mbc-mobile-nav__chev {
  transform: rotate(180deg);
}

/* Sublist : meme fond blanc, items avec indent, font smaller */
.mbc-mobile-nav__sublist {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--mbc-d-bg);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.mbc-mobile-nav__item.is-open > .mbc-mobile-nav__sublist {
  max-height: 800px;
}
.mbc-mobile-nav__sublist .mbc-mobile-nav__item {
  border-bottom: 0;
}
.mbc-mobile-nav__sublist .mbc-mobile-nav__link {
  padding: 14px 26px 14px 44px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: none;
  color: var(--mbc-d-muted);
}
.mbc-mobile-nav__sublist .mbc-mobile-nav__link:hover {
  color: var(--mbc-d-brown);
  background: var(--mbc-d-hover);
}

/* === Footer drawer (sociaux + contact) === */
.mbc-drawer__footer {
  padding: 24px 26px 28px;
  border-top: 1px solid var(--mbc-d-divider);
  flex-shrink: 0;
  background: var(--mbc-d-bg);
}
.mbc-drawer__social {
  display: flex;
  gap: 22px;
  align-items: center;
  margin-bottom: 16px;
}
.mbc-drawer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mbc-d-brown);
  text-decoration: none;
  transition: color 0.15s;
}
.mbc-drawer__social a:hover { color: var(--mbc-d-brown-lt); }
.mbc-drawer__social svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
  display: block;
}
.mbc-drawer__contact {
  font-family: var(--mbc-d-font-b);
  font-size: 11px;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: var(--mbc-d-muted);
  text-transform: uppercase;
}
.mbc-drawer__contact a {
  color: var(--mbc-d-brown);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s;
}
.mbc-drawer__contact a:hover { border-color: var(--mbc-d-brown); }
.mbc-drawer__contact > div { margin-bottom: 4px; }
.mbc-drawer__contact > div:last-child { margin-bottom: 0; }

/* === Cart drawer empty state === */
.mbc-cart-drawer__empty {
  text-align: center;
  padding: 60px 30px 40px;
}
.mbc-cart-drawer__empty svg {
  width: 64px;
  height: 64px;
  stroke: var(--mbc-d-divider);
  fill: none;
  stroke-width: 1.6;
  margin-bottom: 22px;
  display: inline-block;
}
.mbc-cart-drawer__empty-title {
  font-family: var(--mbc-d-font-h);
  font-size: 22px;
  color: var(--mbc-d-brown);
  margin: 0 0 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.mbc-cart-drawer__empty-text {
  font-family: var(--mbc-d-font-b);
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--mbc-d-muted);
  margin: 0 0 26px;
  line-height: 1.5;
}
.mbc-cart-drawer__cta {
  display: inline-block;
  padding: 14px 34px;
  background: var(--mbc-d-brown);
  color: #ffffff;
  text-decoration: none;
  font-family: var(--mbc-d-font-b);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: var(--mbc-d-radius);
  transition: background 0.15s;
  border: 0;
  line-height: 1;
}
.mbc-cart-drawer__cta:hover { background: var(--mbc-d-brown-lt); }

/* === Lock body scroll === */
html.mbc-drawer-open,
body.mbc-drawer-open {
  overflow: hidden !important;
  touch-action: none;
}

/* Currency widget mobile : visible dans header navbar */
.mbc-currency--mobile {
  display: inline-flex !important;
  align-items: center;
  margin: 0 6px;
}
@media (min-width: 990px) {
  .mbc-currency--mobile { display: none !important; }
}
@media (max-width: 989px) {
  .toolbar__item--currency { display: none !important; }
}
