/*
Theme Name: SimplyNoBake Landing
Theme URI: https://simplynobake.com
Author: SimplyNoBake
Author URI: https://simplynobake.com
Description: No-bake dessert recipe blog landing page. Warm bakery-style design system: cream/tan/brown palette, Poppins display type, Dancing Script accents, pill buttons.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: simplynobake
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
--cream-50:#fbf6ee;--cream-100:#f4ede1;--cream-200:#eee8db;--cream-300:#e7dcd0;--cream-400:#ddcfbe;
--tan-300:#d9c9b4;--tan-400:#c9b295;--tan-500:#b39272;
--brown-400:#c09277;--brown-500:#a9755b;--brown-600:#7f5546;--brown-700:#66422f;--brown-800:#4a2f22;--brown-900:#2c211d;
--berry-500:#a83a3f;--berry-600:#8b2d31;--leaf-500:#6f8452;--leaf-600:#556640;
--butter-300:#f2d9a8;--butter-500:#d9a441;
--surface-page:#f4ede1;--surface-page-alt:#e7dcd0;--surface-card:#fbf6ee;--surface-card-muted:#eee8db;
--surface-topbar:#e8dfd0;--surface-header:#eee8db;--surface-inverse:#2c211d;
--text-heading:#2c211d;--text-body:#5b4a3f;--text-muted:#8a7568;--text-on-brand:#fbf6ee;--text-on-inverse:#f4ede1;
--text-link:#7f5546;--text-link-hover:#66422f;
--brand:#7f5546;--brand-hover:#66422f;--brand-active:#4a2f22;--brand-subtle:#f2e6da;--brand-ring:rgba(127,85,70,.28);
--border-subtle:#e2d5c4;--border-default:#d9c9b4;--border-strong:#c9b295;--divider:#ded1c0;
--success:#6f8452;--success-surface:#eaeedf;--warning:#d9a441;--warning-surface:#faeed6;
--danger:#a83a3f;--danger-surface:#f6e3e2;--info:#7f6a5b;--info-surface:#efe7de;
--photo-wash:linear-gradient(180deg,rgba(44,33,29,0) 40%,rgba(44,33,29,.55) 100%);
--photo-wash-soft:linear-gradient(180deg,rgba(251,246,238,.72),rgba(251,246,238,0));

--shadow-none:none;
--shadow-xs:0 1px 2px rgba(74,47,34,.06);
--shadow-sm:0 2px 6px rgba(74,47,34,.08);
--shadow-md:0 6px 18px rgba(74,47,34,.10);
--shadow-lg:0 14px 36px rgba(74,47,34,.14);
--shadow-image:0 8px 24px rgba(74,47,34,.12);
--shadow-inset-top:inset 0 1px 0 rgba(251,246,238,.6);
--shadow-press:inset 0 2px 4px rgba(44,33,29,.18);
--focus-ring:0 0 0 3px var(--brand-ring);
--blur-glass:saturate(1.05) blur(10px);

--font-display:"Poppins","Trebuchet MS",sans-serif;
--font-body:"Nunito Sans","Segoe UI",sans-serif;
--font-script:"Dancing Script","Segoe Script",cursive;
--font-mono:"JetBrains Mono",ui-monospace,monospace;

--fs-3xs:11px;--fs-2xs:12px;--fs-xs:13px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;
--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--fs-4xl:42px;--fs-5xl:56px;--fs-6xl:68px;

--lh-tight:1.05;--lh-snug:1.18;--lh-normal:1.45;--lh-relaxed:1.65;
--ls-tight:-.02em;--ls-normal:0;--ls-wide:.06em;--ls-wider:.18em;

--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;

--type-hero-family:var(--font-display);--type-hero-size:var(--fs-5xl);--type-hero-weight:var(--fw-bold);
--type-hero-lh:var(--lh-tight);--type-hero-ls:var(--ls-tight);
--type-section-size:var(--fs-3xl);--type-section-weight:var(--fw-bold);
--type-card-title-size:var(--fs-xl);--type-card-title-weight:var(--fw-semibold);
--type-body-size:var(--fs-md);--type-body-lh:var(--lh-relaxed);
--type-eyebrow-size:var(--fs-2xs);--type-eyebrow-ls:var(--ls-wider);--type-eyebrow-weight:var(--fw-semibold);
--type-script-size:var(--fs-xl);

--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--container-max:1200px;--container-pad:32px;--container-pad-sm:20px;
--section-pad-y:80px;--section-pad-y-sm:48px;--grid-gutter:20px;--header-h:72px;--topbar-h:34px;

--radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;
--radius-card:4px;--radius-image:4px;--radius-button:999px;--radius-input:999px;--radius-chip:999px;--radius-dialog:14px;
--border-w:1px;--border-w-strong:2px;

--dur-fast:120ms;--dur-base:200ms;--dur-slow:340ms;--dur-slower:520ms;
--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,.84,.44,1);--ease-in:cubic-bezier(.5,0,1,1);
--transition-interactive:background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-out);
--transition-media:transform var(--dur-slower) var(--ease-out),filter var(--dur-slow) var(--ease-standard);
--lift-hover:translateY(-2px);--press-scale:scale(.98);--media-zoom:scale(1.04);
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-lh);-webkit-font-smoothing:antialiased;min-height:100vh}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-heading);margin:0;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);font-weight:var(--fw-bold)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-base) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
img{display:block;max-width:100%}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
::selection{background:var(--brand);color:var(--text-on-brand)}
@keyframes revealUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rail::-webkit-scrollbar{height:0}

/* ==========================================================================
   Components (compiled from the Bakery design system)
   ========================================================================== */

/* Button */
.snb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--fw-bold);letter-spacing:.01em;border-radius:var(--radius-button);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--transition-interactive);padding:12px 26px;font-size:var(--fs-sm)}
.snb-btn:hover{text-decoration:none}
.snb-btn-lg{padding:15px 34px;font-size:var(--fs-md)}
.snb-btn-sm{padding:8px 18px;font-size:var(--fs-xs)}
.snb-btn-primary{background:var(--brand);color:var(--text-on-brand);box-shadow:var(--shadow-sm)}
.snb-btn-primary:hover{background:var(--brand-hover);color:var(--text-on-brand)}
.snb-btn-secondary{background:transparent;color:var(--brand);border-color:var(--brown-600)}
.snb-btn-secondary:hover{background:var(--brand-subtle);color:var(--brand)}
.snb-btn:active{transform:var(--press-scale)}

/* IconButton */
.snb-iconbtn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;background:transparent;color:var(--text-heading);transition:var(--transition-interactive)}
.snb-iconbtn:hover{background:var(--cream-200)}

/* Icon (lucide, mask-based) */
.snb-icon{display:inline-block;flex:0 0 auto;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.snb-icon-search{width:18px;height:18px;-webkit-mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/search.svg");mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/search.svg")}
.snb-icon-wheat{width:26px;height:26px;color:var(--tan-500);-webkit-mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/wheat.svg");mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/wheat.svg")}
.snb-icon-clock{width:28px;height:28px;color:var(--tan-500);-webkit-mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/clock.svg");mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/clock.svg")}
.snb-icon-heart{width:28px;height:28px;color:var(--tan-500);-webkit-mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/heart.svg");mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/heart.svg")}
.snb-icon-check{width:28px;height:28px;color:var(--tan-500);-webkit-mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/check.svg");mask-image:url("https://unpkg.com/lucide-static@0.414.0/icons/check.svg")}

/* Tag (category filter chip) */
.snb-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 14px;border-radius:var(--radius-chip);border:1px solid var(--border-default);background:transparent;color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:var(--transition-interactive)}
.snb-tag.is-selected{border-color:var(--brown-600);background:var(--brand);color:var(--text-on-brand)}

/* Badge */
.snb-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;background:var(--cream-50);color:var(--brown-700)}

/* ProductCard */
.snb-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-xs);transition:var(--transition-interactive)}
.snb-card:hover{box-shadow:var(--shadow-md)}
.snb-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cream-300)}
.snb-card-media img{width:100%;height:100%;object-fit:cover;transition:var(--transition-media)}
.snb-card:hover .snb-card-media img{transform:var(--media-zoom)}
.snb-card-badge{position:absolute;top:12px;left:12px}
.snb-card-body{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}
.snb-card-body h3{font-size:var(--type-card-title-size);font-weight:var(--type-card-title-weight)}
.snb-card-body p{font-size:var(--fs-sm);color:var(--text-body);max-width:32ch}
.snb-card-price{font-family:var(--font-display);font-weight:var(--fw-semibold);color:var(--brown-700)}

/* SectionHeading */
.snb-heading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}
.snb-heading .eyebrow{font-family:var(--font-script);font-size:var(--type-script-size);color:var(--brown-500)}
.snb-heading h2{font-size:var(--type-section-size);font-weight:var(--type-section-weight)}
.snb-heading p{font-size:var(--fs-sm);color:var(--text-body);max-width:62ch}

/* ==========================================================================
   Page layout
   ========================================================================== */
.snb-wrap{background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);min-height:100vh}

.snb-header{background:var(--surface-header);border-bottom:1px solid var(--border-subtle)}
.snb-header-in{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);height:var(--header-h);display:flex;align-items:center;gap:var(--space-8)}
.snb-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.snb-logo:hover{text-decoration:none}
.snb-logo-text{display:flex;flex-direction:column;line-height:1}
.snb-logo-text .wordmark{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-2xl);letter-spacing:-0.02em;color:var(--text-heading)}
.snb-logo-text .wordmark span{color:var(--brand)}
.snb-logo-text .tag{font-family:var(--font-script);font-size:var(--fs-xs);color:var(--text-muted);margin-top:4px}
.snb-nav{display:flex;gap:var(--space-8);margin-left:auto;font-size:var(--fs-sm);font-weight:var(--fw-bold)}
.snb-nav a{color:var(--text-heading)}
.snb-nav a.is-active{color:var(--brand)}
.snb-header-actions{display:flex;align-items:center;gap:var(--space-2)}

.snb-hero{position:relative;overflow:hidden}
.snb-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.snb-hero-wash{position:absolute;inset:0;background:var(--photo-wash-soft)}
.snb-hero-in{position:relative;max-width:var(--container-max);margin:0 auto;padding:96px var(--container-pad)}
.snb-hero-card{max-width:600px;background:rgba(251,246,238,.86);backdrop-filter:var(--blur-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:var(--space-10)}
.snb-hero-card .script{font-family:var(--font-script);font-size:var(--type-script-size);color:var(--brown-500)}
.snb-hero-card h1{font-family:var(--font-display);font-size:var(--type-hero-size);font-weight:var(--fw-extrabold,800);line-height:1.08;letter-spacing:-0.02em;color:var(--text-heading);margin:var(--space-3) 0 var(--space-4)}
.snb-hero-card p{font-size:var(--fs-md);line-height:1.65;color:var(--text-body);max-width:46ch;margin:0 0 var(--space-7)}
.snb-hero-cta{display:flex;gap:var(--space-3);flex-wrap:wrap}
.snb-hero-stats{display:flex;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--divider)}
.snb-hero-stats strong{display:block;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-heading)}
.snb-hero-stats span{font-size:var(--fs-xs);color:var(--text-muted)}

.snb-section{padding:var(--space-16) 0;background:var(--surface-page)}
.snb-section-in{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.snb-section-alt{background:var(--surface-page-alt);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}

.snb-rail{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin:var(--space-8) 0 var(--space-3)}
.snb-count{text-align:center;font-size:var(--fs-xs);color:var(--text-muted);margin:0 0 var(--space-8)}
.snb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5);animation:revealUp 340ms var(--ease-out) both}
.snb-recipe-card{display:none}
.snb-recipe-card.is-visible{display:flex}

.snb-loved-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);margin-top:var(--space-8)}
.snb-loved-item{display:flex;gap:var(--space-4);align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:var(--space-3);text-decoration:none;transition:var(--transition-interactive)}
.snb-loved-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}
.snb-loved-thumb{width:84px;height:84px;flex:0 0 84px;display:block;border-radius:var(--radius-card);background-color:var(--cream-300);background-size:cover;background-position:center}
.snb-loved-meta{display:flex;flex-direction:column;gap:5px}
.snb-loved-meta .cat{font-family:var(--font-script);font-size:var(--fs-sm);color:var(--brown-500)}
.snb-loved-meta .title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-heading);line-height:1.2}
.snb-loved-meta .meta{font-size:var(--fs-xs);color:var(--text-muted)}

.snb-reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5);margin-top:var(--space-8)}
.snb-reason{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:var(--space-8) var(--space-6)}
.snb-reason h3{font-size:var(--type-card-title-size);font-weight:var(--type-card-title-weight)}
.snb-reason p{font-size:var(--fs-sm);color:var(--text-body);max-width:32ch}

.snb-newsletter{background:var(--surface-inverse);padding:var(--space-16) 0}
.snb-newsletter-in{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}
.snb-newsletter .script{font-family:var(--font-script);font-size:var(--type-script-size);color:var(--butter-300)}
.snb-newsletter h2{font-family:var(--font-display);font-size:var(--type-section-size);font-weight:var(--fw-bold);color:var(--text-on-inverse);margin:var(--space-3) 0 var(--space-3);line-height:1.15}
.snb-newsletter p.lead{font-size:var(--fs-sm);color:var(--cream-400);margin:0;max-width:48ch}
.snb-newsletter form{display:flex;gap:var(--space-3);flex-wrap:wrap}
.snb-newsletter .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.snb-newsletter input[type=email]{flex:1;min-width:220px;background:var(--cream-50);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:13px 20px;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--text-body);outline:none}
.snb-newsletter input[type=email]:focus{box-shadow:0 0 0 3px var(--brand-ring);border-color:var(--brown-500)}
.snb-newsletter button{background:var(--cream-50);color:var(--brown-800);border:none;border-radius:var(--radius-pill);padding:13px 26px;font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-sm);cursor:pointer;transition:var(--transition-interactive)}
.snb-newsletter button:hover{background:var(--cream-200)}
.snb-newsletter .note{width:100%;margin:0;font-size:var(--fs-xs);color:var(--text-muted)}

.snb-footer{background:var(--surface-page);border-top:1px solid var(--border-subtle);padding:var(--space-12) 0 var(--space-8)}
.snb-footer-grid{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-10)}
.snb-footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-4)}
.snb-footer-brand .wordmark{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-lg);color:var(--text-heading)}
.snb-footer-brand .wordmark span{color:var(--brand)}
.snb-footer p{font-size:var(--fs-sm);color:var(--text-body);margin:0;max-width:36ch}
.snb-footer-col{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-sm)}
.snb-footer-col .label{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:var(--fw-bold)}
.snb-footer-bottom{max-width:var(--container-max);margin:var(--space-10) auto 0;padding:var(--space-6) var(--container-pad) 0;border-top:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-muted)}

@media (max-width: 900px){
  .snb-hero-stats{flex-wrap:wrap}
  .snb-newsletter-in{grid-template-columns:1fr}
  .snb-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .snb-header-in{gap:var(--space-4)}
  .snb-nav{display:none}
  .snb-footer-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   Single recipe article
   ========================================================================== */
.snb-article-hero{position:relative;aspect-ratio:16/7;overflow:hidden;background:var(--cream-300)}
.snb-article-hero img{width:100%;height:100%;object-fit:cover}
.snb-article-body{max-width:820px;padding-top:var(--space-10);padding-bottom:var(--space-16);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.snb-back-link{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-muted)}
.snb-back-link:hover{color:var(--brand)}
.snb-article-body h1{font-size:var(--type-hero-size);margin:var(--space-2) 0}
.snb-article-lead{font-size:var(--fs-lg);color:var(--text-body);max-width:60ch}
.snb-article-meta{display:flex;gap:var(--space-6);margin:var(--space-4) 0 var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);width:100%}
.snb-article-meta div{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading)}
.snb-article-meta .snb-icon{width:20px;height:20px}
.snb-article-columns{display:grid;grid-template-columns:.9fr 1.4fr;gap:var(--space-10);width:100%}
.snb-ingredients h2,.snb-instructions h2{font-size:var(--fs-xl);margin-bottom:var(--space-4)}
.snb-ingredients ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.snb-ingredients li{font-size:var(--fs-sm);color:var(--text-body);padding-bottom:var(--space-3);border-bottom:1px dashed var(--border-default)}
.snb-instructions ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:var(--space-4)}
.snb-instructions li{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text-body);padding-left:var(--space-2)}
.snb-instructions li::marker{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--brand)}
.snb-article-notfound{padding:var(--space-16) 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4)}

@media (max-width: 700px){
  .snb-article-columns{grid-template-columns:1fr}
}
