/** Shopify CDN: Minification failed

Line 40:0 All "@import" rules must come first

**/
/* 
  Tequila Dos Artes Luxury Theme Styles
  Absolute fidelity to Figma Design (Node 56:48)
  Methodology: BEM
*/

:root {
  --td-color-black: #000000;
  --td-color-white: #FFFFFF;
  --td-color-ivory: #F5F0EA;
  --td-glass-bg: rgba(240, 235, 225, 0.85);
  --td-glass-border: rgba(255, 255, 255, 0.3);
  --td-drawer-bg: rgba(240, 235, 225, 0.92);
  --td-font-heading: 'Castoro Titling', serif;
  --td-font-body: 'Comme', sans-serif;
  --td-font-accent: 'Lavishly Yours', cursive;
  
  /* GSAP / Animation variables */
  --td-transition-slow: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --td-transition-base: 0.4s ease-out;
}

/* Global Reset */
body {
  background-color: var(--td-color-black);
  color: var(--td-color-white);
  font-family: var(--td-font-body);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Typography Imports - These should be in snippets/fonts.liquid, but added here as well for safety */
@import url('https://fonts.googleapis.com/css2?family=Castoro+Titling&family=Comme:wght@300;400;700&family=Lavishly+Yours&display=swap');

.gsap-reveal {
  opacity: 0;
}

/* Smooth Scroll container */
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

/* Shopify Section Overrides */
.shopify-section {
  background-color: var(--td-color-black);
}

/* Utility classes */
.text-uppercase { text-transform: uppercase; }
.text-center { text-align: center; }

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 0;
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
  border: 2px solid transparent;
  background-clip: padding-box;
}

/* Feedback for stock limits */
.is-stock-limit {
  color: #ff4d4d !important;
  animation: td-shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes td-shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-3px, 0, 0); }
  40%, 60% { transform: translate3d(3px, 0, 0); }
}

/* Cart Syncing Feedback */
.is-syncing {
  opacity: 0.6;
  filter: grayscale(1);
  transition: all 0.3s ease;
}

/* ─── VIEW TRANSITIONS ────────────────────────────────── */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.4s;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

::view-transition-old(root) {
  animation-name: fade-out;
}

::view-transition-new(root) {
  animation-name: fade-in;
}

@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Fallback for non-supporting browsers */
html.is-transitioning #MainContent {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

/* Matching brand background during transition */
::view-transition-group(root) {
  background-color: var(--td-color-black, #000);
}
