/* Homepage-only INP/LCP tweaks. Other pages keep css/style.css as-is. */

@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('../fonts/nunito-sans.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/poppins-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/poppins-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/poppins-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/poppins-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html.age-ok #ageGate { display: none !important; }

/* First paint should not fade in — that delays the age-gate tap. */
body { animation: none; }

/* Kill infinite glow/color animations that keep the main thread painting. */
.hero-title,
.logo-text .lt-vice,
.logo-text .lt-cannabis,
.site-header::after,
.section-title::after {
  animation: none !important;
}

.hero-title {
  -webkit-text-fill-color: unset;
  color: #fff;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  filter: none;
}

.glow-vice {
  display: block;
  color: #00e5ff;
  -webkit-text-fill-color: #00e5ff;
  text-shadow: 0 0 20px #00e5ff, 0 0 60px rgba(0,229,255,0.4);
  animation: none !important;
}
.glow-cannabis {
  display: block;
  color: #ff2d95;
  -webkit-text-fill-color: #ff2d95;
  text-shadow: 0 0 20px #ff2d95, 0 0 60px rgba(255,45,149,0.4);
  animation: none !important;
}

.hero-bg {
  background-image: url('../wp-content/uploads/home/hero-miami.jpg');
  pointer-events: none;
}

/* Keep brand cyan/pink on the header underline, statically. */
.site-header::after { opacity: 0.85; }

.section {
  content-visibility: auto;
  contain-intrinsic-size: auto 720px;
}

.social-links a svg,
.footer-social a svg {
  width: 1em;
  height: 1em;
  display: block;
}

/* Avoid transitioning every property on every link (INP). */
a { transition: color 0.2s ease, text-shadow 0.2s ease; }

#ageGate button { transition: none; }

.hero-actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:4px; }

/* Big storefront photo — homepage only */
.location-card-wrapper { max-width:1120px; }
.location-card.location-card-flex {
  display:grid;
  grid-template-columns: 60% 40%;
  gap:0;
  padding:0;
  max-width:1120px;
  align-items:stretch;
  overflow:hidden;
}
.location-card-text { padding:40px 36px; }
.location-card-img { flex:unset; text-align:unset; min-height:420px; }
.location-card-img img {
  width:100%;
  height:100%;
  max-width:none !important;
  min-height:420px;
  object-fit:cover;
  border-radius:0;
  border:none;
  margin:0;
  display:block;
}
@media (max-width: 768px) {
  .location-card.location-card-flex { grid-template-columns:1fr; }
  .location-card-img { order:-1; min-height:260px; }
  .location-card-img img { min-height:260px; max-width:none !important; }
  .location-card-text { padding:28px 22px; }
}
