/* Global styles for The Lion's Share.
   Extracted from the inline <style> block in index.html — see also
   assets/tailwind-config.js for theme tokens and assets/app.js for behavior. */

body { font-family: 'Hanken Grotesk', sans-serif; background-color: #121212; color: #e4e2e1; }
h1, h2, h3, h4, h5, h6, .font-playfair { font-family: 'Playfair Display', serif; }

.divider-merlot { border-top: 1px solid #7a1a2b; }
.merlot-divider { border-bottom: 1px solid #7a1a2b; }
.text-merlot { color: #7a1a2b; }
.price-text { color: #7a1a2b; }

/* Cart remove button — hover handled in CSS (no inline JS handlers) */
.cart-remove { color: #8e9192; transition: color 0.2s; }
.cart-remove:hover { color: #7a1a2b; }

/* SPA routing */
.page { display: none; }
.page.active { display: block; }

/* Mobile drawer (slides from left) */
#mobile-menu {
  position: fixed; inset: 0; z-index: 100;
  background-color: #121212;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex; flex-direction: column;
  padding: 2rem 1.25rem 3rem;
  overflow-y: auto;
}
#mobile-menu.open { transform: translateX(0); }

/* Cart drawer (slides from right) */
#cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 100%; max-width: 420px; z-index: 100;
  background-color: #121212;
  border-left: 1px solid rgba(122, 26, 43, 0.2);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex; flex-direction: column; overflow: hidden;
}
#cart-drawer.open { transform: translateX(0); }

/* Policy section headings */
.policy-section h2 {
  border-bottom: 1px solid rgba(122, 26, 43, 0.3);
  padding-bottom: 16px;
  margin-bottom: 32px;
  font-family: 'Playfair Display', serif;
}

/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Loading indicator */
#page-loading.active { display: flex; }

/* Page transitions */
@keyframes page-in {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: translateY(0); }
}
.page-entering {
  animation: page-in 260ms cubic-bezier(0.25, 0, 0, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  .page-entering { animation: none; }
}

/* Detail modal transitions */
@keyframes modal-in {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes modal-out {
  from { opacity: 1; transform: translateY(0)   scale(1); }
  to   { opacity: 0; transform: translateY(6px) scale(0.98); }
}
#detail-modal-inner.modal-entering {
  animation: modal-in 260ms cubic-bezier(0.25, 0, 0, 1) both;
}
#detail-modal-inner.modal-leaving {
  animation: modal-out 110ms ease both;
}
@media (prefers-reduced-motion: reduce) {
  #detail-modal-inner.modal-entering,
  #detail-modal-inner.modal-leaving { animation: none; }
}

/* Email popup transitions */
@keyframes popup-in {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes popup-out {
  from { opacity: 1; transform: translateY(0)   scale(1); }
  to   { opacity: 0; transform: translateY(8px) scale(0.97); }
}
#email-popup-inner.popup-entering {
  animation: popup-in 280ms cubic-bezier(0.25, 0, 0, 1) both;
}
#email-popup-inner.popup-leaving {
  animation: popup-out 130ms ease both;
}
@media (prefers-reduced-motion: reduce) {
  #email-popup-inner.popup-entering,
  #email-popup-inner.popup-leaving { animation: none; }
}
