/* ========================================
   GVWS GLOBAL LAYOUT & TYPOGRAPHY
======================================== */

.footer__title {
  font-weight: bold;
  font-size: var(--body-font-size) !important;
}

.type-banner .promo-grid__container {
  align-items: center;
  height: 100%;
}

.type-banner__text {
  flex-direction: column;
  gap: 1rem;
}

.flex-grid__item--75 .type-banner__text,
.flex-grid__item--100 .type-banner__text {
  flex-direction: row;
}

.type-banner__text h2,
.type-banner__text p {
  margin: 0;
}

.type-banner__text .element-button {
  margin: 0;
}

/* ========================================
   GVWS WHOLESALE
======================================== */

.product-block .variant-wrapper {
  display: none;
}

.nm-easywholesale-name-and-price .nm-easywholesale-img {
  width: 52px;
  height: 50px;
}

.easyMetafield {
  margin: auto 25px auto 0;
  color: grey;
}

.nm-easywholesale-item {
  padding-bottom: 20px !important;
}

/* Hide native Expanse variant picker but keep DOM for Easy Wholesale */
block-variant-picker.block-variant-picker {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* ========================================
   GVWS FORMS & INPUTS
======================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
select,
textarea,
.search__input,
.site-header__search-input,
.element-input input,
.element-input select,
.element-input textarea {
  background-color: #f7f7f7 !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 6px !important;
  color: #111111 !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  outline: none !important;
}

textarea,
.element-input textarea {
  min-height: 140px !important;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  background-color: #ffffff !important;
  border-color: #ff8b00 !important;
  box-shadow: 0 0 0 2px rgba(255, 139, 0, 0.18) !important;
  outline: none !important;
}

input::placeholder,
textarea::placeholder {
  color: rgba(0, 0, 0, 0.45) !important;
  opacity: 1 !important;
}

input[type="checkbox"],
input[type="radio"] {
  min-height: auto !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin-right: 8px;
  box-shadow: none !important;
  appearance: auto;
  -webkit-appearance: auto;
}

/* ========================================
   GVWS HOMEPAGE HERO
======================================== */

.promo-grid__container .promo-grid__text > a:first-of-type {
  background: #ff8b00;
  border: 2px solid #ff8b00;
  color: #ffffff;
}

.promo-grid__container .promo-grid__text > a:nth-of-type(2) {
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
}

.promo-grid__container .promo-grid__text > a:nth-of-type(2):hover {
  background: #ffffff;
  color: #000000;
}

.promo-grid__container .promo-grid__text > a + a {
  margin-left: 10px;
}

/* ========================================
   GVWS HEADER SEARCH
======================================== */

.site-header input[type="search"],
.header-wrapper input[type="search"],
.header-search input,
.search-bar input,
.search-bar__input,
.predictive-search__input,
input[type="search"] {
  background: #f7f7f7 !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 52px 0 18px !important;
  font-size: 18px !important;
  letter-spacing: 0.06em !important;
  color: #111 !important;
}

/* ========================================
   GVWS CART DRAWER
======================================== */

.cart-drawer .element-quantity-selector,
.cart__drawer-form .element-quantity-selector {
  width: 120px !important;
  display: inline-block !important;
  position: relative !important;
}

.cart-drawer .element-quantity-selector__input,
.cart__drawer-form .element-quantity-selector__input {
  width: 120px !important;
  min-width: 120px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.cart-drawer .element-quantity-selector__button,
.cart__drawer-form .element-quantity-selector__button {
  width: 38px !important;
  height: 42px !important;
  min-width: 38px !important;
}

/* ========================================
   GVWS FOOTER PROMOTIONS SPACING
======================================== */

#shopify-section-sections--21833100558535__footer-promotions > .index-section {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#shopify-section-sections--21833100558535__footer-promotions .section--divider {
  padding-top: 50px !important;
  margin-top: 0 !important;
}

/* GVWS GLOBAL BUTTON SYSTEM — moved to the parent theme (assets/css/buttons.css, DECISIONS 080): one system, tokens per brand in the child style.css. */

/* ========================================
   GVWS CART DRAWER BUTTON SPACING
======================================== */

.cart-drawer .cart__checkout-wrapper.payment-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
/* ========================================
   GVWS CART DRAWER FOOTER SPACER
======================================== */

.cart-drawer .gvws-cart-drawer-footer-spacer {
  min-height: 16px !important;
  margin-top: 8px !important;
}
/* ========================================
   GVWS CART PAGE BUTTONS
======================================== */

.cart__checkout-wrapper .cart__checkout.element-button {
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;

  --element-button-font-weight: 700 !important;
  --element-text-font-weight: 700 !important;
}
/* colors, border, radius, hover: the one button system (080, buttons.css) */


.cart__checkout-wrapper .cart__continue.element-button {
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;

  --element-button-font-weight: 700 !important;
  --element-text-font-weight: 700 !important;
}
/* colors, border, radius, hover: the one button system (080, buttons.css) */

/* ========================================
   GVWS CART PAGE QUANTITY SELECTOR
======================================== */

.cart__page .cart__item-quantity .element-quantity-selector {
  width: 120px !important;
  display: inline-block !important;
  position: relative !important;
}

.cart__page .cart__item-quantity .element-quantity-selector__input {
  width: 120px !important;
  min-width: 120px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.cart__page .cart__item-quantity .element-quantity-selector__button {
  width: 38px !important;
  height: 42px !important;
  min-width: 38px !important;
}

/* GVWS EasyWholesale add-to-cart success state */
.nm-wholesale-btn-add-to-cart.gvws-added-confirmation,
.nm-wholesale-btn-add-to-cart-disabled.gvws-added-confirmation,
.nm-easywholesale-add-to-cart-container button.gvws-added-confirmation {
  background: #2e7d32 !important;
  background-color: #2e7d32 !important;
  border-color: #2e7d32 !important;
  color: #ffffff !important;
}
/* ========================================
   GVWS CART PROCESS CARD
======================================== */

.gvws-cart-trust {
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.10) !important;
  text-align: left !important;
}

.gvws-cart-trust__title {
  margin-bottom: 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

.gvws-cart-trust__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #111111 !important;
}

.gvws-cart-trust__item:last-child {
  margin-bottom: 0 !important;
}

.gvws-cart-trust__check {
  flex: 0 0 auto !important;
  color: #ff8b00 !important;
  font-weight: 700 !important;
}
/* ========================================
   GVWS ARTICLE CARD SYSTEM (FINAL)
======================================== */

.gvws-article-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  color: #111111;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gvws-article-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,.07);
}

.gvws-article-card__image {
  display: block;
  width: 100%;
  height: 180px;
  background: #f1f1f1;
  overflow: hidden;
}

.gvws-article-card__image--placeholder {
  background:
    linear-gradient(135deg, rgba(255,139,0,.18), rgba(0,0,0,.05)),
    #f1f1f1;
}

.gvws-article-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.gvws-article-card:hover .gvws-article-card__image img {
  transform: scale(1.04);
}

.gvws-article-card__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  flex: 1 1 auto;
}

/* Badge (system taxonomy) */
.gvws-article-card__label {
  display: inline-flex;
  width: fit-content;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(0,0,0,.55);
}

/* Title */
.gvws-article-card__title {
  display: block;
  font-weight: 800;
  line-height: 1.2;
  font-size: 16px;
}

/* Excerpt */
.gvws-article-card__excerpt {
  display: block;
  color: rgba(0,0,0,.65);
  font-size: 14px;
  line-height: 1.45;
}

/* Footer (clean hierarchy) */
.gvws-article-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.06);
  font-size: 13px;
  font-weight: 700;
  color: rgba(0,0,0,.6);
}

/* LEFT META (taxonomy + time) */
.gvws-article-card__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(0,0,0,.6);
  font-weight: 600;
}

.gvws-meta-category,
.gvws-meta-time {
  color: rgba(0,0,0,.6);
}

.gvws-meta-divider {
  color: rgba(0,0,0,.15);
}

/* RIGHT CTA (KEEP ORANGE) */
.gvws-article-card__cta {
  color: #ff8b00;
  font-weight: 700;
  text-decoration: none;
}

.gvws-article-card__footer * {
  color: inherit;
}

/* ===== GVWS Article Return Link ===== */

.gvws-article-return {
  display: flex;
  justify-content: center;
  margin: 40px 0 48px;
}

.gvws-pillar-page__return {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--colorTextBody);
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease;
}

.gvws-pillar-page__return svg {
  width: 18px;
  height: 18px;
}

.gvws-pillar-page__return:hover {
  color: var(--colorButton);
  text-decoration: none;
}
/* ========================================
   GVWS ACCOUNT PAGES
   (Future Section)
======================================== */

/* ========================================
   GVWS ARTICLE TEMPLATE V5 OVERRIDES
======================================== */


/* Remove any older orange alert bar behavior around the Quick Brief. */
.gvws-article-reading-pane .gvws-doc-card--brief,
.gvws-article-reading-pane .gvws-quick-brief,
.gvws-article-reading-pane .gvws-article-quick-brief,
.gvws-article-reading-pane .gvws-article-quick-brief-card,
.gvws-article-reading-pane .gvws-article-brief,
.gvws-article-reading-pane .gvws-quick-brief-card {
  border-top: 1px solid rgba(0,0,0,0.08) !important;
}

.gvws-article-reading-pane .gvws-quick-brief__body {
  grid-template-columns: minmax(0, 1fr) !important;
}

.gvws-article-reading-pane .gvws-quick-brief__panel {
  border-left: 4px solid #ff8b00 !important;
  background: #f6f6f6 !important;
}

.gvws-article-aside-products {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.gvws-article-aside-product {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  background: #f7f7f7;
  color: #111;
  text-decoration: none !important;
}

.gvws-article-aside-product:hover {
  border-color: rgba(0,0,0,0.20);
  background: #fff;
}

.gvws-article-aside-product__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.gvws-article-aside-product__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gvws-article-aside-product__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.gvws-article-aside-product__title {
  color: #111;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.gvws-article-aside-product__cta {
  color: #ff8b00;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

/* Judge.me star rating on aside product tiles — rendered from reviews.rating,
   overlay-clipped for exact fractional fill, no widget JS dependency.
   Shown only when the product has at least one review. */
.gvws-article-aside-product__rating {
  display: flex;
  align-items: center;
  gap: 5px;
}

.gvws-aside-stars {
  position: relative;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1px;
}

.gvws-aside-stars__track {
  color: rgba(0,0,0,0.18);
}

.gvws-aside-stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #ffb400;
}

.gvws-aside-stars__count {
  font-size: 11px;
  font-weight: 700;
  color: #666;
}

/* ========================================
   GVWS GLOBAL PAGE RHYTHM
   Standardizes OM Breadcrumbs + first GVWS section spacing
======================================== */

/* Templates using the Expanse blog-layout wrapper should not add extra top padding. */
.page-content.blog-layout {
  padding-top: 0 !important;
}

/* Keep OM Breadcrumbs from adding hidden extra rhythm below the breadcrumb row. */
.page-content.blog-layout .shopify-section:has(.ed_breadcrumbs-section),
.page-content.blog-layout .shopify-section:has([class*="breadcrumb"]),
.page-content.blog-layout .ed_breadcrumbs-section.page-width {
  margin-bottom: 0 !important;
}

/* Normalize spacing for the first custom GVWS page module after breadcrumbs. */
.page-content.blog-layout .shopify-section:has(.gvws-layout-page),
.page-content.blog-layout .shopify-section:has(.gvws-article-document),
.page-content.blog-layout .shopify-section:has(.gvws-resource-center-page),
.page-content.blog-layout .shopify-section:has(.gvws-pillar-page) {
  margin-top: 0 !important;
}

/* New standard root class for all GVWS custom page sections. */
.gvws-layout-page {
  width: 100%;
  margin-top: -10px !important;
}

/* Backward-compatible support for current custom templates not yet renamed. */
.gvws-pillar-page.gvws-article-document,
.gvws-resource-center-page,
.page-content.blog-layout .gvws-pillar-page {
  margin-top: -10px !important;
}

/* Do not let hero/card internals add a second top offset. */
.gvws-layout-page .gvws-resource-center__hero-card,
.gvws-layout-page .gvws-author-profile,
.gvws-layout-page .gvws-brand-profile,
.gvws-article-document .gvws-resource-center__hero-card,
.gvws-resource-center-page .gvws-resource-center__hero-card,
.gvws-pillar-page .gvws-resource-center__hero-card {
  margin-top: 0 !important;
}

@media only screen and (max-width: 768px) {
  .gvws-layout-page,
  .gvws-pillar-page.gvws-article-document,
  .gvws-resource-center-page,
  .page-content.blog-layout .gvws-pillar-page {
    margin-top: 0 !important;
  }
}

/* Wholesale application (gv-commerce Account\WholesaleApplication, the Helium form's replacement).
   Inputs inherit the theme's field styles; the submit is the live form's customCSS, verbatim:
   52px, orange #ff8b00, square corners, black on hover. */
.gv-apply { max-width: 720px; margin: 0 auto; }
.gv-apply__group { border: 0; padding: 0; margin: 0 0 28px; }
.gv-apply__group legend { font-weight: 600; font-size: 1.15em; margin-bottom: 12px; padding: 0; }
.gv-apply label { display: block; margin-bottom: 14px; font-weight: 500; }
.gv-apply label input:not([type="checkbox"]), .gv-apply label select { display: block; width: 100%; margin-top: 4px; }
.gv-apply label small { display: block; font-weight: 400; color: #666; margin-top: 4px; }
.gv-apply__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.gv-apply__req { color: #ff8b00; }
.gv-apply__check { display: flex; align-items: center; gap: 8px; }
.gv-apply__error { color: #a33; border: 1px solid #a33; padding: 10px 12px; }
.gv-apply__submit.button { display: inline-flex !important; align-items: center !important; justify-content: center !important; height: 52px !important; min-width: 180px !important; padding: 0 32px !important; font-size: 18px !important; line-height: 1 !important; } /* colors, border, radius, hover: the one button system (080) */
.gv-apply--sent { text-align: center; }
@media only screen and (max-width: 768px) { .gv-apply__row { grid-template-columns: 1fr; } }

/* sections/wholesale-login-strip.liquid — the section's own <style>, verbatim (review row 43). */
.wholesale-login-strip{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 20px;margin:10px 0;background:#444444;border-radius:4px;text-align:center}
.wholesale-message{color:#ffffff;font-size:16px;line-height:1.3}
.wholesale-message strong{font-weight:700}
.wholesale-inline-link,.wholesale-inline-link:link,.wholesale-inline-link:visited{color:#ff8b00 !important;text-decoration:none !important;font-weight:600}
.wholesale-inline-link:hover{text-decoration:underline !important}
/* .wholesale-btn-primary / -secondary: the one button system (080) — layout hooks only. */
/* 076: the strip's orange inline links (Register / Login, #ff8b00) sit at 4.14:1 on the verbatim #444; one step darker
   lifts them to 5.4:1 and the white message copy to 12.6:1. Doubled class because the harvested collection instance
   CSS carries the same verbatim block at (0,1,0) and loads after this sheet. */
.wholesale-login-strip.wholesale-login-strip{background:#333333}
@media (max-width:768px){.wholesale-login-strip{padding:10px;gap:10px}.wholesale-message{width:100%}}
/* sections/brand-story-image-text-two.liquid — the section's own <style>, scoped to the port's section id (the CTA button never renders on the brand's own page: it links to itself). */
#shopify-section-collection__brand_story_image_text_two .featured-row__subtext{margin-bottom:0}
/* /pages/site-partners — review row 36 (Carlos: "each of the site partners has their own clickable area and looks appealing").
   The record's own custom_css keeps the live column grid (.column 33.33% / 100% on phones); this makes each column a card
   whose whole surface is the partner's link (the anchor is stretched over the card), logos contained, copy centred.
   The record's rule (an inline <style>, later in the document, same specificity) keeps float, width and its phone padding (10pt);
   a flex item ignores float and takes flex-basis over width, so the card sizes come from flex-basis here. */
#shopify-section-page__advanced_content_kz7WPp .row{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
#shopify-section-page__advanced_content_kz7WPp .column{position:relative;flex:0 1 calc(33.33% - 16px);min-width:260px;box-sizing:border-box;padding:28px 24px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;text-align:center;transition:box-shadow .2s ease,transform .2s ease}
#shopify-section-page__advanced_content_kz7WPp .column:hover,#shopify-section-page__advanced_content_kz7WPp .column:focus-within{box-shadow:0 10px 30px rgba(0,0,0,.12);transform:translateY(-2px)}
#shopify-section-page__advanced_content_kz7WPp .column a{display:block}
#shopify-section-page__advanced_content_kz7WPp .column a::after{content:"";position:absolute;inset:0}
#shopify-section-page__advanced_content_kz7WPp .column a:focus-visible::after{outline:2px solid #ff8b00;outline-offset:2px;border-radius:6px}
#shopify-section-page__advanced_content_kz7WPp .column .image{display:block;max-height:120px;width:auto;max-width:100%;margin:0 auto 18px;object-fit:contain}
#shopify-section-page__advanced_content_kz7WPp .column center{display:block;font-size:15px;line-height:1.5}
@media only screen and (max-width:768px){#shopify-section-page__advanced_content_kz7WPp .column{flex:0 1 100%}}
