/** Shopify CDN: Minification failed

Line 103:19 Unexpected "*"

**/
/* ==========================================================================
   NUERMA SCIENCE - FULL PAGES REDESIGN CSS
   Companion to custom-redesign.css (homepage styles)
   Covers: Collection, Product, Cart, Blog, Contact, Account, Search, 404,
           Breadcrumbs, Modals, Predictive Search, Mobile Responsive
   Brand: Primary Green #2D5F3E | White #FFFFFF | Cream #FDF8F4
          Charcoal #1A1A1A | Light Gray #F5F5F5 | Light Green #E8F5E9
          Gold #F5A623 | Font: Poppins | Corners: 8-12px
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. GLOBAL / SHARED OVERRIDES
   -------------------------------------------------------------------------- */

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

/* Force Poppins on all elements */
body,
body *,
button,
input,
select,
textarea {
  font-family: 'Poppins', sans-serif !important;
}

/* Global link color */
a {
  color: #2D5F3E !important;
  transition: color 0.3s ease !important;
}

a:hover {
  color: #1a4a2d !important;
}

/* Global button reset for green CTA style */
.button,
.shopify-payment-button__button--unbranded,
button[type="submit"],
.btn,
.btn--primary {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  text-transform: none !important;
}

.button:hover,
.shopify-payment-button__button--unbranded:hover,
button[type="submit"]:hover,
.btn:hover,
.btn--primary:hover {
  background-color: #1a4a2d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 15px rgba(45, 95, 62, 0.3) !important;
}

.button--secondary {
  background-color: transparent !important;
  color: #2D5F3E !important;
  border: 2px solid #2D5F3E !important;
  border-radius: 10px !important;
}

.button--secondary:hover {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
}

/* Badge styling */
.badge {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  padding: 0.3rem 0.8rem !important;
}

.badge--sale {
  background-color: #c0392b !important;
}

/* Rating stars gold override */
.rating-star {
  --color-rating-star: #F5A623 !important;
}

/* Section padding normalization */
.section-template--*,
.shopify-section {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

/* --------------------------------------------------------------------------
   1. BREADCRUMBS (All Pages)
   -------------------------------------------------------------------------- */

.breadcrumbs,
nav.breadcrumb,
.breadcrumb,
.breadcrumbs-wrapper {
  padding: 1.5rem 0 !important;
  margin-bottom: 1rem !important;
  font-size: 1.3rem !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

.breadcrumbs a,
.breadcrumb a,
nav.breadcrumb a {
  color: #2D5F3E !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover,
.breadcrumb a:hover,
nav.breadcrumb a:hover {
  color: #1a4a2d !important;
  text-decoration: underline !important;
}

.breadcrumbs span,
.breadcrumb span,
.breadcrumbs__separator {
  color: #aaa !important;
  margin: 0 0.3rem !important;
}

.breadcrumbs .breadcrumbs__current,
.breadcrumb .breadcrumb--current {
  color: #1A1A1A !important;
  font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   2. COLLECTION / SHOP PAGE
   -------------------------------------------------------------------------- */

/* Collection hero/banner */
.collection-hero {
  background-color: #E8F5E9 !important;
  border-radius: 12px !important;
  margin-bottom: 3rem !important;
  overflow: hidden !important;
}

.collection-hero__inner {
  padding: 3rem !important;
}

.collection-hero__title {
  color: #1A1A1A !important;
  font-weight: 700 !important;
  font-size: 3.2rem !important;
  margin-bottom: 1rem !important;
}

.collection-hero__description,
.collection__description {
  color: #555 !important;
  font-size: 1.5rem !important;
  line-height: 1.6 !important;
  max-width: 60rem !important;
}

.collection-hero__image-container {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Collection title */
.collection__title .title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
}

/* Filters & Sort */
.facets-container {
  padding: 1.5rem 0 !important;
  margin-bottom: 1rem !important;
  border-bottom: 1px solid #eee !important;
}

.facets__wrapper {
  gap: 1rem !important;
}

.facets__summary {
  color: #1A1A1A !important;
  font-weight: 500 !important;
  font-size: 1.4rem !important;
  padding: 0.8rem 1.5rem !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  background-color: #FFFFFF !important;
  transition: all 0.2s ease !important;
}

.facets__summary:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

.facets__display {
  border-radius: 10px !important;
  border: 1px solid #eee !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.facets__header {
  background-color: #F5F5F5 !important;
  border-bottom: 1px solid #eee !important;
  padding: 1.2rem 1.5rem !important;
}

.facets__list {
  padding: 1rem 1.5rem !important;
}

.facet-checkbox {
  padding: 0.8rem 0 !important;
  font-size: 1.4rem !important;
  color: #333 !important;
}

.facet-checkbox > svg {
  border-radius: 4px !important;
}

.facet-checkbox > input[type='checkbox']:checked ~ .icon-checkmark {
  color: #2D5F3E !important;
}

.facets__price .field__input {
  border-radius: 8px !important;
  border: 1px solid #ddd !important;
}

/* Sort dropdown */
.facet-filters__sort,
.facet-filters__field .select__select {
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
  font-weight: 500 !important;
}

.facet-filters__field .select {
  background: #FFFFFF !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 0.5rem 1rem !important;
}

/* Active filter pills */
span.active-facets__button-inner {
  background-color: #E8F5E9 !important;
  color: #2D5F3E !important;
  border: 1px solid #2D5F3E !important;
  border-radius: 20px !important;
  font-size: 1.2rem !important;
  padding: 0.5rem 1.2rem !important;
  box-shadow: none !important;
  font-weight: 500 !important;
}

span.active-facets__button-inner:hover {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
}

/* Mobile facets */
.mobile-facets__inner {
  background-color: #FFFFFF !important;
  border-radius: 0 !important;
}

.mobile-facets__header {
  background-color: #F5F5F5 !important;
  padding: 1.5rem 2rem !important;
  border-bottom: 1px solid #eee !important;
}

.mobile-facets__heading {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

.mobile-facets__open {
  color: #2D5F3E !important;
  font-weight: 500 !important;
}

.mobile-facets__footer {
  background-color: #FFFFFF !important;
  padding: 1.5rem 2rem !important;
  border-top: 1px solid #eee !important;
}

.mobile-facets__footer .button {
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.mobile-facets__summary {
  padding: 1.5rem 2rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.mobile-facets__label {
  padding: 1.2rem 2rem !important;
}

/* Vertical facets sidebar */
.facets__form-vertical {
  padding-right: 2rem !important;
}

.facets__disclosure-vertical {
  border-color: #eee !important;
}

.facets-vertical .facets__summary {
  font-weight: 500 !important;
  color: #1A1A1A !important;
}

/* Product grid */
.product-grid,
.collection .grid {
  gap: 2rem !important;
}

@media screen and (min-width: 750px) {
  .product-grid,
  .collection .grid {
    gap: 2.5rem !important;
  }
}

/* Product cards in grid */
.card-wrapper {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.card-wrapper:hover {
  transform: translateY(-3px) !important;
}

.card--card,
.card--standard .card__inner {
  border-radius: 12px !important;
  border: 1px solid #f0f0f0 !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.card--card:after,
.card--standard .card__inner:after {
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

.card-wrapper:hover .card--card:after,
.card-wrapper:hover .card--standard .card__inner:after {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}

.card .card__inner .card__media {
  border-radius: 12px 12px 0 0 !important;
}

.card__information {
  padding: 1.2rem 1.5rem 1.5rem !important;
}

.card__heading {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  line-height: 1.4 !important;
}

.card-information > .price {
  color: #2D5F3E !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
}

.card-information > .price .price-item--sale {
  color: #c0392b !important;
}

.card-information > .price .price-item--regular {
  color: #999 !important;
  text-decoration: line-through !important;
}

.card-information .caption {
  color: #888 !important;
  font-size: 1.2rem !important;
}

/* Quick add button on card */
.quick-add .quick-add__submit,
.quick-add .button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  padding: 1rem !important;
  transition: all 0.3s ease !important;
}

.quick-add .quick-add__submit:hover,
.quick-add .button:hover {
  background-color: #1a4a2d !important;
  box-shadow: 0 4px 12px rgba(45, 95, 62, 0.3) !important;
}

/* Product count */
.product-count__text {
  color: #888 !important;
  font-size: 1.3rem !important;
}

/* Pagination */
.pagination-wrapper {
  margin-top: 5rem !important;
  margin-bottom: 3rem !important;
}

.pagination__list {
  gap: 0.5rem !important;
}

.pagination__list > li {
  max-width: 4.4rem !important;
}

.pagination__item {
  color: #1A1A1A !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  height: 4.4rem !important;
  font-size: 1.4rem !important;
}

.pagination__item:hover {
  background-color: #E8F5E9 !important;
  color: #2D5F3E !important;
}

.pagination__item--current {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
}

.pagination__item--current::after {
  display: none !important;
}

.pagination__item--current:hover {
  background-color: #1a4a2d !important;
  color: #FFFFFF !important;
}

a.pagination__item:hover::after {
  display: none !important;
}

/* Empty collection */
.collection--empty .title-wrapper {
  text-align: center !important;
  padding: 6rem 2rem !important;
}

/* --------------------------------------------------------------------------
   3. PRODUCT DETAIL PAGE
   -------------------------------------------------------------------------- */

/* Product page container */
.product {
  padding-top: 2rem !important;
}

/* Product image gallery */
.product__media-list {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.product__media-item .media {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.product-media-container {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.product-media-container .media img {
  border-radius: 12px !important;
}

.global-media-settings {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Thumbnails */
.thumbnail-list {
  gap: 0.8rem !important;
  margin-top: 1rem !important;
}

.thumbnail-list__item {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  transition: border-color 0.2s ease !important;
}

.thumbnail[aria-current] {
  border-color: #2D5F3E !important;
  box-shadow: none !important;
}

.thumbnail:hover {
  opacity: 0.85 !important;
}

/* Product media icon (zoom) */
.product__media-icon {
  background-color: #FFFFFF !important;
  border: 1px solid #eee !important;
  border-radius: 50% !important;
  color: #2D5F3E !important;
  transition: all 0.2s ease !important;
}

.product__media-icon:hover {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
}

/* Product info section */
.product__info-container {
  padding: 0 !important;
}

.product__title h1,
.product__title .h1 {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  margin-bottom: 0.5rem !important;
}

a.product__text {
  color: #2D5F3E !important;
  font-size: 1.3rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
}

/* Product price */
.product .price {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
}

.product .price .price-item--regular {
  color: #2D5F3E !important;
}

.product .price--on-sale .price-item--regular {
  color: #999 !important;
  font-size: 1.6rem !important;
  text-decoration: line-through !important;
}

.product .price--on-sale .price-item--sale {
  color: #c0392b !important;
  font-weight: 700 !important;
}

.product .price .badge {
  background-color: #c0392b !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  padding: 0.2rem 0.8rem !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
}

/* Rating on product page */
.product .rating {
  margin: 0.5rem 0 !important;
}

.product .rating-star {
  --color-rating-star: #F5A623 !important;
  font-size: 1.8rem !important;
}

.product .rating-count {
  color: #888 !important;
  font-size: 1.3rem !important;
  margin-left: 0.5rem !important;
}

/* Variant picker - radio pills */
.product-form__input {
  margin-bottom: 1.5rem !important;
}

.product-form__input .form__label {
  font-weight: 600 !important;
  color: #1A1A1A !important;
  font-size: 1.4rem !important;
  margin-bottom: 0.8rem !important;
  display: block !important;
}

.product-form__input input[type='radio'] + label {
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  padding: 1rem 2rem !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #333 !important;
  background-color: #FFFFFF !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0 !important;
}

.product-form__input input[type='radio'] + label:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

.product-form__input input[type='radio']:checked + label {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-color: #2D5F3E !important;
}

.product-form__input input[type='radio']:disabled + label,
.product-form__input input[type='radio'].disabled + label {
  border-color: #eee !important;
  color: #ccc !important;
  background-color: #F5F5F5 !important;
}

/* Variant select dropdown */
.product-form__input .select__select,
.product-form__input--dropdown .select__select {
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  padding: 1.2rem 1.5rem !important;
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease !important;
}

.product-form__input .select__select:focus,
.product-form__input--dropdown .select__select:focus {
  border-color: #2D5F3E !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 95, 62, 0.15) !important;
}

/* Quantity selector */
.quantity {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
}

.quantity__input {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  border: none !important;
  width: 5rem !important;
  text-align: center !important;
  background: transparent !important;
}

.quantity__button {
  background-color: #F5F5F5 !important;
  border: none !important;
  color: #2D5F3E !important;
  width: 4rem !important;
  height: 4rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.quantity__button:hover {
  background-color: #E8F5E9 !important;
}

.quantity__button svg {
  width: 1.2rem !important;
  height: 1.2rem !important;
}

/* Add to cart button */
.product-form__submit {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 1.5rem 3rem !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  min-height: 5.2rem !important;
  width: 100% !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.product-form__submit:hover {
  background-color: #1a4a2d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(45, 95, 62, 0.35) !important;
}

.product-form__submit[disabled],
.product-form__submit[aria-disabled='true'] {
  background-color: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Dynamic checkout / Buy Now */
.shopify-payment-button__button {
  border-radius: 10px !important;
  min-height: 5rem !important;
  font-weight: 600 !important;
}

.shopify-payment-button__more-options {
  color: #2D5F3E !important;
  font-weight: 500 !important;
}

/* Product description / tabs / accordion */
.product__description {
  color: #444 !important;
  font-size: 1.5rem !important;
  line-height: 1.8 !important;
}

.product__description h2,
.product__description h3 {
  color: #1A1A1A !important;
  font-weight: 600 !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

.product__description ul,
.product__description ol {
  padding-left: 2rem !important;
  margin: 1rem 0 !important;
}

.product__description li {
  margin-bottom: 0.5rem !important;
  line-height: 1.7 !important;
}

/* Product accordion / collapsible tabs */
.product__accordion {
  border: 1px solid #eee !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-top: 2rem !important;
}

.product__accordion .accordion__title,
.product__accordion summary {
  padding: 1.5rem 2rem !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  color: #1A1A1A !important;
  background-color: #FFFFFF !important;
  border-bottom: 1px solid #f0f0f0 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.product__accordion .accordion__title:hover,
.product__accordion summary:hover {
  background-color: #FDF8F4 !important;
}

.product__accordion .accordion__content {
  padding: 1.5rem 2rem !important;
  color: #555 !important;
  font-size: 1.4rem !important;
  line-height: 1.7 !important;
}

/* Inventory status */
.product__inventory {
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  padding: 0.5rem 0 !important;
}

.product__inventory svg {
  color: #2D5F3E !important;
}

/* SKU */
.product__sku {
  color: #999 !important;
  font-size: 1.2rem !important;
}

/* Tax note */
.product__tax {
  color: #999 !important;
  font-size: 1.2rem !important;
}

/* Pickup availability */
.pickup-availability-preview {
  border: 1px solid #eee !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem !important;
}

/* Share button */
.share-button {
  margin-top: 1.5rem !important;
}

.share-button__button {
  color: #2D5F3E !important;
  font-weight: 500 !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 0.8rem 1.5rem !important;
  transition: all 0.2s ease !important;
}

.share-button__button:hover {
  border-color: #2D5F3E !important;
  background-color: #E8F5E9 !important;
}

/* Related products / complementary products */
.related-products {
  padding: 5rem 0 !important;
  background-color: #FDF8F4 !important;
  margin-top: 4rem !important;
}

.related-products__heading {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  margin-bottom: 3rem !important;
}

/* Product media modal (zoom) */
.product-media-modal {
  background-color: rgba(255, 255, 255, 0.97) !important;
}

.product-media-modal__toggle {
  background-color: #FFFFFF !important;
  border: 2px solid #eee !important;
  color: #1A1A1A !important;
  border-radius: 50% !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  transition: all 0.2s ease !important;
}

.product-media-modal__toggle:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

/* Product popup modal */
.product-popup-modal__content {
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
}

.product-popup-modal__toggle {
  background-color: #FFFFFF !important;
  border: 2px solid #eee !important;
  color: #1A1A1A !important;
  transition: all 0.2s ease !important;
}

.product-popup-modal__toggle:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

/* Icon with text (USPs below product) */
.icon-with-text {
  margin-top: 2rem !important;
}

.icon-with-text .icon {
  color: #2D5F3E !important;
  fill: #2D5F3E !important;
}

.icon-with-text .h4 {
  color: #1A1A1A !important;
  font-weight: 500 !important;
  font-size: 1.3rem !important;
}

/* --------------------------------------------------------------------------
   4. CART PAGE
   -------------------------------------------------------------------------- */

.cart {
  padding: 2rem 0 !important;
}

/* Cart heading */
.cart .title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

/* Cart items table */
.cart__items {
  border-bottom: 1px solid #eee !important;
}

.cart__items th {
  color: #888 !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 2px solid #eee !important;
}

/* Cart line items */
.cart-item {
  padding: 2rem 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.cart-item__image {
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
}

.cart-item__name {
  font-weight: 600 !important;
  color: #1A1A1A !important;
  font-size: 1.5rem !important;
  text-decoration: none !important;
}

.cart-item__name:hover {
  color: #2D5F3E !important;
}

.cart-item .price {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

.cart-item__discounted-prices .cart-item__old-price {
  color: #999 !important;
}

.cart-item__final-price {
  color: #c0392b !important;
  font-weight: 600 !important;
}

/* Cart item quantity */
.cart-item .quantity {
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
}

.cart-item .quantity__button {
  background-color: transparent !important;
  color: #2D5F3E !important;
}

.cart-item .quantity__button:hover {
  background-color: #E8F5E9 !important;
}

.cart-item .quantity__input {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

/* Cart remove button */
cart-remove-button .button,
cart-remove-button button {
  color: #999 !important;
  background: transparent !important;
  border: none !important;
  font-size: 1.2rem !important;
  transition: color 0.2s ease !important;
  box-shadow: none !important;
}

cart-remove-button .button:hover,
cart-remove-button button:hover {
  color: #c0392b !important;
  background: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Cart footer */
.cart__footer {
  padding-top: 2.5rem !important;
}

/* Cart totals */
.totals {
  font-size: 1.6rem !important;
}

.totals__subtotal-value {
  font-weight: 700 !important;
  font-size: 2rem !important;
  color: #1A1A1A !important;
}

.totals__subtotal {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

.tax-note {
  color: #888 !important;
  font-size: 1.3rem !important;
}

/* Cart note */
.cart__note .field__input,
.cart-note .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
  font-size: 1.4rem !important;
  color: #333 !important;
  transition: border-color 0.2s ease !important;
  resize: vertical !important;
}

.cart__note .field__input:focus,
.cart-note .field__input:focus {
  border-color: #2D5F3E !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 95, 62, 0.1) !important;
}

/* Checkout button */
.cart__checkout-button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  padding: 1.5rem 3rem !important;
  min-height: 5.2rem !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
}

.cart__checkout-button:hover {
  background-color: #1a4a2d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(45, 95, 62, 0.35) !important;
}

/* Dynamic checkout buttons in cart */
.cart__dynamic-checkout-buttons div[role='button'] {
  border-radius: 10px !important;
}

/* Cart discounts */
.cart .discounts__discount {
  color: #2D5F3E !important;
  font-weight: 500 !important;
}

/* Empty cart */
.cart__empty-text {
  font-size: 1.6rem !important;
  color: #888 !important;
  text-align: center !important;
}

.cart__warnings {
  text-align: center !important;
  padding: 4rem 2rem !important;
}

.cart__warnings .button {
  margin-top: 2rem !important;
}

/* --------------------------------------------------------------------------
   5. CART DRAWER
   -------------------------------------------------------------------------- */

.drawer {
  z-index: 1001 !important;
}

.drawer__inner {
  width: 42rem !important;
  max-width: calc(100vw - 2rem) !important;
  background-color: #FFFFFF !important;
  border: none !important;
  box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15) !important;
  padding: 0 2rem !important;
}

.drawer__header {
  padding: 2rem 0 !important;
  border-bottom: 1px solid #eee !important;
}

.drawer__heading {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.drawer__close {
  color: #1A1A1A !important;
  transition: color 0.2s ease !important;
}

.drawer__close:hover {
  color: #2D5F3E !important;
}

/* Cart drawer items */
.cart-drawer .cart-item {
  padding: 1.5rem 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  gap: 1.2rem !important;
}

.cart-drawer .cart-item__image {
  border-radius: 8px !important;
  overflow: hidden !important;
}

.cart-drawer .cart-item__details {
  font-size: 1.4rem !important;
}

.cart-drawer .cart-item__name {
  font-weight: 600 !important;
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
}

.cart-drawer .product-option {
  color: #888 !important;
  font-size: 1.2rem !important;
}

.cart-drawer .cart-item .quantity {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
}

/* Cart drawer footer */
.drawer__footer {
  border-top: 1px solid #eee !important;
  padding: 1.5rem 0 2rem !important;
  background-color: #FFFFFF !important;
}

.cart-drawer .totals {
  padding: 1rem 0 !important;
}

.cart-drawer .totals__subtotal-value {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.cart-drawer .cart__checkout-button {
  width: 100% !important;
  max-width: none !important;
}

/* Cart drawer scrollbar */
cart-drawer-items::-webkit-scrollbar {
  width: 4px !important;
}

cart-drawer-items::-webkit-scrollbar-thumb {
  background-color: #2D5F3E !important;
  border-radius: 4px !important;
}

cart-drawer-items::-webkit-scrollbar-track {
  background-color: #f0f0f0 !important;
}

/* Cart drawer details/note accordion */
.drawer__footer > details summary {
  padding: 1.2rem 0 !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
}

/* --------------------------------------------------------------------------
   6. CHECKOUT ELEMENTS (Shopify allowed)
   -------------------------------------------------------------------------- */

/* Note: Shopify Plus has full checkout customization. For standard plans,
   these target the checkout button, dynamic checkout, and cart-level elements. */

[data-shopify-buttoncontainer] {
  border-radius: 10px !important;
  overflow: hidden !important;
}

.shopify-payment-button .shopify-payment-button__button {
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.shopify-payment-button__button--unbranded {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}

.shopify-payment-button__button--unbranded:hover {
  background-color: #1a4a2d !important;
}

/* Order confirmation link styling */
.os-step__info a {
  color: #2D5F3E !important;
}

/* --------------------------------------------------------------------------
   7. BLOG LIST PAGE
   -------------------------------------------------------------------------- */

/* Blog grid */
.blog-articles {
  gap: 2.5rem !important;
}

@media screen and (min-width: 750px) {
  .blog-articles {
    gap: 3rem !important;
  }
}

/* Blog title */
.blog__title,
.blog-articles .title {
  font-size: 3.2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  margin-bottom: 3rem !important;
}

/* Article cards */
.article-card {
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.article-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}

.article-card .card__inner {
  border-radius: 12px !important;
}

.article-card .card__media img {
  transition: transform 0.4s ease !important;
}

.article-card:hover .card__media img {
  transform: scale(1.03) !important;
}

.blog-articles .article-card .card__information,
.blog__posts .article-card .card__information {
  padding: 1.5rem 2rem 2rem !important;
}

.article-card .card__heading {
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  line-height: 1.4 !important;
  margin-bottom: 0.8rem !important;
}

.article-card .card__heading a {
  color: #1A1A1A !important;
  text-decoration: none !important;
}

.article-card .card__heading a:hover {
  color: #2D5F3E !important;
}

.article-card__info,
.card-article-info {
  color: #888 !important;
  font-size: 1.2rem !important;
}

.article-card__excerpt {
  color: #555 !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;
}

.article-card__footer {
  color: #888 !important;
  font-size: 1.3rem !important;
}

.article-card__link {
  color: #2D5F3E !important;
  font-weight: 600 !important;
  font-size: 1.4rem !important;
}

/* --------------------------------------------------------------------------
   8. BLOG ARTICLE / SINGLE POST PAGE
   -------------------------------------------------------------------------- */

.article-template {
  max-width: 80rem !important;
  margin: 0 auto !important;
}

.article-template__hero-container {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.article-template__title {
  font-size: 3.2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
}

.article-template header {
  text-align: center !important;
  margin-bottom: 3rem !important;
}

.article-template header .caption,
.article-template header .article-template__date {
  color: #888 !important;
  font-size: 1.3rem !important;
}

/* Author info */
.article-template__author {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  margin: 1rem 0 !important;
}

.article-template__author-image {
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.article-template__author-name {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

/* Article content */
.article-template__content {
  font-size: 1.6rem !important;
  line-height: 1.9 !important;
  color: #333 !important;
}

.article-template__content h2 {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}

.article-template__content h3 {
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

.article-template__content p {
  margin-bottom: 1.5rem !important;
}

.article-template__content img {
  border-radius: 12px !important;
  margin: 2rem 0 !important;
}

.article-template__content blockquote {
  border-left: 4px solid #2D5F3E !important;
  padding: 1.5rem 2rem !important;
  margin: 2rem 0 !important;
  background-color: #FDF8F4 !important;
  border-radius: 0 8px 8px 0 !important;
  color: #444 !important;
  font-style: italic !important;
}

.article-template__content a {
  color: #2D5F3E !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3rem !important;
}

.article-template__content ul,
.article-template__content ol {
  padding-left: 2rem !important;
  margin: 1.5rem 0 !important;
}

.article-template__content li {
  margin-bottom: 0.8rem !important;
  line-height: 1.7 !important;
}

/* Share buttons */
.article-template__social-sharing,
.sharing {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 2rem 0 !important;
  border-top: 1px solid #eee !important;
  margin-top: 3rem !important;
}

.share-button__button,
.sharing__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  border: 1px solid #ddd !important;
  color: #555 !important;
  background: #FFFFFF !important;
  transition: all 0.2s ease !important;
}

.share-button__button:hover,
.sharing__link:hover {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-color: #2D5F3E !important;
}

/* Comments section */
.article-template__comment-wrapper {
  padding-top: 3rem !important;
  border-top: 1px solid #eee !important;
}

.article-template__comment-wrapper h2 {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.article-template__comments-comment {
  background-color: #F5F5F5 !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  margin-bottom: 1.5rem !important;
  border: none !important;
}

.article-template__comments-comment p {
  color: #444 !important;
  line-height: 1.6 !important;
}

/* Comment form */
.article-template__comment-fields .field__input {
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  padding: 1.2rem 1.5rem !important;
  font-size: 1.4rem !important;
  transition: border-color 0.2s ease !important;
}

.article-template__comment-fields .field__input:focus {
  border-color: #2D5F3E !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 95, 62, 0.1) !important;
}

/* Back to blog link */
.article-template__link {
  color: #2D5F3E !important;
  font-weight: 500 !important;
  font-size: 1.5rem !important;
}

.article-template__link svg,
.article-template__link .icon-wrap {
  color: #2D5F3E !important;
}

/* --------------------------------------------------------------------------
   9. ABOUT PAGE / RICH TEXT / PAGE CONTENT
   -------------------------------------------------------------------------- */

.section-main-page,
.page-width .rte,
.rich-text__text,
.main-page-content {
  font-size: 1.6rem !important;
  line-height: 1.8 !important;
  color: #333 !important;
}

.section-main-page h1,
.main-page-content h1 {
  font-size: 3.2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 2rem !important;
}

.section-main-page h2,
.main-page-content h2 {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}

.section-main-page h3,
.main-page-content h3 {
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

.section-main-page p,
.main-page-content p {
  margin-bottom: 1.5rem !important;
}

.section-main-page img,
.main-page-content img {
  border-radius: 12px !important;
}

/* Rich text section */
.rich-text {
  background-color: #FDF8F4 !important;
}

.rich-text__heading {
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.rich-text__text {
  color: #555 !important;
  max-width: 70rem !important;
}

.rich-text .button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}

/* Image with text section */
.image-with-text {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.image-with-text__heading {
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.image-with-text__text {
  color: #555 !important;
  line-height: 1.7 !important;
}

/* Multicolumn section */
.multicolumn-card__image-wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.multicolumn-card__info .h3,
.multicolumn-card__info h3 {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

/* --------------------------------------------------------------------------
   10. CONTACT PAGE
   -------------------------------------------------------------------------- */

.contact {
  max-width: 70rem !important;
  margin: 0 auto !important;
}

.contact h1,
.contact .title {
  font-size: 3.2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  margin-bottom: 1rem !important;
}

.contact p {
  text-align: center !important;
  color: #555 !important;
  font-size: 1.5rem !important;
  margin-bottom: 3rem !important;
}

/* Form fields */
.contact .field,
.form .field {
  margin-bottom: 2rem !important;
}

.contact .field__input,
.contact .form__input,
.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"],
.contact textarea,
.contact select,
.field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.4rem 1.5rem !important;
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  width: 100% !important;
}

.contact .field__input:focus,
.contact input:focus,
.contact textarea:focus,
.contact select:focus,
.field__input:focus {
  border-color: #2D5F3E !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(45, 95, 62, 0.1) !important;
}

.contact .field__label,
.field__label {
  color: #888 !important;
  font-size: 1.3rem !important;
  font-weight: 400 !important;
}

.contact textarea {
  min-height: 15rem !important;
  resize: vertical !important;
}

/* Contact submit button */
.contact__button,
.contact button[type="submit"] {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 1.5rem 4rem !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  min-height: 5.2rem !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.contact__button:hover,
.contact button[type="submit"]:hover {
  background-color: #1a4a2d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(45, 95, 62, 0.35) !important;
}

/* Form success message */
.form__message,
.form-status {
  border-radius: 10px !important;
  padding: 1.5rem 2rem !important;
  font-size: 1.4rem !important;
}

.form__message--success {
  background-color: #E8F5E9 !important;
  color: #2D5F3E !important;
  border: 1px solid #2D5F3E !important;
}

.form__message--error {
  background-color: #fef2f2 !important;
  color: #c0392b !important;
  border: 1px solid #c0392b !important;
}

/* --------------------------------------------------------------------------
   11. ACCOUNT PAGES (Login, Register, Orders, Addresses)
   -------------------------------------------------------------------------- */

/* Login & Register forms */
.customer:not(.account):not(.order) {
  max-width: 46rem !important;
  padding: 4rem 2rem !important;
}

.customer > h1,
.customer__title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 0.5rem !important;
}

.customer form {
  margin-top: 3rem !important;
}

.customer .field {
  margin: 1.5rem 0 !important;
}

.customer .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.4rem 1.5rem !important;
  font-size: 1.4rem !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.3s ease !important;
}

.customer .field__input:focus {
  border-color: #2D5F3E !important;
  box-shadow: 0 0 0 3px rgba(45, 95, 62, 0.1) !important;
  outline: none !important;
}

.customer button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  padding: 1.4rem 3rem !important;
  min-height: 5rem !important;
  margin-top: 2rem !important;
  transition: all 0.3s ease !important;
}

.customer button:hover {
  background-color: #1a4a2d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(45, 95, 62, 0.35) !important;
}

/* Login links */
.login a {
  color: #2D5F3E !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

.login a:hover {
  color: #1a4a2d !important;
  text-decoration: underline !important;
}

.login h3 {
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

/* Account & Order pages */
:is(.account, .order) h1 {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

:is(.account, .order) h2 {
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

/* Account orders table */
.customer table {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #eee !important;
}

.customer thead th {
  background-color: #F5F5F5 !important;
  color: #888 !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1.5rem 2rem !important;
}

.customer tbody td {
  padding: 1.5rem 2rem !important;
  color: #444 !important;
  font-size: 1.4rem !important;
}

.customer tbody tr {
  border-color: #f0f0f0 !important;
  transition: background-color 0.2s ease !important;
}

.customer tbody tr:hover {
  background-color: #FDF8F4 !important;
}

/* Order link button */
.account table td:first-of-type a {
  background-color: #E8F5E9 !important;
  color: #2D5F3E !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  padding: 0.8rem 1.5rem !important;
  box-shadow: none !important;
  border: 1px solid #2D5F3E !important;
  transition: all 0.2s ease !important;
}

.account table td:first-of-type a:hover {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Account logout link */
.account h1 + a {
  color: #2D5F3E !important;
  font-weight: 500 !important;
}

/* Account pagination */
.customer .pagination {
  margin-top: 3rem !important;
  margin-bottom: 5rem !important;
}

.customer .pagination li :first-child {
  border-radius: 8px !important;
  color: #1A1A1A !important;
  font-weight: 500 !important;
}

.customer .pagination li [aria-current] {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
}

/* Addresses */
.addresses ul {
  list-style: none !important;
}

li[data-address] {
  border: 1px solid #eee !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  margin-top: 2rem !important;
}

.addresses form .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
}

.addresses form .field__input:focus {
  border-color: #2D5F3E !important;
  box-shadow: 0 0 0 3px rgba(45, 95, 62, 0.1) !important;
}

.addresses form button[type] {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}

.addresses li > button {
  border-radius: 8px !important;
  border: 1px solid #ddd !important;
  padding: 0.8rem 1.5rem !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.addresses li > button:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

/* Order detail page */
.order .fulfillment {
  border: 1px solid #eee !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
  background-color: #F5F5F5 !important;
}

.order tfoot tr:last-of-type td,
.order tfoot tr:last-of-type th {
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

/* --------------------------------------------------------------------------
   12. SEARCH PAGE
   -------------------------------------------------------------------------- */

/* Search bar */
.search .search__input.field__input,
.template-search .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.4rem 10rem 1.4rem 1.5rem !important;
  font-size: 1.6rem !important;
  color: #1A1A1A !important;
  background-color: #FFFFFF !important;
  min-height: 5.4rem !important;
  transition: border-color 0.3s ease !important;
}

.search .search__input.field__input:focus,
.template-search .field__input:focus {
  border-color: #2D5F3E !important;
  box-shadow: 0 0 0 4px rgba(45, 95, 62, 0.1) !important;
  outline: none !important;
}

.search__button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 0 8px 8px 0 !important;
  min-height: auto !important;
  padding: 0 1.5rem !important;
  transition: background-color 0.2s ease !important;
}

.search__button:hover {
  background-color: #1a4a2d !important;
}

.search__button .icon {
  color: #FFFFFF !important;
}

.reset__button {
  color: #888 !important;
}

.reset__button:hover {
  color: #c0392b !important;
}

/* Search results heading */
.template-search h1,
.template-search .title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  margin-bottom: 2rem !important;
}

/* Search results count */
.template-search__results-count {
  text-align: center !important;
  color: #888 !important;
  font-size: 1.4rem !important;
  margin-bottom: 3rem !important;
}

/* Search results grid */
.template-search .grid {
  gap: 2rem !important;
}

/* Search empty state */
.template-search__empty {
  text-align: center !important;
  padding: 5rem 2rem !important;
}

.template-search__empty p {
  color: #888 !important;
  font-size: 1.6rem !important;
}

/* Search page tabs (products, pages, articles) */
.search__tab-list {
  display: flex !important;
  gap: 0 !important;
  justify-content: center !important;
  margin-bottom: 3rem !important;
  border-bottom: 2px solid #eee !important;
}

.search__tab {
  padding: 1rem 2rem !important;
  font-weight: 500 !important;
  color: #888 !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.search__tab:hover {
  color: #2D5F3E !important;
}

.search__tab--active {
  color: #2D5F3E !important;
  border-bottom-color: #2D5F3E !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   13. PREDICTIVE SEARCH DROPDOWN
   -------------------------------------------------------------------------- */

.predictive-search {
  border-radius: 0 0 12px 12px !important;
  border: 1px solid #eee !important;
  border-top: none !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12) !important;
  background-color: #FFFFFF !important;
  overflow: hidden !important;
  max-height: 50rem !important;
}

.predictive-search__heading {
  color: #888 !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 1.5rem 2rem 0.8rem !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.predictive-search__item {
  padding: 1.2rem 2rem !important;
  transition: background-color 0.15s ease !important;
}

.predictive-search__item:hover,
.predictive-search__list-item:hover > *,
.predictive-search__list-item[aria-selected='true'] > *,
.predictive-search__item[aria-selected='true'] {
  background-color: #E8F5E9 !important;
}

.predictive-search__item--link-with-thumbnail {
  grid-template-columns: 5.5rem 1fr !important;
  gap: 1.5rem !important;
  align-items: center !important;
}

.predictive-search__image {
  border-radius: 8px !important;
  overflow: hidden !important;
  object-fit: cover !important;
}

.predictive-search__item-heading {
  font-weight: 600 !important;
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
}

.predictive-search__list-item:hover .predictive-search__item-heading,
.predictive-search__list-item[aria-selected='true'] .predictive-search__item-heading {
  color: #2D5F3E !important;
  text-decoration: none !important;
}

.predictive-search__item .price {
  color: #2D5F3E !important;
  font-weight: 600 !important;
  font-size: 1.3rem !important;
}

.predictive-search__item-vendor {
  color: #888 !important;
  font-size: 1.1rem !important;
}

.predictive-search__item--term {
  font-weight: 500 !important;
  color: #333 !important;
}

.predictive-search__item--term .icon-arrow {
  color: #2D5F3E !important;
}

/* Search for button at bottom */
.predictive-search__search-for-button {
  padding: 1.5rem 2rem !important;
  border-top: 1px solid #f0f0f0 !important;
}

.predictive-search__search-for-button span {
  color: #2D5F3E !important;
  font-weight: 600 !important;
}

/* Loading state */
predictive-search[loading] .predictive-search__loading-state {
  padding: 2rem !important;
}

/* Results groups wrapper */
.predictive-search__results-groups-wrapper {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   14. QUICK ADD MODAL
   -------------------------------------------------------------------------- */

.quick-add-modal[open] {
  background: rgba(0, 0, 0, 0.5) !important;
}

.quick-add-modal__content {
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.quick-add-modal__content-info {
  padding: 2.5rem !important;
}

.quick-add-modal__toggle {
  background-color: #FFFFFF !important;
  border: 2px solid #eee !important;
  color: #1A1A1A !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  transition: all 0.2s ease !important;
  z-index: 10 !important;
}

.quick-add-modal__toggle:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

/* Quick add modal product styling */
quick-add-modal .product__title > a {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

quick-add-modal .product__title > a:hover {
  color: #2D5F3E !important;
}

quick-add-modal .product-form__submit {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}

quick-add-modal .product-media-container {
  border-radius: 12px !important;
  overflow: hidden !important;
}

quick-add-modal .product__view-details {
  color: #2D5F3E !important;
  font-weight: 600 !important;
  margin-top: 1rem !important;
}

/* --------------------------------------------------------------------------
   15. POPUP / MODAL STYLING
   -------------------------------------------------------------------------- */

/* Generic modal backdrop */
.modal__overlay,
.popup-modal__overlay {
  background: rgba(0, 0, 0, 0.5) !important;
}

/* Generic modal content */
.modal__content,
.popup-modal__content {
  background-color: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  overflow: hidden !important;
}

/* Modal close button */
.modal__close,
.popup-modal__close,
.modal__toggle-close {
  background-color: #FFFFFF !important;
  border: 2px solid #eee !important;
  border-radius: 50% !important;
  color: #1A1A1A !important;
  width: 4rem !important;
  height: 4rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.modal__close:hover,
.popup-modal__close:hover,
.modal__toggle-close:hover {
  border-color: #2D5F3E !important;
  color: #2D5F3E !important;
}

/* Newsletter popup */
.popup-modal .newsletter-form__field-wrapper {
  display: flex !important;
  gap: 0.8rem !important;
}

.popup-modal .newsletter-form__field-wrapper .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
}

.popup-modal .newsletter-form__field-wrapper .field__input:focus {
  border-color: #2D5F3E !important;
}

.popup-modal .newsletter-form__button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 1.2rem 2rem !important;
}

/* Cookie/age popup */
.popup--cookie,
.popup--age-verification {
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
}

/* --------------------------------------------------------------------------
   16. 404 PAGE
   -------------------------------------------------------------------------- */

.template-404,
.shopify-section--404 {
  text-align: center !important;
  padding: 8rem 2rem !important;
}

.template-404 h1 {
  font-size: 8rem !important;
  font-weight: 800 !important;
  color: #2D5F3E !important;
  line-height: 1 !important;
  margin-bottom: 1.5rem !important;
}

.template-404 h2,
.template-404 .title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 1rem !important;
}

.template-404 p {
  font-size: 1.6rem !important;
  color: #888 !important;
  margin-bottom: 3rem !important;
  max-width: 50rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.template-404 .button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 1.5rem 4rem !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
}

/* 404 search form */
.template-404 .search .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
  max-width: 50rem !important;
  margin: 0 auto 2rem !important;
}

/* --------------------------------------------------------------------------
   17. NEWSLETTER SECTION
   -------------------------------------------------------------------------- */

.newsletter {
  background-color: #E8F5E9 !important;
  border-radius: 12px !important;
  padding: 4rem 2rem !important;
}

.newsletter__heading {
  color: #1A1A1A !important;
  font-weight: 700 !important;
}

.newsletter__subheading {
  color: #555 !important;
}

.newsletter-form__field-wrapper {
  max-width: 50rem !important;
  margin: 0 auto !important;
}

.newsletter-form__field-wrapper .field__input {
  border: 2px solid #ccc !important;
  border-radius: 10px !important;
  background-color: #FFFFFF !important;
  padding: 1.4rem 1.5rem !important;
}

.newsletter-form__field-wrapper .field__input:focus {
  border-color: #2D5F3E !important;
}

.newsletter-form__button {
  background-color: #2D5F3E !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.newsletter-form__button:hover {
  background-color: #1a4a2d !important;
}

/* --------------------------------------------------------------------------
   18. PASSWORD PAGE
   -------------------------------------------------------------------------- */

.password {
  background-color: #FDF8F4 !important;
}

.password__header {
  color: #1A1A1A !important;
}

.password .field__input {
  border: 2px solid #ddd !important;
  border-radius: 10px !important;
}

.password .button {
  background-color: #2D5F3E !important;
  border-radius: 10px !important;
}

/* --------------------------------------------------------------------------
   19. GIFT CARD PAGE
   -------------------------------------------------------------------------- */

.gift-card {
  background-color: #FDF8F4 !important;
}

.gift-card__image-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
}

.gift-card__title {
  color: #1A1A1A !important;
  font-weight: 700 !important;
}

.gift-card__number {
  background-color: #E8F5E9 !important;
  color: #2D5F3E !important;
  border-radius: 10px !important;
  padding: 1rem 2rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
}

.gift-card__copy-code {
  color: #2D5F3E !important;
  font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   20. SCROLLBAR & SELECTION
   -------------------------------------------------------------------------- */

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

::-webkit-scrollbar-track {
  background: #f5f5f5 !important;
}

::-webkit-scrollbar-thumb {
  background: #2D5F3E !important;
  border-radius: 4px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #1a4a2d !important;
}

/* Text selection */
::selection {
  background-color: #E8F5E9 !important;
  color: #1A1A1A !important;
}

/* --------------------------------------------------------------------------
   21. ANIMATIONS & TRANSITIONS
   -------------------------------------------------------------------------- */

/* Smooth scroll trigger animations */
.scroll-trigger.scroll-trigger--offscreen {
  opacity: 0 !important;
  transform: translateY(20px) !important;
}

.scroll-trigger.scroll-trigger--cancel {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

/* Focus visible states */
*:focus-visible {
  outline: 2px solid #2D5F3E !important;
  outline-offset: 3px !important;
}

a:focus-visible {
  outline: 2px solid #2D5F3E !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}

/* --------------------------------------------------------------------------
   22. MOBILE RESPONSIVE IMPROVEMENTS
   -------------------------------------------------------------------------- */

@media screen and (max-width: 749px) {

  /* Mobile: Collection page */
  .collection-hero__title {
    font-size: 2.4rem !important;
  }

  .collection-hero__inner {
    padding: 2rem !important;
  }

  .collection__title .title {
    font-size: 2.2rem !important;
  }

  .facets-container {
    padding: 1rem 0 !important;
  }

  .product-grid .grid__item,
  .collection .grid__item {
    padding: 0 !important;
  }

  /* Mobile: Product page */
  .product__title h1,
  .product__title .h1 {
    font-size: 2.2rem !important;
  }

  .product .price {
    font-size: 2rem !important;
  }

  .product__media-list {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
    border-radius: 0 !important;
    width: calc(100% + 3rem) !important;
  }

  .product__media-item .media {
    border-radius: 0 !important;
  }

  .product__info-wrapper {
    padding: 2rem 0 0 0 !important;
  }

  .product-form__submit {
    font-size: 1.5rem !important;
    padding: 1.3rem 2rem !important;
    min-height: 4.8rem !important;
  }

  .product__accordion .accordion__title,
  .product__accordion summary {
    padding: 1.2rem 1.5rem !important;
    font-size: 1.4rem !important;
  }

  .product__accordion .accordion__content {
    padding: 1.2rem 1.5rem !important;
  }

  /* Mobile: Cart page */
  .cart .title {
    font-size: 2.2rem !important;
  }

  .cart-item {
    padding: 1.5rem 0 !important;
  }

  .cart__checkout-button {
    font-size: 1.5rem !important;
    padding: 1.3rem 2rem !important;
  }

  .totals__subtotal-value {
    font-size: 1.8rem !important;
  }

  /* Mobile: Cart drawer */
  .drawer__inner {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 1.5rem !important;
  }

  .drawer__heading {
    font-size: 1.8rem !important;
  }

  /* Mobile: Blog page */
  .blog__title,
  .blog-articles .title {
    font-size: 2.4rem !important;
  }

  .article-card .card__heading {
    font-size: 1.6rem !important;
  }

  .blog-articles {
    gap: 2rem !important;
  }

  /* Mobile: Article page */
  .article-template__title {
    font-size: 2.4rem !important;
  }

  .article-template__content {
    font-size: 1.5rem !important;
    line-height: 1.8 !important;
  }

  .article-template__content h2 {
    font-size: 2rem !important;
  }

  .article-template__content h3 {
    font-size: 1.8rem !important;
  }

  /* Mobile: Account pages */
  .customer:not(.account):not(.order) {
    max-width: 100% !important;
    padding: 3rem 1.5rem !important;
  }

  .customer > h1,
  .customer__title {
    font-size: 2.2rem !important;
  }

  :is(.account, .order) h1 {
    font-size: 2.2rem !important;
  }

  .customer table {
    font-size: 1.3rem !important;
  }

  /* Mobile: Search page */
  .template-search h1,
  .template-search .title {
    font-size: 2.2rem !important;
  }

  .search .search__input.field__input {
    font-size: 1.5rem !important;
    min-height: 5rem !important;
  }

  /* Mobile: 404 page */
  .template-404 h1 {
    font-size: 5rem !important;
  }

  .template-404 h2,
  .template-404 .title {
    font-size: 2.2rem !important;
  }

  .template-404 p {
    font-size: 1.4rem !important;
  }

  /* Mobile: Contact page */
  .contact h1,
  .contact .title {
    font-size: 2.4rem !important;
  }

  .contact__fields {
    display: block !important;
  }

  /* Mobile: Buttons */
  .button,
  button[type="submit"] {
    font-size: 1.4rem !important;
    padding: 1.2rem 2rem !important;
  }

  /* Mobile: Predictive search */
  .predictive-search {
    border-radius: 0 0 10px 10px !important;
    max-height: 70vh !important;
  }

  .predictive-search__item {
    padding: 1rem 1.5rem !important;
  }

  /* Mobile: Quick add modal */
  .quick-add-modal__content {
    border-radius: 12px 12px 0 0 !important;
    width: 100% !important;
    margin-top: auto !important;
    bottom: 0 !important;
    top: auto !important;
    max-height: 90vh !important;
  }

  /* Mobile: Breadcrumbs */
  .breadcrumbs,
  .breadcrumb {
    font-size: 1.2rem !important;
    padding: 1rem 0 !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Mobile: Popups */
  .popup-modal__content,
  .modal__content {
    width: calc(100% - 2rem) !important;
    border-radius: 12px !important;
    max-height: 90vh !important;
  }

  /* Mobile: Newsletter */
  .newsletter {
    padding: 3rem 1.5rem !important;
    border-radius: 0 !important;
  }

  /* Mobile: Related products */
  .related-products {
    padding: 3rem 0 !important;
    margin-top: 2rem !important;
  }

  .related-products__heading {
    font-size: 2rem !important;
  }
}

/* Tablet adjustments */
@media screen and (min-width: 750px) and (max-width: 989px) {

  .collection-hero__title {
    font-size: 2.8rem !important;
  }

  .product__title h1,
  .product__title .h1 {
    font-size: 2.6rem !important;
  }

  .product .price {
    font-size: 2rem !important;
  }

  .article-template__title {
    font-size: 2.8rem !important;
  }

  .blog__title {
    font-size: 2.8rem !important;
  }

  .drawer__inner {
    width: 42rem !important;
  }

  .quick-add-modal__content {
    width: 85% !important;
  }
}

/* Large screens */
@media screen and (min-width: 990px) {

  /* Hover effects on desktop */
  .card-wrapper:hover .card--card:after,
  .card-wrapper:hover .card--standard .card__inner:after {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
  }

  .card-wrapper:hover {
    transform: translateY(-4px) !important;
  }

  .article-card:hover {
    transform: translateY(-4px) !important;
  }

  /* Product media zoom icon on hover */
  .product__modal-opener .product__media-icon {
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }

  .product__modal-opener:hover .product__media-icon {
    opacity: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   23. PRINT STYLES
   -------------------------------------------------------------------------- */

@media print {
  .drawer,
  .cart-drawer,
  .predictive-search,
  .quick-add-modal,
  .popup-modal,
  .modal,
  .newsletter {
    display: none !important;
  }

  body {
    color: #000 !important;
    background: #fff !important;
  }

  a {
    color: #000 !important;
    text-decoration: underline !important;
  }
}

/* --------------------------------------------------------------------------
   24. REDUCED MOTION
   -------------------------------------------------------------------------- */

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

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

  .article-card:hover {
    transform: none !important;
  }
}
