/** Shopify CDN: Minification failed

Line 335:11 Expected identifier but found whitespace
Line 335:25 Unexpected "!"

**/
/* ============================================================
   GENNA COLLECTIVE — BEYOND-STYLE GLOBAL THEME
   Clean, editorial, minimal. Whites & creams palette.
   ============================================================ */

/* --- FONTS --- */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');

/* --- ROOT VARIABLES --- */
:root {
  --gc-white: #FFFFFF;
  --gc-cream: #FAF7F2;
  --gc-beige: #F0EAE0;
  --gc-tan: #E8DDD0;
  --gc-gold: #C9A96E;
  --gc-brown: #5C4F3A;
  --gc-dark: #2C2416;
  --gc-muted: #8C7B65;
  --gc-font-body: 'Jost', sans-serif;
  --gc-font-heading: 'Cormorant Garamond', serif;
  --gc-nav-height: 64px;
  --gc-transition: 0.25s ease;
}

/* --- GLOBAL RESET & BASE --- */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--gc-font-body) !important;
  background-color: var(--gc-white) !important;
  color: var(--gc-dark) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.01em !important;
  -webkit-font-smoothing: antialiased !important;
}

/* --- ANNOUNCEMENT BAR --- */
.shopify-section-header-announcement,
.announcement-bar,
[class*="announcement"] {
  background-color: var(--gc-cream) !important;
  color: var(--gc-brown) !important;
  font-family: var(--gc-font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid var(--gc-tan) !important;
}

/* --- HEADER / NAVIGATION --- */
.shopify-section-header-sticky,
header,
.header,
[class*="header__wrapper"],
[class*="site-header"] {
  background-color: var(--gc-white) !important;
  border-bottom: 1px solid var(--gc-tan) !important;
  padding: 0 40px !important;
  height: var(--gc-nav-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: none !important;
}

/* Logo centered */
.header__heading,
.header__logo,
[class*="header__heading"],
[class*="site-header__logo"] {
  font-family: var(--gc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--gc-dark) !important;
  text-decoration: none !important;
}

/* Nav links */
.header__menu a,
.header__nav a,
nav a,
[class*="header__menu"] a,
[class*="site-nav"] a {
  font-family: var(--gc-font-body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--gc-dark) !important;
  text-decoration: none !important;
  transition: color var(--gc-transition) !important;
  padding: 0 16px !important;
}

.header__menu a:hover,
.header__nav a:hover,
nav a:hover {
  color: var(--gc-gold) !important;
}

/* Cart icon */
.header__icon,
[class*="cart-count"],
[class*="header__icon"] {
  color: var(--gc-dark) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* --- HERO / BANNER SECTION --- */
.gc-hero,
[class*="hero"],
[class*="banner"],
.shopify-section:first-of-type .media {
  position: relative !important;
  width: 100% !important;
  min-height: 520px !important;
  overflow: hidden !important;
}

.gc-hero video,
.gc-hero img,
[class*="hero"] video,
[class*="hero"] img,
[class*="banner"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Hero text overlay */
.gc-hero__content,
[class*="hero__content"],
[class*="banner__content"] {
  position: absolute !important;
  bottom: 60px !important;
  left: 60px !important;
  color: var(--gc-white) !important;
  max-width: 480px !important;
}

/* --- SECTION TITLES --- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3,
[class*="section__title"],
[class*="collection__title"] {
  font-family: var(--gc-font-heading) !important;
  font-weight: 400 !important;
  color: var(--gc-dark) !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
}

h1, .h1 { font-size: clamp(28px, 4vw, 48px) !important; }
h2, .h2 { font-size: clamp(22px, 3vw, 36px) !important; }
h3, .h3 { font-size: clamp(18px, 2vw, 24px) !important; }

/* Section heading centered */
.section-header,
[class*="section-header"],
[class*="collection-header"] {
  text-align: center !important;
  padding: 60px 20px 40px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-family: var(--gc-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--gc-dark) !important;
}

/* --- PRODUCT GRID --- */
.product-grid,
[class*="product-grid"],
[class*="collection__products"],
[class*="grid--peek"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product card */
.product-card,
.card-wrapper,
[class*="product-card"],
[class*="card-wrapper"],
[class*="grid__item"] {
  background: var(--gc-white) !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  transition: transform var(--gc-transition) !important;
}

.product-card:hover,
.card-wrapper:hover,
[class*="product-card"]:hover {
  transform: translateY(-2px) !important;
}

/* Product image */
.product-card__image,
.card__media,
[class*="card__media"],
[class*="product-card__image"] {
  aspect-ratio: 3/4 !important;
  overflow: hidden !important;
  background: var(--gc-cream) !important;
}

.product-card__image img,
.card__media img,
[class*="card__media"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.product-card:hover img,
.card-wrapper:hover img {
  transform: scale(1.04) !important;
}

/* Product info */
.product-card__info,
.card__content,
[class*="card__content"],
[class*="card__information"] {
  padding: 16px 12px 20px !important;
  text-align: left !important;
  background: var(--gc-white) !important;
}

/* Product title */
.product-card__title,
.card__heading,
[class*="card__heading"],
[class*="product-card__title"] {
  font-family: var(--gc-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  color: var(--gc-dark) !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* Product price */
.price,
.product-price,
[class*="price__regular"],
[class*="price__sale"],
[class*="product-price"] {
  font-family: var(--gc-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--gc-muted) !important;
  letter-spacing: 0.03em !important;
}

/* Quick add button */
.quick-add,
[class*="quick-add"],
.card__footer button,
[class*="card__footer"] button {
  position: absolute !important;
  bottom: 80px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--gc-white) !important;
  border: 1px solid var(--gc-tan) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  color: var(--gc-dark) !important;
  cursor: pointer !important;
  transition: all var(--gc-transition) !important;
  opacity: 0 !important;
}

.product-card:hover .quick-add,
.card-wrapper:hover [class*="quick-add"] {
  opacity: 1 !important;
}

.quick-add:hover,
[class*="quick-add"]:hover {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  border-color: var(--gc-dark) !important;
}
/* --- BUTTONS --- */
.btn,
.button,
button[type="submit"],
[class*="btn--primary"],
[class*="button--primary"],
.shopify-payment-button__button {
  font-family: var(--gc-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  border: 1px solid var(--gc-dark) !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all var(--gc-transition) !important;
  text-decoration: none !important;
}  display: inline-block !important;
}

.btn:hover,
.button:hover,
button[type="submit"]:hover,
[class*="btn--primary"]:hover {
  background: var(--gc-white) !important;
  color: var(--gc-dark) !important;
}

/* Outlined button */
[class*="btn--secondary"],
[class*="button--secondary"] {
  background: transparent !important;
  color: var(--gc-dark) !important;
  border: 1px solid var(--gc-dark) !important;
}

[class*="btn--secondary"]:hover,
[class*="button--secondary"]:hover {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
}

/* --- PRODUCT PAGE --- */
.product,
[class*="product__media"],
[class*="product__info"] {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 60px 40px !important;
}

.product__media img {
  border-radius: 0 !important;
  background: var(--gc-cream) !important;
}

.product__title {
  font-family: var(--gc-font-heading) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: var(--gc-dark) !important;
  margin-bottom: 12px !important;
}

.product__price {
  font-size: 16px !important;
  color: var(--gc-muted) !important;
  margin-bottom: 24px !important;
}

/* --- COLLECTION PAGE --- */
.collection,
[class*="collection__header"] {
  padding: 60px 40px 40px !important;
}

/* Filter bar */
[class*="facets"],
[class*="filter"] {
  font-family: var(--gc-font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--gc-dark) !important;
  border-color: var(--gc-tan) !important;
}

/* --- ABOUT / PAGES --- */
.page,
[class*="page__content"] {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 80px 40px !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--gc-brown) !important;
}

/* --- BLOG --- */
.blog,
[class*="blog__posts"],
[class*="article-card"] {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 60px 40px !important;
}

[class*="article-card__title"],
[class*="article__title"] {
  font-family: var(--gc-font-heading) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--gc-dark) !important;
}

/* --- CART PAGE --- */
.cart,
[class*="cart__items"],
[class*="cart-drawer"] {
  font-family: var(--gc-font-body) !important;
  background: var(--gc-white) !important;
}

[class*="cart__title"] {
  font-family: var(--gc-font-heading) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* --- FOOTER --- */
footer,
.footer,
[class*="footer__content"],
[class*="site-footer"] {
  background-color: var(--gc-cream) !important;
  border-top: 1px solid var(--gc-tan) !important;
  padding: 60px 40px 40px !important;
  font-family: var(--gc-font-body) !important;
  color: var(--gc-brown) !important;
}

/* Footer columns */
[class*="footer__blocks"],
[class*="footer__columns"] {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 40px !important;
  margin-bottom: 40px !important;
}

/* Footer headings */
[class*="footer__heading"],
footer h2, footer h3, footer h4 {
  font-family: var(--gc-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--gc-dark) !important;
  margin-bottom: 20px !important;
}

/* Footer links */
footer a,
[class*="footer__links"] a,
[class*="footer__menu"] a {
  font-size: 13px !important;
  color: var(--gc-brown) !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 10px !important;
  transition: color var(--gc-transition) !important;
}

footer a:hover,
[class*="footer__links"] a:hover {
  color: var(--gc-gold) !important;
}

/* Footer email input */
[class*="newsletter"] input,
footer input[type="email"] {
  border: 1px solid var(--gc-tan) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-family: var(--gc-font-body) !important;
  font-size: 13px !important;
  background: var(--gc-white) !important;
  color: var(--gc-dark) !important;
  width: 100% !important;
  outline: none !important;
}

[class*="newsletter"] button,
footer button[type="submit"] {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  border: none !important;
  padding: 12px 20px !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Footer bottom bar */
[class*="footer__bottom"],
.footer__copyright {
  border-top: 1px solid var(--gc-tan) !important;
  padding-top: 24px !important;
  font-size: 11px !important;
  color: var(--gc-muted) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Social icons */
[class*="social-icons"] a,
[class*="footer__social"] a,
[class*="list-social"] a {
  color: var(--gc-brown) !important;
  margin-right: 16px !important;
  font-size: 16px !important;
  transition: color var(--gc-transition) !important;
}

[class*="social-icons"] a:hover,
[class*="footer__social"] a:hover {
  color: var(--gc-gold) !important;
}

/* Payment icons */
[class*="payment-icons"],
[class*="footer__payment"] {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}

/* --- FORMS --- */
input, select, textarea {
  font-family: var(--gc-font-body) !important;
  border: 1px solid var(--gc-tan) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: var(--gc-dark) !important;
  background: var(--gc-white) !important;
  outline: none !important;
  transition: border-color var(--gc-transition) !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--gc-gold) !important;
}

/* --- BREADCRUMBS --- */
[class*="breadcrumb"],
[class*="breadcrumbs"] {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--gc-muted) !important;
  padding: 20px 40px !important;
}

/* --- TAGS / BADGES --- */
[class*="badge"],
[class*="tag"],
[class*="label"] {
  font-family: var(--gc-font-body) !important;
  font-size: 10px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: var(--gc-cream) !important;
  color: var(--gc-brown) !important;
  border: 1px solid var(--gc-tan) !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
}

/* --- DIVIDERS --- */
hr {
  border: none !important;
  border-top: 1px solid var(--gc-tan) !important;
  margin: 40px 0 !important;
}

/* --- SCROLLBAR --- */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--gc-cream); }
::-webkit-scrollbar-thumb { background: var(--gc-tan); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--gc-gold); }

/* --- MOBILE RESPONSIVE --- */
@media (max-width: 768px) {
  header, .header {
    padding: 0 20px !important;
  }

  [class*="footer__blocks"],
  [class*="footer__columns"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .product-grid,
  [class*="product-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1px !important;
  }

  .page,
  [class*="page__content"] {
    padding: 40px 20px !important;
  }

  footer, .footer {
    padding: 40px 20px 24px !important;
  }
}

/* --- AI CHAT BOT WIDGET --- */
#gc-chat-widget {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 9999 !important;
  font-family: var(--gc-font-body) !important;
}

#gc-chat-toggle {
  width: 52px !important;
  height: 52px !important;
  background: var(--gc-dark) !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(44,36,22,0.2) !important;
  transition: transform var(--gc-transition) !important;
}

#gc-chat-toggle:hover { transform: scale(1.08) !important; }
#gc-chat-toggle svg { width: 22px; height: 22px; fill: white; }

#gc-chat-box {
  display: none !important;
  position: absolute !important;
  bottom: 64px !important;
  right: 0 !important;
  width: 320px !important;
  background: var(--gc-white) !important;
  border: 1px solid var(--gc-tan) !important;
  box-shadow: 0 8px 40px rgba(44,36,22,0.12) !important;
  overflow: hidden !important;
}

#gc-chat-box.open { display: flex !important; flex-direction: column !important; }

#gc-chat-header {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  padding: 16px 20px !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

#gc-chat-messages {
  flex: 1 !important;
  height: 280px !important;
  overflow-y: auto !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.gc-msg {
  max-width: 85% !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  border-radius: 2px !important;
}

.gc-msg.bot {
  background: var(--gc-cream) !important;
  color: var(--gc-dark) !important;
  align-self: flex-start !important;
}

.gc-msg.user {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  align-self: flex-end !important;
}

#gc-chat-input-row {
  display: flex !important;
  border-top: 1px solid var(--gc-tan) !important;
}

#gc-chat-input {
  flex: 1 !important;
  border: none !important;
  padding: 14px 16px !important;
  font-size: 13px !important;
  outline: none !important;
  font-family: var(--gc-font-body) !important;
}

#gc-chat-send {
  background: var(--gc-dark) !important;
  color: var(--gc-white) !important;
  border: none !important;
  padding: 0 20px !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}



/* ============================================================
   GENNA COLLECTIVE — CATALOG PAGE CLEAN-UP
   Beyond-style editorial grid
   ============================================================ */

/* Collection header */
.collection-header,
[data-section-type="section"] {
  text-align: center;
}

/* Product grid container */
.product-grid,
.collection__products,
[class*="product-grid"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 48px 32px !important;
  padding: 0 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

@media (max-width: 900px) {
  .product-grid,
  .collection__products,
  [class*="product-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 20px !important;
    padding: 0 16px !important;
  }
}

@media (max-width: 600px) {
  .product-grid,
  .collection__products,
  [class*="product-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 12px !important;
    padding: 0 12px !important;
  }
}

/* Product card */
.product-card,
.product-grid__item,
[class*="product-card"] {
  background: #fff !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product image — clean 3:4 ratio */
.product-card__image-wrapper,
.product-card__media,
.card__media,
[class*="product-card"] .media,
[class*="product-card"] img {
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  width: 100% !important;
  display: block !important;
  background: #F5F0E8 !important;
}

/* Product image hover zoom */
.product-card:hover img,
.product-grid__item:hover img {
  transform: scale(1.03) !important;
  transition: transform 0.4s ease !important;
}

/* Product title */
.product-card__title,
.card__heading,
[class*="product-card"] .product-title,
[class*="product-card"] h3,
[class*="product-card"] h4 {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #2C2416 !important;
  margin-top: 12px !important;
  line-height: 1.4 !important;
}

/* Product price */
.price,
.product-card__price,
[class*="price"] {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 300 !important;
  text-align: center !important;
  color: #5C4F3A !important;
  margin-top: 4px !important;
}

/* Collection page title */
.collection__title,
.collection-hero__title,
h1.collection-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #2C2416 !important;
  margin-bottom: 8px !important;
}

/* Sort/filter bar */
.facets,
.collection-filters,
[class*="facets"] {
  border-bottom: 1px solid #E8E0D4 !important;
  padding: 16px 24px !important;
  margin-bottom: 40px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* Breadcrumb */
nav.breadcrumb,
.breadcrumb {
  text-align: center !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em !important;
  color: #9E8E7A !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

/* Pagination */
.pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 64px 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em !important;
}

.pagination a,
.pagination span {
  padding: 8px 16px !important;
  border: 1px solid #E8E0D4 !important;
  color: #2C2416 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.pagination a:hover,
.pagination .current {
  background: #2C2416 !important;
  color: #fff !important;
  border-color: #2C2416 !important;
}

/* --- QUANTITY SELECTOR --- */
.quantity,
[class*="quantity"],
.product-form__input--quantity {
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--gc-tan) !important;
  border-radius: 0 !important;
  width: fit-content !important;
  height: 48px !important;
  background: var(--gc-white) !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

.quantity__input,
[class*="quantity__input"],
input[name="quantity"] {
  width: 45px !important;
  height: 100% !important;
  border: none !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: var(--gc-font-body) !important;
  font-size: 14px !important;
  color: var(--gc-dark) !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
}

.quantity__button,
[class*="quantity__button"],
.quantity button {
  width: 40px !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  color: var(--gc-dark) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--gc-transition) !important;
}

.quantity__button:hover {
  background: var(--gc-cream) !important;
}

.quantity__button svg {
  width: 12px !important;
  height: 12px !important;
}

/* Ensure Add to Cart button matches height */
.product-form__buttons .button,
[class*="product-form__submit"] {
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 0 !important;
}

/* Flex wrapper for quantity and buy buttons if needed */
.product-form__input--quantity + .product-form__buttons,
[class*="product-form__input--quantity"] + [class*="product-form__buttons"] {
  margin-top: 16px !important;
}

/* --- CART PAGE QUANTITY FIXES --- */
.cart-item__quantity,
[class*="cart-item__quantity"],
.cart-quantity-selector {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.cart-item__quantity .quantity,
[class*="cart-item__quantity"] .quantity {
  height: 32px !important;
  width: 90px !important;
  max-width: 90px !important;
  min-width: 90px !important;
  border: 1px solid var(--gc-tan) !important;
  border-radius: 0 !important;
  margin: 8px 0 !important;
  overflow: hidden !important;
}

.cart-item__quantity .quantity__input,
[class*="cart-item__quantity"] .quantity__input {
  width: 30px !important;
  min-width: 30px !important;
  font-size: 12px !important;
  background: transparent !important;
}

.cart-item__quantity .quantity__button,
[class*="cart-item__quantity"] .quantity__button {
  width: 30px !important;
  min-width: 30px !important;
  background: transparent !important;
  color: var(--gc-dark) !important;
}

/* Fix for that dark block in cart */
.cart-item__quantity .quantity__button:after,
.cart-item__quantity .quantity__button:before {
  display: none !important;
}

/* Ensure cart totals and checkout buttons match brand style */
.cart__footer,
[class*="cart__footer"] {
  border-top: 1px solid var(--gc-tan) !important;
  padding-top: 32px !important;
  margin-top: 32px !important;
}

.cart__blocks > * + * {
  margin-top: 16px !important;
}

.cart__checkout-button,
[class*="cart__checkout-button"] {
  width: 100% !important;
  max-width: 400px !important;
  margin-left: auto !important;
}

/* --- PRODUCT RECOMMENDATIONS (YOU MAY ALSO LIKE) --- */
.product-recommendations,
[class*="product-recommendations"] {
  padding: 60px 40px !important;
  background: var(--gc-white) !important;
  border-top: 1px solid var(--gc-tan) !important;
}

.product-recommendations__heading,
[class*="product-recommendations"] h2 {
  font-family: var(--gc-font-heading) !important;
  font-size: 24px !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  color: var(--gc-dark) !important;
}

/* Fix the grid for recommendations */
.product-recommendations ul,
[class*="product-recommendations"] ul,
[class*="product-recommendations"] .grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1200px !important;
}

/* Fix recommendation cards */
.product-recommendations .grid__item,
[class*="product-recommendations"] .grid__item {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: block !important;
}

/* Ensure text doesn't wrap weirdly */
.product-recommendations .card__heading,
.product-recommendations .card__information,
[class*="product-recommendations"] .card__heading {
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  padding: 12px 0 !important;
}

/* Mobile responsive for recommendations */
@media (max-width: 768px) {
  .product-recommendations ul,
  [class*="product-recommendations"] ul {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding: 0 20px !important;
  }
  
  .product-recommendations,
  [class*="product-recommendations"] {
    padding: 40px 0 !important;
  }
}

/* --- QUANTITY BUTTON ICONS --- */
.quantity__button[name="minus"]::before,
[class*="quantity__button"][name="minus"]::before {
  content: "—" !important;
  font-size: 10px !important;
  font-weight: bold !important;
  display: block !important;
}

.quantity__button[name="plus"]::before,
[class*="quantity__button"][name="plus"]::before {
  content: "+" !important;
  font-size: 16px !important;
  font-weight: normal !important;
  display: block !important;
}

/* Hide original theme icons if they are conflicting */
.quantity__button svg,
[class*="quantity__button"] svg {
  display: none !important;
}

/* Centering the new icons */
.quantity__button,
[class*="quantity__button"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
