/*
Theme Name: Cook for Love
Theme URI: https://cookforlove.org
Template: twentytwentyfive
Author: flok / Cook for Love
Description: Warm, polished child theme for the Cook for Love low-protein (PKU) recipe site, matched to the cookforlove.org brand: cream body, brick-red accents, terracotta hero, friendly serif headings, and WP Recipe Maker styled to suit.
Version: 1.2.0
Requires at least: 6.5
Tested up to: 6.8
License: GPL-2.0-or-later
Text Domain: cookforlove
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..800;1,9..144,400..600&family=Nunito+Sans:wght@400;600;700;800&display=swap');

:root{
  --cfl-cream:#FAF3EA; --cfl-card:#FFFFFF; --cfl-ink:#2B2620;
  --cfl-red:#B23A2E; --cfl-red-dark:#8E2C22; --cfl-terracotta:#C0603F;
  --cfl-sand:#F3E6D4; --cfl-rule:#ECDFCB; --cfl-muted:#7A6E5E;
  --cfl-shadow:0 6px 22px rgba(43,38,32,.08);
}

/* ---------- Base typography ---------- */
body{ background:var(--cfl-cream); color:var(--cfl-ink);
  font-family:"Nunito Sans",system-ui,sans-serif; font-size:1.05rem; line-height:1.7; }
h1,h2,h3,h4,.wp-block-heading{ font-family:"Fraunces",Georgia,serif; letter-spacing:-.015em; line-height:1.15; color:var(--cfl-ink); }
h2.wp-block-heading{ font-size:clamp(1.7rem,3vw,2.3rem); }
a{ color:var(--cfl-red); text-underline-offset:2px; }
a:hover{ color:var(--cfl-red-dark); }
.alignwide{ max-width:1180px; } .is-layout-constrained > *{ }

/* ---------- Header ---------- */
.cfl-site-header{ padding:14px 24px; border-bottom:1px solid var(--cfl-rule);
  box-shadow:0 1px 0 rgba(43,38,32,.02); position:sticky; top:0; z-index:50;
  -webkit-backdrop-filter:saturate(1.1) blur(2px); backdrop-filter:saturate(1.1) blur(2px);
  background:rgba(250,243,234,.92)!important; }
.cfl-site-header .wp-block-site-logo img{ max-width:200px; height:auto; display:block; }
.cfl-fallback-title{ display:none; } /* hide text title when logo present */
.cfl-nav{ font-family:"Nunito Sans",sans-serif; }
.cfl-nav a, .cfl-nav .wp-block-navigation-item__content{
  color:var(--cfl-ink); font-weight:700; font-size:.82rem; letter-spacing:.06em;
  text-transform:uppercase; text-decoration:none; }
.cfl-nav a:hover{ color:var(--cfl-red); }
.cfl-nav .current-menu-item a{ color:var(--cfl-red); }


/* header logo image */
.cfl-site-header .cfl-logo{ margin:0; }
.cfl-site-header .cfl-logo img{ max-width:210px; height:auto; display:block; }

/* ---------- Hero ---------- */
.cfl-hero{ background:var(--cfl-terracotta)!important; color:var(--cfl-cream)!important;
  text-align:center; }
.cfl-hero > *{ max-width:760px; margin-left:auto; margin-right:auto; }
.cfl-tagline{ font-family:"Fraunces",Georgia,serif; font-weight:600; color:#fff!important;
  font-size:clamp(1.9rem,4.4vw,3.1rem); line-height:1.12; margin-bottom:.4em;
  text-shadow:0 1px 0 rgba(0,0,0,.06); }
.cfl-hero p{ color:#fdeee5; }
.cfl-hero .wp-block-buttons{ margin-top:1.6em; }

/* ---------- Buttons ---------- */
.wp-block-button__link{ border-radius:999px; padding:.72em 1.6em; font-weight:700; font-size:.95rem; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link{ background:var(--cfl-red); color:#fff; border:2px solid transparent; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{ background:var(--cfl-red-dark); }
.cfl-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link{ background:#fff; color:var(--cfl-red); }
.is-style-outline .wp-block-button__link{ border:2px solid currentColor; background:transparent; }

/* ---------- Divider ---------- */
.cfl-divider{ height:12px; border:0; width:120px; margin:22px auto 30px;
  background:repeating-linear-gradient(90deg,var(--cfl-terracotta) 0 16px,transparent 16px 24px);
  opacity:.85; }
.cfl-divider.is-style-wide{ width:160px; }

/* ---------- Recipe card grid ---------- */
.cfl-card-grid{ gap:28px!important; }
.cfl-card-grid > li{ background:var(--cfl-card); border:1px solid var(--cfl-rule);
  border-radius:16px; overflow:hidden; box-shadow:var(--cfl-shadow);
  transition:transform .18s ease, box-shadow .18s ease; display:flex; flex-direction:column; }
.cfl-card-grid > li:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(43,38,32,.14); }
.cfl-card-grid .wp-block-post-featured-image{ margin:0; }
.cfl-card-grid .wp-block-post-featured-image img{ border-radius:0; width:100%; aspect-ratio:4/3; object-fit:cover; }
.cfl-card-grid .wp-block-post-title{ font-family:"Fraunces",serif; margin:16px 18px 6px; line-height:1.2; }
.cfl-card-grid .wp-block-post-title a{ color:var(--cfl-ink); text-decoration:none; }
.cfl-card-grid .wp-block-post-title a:hover{ color:var(--cfl-red); }
.cfl-card-grid .wp-block-post-excerpt{ margin:0 18px 18px; font-size:.95rem; color:var(--cfl-muted); }
.cfl-card-grid .wp-block-post-excerpt__more-text{ display:none; }

/* ---------- Single recipe / pages ---------- */
.cfl-single .wp-block-post-title,.cfl-page .wp-block-post-title{ font-size:clamp(2rem,4vw,2.7rem); }
.cfl-meta{ color:var(--cfl-muted); font-size:.92rem; gap:8px; align-items:center; margin:6px 0 4px; }
.cfl-meta .wp-block-post-author-name{ font-weight:700; color:var(--cfl-red); }
.cfl-single .wp-block-post-featured-image img{ border-radius:16px; max-height:520px; object-fit:cover; width:100%; }
.cfl-page h2,.cfl-page h3{ margin-top:1.4em; }
.cfl-page .wp-block-list li{ margin:.4em 0; }

/* ---------- Footer ---------- */
.cfl-site-footer{ background:var(--cfl-red)!important; color:var(--cfl-cream)!important; margin-top:64px; }
.cfl-site-footer h3{ color:#fff; }
.cfl-site-footer .wp-block-social-links{ margin:14px 0; }

/* ---------- WP Recipe Maker card -> CFL brand ---------- */
.wprm-recipe-template-default,.wprm-recipe,.wprm-recipe-container{
  background:var(--cfl-card); border:1px solid var(--cfl-rule); border-radius:16px;
  padding:10px 14px; box-shadow:var(--cfl-shadow); }
.wprm-recipe-name{ font-family:"Fraunces",Georgia,serif!important; color:var(--cfl-ink)!important; }
.wprm-recipe-header,.wprm-recipe-ingredients-header,.wprm-recipe-instructions-header,
.wprm-recipe-notes-header,.wprm-recipe-nutrition-header,.wprm-recipe-equipment-header{
  color:var(--cfl-red)!important; font-family:"Fraunces",serif!important; }
.wprm-recipe-ingredient-group-name,.wprm-recipe-instruction-group-name{
  color:var(--cfl-terracotta)!important; font-weight:700; font-family:"Fraunces",serif!important; }
.wprm-recipe-rating .wprm-rating-star.wprm-rating-star-full svg polygon{
  fill:var(--cfl-terracotta)!important; stroke:var(--cfl-terracotta)!important; }
.wprm-recipe-notes-container{ background:var(--cfl-sand); border-left:4px solid var(--cfl-terracotta);
  border-radius:0 10px 10px 0; padding:14px 18px; }
.wprm-nutrition-label-container{ border-color:var(--cfl-red)!important; }

/* ---------- Responsive ---------- */
@media (max-width:781px){
  .cfl-site-header{ position:static; }
  .cfl-card-grid{ gap:20px!important; }
}
