/*
Theme Name: Faded Fruits
Template: astra
Author: Faded Fruits
Description: Luxury gummy superstore child theme for Astra
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Jost:wght@300;400;500;600&display=swap');

:root{
 --ff-ink:#14100F; --ff-ink-soft:#5C5450; --ff-ink-faint:#8B817B;
 --ff-cream:#FBF8F4; --ff-surface:#FFFFFF; --ff-sunken:#F4EEE6;
 --ff-pom:#9E1B1B; --ff-pom-dark:#7A1414; --ff-gold:#C9922F; --ff-gold-soft:#EBD9B4;
 --ff-rule:#E7DED2;
 --ff-shadow:0 1px 2px rgba(20,16,15,.04), 0 12px 32px -14px rgba(20,16,15,.18);
 --ff-shadow-lg:0 24px 60px -24px rgba(20,16,15,.34);
 --ff-max:78rem; --ff-prose:66ch;
 --ff-ease:cubic-bezier(.22,.61,.36,1);
}
body{background:var(--ff-cream);color:var(--ff-ink);font-family:'Jost',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Fraunces','Iowan Old Style',Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.15;text-wrap:balance;color:var(--ff-ink)}
a{color:var(--ff-pom);text-underline-offset:3px}
a:hover{color:var(--ff-gold)}

/* ---- shared shell ---- */
.ff-hero,.ff-trust,.ff-section,.ff-gallery,.ff-copy{max-width:var(--ff-max);margin-inline:auto;padding-inline:1.5rem}
.ff-section,.ff-gallery{padding-block:4.5rem}
.ff-section--alt{background:var(--ff-sunken);max-width:none;padding-inline:0}
.ff-section--alt>*{max-width:var(--ff-max);margin-inline:auto;padding-inline:1.5rem}
.ff-h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin:0 0 .6rem}
.ff-lede{max-width:var(--ff-prose);color:var(--ff-ink-soft);margin:0 0 2rem;font-size:1.05rem}
.ff-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ff-gold);font-weight:600;margin:0 0 1rem}

/* ---- hero ---- */
.ff-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center;padding-block:5rem 4rem}
.ff-hero__title{font-size:clamp(2.4rem,5.4vw,4rem);font-weight:700;margin:0 0 1.1rem}
.ff-hero__sub{font-size:1.12rem;color:var(--ff-ink-soft);max-width:46ch;margin:0 0 2rem}
.ff-hero__cta{display:flex;gap:.9rem;flex-wrap:wrap;margin:0}
.ff-hero__media{position:relative}
.ff-hero__img{width:100%;height:clamp(320px,44vw,520px);object-fit:cover;border-radius:2px;box-shadow:var(--ff-shadow-lg)}
.ff-hero__media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(20,16,15,.22),transparent);pointer-events:none}

/* ---- buttons ---- */
.ff-btn{display:inline-block;padding:.95rem 1.9rem;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background .25s var(--ff-ease),color .25s var(--ff-ease),transform .25s var(--ff-ease),box-shadow .25s var(--ff-ease)}
.ff-btn--primary{background:var(--ff-pom);color:#fff;border-color:var(--ff-pom)}
.ff-btn--primary:hover{background:var(--ff-gold);border-color:var(--ff-gold);color:var(--ff-ink);transform:translateY(-2px);box-shadow:var(--ff-shadow)}
.ff-btn--ghost{background:transparent;color:var(--ff-ink);border-color:var(--ff-rule)}
.ff-btn--ghost:hover{border-color:var(--ff-gold);color:var(--ff-gold);transform:translateY(-2px)}

/* ---- trust bar ---- */
.ff-trust{padding-block:2.5rem;border-block:1px solid var(--ff-rule)}
.ff-trust__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2rem}
.ff-trust__list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}
.ff-trust__icon{width:44px;height:44px;object-fit:contain}
.ff-trust h3{font-size:.95rem;margin:0 0 .15rem;font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.02em}
.ff-trust p{margin:0;font-size:.85rem;color:var(--ff-ink-faint);line-height:1.45}

/* ---- gallery ---- */
.ff-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1px;background:var(--ff-rule);border:1px solid var(--ff-rule)}
.ff-gallery__img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--ff-surface);transition:transform .6s var(--ff-ease),filter .6s var(--ff-ease)}
.ff-gallery__img:hover{transform:scale(1.04);filter:saturate(1.08)}

/* ---- long form copy ---- */
.ff-copy{padding-block:3.5rem}
.ff-copy h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2.8rem 0 .8rem}
.ff-copy h3{font-size:1.2rem;margin:1.8rem 0 .5rem}
.ff-copy p,.ff-copy li{max-width:var(--ff-prose);color:var(--ff-ink-soft)}
.ff-copy img{border-radius:2px;box-shadow:var(--ff-shadow)}

/* ---- woocommerce cards ---- */
.woocommerce ul.products li.product,.product-small.col{transition:transform .35s var(--ff-ease)}
.woocommerce ul.products li.product:hover,.product-small.col:hover{transform:translateY(-4px)}
.woocommerce ul.products li.product img{border-radius:2px;transition:filter .45s var(--ff-ease)}
.woocommerce ul.products li.product:hover img{filter:saturate(1.06)}
.woocommerce ul.products li.product .price{color:var(--ff-pom);font-weight:600}
.woocommerce span.onsale{background:var(--ff-gold);color:var(--ff-ink);border-radius:0;font-weight:600;letter-spacing:.06em}

/* ---- motion ---- */
@media (prefers-reduced-motion:no-preference){
 @supports (animation-timeline:view()){
  .ff-section,.ff-gallery,.ff-trust__list li,.ff-copy h2{animation:ff-rise linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
  @keyframes ff-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
 }
 .ff-hero__title{animation:ff-fade .9s var(--ff-ease) both}
 .ff-hero__sub{animation:ff-fade .9s var(--ff-ease) .12s both}
 .ff-hero__cta{animation:ff-fade .9s var(--ff-ease) .22s both}
 .ff-hero__media{animation:ff-fade 1.1s var(--ff-ease) .1s both}
 @keyframes ff-fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- responsive ---- */
@media (max-width:900px){
 .ff-hero{grid-template-columns:1fr;gap:2.25rem;padding-block:3rem 2.5rem}
 .ff-hero__media{order:-1}
 .ff-section,.ff-gallery{padding-block:3rem}
}
:focus-visible{outline:2px solid var(--ff-gold);outline-offset:3px}


/* ---- age gate, moved from Flatsome Additional CSS so it survives the theme switch ---- */
.age-gate__background-color{background:radial-gradient(ellipse at top,#2a1410,#12080a 55%,#080405)!important;opacity:1!important}
.age-gate{background:transparent!important;border:0!important;box-shadow:none!important;max-width:560px!important;text-align:center}
.age-gate__form{background:rgba(18,10,10,.78);border:1px solid rgba(232,163,61,.3);padding:52px 40px 40px;position:relative;box-shadow:0 30px 80px -30px #000}
.age-gate__form:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#9E1B1B,#E8A33D,#9E1B1B)}
.age-gate__heading-title{color:#fff!important;font-size:30px!important;letter-spacing:.02em;margin:0 0 8px!important;font-family:'Fraunces',Georgia,serif}
.age-gate__subheadline{color:#c9b8a8!important;font-size:14px;margin:0 0 26px}
.age-gate__challenge{color:#E8A33D!important;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 24px}
.age-gate__buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.age-gate button.age-gate__submit{background-color:transparent!important;background-image:none!important;border:1px solid #E8A33D!important;color:#E8A33D!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;min-width:132px;padding:14px 22px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;cursor:pointer}
.age-gate button.age-gate__submit--yes{background-color:#9E1B1B!important;border-color:#9E1B1B!important;color:#fff!important}
.age-gate button.age-gate__submit--yes:hover{background-color:#E8A33D!important;border-color:#E8A33D!important;color:#12080a!important}
.age-gate button.age-gate__submit--no:hover{background-color:rgba(232,163,61,.14)!important;color:#fff!important}
.age-gate__remember-wrapper{margin-top:22px}
.age-gate__remember-text{color:#9c8f85!important;font-size:12px}
.age-gate__errors{color:#E8A33D;margin-top:14px;font-size:13px}
