/*
Theme Name: Fit Family Coach
Theme URI: https://fitfamilycoach.com
Author: Fit Family Coach
Description: Mobile-first WordPress Block Theme for a WooCommerce digital-product shop (programs, diet plans, workouts, eBooks, Canva templates). Elementor-free, lightweight, Gutenberg/Site Editor + WooCommerce compatible.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fitfamilycoach
Tags: block-theme, woocommerce, e-commerce, one-column, mobile-first
*/

/* ---------- Base ---------- */
:root{
  --ffc-brand:#0f9d58;
  --ffc-brand-dark:#0b7a44;
  --ffc-coral:#ff6b5e;
  --ffc-coral-dark:#e6544a;
  --ffc-text:#1c1c1c;
  --ffc-muted:#6b7280;
  --ffc-bg:#ffffff;
  --ffc-chip-bg:#f2f4f3;
  --ffc-border:#e5e7eb;
}

body{
  color:var(--ffc-text);
  background:var(--ffc-bg);
}

a{ color:var(--ffc-brand-dark); }

img{ max-width:100%; height:auto; display:block; }

/* ---------- Header ---------- */
.ffc-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 16px;
  border-bottom:1px solid var(--ffc-border);
  position:sticky;
  top:0;
  background:var(--ffc-bg);
  z-index:100;
}

.ffc-brand{ min-width:0; }
.ffc-header-inner .wp-block-site-title{
  font-size:18px;
  font-weight:700;
  margin:0;
  line-height:1.2;
}
.ffc-header-inner .wp-block-site-title a{ color:var(--ffc-text); text-decoration:none; }
.ffc-subtitle{
  margin:0;
  font-size:11px;
  color:var(--ffc-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ffc-header-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
}

/* Search block rendered icon-only in the header */
.ffc-header-actions .ffc-search-icon .wp-block-search__label{ display:none; }
.ffc-header-actions .ffc-search-icon .wp-block-search__inside-wrapper{
  border:none;
}
.ffc-header-actions .ffc-search-icon input.wp-block-search__input{
  display:none;
}
.ffc-header-actions .ffc-search-icon .wp-block-search__button{
  background:transparent;
  border:none;
  padding:6px;
  color:var(--ffc-text);
}
.ffc-header-actions .ffc-search-icon .wp-block-search__button svg{ fill:currentColor; width:22px; height:22px; }

/* Mini cart icon sizing */
.ffc-header-actions .wp-block-woocommerce-mini-cart{ display:flex; align-items:center; }
.ffc-header-actions .wc-block-mini-cart__button{
  background:transparent !important;
  border:none !important;
  padding:6px !important;
  color:var(--ffc-text) !important;
}

/* Kebab / 3-dot menu */
.ffc-more-menu{ position:relative; }
.ffc-more-toggle{
  background:transparent;
  border:none;
  font-size:22px;
  line-height:1;
  padding:6px 8px;
  cursor:pointer;
  color:var(--ffc-text);
}
.ffc-more-list{
  list-style:none;
  margin:0;
  padding:8px 0;
  position:absolute;
  right:0;
  top:110%;
  min-width:230px;
  background:#fff;
  border:1px solid var(--ffc-border);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  display:none;
  z-index:200;
}
.ffc-more-list.is-open{ display:block; }
.ffc-more-list li a{
  display:block;
  padding:10px 16px;
  color:var(--ffc-text);
  text-decoration:none;
  font-size:14px;
}
.ffc-more-list li a:hover{ background:var(--ffc-chip-bg); }
.ffc-more-list li.ffc-divider{ border-top:1px solid var(--ffc-border); margin:6px 0; }

/* Old top navigation must never appear on mobile / this theme has none in header, only in the kebab menu */

/* ---------- Homepage search bar ---------- */
.ffc-shop-search{ padding:12px 16px 4px; }
.ffc-shop-search .wp-block-search__inside-wrapper{
  border:1px solid var(--ffc-border);
  border-radius:999px;
  overflow:hidden;
}
.ffc-shop-search input.wp-block-search__input{
  border:none;
  padding:10px 14px;
}
.ffc-shop-search .wp-block-search__button{
  background:var(--ffc-brand);
  color:#fff;
  border:none;
  padding:0 16px;
}

/* ---------- Category chips ---------- */
.ffc-chip-row{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:10px 16px 4px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ffc-chip-row::-webkit-scrollbar{ display:none; }
.ffc-chip{
  flex:0 0 auto;
  background:var(--ffc-chip-bg);
  color:var(--ffc-text);
  padding:8px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}
.ffc-chip.is-active{ background:var(--ffc-brand); color:#fff; }

/* ---------- Hero ---------- */
.ffc-hero{
  margin:14px 16px;
  padding:20px;
  background:#eafaf1;
  border-radius:14px;
}
.ffc-hero h2{ margin:0 0 6px; font-size:20px; }
.ffc-hero p{ margin:0; color:var(--ffc-muted); font-size:14px; }

/* ---------- Main content width (mobile-first, simple constrained width) ---------- */
.ffc-main{ max-width:640px; margin:0 auto; padding:0 0 24px; }
.ffc-main h2.ffc-section-title{ padding:0 16px; font-size:17px; margin:18px 0 8px; }

/* ---------- WooCommerce product grid: 2 columns on mobile ---------- */
.ffc-main ul.products{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:14px !important;
  list-style:none;
  padding:0 16px;
  margin:0;
}
.ffc-main ul.products li.product{
  background:#fff;
  border:1px solid var(--ffc-border);
  border-radius:14px;
  padding:10px;
  text-align:left;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  transition:box-shadow .15s ease;
}
.ffc-main ul.products li.product:hover{
  box-shadow:0 6px 16px rgba(0,0,0,.09);
}
.ffc-main ul.products li.product img{
  border-radius:8px;
  aspect-ratio:1/1;
  object-fit:cover;
}
.ffc-main ul.products li.product .woocommerce-loop-product__title{
  font-size:13px;
  font-weight:600;
  margin:8px 0 2px;
  line-height:1.3;
}
.ffc-main ul.products li.product .price{
  font-size:13px;
  color:var(--ffc-brand-dark);
  font-weight:700;
  display:block;
  margin-bottom:6px;
}
.ffc-digital-badge{
  display:inline-block;
  background:#eef2ff;
  color:#3730a3;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  padding:2px 8px;
  border-radius:999px;
  margin:2px 0 6px;
}
.ffc-main ul.products li.product a.add_to_cart_button,
.ffc-main ul.products li.product a.button{
  display:block;
  width:100%;
  text-align:center;
  font-size:12px;
  padding:8px 6px;
  border-radius:8px;
  margin:4px 0 0;
  background:var(--ffc-brand);
  color:#fff;
  border:none;
}
.ffc-main ul.products li.product a.ffc-buy-now{
  display:block;
  width:100%;
  text-align:center;
  font-size:12px;
  padding:8px 6px;
  border-radius:8px;
  margin:6px 0 0;
  background:var(--ffc-coral);
  color:#fff;
  border:1.5px solid var(--ffc-coral);
  font-weight:600;
}
.ffc-main ul.products li.product a.ffc-buy-now:hover{
  background:var(--ffc-coral-dark);
  border-color:var(--ffc-coral-dark);
}

/* ---------- Trust / features strip ---------- */
.ffc-trust-row{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
  margin:20px 16px 4px;
  padding:14px 10px;
  background:var(--ffc-chip-bg);
  border-radius:12px;
  font-size:12px;
  font-weight:600;
  color:var(--ffc-text);
}
.ffc-trust-row li{ white-space:nowrap; }

@media (min-width:700px){
  .ffc-main{ max-width:1000px; }
  .ffc-main ul.products{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (min-width:1000px){
  .ffc-main ul.products{ grid-template-columns:repeat(4,1fr) !important; }
}

/* ---------- Footer (small on mobile) ---------- */
.ffc-footer{
  padding:14px 16px 26px;
  text-align:center;
  border-top:1px solid var(--ffc-border);
  margin-top:10px;
}
.ffc-footer-links{
  font-size:12px;
  color:var(--ffc-muted);
  margin:0;
}
.ffc-footer-links a{ color:var(--ffc-muted); text-decoration:underline; }
