/*
Theme Name: Finesse Pastries
Theme URI: https://finessepastries.com
Description: Bespoke GeneratePress child theme for Finesse Pastries — a clean, food-forward recipe site (Simply Recipes inspired). Renders its own header/footer/templates; unique namespace (.fp-) and prefix (fp_).
Author: Finesse Pastries
Template: generatepress
Version: 1.0.0
Text Domain: finesse-pastries
*/

:root{
  --fp-bg:#ffffff;
  --fp-surface:#faf8f4;       /* warm off-white panels */
  --fp-ink:#20201d;           /* near-black */
  --fp-muted:#6c6862;         /* secondary text */
  --fp-teal:#5f6b3e;          /* primary accent — olive/sage, matched to the logo */
  --fp-teal-dark:#4a5430;
  --fp-clay:#c2603f;          /* warm secondary accent */
  --fp-sand:#f1ece2;          /* tints / fills */
  --fp-line:#e7e3da;          /* hairlines */

  --fp-serif:"PT Serif",Georgia,"Times New Roman",serif;
  --fp-sans:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --fp-wrap:1200px;
  --fp-gut:clamp(16px,4vw,40px);
  --fp-radius:6px;
}

*{box-sizing:border-box;}
body.fp{background:var(--fp-bg);color:var(--fp-ink);font-family:var(--fp-serif);font-size:18px;line-height:1.7;margin:0;-webkit-font-smoothing:antialiased;}
.fp h1,.fp h2,.fp h3,.fp h4{font-family:var(--fp-sans);font-weight:800;line-height:1.15;letter-spacing:-0.01em;color:var(--fp-ink);margin:0 0 .5em;}
.fp h1{font-size:clamp(1.9rem,4.4vw,3rem);}
.fp h2{font-size:clamp(1.4rem,3vw,2rem);}
.fp p{margin:0 0 1.1em;}
.fp img{max-width:100%;height:auto;display:block;}
.fp a{color:var(--fp-teal);text-decoration:none;}
.fp a:hover{color:var(--fp-teal-dark);text-decoration:underline;}
.fp-wrap{max-width:var(--fp-wrap);margin-inline:auto;padding-inline:var(--fp-gut);}
.fp-eyebrow{font-family:var(--fp-sans);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fp-teal);}
.fp-section{padding-block:clamp(30px,5vw,56px);}

/* Buttons */
.fp-btn{display:inline-block;font-family:var(--fp-sans);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:13px 26px;border-radius:999px;background:var(--fp-teal);color:#fff!important;border:1px solid var(--fp-teal);transition:background .18s,border-color .18s;}
.fp-btn:hover{background:var(--fp-teal-dark);border-color:var(--fp-teal-dark);text-decoration:none;}

/* Header */
.fp-topbar{background:var(--fp-ink);color:#f3efe6;text-align:center;font-family:var(--fp-sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:7px 16px;}
.fp-header{background:var(--fp-bg);border-bottom:1px solid var(--fp-line);position:sticky;top:0;z-index:50;}
.fp-header__bar{display:flex;align-items:center;justify-content:center;position:relative;padding:18px 0 14px;}
.fp-brand{font-family:var(--fp-sans);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;color:var(--fp-ink);text-decoration:none;text-align:center;}
.fp-brand:hover{text-decoration:none;color:var(--fp-ink);}
.fp-brand span{color:var(--fp-teal);}
.fp-brand img{height:clamp(34px,4.5vw,50px);width:auto;display:block;}
.fp-nav{display:flex;justify-content:center;gap:30px;list-style:none;margin:0;padding:0 0 12px;border-bottom:1px solid var(--fp-line);}
.fp-nav a{font-family:var(--fp-sans);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fp-ink);text-decoration:none;padding-bottom:4px;}
.fp-nav a:hover{color:var(--fp-teal);text-decoration:none;border-bottom:2px solid var(--fp-teal);}
.fp-navtoggle{display:none;position:absolute;left:var(--fp-gut);top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;width:40px;height:40px;}
.fp-navtoggle span{display:block;width:24px;height:2px;background:var(--fp-ink);margin:5px auto;}

/* Hero */
.fp-hero{margin-block:clamp(20px,3vw,34px);}
.fp-hero__inner{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,3vw,40px);align-items:center;}
.fp-hero__img{aspect-ratio:3/2;background:var(--fp-sand) center/cover no-repeat;border-radius:var(--fp-radius);}
.fp-hero__img--ph{display:grid;place-items:center;color:var(--fp-teal);font-family:var(--fp-sans);font-weight:800;}
.fp-hero__title{font-size:clamp(1.8rem,3.6vw,2.7rem);margin:.2em 0 .35em;}
.fp-hero__title a{color:var(--fp-ink);}
.fp-hero__title a:hover{color:var(--fp-teal);text-decoration:none;}

/* Category tiles */
.fp-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.fp-tile{display:block;text-align:center;text-decoration:none;}
.fp-tile__circ{aspect-ratio:1;border-radius:50%;background:var(--fp-sand) center/cover no-repeat;margin-bottom:10px;display:grid;place-items:center;color:var(--fp-teal);font-family:var(--fp-sans);font-weight:800;font-size:1.4rem;}
.fp-tile__label{font-family:var(--fp-sans);font-weight:700;font-size:.92rem;color:var(--fp-ink);letter-spacing:.02em;}
.fp-tile:hover .fp-tile__label{color:var(--fp-teal);}

/* Featured collections (roundups) */
.fp-collections{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fp-coll{position:relative;display:flex;align-items:flex-end;min-height:210px;border-radius:var(--fp-radius);overflow:hidden;text-decoration:none;background:var(--fp-sand) center/cover no-repeat;box-shadow:inset 0 -120px 90px -40px rgba(20,16,12,.82);}
.fp-coll--ph{background:var(--fp-teal);}
.fp-coll:hover{transform:translateY(-2px);transition:transform .15s ease;}
.fp-coll__pill{position:absolute;top:12px;left:12px;background:#fff;color:var(--fp-teal-dark);font-family:var(--fp-sans);font-weight:800;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;}
.fp-coll__title{position:relative;z-index:1;color:#fff;font-family:var(--fp-sans);font-weight:800;font-size:1.12rem;line-height:1.22;padding:18px;text-shadow:0 1px 8px rgba(0,0,0,.4);}

/* Category hero + featured */
.fp-cathero{text-align:center;padding:clamp(22px,4vw,42px) 0 6px;}
.fp-cathero__circ{display:block;width:84px;height:84px;border-radius:50%;margin:0 auto 14px;background:var(--fp-sand) center/cover no-repeat;border:3px solid #fff;box-shadow:0 2px 14px rgba(20,16,12,.12);}
.fp-cathero__title{font-size:clamp(2rem,5vw,3rem);line-height:1.05;margin:4px 0 12px;}
.fp-cathero__desc{max-width:660px;margin:0 auto;color:var(--fp-muted);font-size:1.06rem;line-height:1.6;}
.fp-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,3vw,38px);align-items:center;margin:6px 0 40px;padding-bottom:36px;border-bottom:1px solid var(--fp-line);}
.fp-feature__img{display:block;aspect-ratio:4/3;background:var(--fp-sand) center/cover no-repeat;border-radius:var(--fp-radius);}
.fp-feature__title{font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.12;margin:.2em 0 .35em;}
.fp-feature__title a{color:var(--fp-ink);}
.fp-feature__title a:hover{color:var(--fp-teal);text-decoration:none;}
.fp-feature__body p{color:var(--fp-muted);font-size:1.04rem;margin:0 0 .5em;}
.fp-feature__body .fp-card__meta{display:block;}
.fp-feature__body .fp-btn{display:inline-block;}

/* Card grid */
.fp-grid{display:grid;gap:26px;}
.fp-grid--4{grid-template-columns:repeat(4,1fr);}
.fp-grid--3{grid-template-columns:repeat(3,1fr);}
.fp-card{display:flex;flex-direction:column;}
.fp-card__img{display:block;aspect-ratio:3/2;background:var(--fp-sand) center/cover no-repeat;border-radius:var(--fp-radius);}
.fp-card__img--ph{display:grid;place-items:center;color:var(--fp-teal);font-family:var(--fp-sans);font-weight:800;font-size:.9rem;}
.fp-card__cat{font-family:var(--fp-sans);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-teal);margin:12px 0 5px;}
.fp-card__title{font-family:var(--fp-sans);font-weight:800;font-size:1.08rem;line-height:1.25;margin:0 0 6px;}
.fp-card__title a{color:var(--fp-ink);}
.fp-card__title a:hover{color:var(--fp-teal);text-decoration:none;}
.fp-card__meta{font-size:.85rem;color:var(--fp-muted);font-family:var(--fp-sans);}

/* Section heads */
.fp-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid var(--fp-ink);padding-bottom:8px;margin-bottom:22px;}
.fp-head h2{margin:0;font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em;}
.fp-head a{font-family:var(--fp-sans);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}

/* Single / article */
.fp-article{max-width:760px;margin-inline:auto;}
.fp-crumb{font-family:var(--fp-sans);font-size:.8rem;color:var(--fp-muted);padding-block:14px;}
.fp-posthead h1{margin:.15em 0 .3em;}
.fp-byline{display:flex;align-items:center;gap:12px;margin:14px 0;font-family:var(--fp-sans);font-size:.9rem;color:var(--fp-muted);}
.fp-byline img{width:46px;height:46px;border-radius:50%;object-fit:cover;}
.fp-byline b{color:var(--fp-ink);}
.fp-entry h2{margin-top:1.5em;}
.fp-entry img{border-radius:var(--fp-radius);margin-block:1.2em;}
.fp-authorbox{display:flex;gap:18px;align-items:flex-start;background:var(--fp-surface);border:1px solid var(--fp-line);border-radius:var(--fp-radius);padding:22px 24px;margin:34px 0;}
.fp-authorbox img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;}
.fp-authorhead{display:flex;gap:22px;align-items:center;padding-block:30px;border-bottom:1px solid var(--fp-line);margin-bottom:10px;}
.fp-authorhead img{width:100px;height:100px;border-radius:50%;object-fit:cover;flex:none;}

/* Footer */
.fp-footer{background:var(--fp-ink);color:#d9d4ca;margin-top:60px;}
.fp-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-block:48px;}
.fp-footer__brand{font-family:var(--fp-sans);font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:.4em;}
.fp-footer__brand span{color:var(--fp-clay);}
.fp-footer p{color:#b7b1a6;font-size:.96rem;}
.fp-footer h4{color:#fff;font-family:var(--fp-sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9em;}
.fp-footer ul{list-style:none;margin:0;padding:0;}
.fp-footer li{margin-bottom:.5em;}
.fp-footer a{color:#d9d4ca;font-size:.95rem;}
.fp-footer a:hover{color:#fff;}
.fp-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:18px;font-size:.82rem;color:#9a948a;text-align:center;font-family:var(--fp-sans);}

/* Pagination */
.fp-pager{display:flex;gap:8px;justify-content:center;margin-top:36px;}
.fp-pager a,.fp-pager .current{font-family:var(--fp-sans);font-weight:700;padding:9px 15px;border:1px solid var(--fp-line);border-radius:6px;text-decoration:none;color:var(--fp-ink);}
.fp-pager .current{background:var(--fp-teal);color:#fff;border-color:var(--fp-teal);}

/* Responsive */
@media(max-width:900px){
  .fp-grid--4{grid-template-columns:repeat(2,1fr);}
  .fp-grid--3{grid-template-columns:repeat(2,1fr);}
  .fp-footer__top{grid-template-columns:1fr 1fr;gap:24px;}
  .fp-hero__inner{grid-template-columns:1fr;}
  .fp-feature{grid-template-columns:1fr;}
  .fp-tiles{grid-template-columns:repeat(3,1fr);}
  .fp-collections{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .fp-grid--4,.fp-grid--3{grid-template-columns:1fr 1fr;}
  .fp-footer__top{grid-template-columns:1fr;}
  .fp-tiles{grid-template-columns:repeat(2,1fr);}
  .fp-collections{grid-template-columns:1fr;}
  .fp-nav{position:fixed;inset:0 0 0 28%;flex-direction:column;justify-content:flex-start;gap:18px;background:var(--fp-bg);padding:78px 26px;transform:translateX(100%);transition:transform .25s;box-shadow:-10px 0 30px rgba(0,0,0,.12);z-index:60;border:0;}
  .fp-nav.is-open{transform:none;}
  .fp-navtoggle{display:block;z-index:70;}
  .fp-header__bar{justify-content:flex-start;padding-left:54px;}
}

/* ── Recipe post: action bar, steps, FAQ, recipe card ── */
.fp-actionbar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px;}
.fp-actionbar a{font-family:var(--fp-sans);font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:11px 20px;border-radius:999px;text-decoration:none;border:1.5px solid var(--fp-line);color:var(--fp-ink);cursor:pointer;}
.fp-actionbar a.fp-jump{background:var(--fp-teal);color:#fff;border-color:var(--fp-teal);}
.fp-actionbar a:hover{border-color:var(--fp-teal);color:var(--fp-teal);text-decoration:none;}
.fp-actionbar a.fp-jump:hover{background:var(--fp-teal-dark);color:#fff;}
.fp-why{background:var(--fp-surface);border:1px solid var(--fp-line);border-radius:var(--fp-radius);padding:18px 22px;margin:26px 0;}
.fp-why h2{font-size:1.2rem;margin:0 0 .4em;}
.fp-why ul{margin:0;padding-left:1.1em;}
.fp-why li{margin-bottom:.35em;}
.fp-step{margin:1.5em 0;}
.fp-step h3{font-family:var(--fp-sans);font-size:1.12rem;margin:0 0 .3em;}
.fp-step img{border-radius:var(--fp-radius);margin-top:.7em;width:100%;}
.fp-faq__q{font-family:var(--fp-sans);font-weight:800;font-size:1.04rem;margin:1.2em 0 .2em;}
.fp-rcard{border:2px solid var(--fp-teal);border-radius:12px;padding:26px;margin:38px 0;background:var(--fp-surface);scroll-margin-top:90px;}
.fp-rcard__head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.fp-rcard__img{width:170px;height:128px;object-fit:cover;border-radius:var(--fp-radius);flex:none;}
.fp-rcard__title{margin:.1em 0 .2em;font-size:1.55rem;}
.fp-rcard__rating{font-family:var(--fp-sans);color:var(--fp-teal);font-weight:700;font-size:.9rem;}
.fp-rcard__rating span{color:var(--fp-muted);font-weight:400;}
.fp-rcard__meta{display:flex;flex-wrap:wrap;gap:20px;border-block:1px solid var(--fp-line);margin:18px 0;padding:14px 0;font-family:var(--fp-sans);}
.fp-rcard__meta span{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fp-muted);}
.fp-rcard__meta b{font-size:1.05rem;}
.fp-rcard__cols{display:grid;grid-template-columns:1fr 1.6fr;gap:30px;}
.fp-rcard h3{font-family:var(--fp-sans);font-size:1.05rem;border-bottom:2px solid var(--fp-ink);padding-bottom:5px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.03em;}
.fp-rcard__ing ul{padding-left:1.1em;margin:0;}
.fp-rcard__ing li{margin-bottom:.55em;}
.fp-rcard__steps ol{padding-left:1.2em;margin:0;}
.fp-rcard__steps li{margin-bottom:.85em;}
.fp-rcard__notes{padding-left:1.1em;margin:0;}
.fp-rcard__nutri{margin-top:20px;border-top:1px solid var(--fp-line);padding-top:14px;display:flex;gap:24px;flex-wrap:wrap;font-family:var(--fp-sans);}
.fp-rcard__nutri div{font-size:.82rem;color:var(--fp-muted);}
.fp-rcard__nutri b{display:block;font-size:1.15rem;color:var(--fp-ink);}
@media(max-width:680px){.fp-rcard__cols{grid-template-columns:1fr;}.fp-rcard__img{width:100%;height:200px;}}

/* ── Roundup listicle ── */
.fp-toc{background:var(--fp-surface);border:1px solid var(--fp-line);border-radius:var(--fp-radius);padding:18px 22px;margin:24px 0;}
.fp-toc h2{font-size:1.1rem;margin:0 0 .5em;}
.fp-toc ol{columns:2;column-gap:30px;margin:0;padding-left:1.3em;font-family:var(--fp-sans);font-size:.92rem;}
.fp-toc li{margin-bottom:.35em;break-inside:avoid;}
@media(max-width:600px){.fp-toc ol{columns:1;}}
.fp-ritem{margin:0 0 40px;padding-bottom:34px;border-bottom:1px solid var(--fp-line);scroll-margin-top:84px;}
.fp-ritem h2{margin:0 0 .35em;}
.fp-ritem__num{color:var(--fp-teal);font-family:var(--fp-sans);font-weight:800;margin-right:.25em;}
.fp-ritem__img{width:100%;border-radius:var(--fp-radius);margin:.3em 0 .9em;aspect-ratio:4/3;object-fit:cover;display:block;}
.fp-ritem__card{background:var(--fp-surface);border:1px solid var(--fp-line);border-left:4px solid var(--fp-teal);border-radius:var(--fp-radius);padding:18px 22px;margin-top:14px;}
.fp-ritem__meta{display:flex;flex-wrap:wrap;gap:20px;font-family:var(--fp-sans);font-size:.82rem;color:var(--fp-muted);margin-bottom:14px;}
.fp-ritem__meta b{color:var(--fp-ink);}
.fp-ritem__cols{display:grid;grid-template-columns:1fr 1.5fr;gap:26px;}
.fp-ritem__card h4{font-family:var(--fp-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--fp-line);padding-bottom:4px;margin:0 0 10px;}
.fp-ritem__card ul{padding-left:1.1em;margin:0;}
.fp-ritem__card ol{padding-left:1.2em;margin:0;}
.fp-ritem__card li{margin-bottom:.45em;font-size:.95rem;}
@media(max-width:680px){.fp-ritem__cols{grid-template-columns:1fr;}}
