/** Shopify CDN: Minification failed

Line 194:19 Unexpected "*"

**/

/* ============================================
   NAPA GATES — Premium Custom Styles
   UI/UX Pro Max + Redesign Skill Applied
   ============================================ */

/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&display=swap');

/* === ROOT OVERRIDES === */
:root {
  --font-heading-family: 'Sora', sans-serif !important;
  --napa-everglade: #203B32;
  --napa-lime: #DBFF59;
  --napa-cream: #FCFFF2;
  --napa-lemon: #EFFFB2;
  --napa-jungle: #1D261B;
}

/* === TYPOGRAPHY SYSTEM === */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6,
.title, .rte h1, .rte h2, .rte h3 {
  font-family: 'Sora', sans-serif !important;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* Display headings — tighter, bolder */
.h0, h1.h0 {
  letter-spacing: -0.04em;
  line-height: 1.05;
}

h1 { letter-spacing: -0.03em; line-height: 1.1; }
h2 { letter-spacing: -0.02em; line-height: 1.15; }
h3 { letter-spacing: -0.01em; line-height: 1.2; }

/* Body text — comfortable reading */
body, p, li, span {
  line-height: 1.65;
}

p { max-width: 65ch; }

/* Small labels — tracked */
.footer-block__heading,
.badge {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
}

/* === HIDE PRICES === */
.price,
.price__container,
.price-item,
.price-item--regular,
.price-item--sale,
.product-form__price,
.card-information .price,
.card__price,
[class*="price"] .money,
.product__price {
  display: none !important;
}

/* === HIDE QUANTITY + DYNAMIC CHECKOUT === */
.product-form__input--quantity,
quantity-input,
.quantity,
.shopify-payment-button,
.dynamic-checkout__content {
  display: none !important;
}

/* === BUTTONS — Spring feel, premium === */
.button, .btn,
.product-form__submit,
a.button {
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  border-radius: 0 !important;
}

.product-form__submit {
  background-color: var(--napa-lime) !important;
  color: var(--napa-jungle) !important;
  border: none !important;
  padding: 18px 36px !important;
}

.button:hover, .btn:hover,
.product-form__submit:hover,
a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(29, 38, 27, 0.15) !important;
}

.button:active, .btn:active,
.product-form__submit:active,
a.button:active {
  transform: translateY(0px) scale(0.98) !important;
  transition-duration: 0.1s !important;
}

/* === PRODUCT CARDS — Hover lift + image zoom === */
.card-wrapper {
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.35s ease !important;
}

.card-wrapper:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px rgba(29, 38, 27, 0.1) !important;
}

.card-wrapper .card__media img,
.card-wrapper .media img {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.card-wrapper:hover .card__media img,
.card-wrapper:hover .media img {
  transform: scale(1.06) !important;
}

.card__media, .media--square {
  overflow: hidden !important;
}

/* Card text — clean hierarchy */
.card__heading {
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.card__heading a {
  transition: color 0.2s ease !important;
}

.card__heading a:hover {
  color: var(--napa-everglade) !important;
}

/* === LINKS — Smooth transitions === */
a {
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* === NAV — Active state + hover === */
.header__menu-item {
  position: relative;
  transition: color 0.2s ease;
}

.header__menu-item::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--napa-lime);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform: translateX(-50%);
}

.header__menu-item:hover::after,
.header__menu-item--active::after {
  width: 100%;
}

/* === ANNOUNCEMENT BAR — Polish === */
.announcement-bar {
  font-family: 'Sora', sans-serif !important;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 0.78rem;
}

/* === SECTIONS — Breathing room === */
.section-template--*,
.shopify-section {
  scroll-margin-top: 80px;
}

/* === SCROLL BEHAVIOR === */
html {
  scroll-behavior: smooth;
}

/* === FOOTER — Premium styling === */
.footer {
  border-top: none !important;
}

.footer a {
  transition: color 0.2s ease !important;
}

.footer a:hover {
  color: var(--napa-lime) !important;
}

.footer .footer-block__heading {
  font-family: 'Sora', sans-serif !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  margin-bottom: 1.4rem;
  opacity: 0.7;
}

/* Footer watermark */
.footer .footer__content-bottom::before {
  content: 'NAPA GATES';
  display: block;
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(60px, 12vw, 180px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(255, 255, 255, 0.04);
  text-align: left;
  padding: 60px 0 20px 0;
  overflow: hidden;
  white-space: nowrap;
  user-select: none;
}

/* === NOISE OVERLAY — Subtle texture === */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.015;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* === IMAGE SECTIONS — Parallax-lite === */
.image-with-text__media img {
  transition: transform 0.6s ease !important;
}

/* === STAGGERED ENTRANCE — Fade in on load === */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.rich-text .rich-text__blocks > * {
  animation: fadeInUp 0.6s ease forwards;
}

.rich-text .rich-text__blocks > *:nth-child(2) { animation-delay: 0.1s; }
.rich-text .rich-text__blocks > *:nth-child(3) { animation-delay: 0.2s; }

/* === FOCUS STATES — Accessibility === */
*:focus-visible {
  outline: 2px solid var(--napa-lime) !important;
  outline-offset: 3px !important;
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}

/* === MOBILE REFINEMENTS === */
@media (max-width: 749px) {
  h1, .h1 { font-size: clamp(1.8rem, 6vw, 2.4rem); }
  h2, .h2 { font-size: clamp(1.4rem, 5vw, 1.8rem); }

  .card-wrapper:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .footer .footer__content-bottom::before {
    font-size: clamp(40px, 15vw, 80px);
  }
}


/* === HIDE ALL CHECKOUT BUTTONS STORE-WIDE === */
button[name="checkout"],
#checkout,
.cart__checkout-button[name="checkout"],
.shopify-payment-button,
.dynamic-checkout__content,
.additional-checkout-buttons,
#cart-notification-form {
  display: none !important;
}

/* Style the quote button in cart notification */
#cart-notif-quote-btn {
  background-color: #DBFF59 !important;
  color: #1D261B !important;
  text-align: center;
  text-decoration: none;
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


/* === Image-with-text: adapt per section === */
/* Signature section (dark green) - show full image */
.color-scheme-3 .image-with-text__media img {
  object-fit: contain !important;
  height: auto !important;
}

/* Engineered Masterpieces section (lemon mint bg) - stretch to fill */
.color-scheme-2 .image-with-text__media img {
  object-fit: cover !important;
  height: 100% !important;
  width: 100% !important;
}

.color-scheme-2 .image-with-text__media {
  overflow: hidden !important;
}

.color-scheme-2.image-with-text {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
