/* Formula Online — brand system */
:root{
  --fo-ink:#2E2E2C; --fo-ink-soft:#575752; --fo-cream:#F5F1EA; --fo-paper:#ffffff;
  --fo-sage:#5B7358; --fo-sage-dk:#435E3F; --fo-line:#E7E3DA; --fo-mist:#EEF1EC;
  --fo-serif:'Fraunces',Optima,'Palatino Linotype',Georgia,serif;
  --fo-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
body{background:var(--fo-paper);color:var(--fo-ink);font-family:var(--fo-sans);}
h1,h2,h3,h4{font-family:var(--fo-serif);font-weight:600;letter-spacing:-.01em;color:var(--fo-ink);}
a{color:var(--fo-sage-dk);}
.ast-container,.site-content .ast-container{max-width:1240px;}

/* header / footer */
.site-header,.ast-primary-header-bar{background:var(--fo-paper)!important;border-bottom:1px solid var(--fo-line);}
.site-header .custom-logo-link img{max-height:54px;width:auto;}
.main-header-menu a{font-family:var(--fo-sans);font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--fo-ink)!important;}
.main-header-menu a:hover{color:var(--fo-sage-dk)!important;}
.site-footer,.ast-small-footer{background:var(--fo-ink)!important;color:var(--fo-cream)!important;}
.site-footer a,.ast-small-footer a{color:var(--fo-cream)!important;opacity:.82;}
.site-footer a:hover{opacity:1;}

/* buttons */
.fo-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wp-block-button__link{
  display:inline-block;background:var(--fo-sage);color:#fff!important;border:0;border-radius:3px;
  padding:.86rem 1.8rem;font-family:var(--fo-sans);font-size:.78rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;line-height:1.2;cursor:pointer;
  transition:background .18s ease;}
.fo-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.wp-block-button__link:hover{background:var(--fo-sage-dk);}

/* hero */
.fo-hero{background:linear-gradient(160deg,var(--fo-mist) 0%,var(--fo-cream) 62%,#fff 100%);
  padding:clamp(64px,10vw,132px) 20px;text-align:center;border-bottom:1px solid var(--fo-line);}
.fo-hero-inner{max-width:760px;margin:0 auto;}
.fo-kicker{font-family:var(--fo-sans);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;
  font-weight:600;color:var(--fo-sage-dk);margin:0 0 18px;}
.fo-hero-title{font-size:clamp(2.4rem,6vw,4.1rem);line-height:1.04;margin:0 0 20px;}
.fo-hero-sub{font-family:var(--fo-sans);font-size:1.08rem;line-height:1.65;color:var(--fo-ink-soft);
  max-width:540px;margin:0 auto 30px;}

/* values band */
.fo-band{background:var(--fo-paper);padding:56px 20px;border-bottom:1px solid var(--fo-line);}
.fo-values{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.fo-value{text-align:center;}
.fo-value h3{font-size:1.18rem;margin:14px 0 8px;}
.fo-value p{font-family:var(--fo-sans);color:var(--fo-ink-soft);font-size:.95rem;line-height:1.6;margin:0;}
.fo-ico{display:inline-block;width:40px;height:40px;background:var(--fo-sage);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.fo-ico-leaf{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C7 4 4 8 4 13c0 4 3 8 8 9 0-6 2-9 6-12-3 1-6 3-7 6 0-5 1-9 1-14z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C7 4 4 8 4 13c0 4 3 8 8 9 0-6 2-9 6-12-3 1-6 3-7 6 0-5 1-9 1-14z'/%3E%3C/svg%3E");}
.fo-ico-drop{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2s7 8 7 13a7 7 0 1 1-14 0c0-5 7-13 7-13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2s7 8 7 13a7 7 0 1 1-14 0c0-5 7-13 7-13z'/%3E%3C/svg%3E");}
.fo-ico-gift{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 7h-3a3 3 0 0 0-5-3 3 3 0 0 0-5 3H4v4h1v9h14v-9h1V7zm-8 0a1 1 0 1 1 2 0h-2zm-3-1a1 1 0 0 1 2 1H9a1 1 0 0 1 0-1zm2 13H7v-7h4v7zm6 0h-4v-7h4v7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 7h-3a3 3 0 0 0-5-3 3 3 0 0 0-5 3H4v4h1v9h14v-9h1V7zm-8 0a1 1 0 1 1 2 0h-2zm-3-1a1 1 0 0 1 2 1H9a1 1 0 0 1 0-1zm2 13H7v-7h4v7zm6 0h-4v-7h4v7z'/%3E%3C/svg%3E");}

/* sections */
.fo-section{padding:clamp(48px,7vw,84px) 20px;max-width:1240px;margin:0 auto;}
.fo-section.fo-cream{background:var(--fo-cream);max-width:none;}
.fo-section.fo-cream>*{max-width:1240px;margin-left:auto;margin-right:auto;}
.fo-h2{font-size:clamp(1.7rem,3.6vw,2.5rem);text-align:center;margin:0 0 8px;}
.fo-sectn-sub{font-family:var(--fo-sans);text-align:center;color:var(--fo-ink-soft);margin:0 auto 34px;max-width:520px;}
.fo-center{text-align:center;margin-top:34px;}

/* category tiles */
.fo-cats{max-width:1180px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fo-cat{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/3;
  background:var(--fo-mist);text-decoration:none;}
.fo-cat img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.fo-cat:hover img{transform:scale(1.05);}
.fo-cat span{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff;font-family:var(--fo-serif);
  font-size:1.18rem;font-weight:600;background:linear-gradient(0deg,rgba(46,46,44,.72) 0%,rgba(46,46,44,0) 100%);}

/* product grid polish (Astra/Woo) */
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--fo-serif);font-size:1.02rem;}
.woocommerce ul.products li.product .price{color:var(--fo-ink)!important;font-family:var(--fo-sans);}
.woocommerce-product-gallery{opacity:1!important;}

@media(max-width:900px){.fo-values,.fo-cats{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.fo-values,.fo-cats{grid-template-columns:1fr;}}
