/** Shopify CDN: Minification failed

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

**/
/*
 * =============================================================================
 * MASSTICK — Custom CSS
 * Brand redesign inspired by masstick.us
 * Paleta: Verde oscuro #2d5a27 | Verde medio #4a7a40 | Verde claro #8ab87d
 *         Crema #f5f0e8 | Crema oscura #e8ddd0 | Blanco #ffffff
 * Fuente: Se recomienda "Syne" o "Clash Display" para headings
 * =============================================================================
*/

/* ─── VARIABLES GLOBALES ─────────────────────────────────────────────────── */
:root {
  --masstick-green-dark:   #1a3d16;
  --masstick-green:        #2d5a27;
  --masstick-green-mid:    #4a7a40;
  --masstick-green-light:  #8ab87d;
  --masstick-green-pale:   #c8e6b8;
  --masstick-green-bg:     #eef6e8;
  --masstick-cream:        #f5f0e8;
  --masstick-cream-dark:   #e8ddd0;
  --masstick-white:        #ffffff;
  --masstick-text:         #1a3d16;
  --masstick-radius:       16px;
  --masstick-radius-sm:    8px;
  --masstick-shadow:       0 4px 24px rgba(45,90,39,0.12);
  --masstick-shadow-hover: 0 8px 40px rgba(45,90,39,0.22);
}

/* ─── BODY & TIPOGRAFÍA BASE ─────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box !important;
}

body {
  background-color: var(--masstick-white) !important;
  color: var(--masstick-text) !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Google Font import - Syne para headings, DM Sans para body */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800;900&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap');

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4,
.section-block-title,
.spotlight-block__title,
.product-block-title,
.newsletter-section h2 {
  font-family: 'Syne', sans-serif !important;
  color: var(--masstick-green-dark) !important;
  letter-spacing: -0.02em;
}

body, p, a, span, li, input, button, select, textarea {
  font-family: 'DM Sans', sans-serif !important;
}

/* ─── HEADER ─────────────────────────────────────────────────────────────── */
.header__wrapper,
.site-header,
.header-sticky,
.header-advanced,
.header-basic,
.header-minimal {
  background-color: var(--masstick-white) !important;
  border-bottom: 2px solid var(--masstick-cream) !important;
  box-shadow: 0 2px 16px rgba(45,90,39,0.06) !important;
}

.header__logo img,
.header__logo svg {
  max-height: 52px !important;
}

/* Nav links */
.header__nav .nav-item > a,
.header__nav .nav-link,
.site-nav__item a,
.header-nav__item a {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--masstick-green-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: color 0.2s ease !important;
  white-space: nowrap !important;
}

.header__nav .nav-item > a:hover,
.site-nav__item a:hover {
  color: var(--masstick-green-light) !important;
}

/* Cart & icon buttons in header */
.header__icon,
.header__iconItem,
.cart-icon-bubble {
  color: var(--masstick-green-dark) !important;
}

.cart-count-bubble,
.header__cart-count {
  background-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
}

/* ─── ANNOUNCEMENT BAR ───────────────────────────────────────────────────── */
.announcement-bar {
  background-color: var(--masstick-green) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

.announcement-bar a,
.announcement-bar .message,
.announcement-bar p {
  color: var(--masstick-cream) !important;
}

/* ─── HERO BANNER ────────────────────────────────────────────────────────── */
.custom-image-banner .image-banner__content,
.image-banner__content-wrapper {
  padding: 60px 48px !important;
}

/* Heading grande hero */
.custom-image-banner h1,
.custom-image-banner .heading,
.image-banner__heading {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(48px, 7vw, 88px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  color: var(--masstick-cream) !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.3) !important;
}

/* ─── MARQUEE / TICKER ───────────────────────────────────────────────────── */
.marquee {
  overflow: hidden !important;
}

.marquee__item {
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  font-size: 32px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0 30px !important;
}

/* Separator between marquee items */
.marquee__icon svg {
  color: var(--masstick-green-light) !important;
  fill: var(--masstick-green-light) !important;
}

/* ─── SECTION TÍTULOS GLOBALES ───────────────────────────────────────────── */
.section-header .section-title,
.product-block-title,
.featured-collection__title,
.spotlight-block__title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  color: var(--masstick-green-dark) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

/* View all links */
.view-all-link,
a.view-all,
.product-block__view-all a {
  color: var(--masstick-green) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* ─── PRODUCT CARDS ──────────────────────────────────────────────────────── */
.card-product,
.product-card,
.card,
.product-item {
  border-radius: var(--masstick-radius) !important;
  overflow: hidden !important;
  border: none !important;
  background: var(--masstick-white) !important;
  box-shadow: var(--masstick-shadow) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.card-product:hover,
.product-card:hover,
.card:hover,
.product-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--masstick-shadow-hover) !important;
}

.card-product .card-media,
.product-card__image-wrapper {
  background-color: #f9f7f4 !important;
  border-radius: var(--masstick-radius) var(--masstick-radius) 0 0 !important;
}

.card-title,
.product-card__title,
.card-product .card-title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--masstick-green-dark) !important;
  margin-top: 12px !important;
  flex-grow: 1 !important;
}

.card-price,
.product-card__price,
.price {
  color: var(--masstick-green) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  font-family: 'Syne', sans-serif !important;
}

/* Add to cart button on cards */
.card-product .button--add-to-cart,
.product-card .btn-atc,
.btn-add-to-cart {
  background-color: var(--masstick-green) !important;
  border-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  transition: background 0.25s, transform 0.2s !important;
}

.card-product .button--add-to-cart:hover,
.btn-add-to-cart:hover {
  background-color: var(--masstick-green-dark) !important;
  border-color: var(--masstick-green-dark) !important;
  transform: scale(1.03) !important;
}

/* ─── BOTONES GLOBALES ───────────────────────────────────────────────────── */
.button,
.btn,
button[type="submit"]:not(.search-modal__submit):not(.newsletter-form__button),
.shopify-challenge__button {
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  transition: all 0.25s ease !important;
  padding: 14px 32px !important;
  box-sizing: border-box !important;
}

/* Primary button */
.button--primary,
.button[data-type="primary"] {
  background-color: var(--masstick-green) !important;
  border-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
}

.button--primary:hover {
  background-color: var(--masstick-green-dark) !important;
  border-color: var(--masstick-green-dark) !important;
}

/* Secondary / outline button */
.button--secondary,
.button[data-type="secondary"] {
  background-color: transparent !important;
  border: 2px solid var(--masstick-green) !important;
  color: var(--masstick-green) !important;
}

.button--secondary:hover {
  background-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
}

/* ─── NEWSLETTER SECTION ─────────────────────────────────────────────────── */
.newsletter-section {
  background-color: var(--masstick-cream) !important;
  border-radius: var(--masstick-radius) !important;
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.newsletter-section .newsletter__title,
.newsletter-section h2 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  color: var(--masstick-green-dark) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
}

.newsletter-section .newsletter__description,
.newsletter-section p {
  color: var(--masstick-green-mid) !important;
  font-size: 16px !important;
}

.newsletter-form__field-wrapper .field__input,
.newsletter-section input[type="email"] {
  border-radius: 50px !important;
  border: 2px solid var(--masstick-green-pale) !important;
  background: var(--masstick-white) !important;
  color: var(--masstick-text) !important;
  padding: 14px 24px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.newsletter-form__field-wrapper .field__input:focus {
  border-color: var(--masstick-green) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,90,39,0.15) !important;
}

.newsletter-form__button,
.newsletter-section button[type="submit"] {
  background-color: var(--masstick-green) !important;
  border-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.newsletter-form__button:hover {
  background-color: var(--masstick-green-dark) !important;
}

/* ─── SERVICE / FEATURES BLOCK ───────────────────────────────────────────── */
.custom-service-block,
.service-block-section {
  background-color: var(--masstick-cream) !important;
  padding: 60px 0 !important;
}

.service-item,
.service-block__item {
  background: var(--masstick-white) !important;
  border-radius: var(--masstick-radius) !important;
  padding: 32px 24px !important;
  box-shadow: var(--masstick-shadow) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border: none !important;
}

.service-item:hover,
.service-block__item:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--masstick-shadow-hover) !important;
}

.service-item .service-title,
.service-block__item h3 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  color: var(--masstick-green-dark) !important;
  font-size: 18px !important;
  margin-bottom: 10px !important;
}

.service-item .service-des,
.service-block__item p {
  color: var(--masstick-green-mid) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.service-item .service-icon svg,
.service-block__item .icon svg {
  color: var(--masstick-green) !important;
  fill: var(--masstick-green) !important;
}

/* ─── SPOTLIGHT / IMAGE BANNERS ──────────────────────────────────────────── */
.spotlight-block__item {
  border-radius: var(--masstick-radius) !important;
  overflow: hidden !important;
}

/* ─── CUSTOM TEXT BLOCK ──────────────────────────────────────────────────── */
.custom-text-block .section-title,
.custom-text-block h2 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  color: var(--masstick-green-dark) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
}

.custom-text-block .section-des,
.custom-text-block p {
  color: var(--masstick-green-mid) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* ─── FOOTER ─────────────────────────────────────────────────────────────── */
.footer,
.site-footer,
.footer-wrapper {
  background-color: var(--masstick-green-dark) !important;
  color: var(--masstick-cream) !important;
  border-top: none !important;
  overflow: hidden !important;
}

.footer a,
.site-footer a,
.footer__link {
  color: var(--masstick-green-pale) !important;
  transition: color 0.2s !important;
}

.footer a:hover,
.site-footer a:hover {
  color: var(--masstick-cream) !important;
}

.footer__heading,
.footer h3,
.footer h4 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  color: var(--masstick-cream) !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 16px !important;
}

.footer__copyright,
.footer-copyright p {
  color: var(--masstick-green-pale) !important;
  font-size: 12px !important;
  opacity: 0.8 !important;
}

/* Social icons footer */
.footer__social-link svg,
.social-links svg {
  color: var(--masstick-cream) !important;
  fill: var(--masstick-cream) !important;
  transition: color 0.2s, fill 0.2s !important;
}

.footer__social-link:hover svg {
  color: var(--masstick-green-pale) !important;
  fill: var(--masstick-green-pale) !important;
}

/* ─── PRODUCT PAGE ───────────────────────────────────────────────────────── */
.product__title,
.product-single__title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  color: var(--masstick-green-dark) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  line-height: 1.1 !important;
}

.product__price,
.product-single__price .price {
  color: var(--masstick-green) !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  font-family: 'Syne', sans-serif !important;
}

.product__add-button,
.product-form__cart-submit,
.btn-add-cart {
  background-color: var(--masstick-green) !important;
  border-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 18px 40px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  max-width: 100% !important;
  transition: background 0.25s, transform 0.2s !important;
}

.product__add-button:hover,
.product-form__cart-submit:hover {
  background-color: var(--masstick-green-dark) !important;
  transform: translateY(-2px) !important;
}

/* Variants / selects */
.variant-input-wrapper label,
.selector-wrapper label {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  color: var(--masstick-green-dark) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* Quantity input */
.quantity__input,
.product-form__quantity input {
  border-color: var(--masstick-green-pale) !important;
  border-radius: var(--masstick-radius-sm) !important;
  color: var(--masstick-text) !important;
  font-weight: 700 !important;
}

/* ─── COLLECTION PAGE ────────────────────────────────────────────────────── */
.collection-hero__title,
.main-collection-banner .section-title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  color: var(--masstick-cream) !important;
  font-size: clamp(36px, 6vw, 72px) !important;
}

.collection-hero {
  background-color: var(--masstick-green) !important;
}

/* Filter labels */
.facets__heading,
.filter-group__label {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  color: var(--masstick-green-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 13px !important;
}

/* ─── CART ───────────────────────────────────────────────────────────────── */
.cart__title,
.cart-header h1 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 900 !important;
  color: var(--masstick-green-dark) !important;
}

.cart__checkout-button,
.cart-checkout-button {
  background-color: var(--masstick-green) !important;
  border-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 18px 32px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.cart__checkout-button:hover {
  background-color: var(--masstick-green-dark) !important;
}

/* ─── SALE BADGE ─────────────────────────────────────────────────────────── */
.badge--sale,
.product-badge.sale,
.card-badge-sale {
  background-color: var(--masstick-green) !important;
  color: var(--masstick-cream) !important;
  border-radius: 50px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
}

/* ─── BREADCRUMBS ────────────────────────────────────────────────────────── */
.breadcrumbs a,
.breadcrumb a {
  color: var(--masstick-green-mid) !important;
}

/* ─── UTILITIES ──────────────────────────────────────────────────────────── */
/* Remove default focus ring, add brand one */
*:focus-visible {
  outline: 2px solid var(--masstick-green) !important;
  outline-offset: 3px !important;
}

/* Scrollbar brand */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--masstick-cream); }
::-webkit-scrollbar-thumb { background: var(--masstick-green-light); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--masstick-green); }

/* ─── RESPONSIVE ─────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .marquee__item {
    font-size: 22px !important;
    padding: 0 18px !important;
  }

  .newsletter-section {
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 32px 20px !important;
  }

  .service-item,
  .service-block__item {
    padding: 24px 18px !important;
  }

  .custom-image-banner .image-banner__content,
  .image-banner__content-wrapper {
    padding: 40px 20px !important;
  }

  .custom-image-banner h1,
  .image-banner__heading {
    font-size: 36px !important;
  }

  .header__nav .nav-item > a,
  .header__nav .nav-link,
  .site-nav__item a,
  .header-nav__item a {
    font-size: 13px !important;
    letter-spacing: 0.05em !important;
  }
}

@media (max-width: 480px) {
  .card-title,
  .product-card__title {
    font-size: 14px !important;
  }

  .card-price,
  .price {
    font-size: 16px !important;
  }
}
