
/* Custom CSS theme */
@charset "UTF-8";
/* =============================================
   DBEASTCO WELLNESS — VALLEY GREEN ECWID THEME
   Aligned with david-sicairos-site
   ============================================= */
/* ---------- Core palette ---------- */
:root {
  --dbeast-green: #2f7d55;
  --dbeast-green-dark: #245f42;
  --dbeast-bg: #f4f8f4;
  --dbeast-surface: #ffffff;
  --dbeast-line: #d8e4d8;
  --dbeast-text: #17251d;
  --dbeast-muted: #5d7263;
}

/* ---------- Global storefront ---------- */
.ecwid,
.ecwid div,
.ecwid span,
.ecwid a,
.ecwid p,
.ecwid h1,
.ecwid h2,
.ecwid h3,
.ecwid h4 {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

.ecwid div,
.ecwid span,
.ecwid a,
.ecwid p,
.ecwid h1,
.ecwid h2,
.ecwid h3,
.ecwid h4 {
  color: #17251d !important;
}

.ecwid-productBrowser,
.ec-store,
.ec-store__page {
  background: #f4f8f4 !important;
  color: #17251d !important;
}

.ecwid a,
.ec-store__link,
.ec-store__breadcrumbs a {
  color: #2f7d55 !important;
}

.ecwid a:hover,
.ec-store__link:hover,
.ec-store__breadcrumbs a:hover {
  color: #245f42 !important;
}

/* ---------- Store layout & centering all ---------- */
.ecwid,
.ec-store {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

.ec-size .ec-store__content-wrapper {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto !important;
  padding: 24px 16px 24px;
}

.ec-size .ec-store .ec-store__content-wrapper {
  background: transparent;
}

/* ---------- Product grid ---------- */
.ec-size .ec-store .grid__products {
  gap: 18px;
  justify-content: center !important;
}

.ec-size .ec-store .grid-product__wrap {
  background: #ffffff;
  border: 1px solid #d8e4d8;
  border-radius: 18px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
  display: flex;
  flex-direction: column;
}

.ec-size .ec-store .grid-product__wrap:hover {
  border-color: #2f7d55;
  box-shadow: 0 10px 26px rgba(47, 125, 85, 0.12);
}

.ec-size .ec-store .grid-product__title-inner {
  color: #17251d !important;
  font-weight: 700;
  line-height: 1.35;
  text-align: center !important;
}

.ec-size .ec-store .grid-product__price-amount {
  color: #17251d !important;
  font-weight: 800;
}

.ec-size .ec-store .grid-product__price-value.ec-price-item {
  font-size: 18px !important;
}

.ec-size .ec-store .grid-product__price {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}

.ec-size .ec-store .grid-product__wrap-inner:hover .grid-product__picture {
  transform: none;
}

/* ---------- Category navigation ---------- */
.ec-size .ec-store .grid__categories {
  gap: 16px;
  justify-content: center !important;
}

.ec-size .ec-store .grid-category {
  background: #ffffff;
  border: 1px solid #d8e4d8;
  border-radius: 18px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.ec-size .ec-store .grid-category:hover {
  border-color: #2f7d55;
  box-shadow: 0 10px 24px rgba(47, 125, 85, 0.1);
}

.ec-size .ec-store .grid-category__title-inner {
  color: #17251d !important;
  font-weight: 700;
  text-align: center !important;
}

.ec-size .ec-store .grid-category__wrap-inner:hover .grid-category__bg-image {
  transform: none;
}

/* ---------- Product page ---------- */
.ec-size .ec-store .product-details {
  background: #ffffff;
  border: 1px solid #d8e4d8;
  border-radius: 22px;
  padding: 24px;
}

.ec-size .ec-store .ec-header-h3 {
  color: #17251d !important;
  font-weight: 800;
}

.ec-size .ec-store .details-product-price__value {
  color: #17251d !important;
  font-size: 26px !important;
  font-weight: 800;
}

.ec-size .ec-store .product-details__product-sku,
.ec-size .ec-store .details-product-purchase__place,
.ec-size .ec-store .product-details__product-description {
  color: #5d7263 !important;
}

/* Sale badge */
.ec-size .ec-store .label--notice {
  background-color: #2f7d55 !important;
  border-color: #2f7d55 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.ec-size .ec-store .label--notice::after,
.ec-size .ec-store .label--notice::before {
  color: #ffffff !important;
}

/* ---------- Primary buttons ---------- */
.ec-size .ec-store .form-control--primary .form-control__button {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: 13px 24px !important;
  transition: background-color .2s ease, transform .15s ease;
}

.ec-size .ec-store .form-control--primary .form-control__button:hover {
  background: #245f42 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.ec-size .ec-store .details-product-purchase__add-buttons .form-control__button {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
}

.ec-size .ec-store .details-product-purchase__add-buttons .form-control__button:hover {
  background: #245f42 !important;
  color: #ffffff !important;
}

.ec-size .ec-store .grid-product__buy-now .form-control__button {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.ec-size .ec-store .grid-product__buy-now .form-control__button:hover {
  background: #245f42 !important;
  color: #ffffff !important;
}

/* ---------- Secondary buttons ---------- */
.ec-size .ec-store .details-product-purchase__add-buttons .form-control--secondary .form-control__button,
.ec-size .ec-store .form-control--secondary .form-control__button {
  background: transparent !important;
  color: #2f7d55 !important;
  border: 1px solid #2f7d55 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

.ec-size .ec-store .details-product-purchase__add-buttons .form-control--secondary .form-control__button:hover,
.ec-size .ec-store .form-control--secondary .form-control__button:hover {
  background: rgba(47, 125, 85, 0.08) !important;
  color: #245f42 !important;
}

/* ---------- Cart ---------- */
.ec-size .ec-store .ec-cart {
  background: #f4f8f4 !important;
}

.ec-size .ec-store .ec-cart-item {
  background: #ffffff;
  border: 1px solid #d8e4d8;
  border-radius: 16px;
}

.ec-size .ec-store .ec-cart-item__control-inner svg {
  color: #2f7d55;
  width: 26px;
  height: 26px;
  border-radius: 10px;
}

.ec-size .ec-store .ec-cart-item__control-inner svg g {
  stroke-width: 2px;
}

/* ---------- Checkout ---------- */
.ec-size .ec-store .ec-cart-step--payment .form-control__button {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.ec-size .ec-store .ec-cart-step--payment .form-control__button:hover {
  background: #245f42 !important;
  color: #ffffff !important;
}

.ec-size .ec-store .ec-cart__button--checkout .form-control__button {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.ec-size .ec-store .ec-cart__button--checkout .form-control__button:hover {
  background: #245f42 !important;
  color: #ffffff !important;
}

/* ---------- Search ---------- */
input.ecwid-search-widget__input[type="text"] {
  background: #ffffff !important;
  color: #17251d !important;
  border: 1px solid #d8e4d8 !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
}

input.ecwid-search-widget__input[type="text"]:focus {
  border-color: #2f7d55 !important;
  outline: none !important;
}

button.ecwid-search-widget__btn {
  background: #2f7d55 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
}

/* ---------- Bottom section centering ---------- */
/* Footer navigation, bottom links, and sign-in */
.ec-size .ec-store .ec-footer,
.ecwid-productBrowser-footer,
.ec-store__footer,
.ec-size .ec-store .footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Pagination / load more buttons at the bottom */
.ec-size .ec-store .grid__pager,
.ec-size .ec-store .ec-pager,
.ec-size .ec-store .pager {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 24px auto !important;
  text-align: center !important;
}

/* Cart & checkout bottom action areas */
.ec-size .ec-store .ec-cart__bottom,
.ec-size .ec-store .ec-cart__actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 auto !important;
}

/* ---------- Mobile refinement ---------- */
@media (max-width: 720px) {
  .ec-size .ec-store__content-wrapper {
    padding: 16px 12px 48px;
  }
  .ec-size .ec-store .product-details {
    padding: 18px;
    border-radius: 18px;
  }
  .ec-size .ec-store .grid-product__wrap {
    border-radius: 16px;
  }
}
