/**
 * Catalog skin. Loaded after Flatsome and store.css.
 * Shopping layout in the same family as a dense supplement catalog:
 * white page, text category rail, photo cards, open product buy box.
 */

body,
#wrapper,
#main,
.ffn-main-content {
  background: #fff !important;
}

.ffn-announcement-bar {
  background: #111 !important;
  color: #fff !important;
  font-size: 13px !important;
  min-height: 36px;
}
.ffn-announcement-bar strong {
  background: transparent !important;
  color: #fff !important;
  padding: 0 !important;
}

.ffn-hero-section {
  padding: 18px 0 0 !important;
  margin: 0 !important;
}
.ffn-hero-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}
.ffn-hero-badge {
  color: #6b7280 !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ffn-goals-section {
  margin: 8px 0 18px !important;
}
.ffn-goals-section .ffn-section-header {
  display: none;
}
.ffn-goals-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
}
.ffn-goal-card {
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  background: #f3f4f6 !important;
  border: 0 !important;
}
.ffn-goal-icon,
.ffn-goal-tag {
  display: none !important;
}
.ffn-goal-name {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.ffn-goal-card:hover {
  transform: none !important;
  background: #111 !important;
  color: #fff !important;
}

.ffn-section-title {
  font-size: 20px !important;
  font-weight: 700 !important;
}
.ffn-section-subtitle {
  display: none;
}

.ffn-product-grid,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 14px !important;
  margin: 0 0 28px !important;
}
ul.products::before,
ul.products::after,
.products .grid-col,
ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
}

.ffn-product-card,
ul.products li.product {
  border: 1px solid #eee !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  background: #fff !important;
  overflow: hidden;
}
.ffn-product-card:hover,
ul.products li.product:hover {
  transform: none !important;
  border-color: #ddd !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
}

.ffn-card-thumb-wrap {
  background: #fff !important;
  padding-top: 100% !important;
}
.ffn-card-thumb-wrap img,
ul.products li.product img {
  object-fit: contain !important;
  padding: 16px !important;
  background: #fff;
}

.ffn-badge-sale,
.badge,
.callout.badge {
  background: #e11d2e !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ffn-card-body {
  padding: 0 12px 14px !important;
}
.ffn-card-brand {
  color: #6b7280 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 500 !important;
}
.ffn-card-title,
.ffn-card-title a,
ul.products .woocommerce-loop-product__title,
ul.products .name {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #1a1a1a !important;
  height: auto !important;
  max-height: 2.7em;
}
.ffn-card-rating {
  color: #111 !important;
  font-size: 13px !important;
}
.ffn-card-rating span:first-child {
  color: #f5a524;
}
.ffn-card-price,
.ffn-card-price .amount,
.ffn-card-price ins,
.ffn-card-price ins .amount {
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.ffn-card-price del,
.ffn-card-price del .amount {
  color: #9ca3af !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
.ffn-card-action,
.ffn-card-body .button,
ul.products .add_to_cart_button {
  display: none !important;
}

.ffn-trust-row {
  box-shadow: none !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  padding: 16px 0 !important;
}

/* Product page */
.ffn-product-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 460px) minmax(0, 1fr) !important;
  gap: 40px !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 12px 0 0 !important;
  background: transparent !important;
}
.ffn-gallery-col,
.ffn-gallery-col .woocommerce-product-gallery,
.ffn-gallery-col .product-gallery,
.ffn-summary-col,
.ffn-summary-col.entry-summary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ffn-gallery-col .woocommerce-product-gallery {
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
}
.ffn-summary-col .product_title,
.ffn-summary-col h1 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin: 0 0 8px !important;
}
.ffn-summary-col .woocommerce-product-rating {
  margin: 0 0 12px !important;
}
.ffn-summary-col p.price,
.ffn-summary-col .price,
.ffn-summary-col .woocommerce-variation-price,
.ffn-summary-col .woocommerce-variation-price .price {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #111 !important;
  line-height: 1.1 !important;
}
.ffn-summary-col .price del,
.ffn-summary-col .price del .amount {
  font-size: 16px !important;
  color: #9ca3af !important;
  font-weight: 500 !important;
  margin-right: 8px;
}
.ffn-summary-col .price ins,
.ffn-summary-col .price ins .amount,
.ffn-summary-col .price > .amount {
  color: #111 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.ffn-summary-col table.variations {
  display: block;
  margin: 0 0 16px !important;
}
.ffn-summary-col table.variations tr {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}
.ffn-summary-col table.variations td,
.ffn-summary-col table.variations th {
  display: block;
  padding: 0 !important;
  text-align: left !important;
  width: 100% !important;
}
.ffn-summary-col table.variations label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}
.ffn-summary-col table.variations select,
.ffn-summary-col .quantity .qty {
  width: 100% !important;
  max-width: 100% !important;
  height: 44px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: 0 12px !important;
  font-size: 14px !important;
}
.ffn-summary-col form.cart {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 16px !important;
}
.ffn-summary-col form.cart .quantity {
  flex: 0 0 88px;
}
.ffn-summary-col form.cart .single_add_to_cart_button,
.ffn-summary-col button.single_add_to_cart_button {
  flex: 1 1 180px !important;
  width: auto !important;
  height: 48px !important;
  border-radius: 6px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.ffn-summary-col form.cart .single_add_to_cart_button:hover {
  background: #e11d2e !important;
}
.ffn-summary-col .woocommerce-product-details__short-description {
  order: 5;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.5;
}
.ffn-product-trust-box {
  background: #fafafa !important;
  border: 1px solid #eee !important;
  border-radius: 8px !important;
}

.ffn-product-details-tabs .woocommerce-tabs {
  margin-top: 28px;
  border-top: 1px solid #eee;
  padding-top: 8px;
}
.ffn-product-details-tabs ul.tabs {
  display: flex !important;
  gap: 18px;
  border-bottom: 1px solid #eee !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  list-style: none;
}
.ffn-product-details-tabs ul.tabs li {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
}
.ffn-product-details-tabs ul.tabs li a {
  padding: 10px 0 !important;
  font-weight: 600;
  color: #6b7280 !important;
}
.ffn-product-details-tabs ul.tabs li.active a {
  color: #111 !important;
  box-shadow: inset 0 -2px 0 #111;
}

.related.products,
.up-sells.products {
  margin-top: 36px;
}
.related.products > h2,
.up-sells.products > h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  .ffn-product-grid,
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .ffn-product-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
