/*
  LỤA XƯA — lớp tinh chỉnh an toàn
  File này chỉ sửa lỗi và độ mượt; style.css gốc và toàn bộ bố cục/section được giữ nguyên.
*/
:root { --mobile-menu-top: 96px; }
html { scroll-padding-top: 132px; }
body.menu-open { overflow: hidden; }

/* Keyboard accessibility, no visual change for mouse users */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--c-gold);
  outline-offset: 3px;
}

/* Header remains visually identical; class only replaces inline JS shadow. */
.header { transition: box-shadow .25s ease, background-color .25s ease; }
.header.is-scrolled { box-shadow: 0 4px 18px rgba(43,31,24,.08); }

/* Product cards stay in the original grid but align cleanly when names wrap. */
.products { align-items: stretch; }
.product { display: flex; flex-direction: column; min-width: 0; height: 100%; }
.product__body { display: flex; flex: 1; flex-direction: column; }
.product__name { min-height: 3.25em; }
.product__price { margin-top: auto; }
.product__media img, .collection-card__image img, .category__image img,
.blog-post__image img, .gallery__main img, .gallery__thumb img {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Mobile menu is styled up-front so raw links can never flash on screen. */
.mobile-menu {
  position: fixed;
  top: var(--mobile-menu-top);
  left: 0;
  right: 0;
  z-index: 49;
  display: flex;
  flex-direction: column;
  padding: .75rem var(--gutter) 1.25rem;
  background: rgba(250,246,240,.985);
  border-bottom: 1px solid var(--c-border);
  box-shadow: 0 14px 32px rgba(43,31,24,.12);
  transform: translateY(calc(-100% - 1rem));
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .25s ease, visibility 0s linear .35s;
}
.mobile-menu.is-open {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}
.mobile-menu a {
  padding: .9rem 0;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mobile-menu a:last-child { border-bottom: 0; }
.mobile-menu__cta {
  margin-top: .75rem;
  padding: .95rem 1rem !important;
  background: var(--c-burgundy);
  color: var(--c-ivory) !important;
  text-align: center;
  border: 0 !important;
}
.header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* Product gallery controls now behave like actual controls. */
.gallery__thumb { position: relative; }
.gallery__thumb[aria-current="true"] { border-color: var(--c-burgundy); }
.gallery__main img { transition: opacity .18s ease; }
.gallery__main.is-switching img { opacity: .35; }

/* Prevent an unknown social placeholder from jumping the page to the top. */
a[data-pending-social="true"] { cursor: default; }

/* Keep the original desktop composition; only smooth breakpoints and spacing. */
@media (max-width: 1024px) {
  .product__name { min-height: 3.4em; }
}
@media (max-width: 820px) {
  html { scroll-padding-top: 104px; }
  .header__inner { min-height: 92px; }
  .header__logo--image img { object-fit: contain; }
  .hero-caption { padding-bottom: 1.75rem; }
  .product__name { min-height: 3.5em; }
  .mobile-menu { display: flex; }
}
@media (min-width: 821px) {
  .mobile-menu { display: none !important; }
}
@media (max-width: 520px) {
  .product__name { min-height: 0; }
  .product__body { min-height: 112px; }
  .product__media { margin-bottom: .85rem; }
  .section__head { margin-bottom: 2rem; }
  .story__gallery { gap: .45rem; }
  .float-contacts { z-index: 48; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .gallery__main img { transition: none !important; }
}
