/*
Theme Name: Peace Love Plant Based
Theme URI: https://peaceloveplantbased.com/
Author: Peace Love Plant Based
Description: Custom retro botanical WordPress theme for Peace Love Plant Based.
Version: 0.3.1
Text Domain: plpb
*/

:root{
    --cream:#F5EAD6;--oat:#EADFC6;--rust:#B8492B;--rust-deep:#8F3620;
    --ochre:#E0A128;--sage:#6E7C4B;--sage-deep:#556039;--clay:#D98B5F;--eucalyptus:#667B72;
    --ink:#37271A;--dusk:#A85A46;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Fraunces',serif;background:var(--cream);color:var(--ink);overflow-x:hidden;position:relative}
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.06;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

  .marquee{background:var(--sage-deep);color:var(--cream);overflow:hidden;white-space:nowrap;
    font-family:'Caveat',cursive;font-size:1.3rem;padding:.5rem 0;letter-spacing:.5px}
  .marquee-track{display:flex;width:max-content;will-change:transform;animation:plpb-marquee-scroll 28s linear infinite}
  .marquee-group{display:flex;align-items:center;flex:0 0 auto;gap:.75rem;padding-right:.75rem}
  .marquee-group span{display:inline-block;animation:none}
  .marquee-group b{color:var(--ochre);margin:0 .2rem}
  @keyframes plpb-marquee-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
  @media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

  nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,3.5rem);
    position:sticky;top:0;z-index:100;background:rgba(245,234,214,.82);backdrop-filter:blur(8px);
    border-bottom:2px dashed rgba(55,39,26,.25)}
  .logo{font-family:'Bagel Fat One',system-ui;font-size:1.5rem;color:var(--rust);
    display:flex;align-items:center;gap:.4rem;line-height:1}
  .logo .bloom{display:inline-block;animation:spin 9s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .nav-links{display:flex;gap:1.8rem;align-items:center}
  .nav-links a{text-decoration:none;color:var(--ink);font-weight:500;font-size:1rem;position:relative;transition:color .2s}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--rust);transition:width .25s}
  .nav-links a:hover{color:var(--rust)}
  .nav-links a:hover::after{width:100%}
  .cart-btn{background:var(--rust);color:var(--cream);border:none;cursor:pointer;
    font-family:'Fraunces',serif;font-weight:600;font-size:.95rem;padding:.5rem 1.1rem;border-radius:40px;
    display:flex;align-items:center;gap:.45rem;box-shadow:2px 3px 0 var(--rust-deep);transition:transform .15s,box-shadow .15s}
  .cart-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 4px 0 var(--rust-deep)}
  .cart-btn:active{transform:translate(1px,2px);box-shadow:1px 1px 0 var(--rust-deep)}
  .cart-count{background:var(--ochre);color:var(--ink);border-radius:50%;min-width:20px;height:20px;padding:0 5px;
    display:grid;place-items:center;font-size:.75rem;font-weight:700}
  @media(max-width:720px){.nav-links a{display:none}}

  .hero{position:relative;padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3.5rem) 0;
    display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;min-height:78vh}
  @media(max-width:860px){.hero{grid-template-columns:1fr;text-align:center;min-height:auto}}
  .hero-copy{position:relative;z-index:3}
  .eyebrow{font-family:'Caveat',cursive;font-size:1.6rem;color:var(--sage-deep);transform:rotate(-3deg);display:inline-block;margin-bottom:.4rem}
  .hero h1{font-family:'Bagel Fat One',system-ui;font-size:clamp(2.6rem,6.5vw,5rem);line-height:.95;color:var(--rust);letter-spacing:-1px;margin-bottom:1.2rem}
  .hero h1 em{font-style:normal;color:var(--sage);display:block}
  .hero p.lede{font-size:1.15rem;max-width:42ch;line-height:1.6;color:var(--ink);opacity:.85;margin:0 0 2rem}
  @media(max-width:860px){.hero p.lede{margin-inline:auto}}
  .hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
  @media(max-width:860px){.hero-cta{justify-content:center}}
  .btn-primary{background:var(--ochre);color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem;
    padding:.85rem 2rem;border-radius:50px;box-shadow:3px 4px 0 var(--rust-deep);transition:transform .15s,box-shadow .15s}
  .btn-primary:hover{transform:translate(-2px,-2px);box-shadow:5px 6px 0 var(--rust-deep)}
  .btn-ghost{background:transparent;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem;
    padding:.85rem 1.6rem;border:2px solid var(--ink);border-radius:50px;transition:background .2s,color .2s}
  .btn-ghost:hover{background:var(--ink);color:var(--cream)}

  .hero-art{position:relative;display:grid;place-items:center;min-height:380px}
  .sun{position:absolute;width:min(90%,440px);aspect-ratio:1;animation:spin 40s linear infinite}
  .tee-badge{position:relative;z-index:2;width:min(66%,300px);aspect-ratio:1;background:var(--cream);
    border:3px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;
    box-shadow:6px 8px 0 rgba(55,39,26,.25);animation:bob 5s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
  .tee-badge .big{font-family:'Bagel Fat One';font-size:2.2rem;color:var(--rust);line-height:.9}
  .tee-badge .small{font-family:'Caveat';font-size:1.4rem;color:var(--sage-deep);margin-top:.3rem}
  .spin-tag{position:absolute;top:-14px;right:-4px;z-index:3;width:96px;height:96px;animation:spin 14s linear infinite reverse}
  .spin-tag text{font-family:'Fraunces';font-weight:600;font-size:9px;fill:var(--ink);letter-spacing:1.3px}

  .wave{display:block;width:100%;height:60px;margin-top:-1px}

  .trust{background:var(--rust);color:var(--cream);display:flex;justify-content:center;gap:clamp(1rem,5vw,4rem);
    flex-wrap:wrap;padding:1.4rem 1rem;font-weight:500}
  .trust div{display:flex;align-items:center;gap:.5rem;font-size:1rem}
  .trust .ic{font-size:1.3rem}

  .shop{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3.5rem)}
  .shop-head{text-align:center;margin-bottom:3rem}
  .shop-head .eyebrow{display:block;margin-bottom:.2rem}
  .shop-head h2{font-family:'Bagel Fat One';font-size:clamp(2.2rem,5vw,3.4rem);color:var(--sage-deep);line-height:1}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.8rem;max-width:1150px;margin:0 auto}
  .card{background:var(--oat);border:2px solid var(--ink);border-radius:24px;padding:1rem 1rem 1.3rem;
    box-shadow:4px 5px 0 rgba(55,39,26,.18);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
  .card:hover{transform:translateY(-6px);box-shadow:6px 10px 0 rgba(55,39,26,.22)}
  .thumb{aspect-ratio:1;border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:1rem}
  .thumb .tee-txt{font-family:'Bagel Fat One';text-align:center;line-height:.95;padding:1rem;z-index:2;font-size:1.5rem}
  .thumb::before{content:"";position:absolute;inset:0;opacity:.4;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.5),transparent 60%)}
  .ribbon{position:absolute;top:.7rem;left:.7rem;z-index:3;background:var(--ink);color:var(--cream);
    font-family:'Caveat';font-size:1.15rem;padding:.05rem .7rem;border-radius:30px;transform:rotate(-6deg)}
  .ptype{font-family:'Caveat';font-size:1.15rem;color:var(--sage-deep);display:block;line-height:1}
  .card h3{font-family:'Fraunces';font-weight:600;font-size:1.25rem;margin-bottom:.2rem}
  .card .desc{font-size:.9rem;opacity:.72;line-height:1.4;margin-bottom:.9rem}

  /* variant selectors */
  .opts{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
  .opt{flex:1;min-width:90px}
  .opt label{display:block;font-family:'Caveat';font-size:1.05rem;color:var(--sage-deep);margin-bottom:.15rem}
  .opt select{width:100%;font-family:'Fraunces';font-size:.9rem;padding:.4rem .6rem;border:1.5px solid var(--ink);
    border-radius:12px;background:var(--cream);color:var(--ink);cursor:pointer}
  .opt select:focus{outline:none;border-color:var(--rust)}

  .row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
  .price{font-family:'Bagel Fat One';font-size:1.35rem;color:var(--rust)}
  .add{background:var(--sage);color:var(--cream);border:none;cursor:pointer;font-family:'Fraunces';font-weight:600;
    font-size:.9rem;padding:.5rem 1rem;border-radius:30px;box-shadow:2px 2px 0 var(--sage-deep);transition:transform .12s,box-shadow .12s}
  .add:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--sage-deep)}
  .add:active{transform:translate(1px,2px);box-shadow:1px 1px 0 var(--sage-deep)}
  .add.pop{animation:pop .4s ease}
  @keyframes pop{0%{transform:scale(1)}40%{transform:scale(.88)}100%{transform:scale(1)}}

  .story{background:var(--sage-deep);color:var(--cream);padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3.5rem);
    display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
  @media(max-width:800px){.story{grid-template-columns:1fr;text-align:center}}
  .story .eyebrow{color:var(--ochre)}
  .story h2{font-family:'Bagel Fat One';font-size:clamp(2rem,4.5vw,3rem);line-height:1;margin-bottom:1.2rem;color:var(--cream)}
  .story p{font-size:1.1rem;line-height:1.7;opacity:.9;margin-bottom:1rem;max-width:48ch}
  @media(max-width:800px){.story p{margin-inline:auto}}
  .story-art{display:grid;place-items:center}
  .petal-stack{position:relative;width:min(90%,320px);aspect-ratio:1;display:grid;place-items:center}
  .petal-stack .quote{font-family:'Caveat';font-size:2rem;color:var(--cream);text-align:center;z-index:2;line-height:1.2;padding:2rem}
  .petal-stack svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 30s linear infinite}

  .news{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3.5rem);text-align:center}
  .news h2{font-family:'Bagel Fat One';font-size:clamp(2rem,5vw,3.2rem);color:var(--rust);margin-bottom:.5rem;line-height:1}
  .news p{font-size:1.1rem;opacity:.8;margin-bottom:1.8rem}
  .signup{display:flex;gap:.6rem;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
  .signup input{flex:1;min-width:200px;font-family:'Fraunces';font-size:1rem;padding:.85rem 1.2rem;
    border:2px solid var(--ink);border-radius:50px;background:var(--cream);color:var(--ink)}
  .signup input:focus{outline:none;border-color:var(--rust)}
  .signup button{background:var(--ink);color:var(--cream);border:none;cursor:pointer;font-family:'Fraunces';
    font-weight:600;font-size:1rem;padding:.85rem 1.8rem;border-radius:50px;box-shadow:3px 3px 0 var(--dusk);transition:transform .15s,box-shadow .15s}
  .signup button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--dusk)}
  .signup-msg{margin-top:1rem;font-family:'Caveat';font-size:1.4rem;color:var(--sage-deep);min-height:1.5rem}

  footer{background:var(--ink);color:var(--cream);padding:2.5rem clamp(1rem,4vw,3.5rem);
    display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
  footer .logo{color:var(--ochre)}
  footer .fnav{display:flex;gap:1.4rem;flex-wrap:wrap}
  footer a{color:var(--cream);text-decoration:none;opacity:.8;font-size:.95rem}
  footer a:hover{opacity:1;color:var(--ochre)}
  .credit{width:100%;text-align:center;opacity:.5;font-size:.82rem;margin-top:.5rem}

  .reveal{opacity:0;transform:translateY(20px);animation:rise .7s ease forwards}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}

  /* tiny toast for preview mode */
  .toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(120%);
    background:var(--ink);color:var(--cream);font-family:'Fraunces';font-weight:500;
    padding:.8rem 1.4rem;border-radius:40px;z-index:500;box-shadow:0 6px 20px rgba(55,39,26,.3);
    transition:transform .35s cubic-bezier(.6,.05,.2,1);max-width:90vw;text-align:center}
  .toast.show{transform:translateX(-50%) translateY(0)}

/* ============================================================
   WORDPRESS + PLPB EXTENSIONS
   ============================================================ */
body.admin-bar nav.site-nav{top:32px}
@media(max-width:782px){body.admin-bar nav.site-nav{top:46px}}
.site-nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,3.5rem);position:sticky;top:0;z-index:100;background:rgba(245,234,214,.9);backdrop-filter:blur(8px);border-bottom:2px dashed rgba(55,39,26,.25)}
.site-nav .custom-logo{max-height:50px;width:auto}
.site-brand{text-decoration:none}
.site-nav .nav-links{margin-left:auto}
.nav-links ul{list-style:none;display:flex;gap:1.8rem;align-items:center;margin:0;padding:0}
.nav-links li{margin:0}
.mobile-toggle{display:none;background:transparent;border:2px solid var(--ink);color:var(--ink);font:600 .9rem 'Fraunces',serif;padding:.45rem .8rem;border-radius:40px;cursor:pointer}
@media(max-width:820px){
  .mobile-toggle{display:block;margin-left:auto;margin-right:.7rem}
  .site-nav .nav-links{display:none;position:absolute;top:100%;left:1rem;right:1rem;background:var(--cream);border:2px solid var(--ink);border-radius:18px;padding:1rem;box-shadow:4px 5px 0 rgba(55,39,26,.18)}
  .site-nav .nav-links.open{display:block}
  .nav-links ul{display:grid;gap:.75rem}
  .nav-links a{display:block!important;padding:.35rem .2rem}
}

.content-wrap{max-width:1150px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3.5rem)}
.page-title,.archive-title{font-family:'Bagel Fat One',system-ui;color:var(--rust);font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin-bottom:1.25rem}
.entry-content{font-size:1.05rem;line-height:1.75}
.entry-content h2,.entry-content h3{font-family:'Bagel Fat One',system-ui;color:var(--sage-deep);line-height:1.05;margin:2rem 0 .8rem}
.entry-content p,.entry-content ul,.entry-content ol{margin-bottom:1.2rem}
.entry-content a{color:var(--rust);font-weight:600}

.plpb-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3.5rem)}
.plpb-section-head{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.plpb-section-head .eyebrow{display:block}
.plpb-section-head h2{font-family:'Bagel Fat One';font-size:clamp(2.2rem,5vw,3.4rem);color:var(--sage-deep);line-height:1}
.plpb-section-head p{font-size:1.05rem;line-height:1.65;margin-top:.75rem;opacity:.8}

.card .thumb.has-image{display:block;background:var(--oat)}
.card .thumb.has-image img{width:100%;height:100%;object-fit:cover;display:block}
.card .product-link{text-decoration:none;color:inherit}
.card .row{gap:.7rem}
.card .price{white-space:nowrap}
.card .add[disabled]{opacity:.5;cursor:not-allowed}
.empty-card{border:2px dashed rgba(55,39,26,.35);border-radius:24px;padding:2rem;text-align:center;background:rgba(234,223,198,.55)}
.empty-card h3{font-family:'Bagel Fat One';color:var(--rust);font-size:1.7rem;margin-bottom:.4rem}

.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:1150px;margin:0 auto}
@media(max-width:860px){.content-grid{grid-template-columns:1fr}}
.content-card{background:var(--cream);border:2px solid var(--ink);border-radius:24px;overflow:hidden;box-shadow:4px 5px 0 rgba(55,39,26,.15)}
.content-card .cover{aspect-ratio:16/10;background:var(--eucalyptus);overflow:hidden}
.content-card .cover img{width:100%;height:100%;object-fit:cover}
.content-card .body{padding:1.25rem}
.content-card .kicker{font-family:'Caveat';font-size:1.2rem;color:var(--sage-deep)}
.content-card h3{font-size:1.35rem;line-height:1.15;margin:.15rem 0 .55rem}
.content-card h3 a{text-decoration:none;color:var(--ink)}
.content-card p{opacity:.75;line-height:1.55;font-size:.94rem}
.kitchen{background:rgba(102,123,114,.17)}
.journal{background:var(--oat)}

.product-single{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media(max-width:850px){.product-single{grid-template-columns:1fr}}
.product-media{background:var(--oat);border:2px solid var(--ink);border-radius:28px;overflow:hidden;box-shadow:6px 8px 0 rgba(55,39,26,.16);aspect-ratio:1}
.product-media img{width:100%;height:100%;object-fit:cover}
.product-media.placeholder{display:grid;place-items:center;font-family:'Bagel Fat One';font-size:clamp(2rem,5vw,4rem);text-align:center;padding:2rem}
.product-info .ptype{font-size:1.35rem}
.product-info h1{font-family:'Bagel Fat One';font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95;color:var(--rust);margin:.35rem 0 .75rem}
.product-info .price{font-family:'Bagel Fat One';font-size:2rem;color:var(--sage-deep);margin-bottom:1rem}
.product-info .intro{font-size:1.05rem;line-height:1.65;opacity:.82;margin-bottom:1.4rem}
.product-info .opts{max-width:460px}
.product-info .add{font-size:1rem;padding:.75rem 1.35rem}
.product-long{max-width:820px;margin:3rem auto 0;border-top:2px dashed rgba(55,39,26,.25);padding-top:2rem}

.archive-intro{text-align:center;max-width:750px;margin:0 auto 2.5rem}
.archive-intro .archive-title{margin-bottom:.6rem;color:var(--sage-deep)}
.archive-intro p{font-size:1.05rem;opacity:.8}

.post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
@media(max-width:860px){.post-list{grid-template-columns:1fr}}

.news form{display:flex;gap:.6rem;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.news .signup-note{margin-top:1rem;font-family:'Caveat';font-size:1.25rem;color:var(--sage-deep)}

.footer-social{display:flex;gap:1rem;align-items:center}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-brand.logo .custom-logo-link{display:block;line-height:0}
.site-brand.logo .custom-logo{display:block;max-height:50px;width:auto}
.fnav ul{list-style:none;display:flex;gap:1.4rem;flex-wrap:wrap;margin:0;padding:0}
.fnav li{margin:0}
@media(max-width:700px){footer{justify-content:center;text-align:center}.fnav ul{justify-content:center}}


/* ============================================================
   PRODUCT OPTIONS v0.2 — COLORWAYS + PRODUCT-SPECIFIC SIZES
   ============================================================ */
.plpb-color-picker{margin:0 0 1.25rem}
.plpb-option-heading{font-size:1rem;margin-bottom:.55rem}
.plpb-option-heading strong{color:var(--sage-deep)}
.plpb-swatches{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.plpb-swatch{width:38px;height:38px;border-radius:50%;border:2px solid rgba(55,39,26,.45);background:var(--cream);padding:4px;cursor:pointer;box-shadow:0 0 0 0 var(--cream),0 0 0 0 var(--rust);transition:transform .15s,box-shadow .15s,border-color .15s}
.plpb-swatch span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid rgba(55,39,26,.18)}
.plpb-swatch:hover{transform:translateY(-2px);border-color:var(--ink)}
.plpb-swatch.is-selected{border-color:var(--rust);box-shadow:0 0 0 3px var(--cream),0 0 0 5px var(--rust)}
.plpb-swatch:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}
.plpb-color-select-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-size-options{margin-top:.2rem}
.plpb-product-image{transition:opacity .18s ease}
.card .thumb.has-image,.product-media.has-image{display:block}
.card .thumb img.plpb-product-image,.product-media img.plpb-product-image{width:100%;height:100%;object-fit:cover;display:block}
.opt select{min-height:38px}

/* ============================================================
   PLPB v0.3 — SEPTEMBER 2026 REFINEMENTS
   ============================================================ */

/* Header logo: use the established horizontal brand mark. */
.site-nav .site-brand,
.site-nav .site-brand.logo,
.site-nav a.site-brand,
.site-nav a.logo{
  display:block !important;
  width:clamp(205px,18vw,300px) !important;
  min-width:205px !important;
  height:68px !important;
  flex:0 0 auto !important;
  background-image:url("https://peaceloveplantbased.com/wp-content/uploads/2026/09/plpb_logo_horizontal.png") !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:contain !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  font-size:0 !important;
  line-height:0 !important;
}
.site-nav .nav-links{margin-left:auto !important;margin-right:clamp(1.4rem,3vw,3rem) !important}
.site-nav .cart-btn{flex:0 0 auto}

/* Ultrawide hero rails: full-width background, composed content. */
.hero{
  width:calc(100% - clamp(2rem,5vw,6rem)) !important;
  max-width:1420px !important;
  margin-inline:auto !important;
  grid-template-columns:minmax(0,1fr) minmax(380px,.82fr) !important;
  gap:clamp(2.5rem,5vw,5rem) !important;
  min-height:clamp(560px,66vh,720px) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.hero-copy{max-width:650px}
.hero-art{position:relative !important;display:grid !important;place-items:center !important;min-height:430px}

/* Keep the sun SVG centered and static; rotate only the ray group so the PLPB mark remains still. */
.sun{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(92%,430px) !important;
  aspect-ratio:1 !important;
  transform:translate(-50%,-50%) !important;
  z-index:1;
}
#rays{
  transform-box:view-box;
  transform-origin:100px 100px;
  animation:plpb-sun-rays-spin 40s linear infinite;
  will-change:transform;
}
@keyframes plpb-sun-rays-spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.plpb-sun-mark{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(50%,225px);
  z-index:3;
  line-height:0;
}
.plpb-sun-mark img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}

/* Journal is cleaner without the extra "notes from the garden" label. */
.journal .plpb-section-head{margin-top:.25rem}

/* Newsletter square mark, no forced circle/crop. */
.news-mark{
  width:clamp(76px,7vw,106px);
  height:auto;
  display:block;
  margin:0 auto 1rem;
  border:0;
  border-radius:0;
  box-shadow:none;
  object-fit:contain;
}
.news{position:relative;overflow:hidden;background:var(--oat);border-top:2px dashed rgba(55,39,26,.2)}
.news h2{text-transform:uppercase;letter-spacing:.015em}
.news p{max-width:620px;margin-left:auto;margin-right:auto}
.news .signup-note{margin-top:1rem;margin-bottom:0;font-family:'Caveat',cursive;font-size:1.35rem;color:var(--sage-deep);opacity:1}
.news .signup-msg{margin-top:.55rem}

/* Footer: mark left, quiet copyright center, navigation right. */
.site-footer{
  display:grid !important;
  grid-template-columns:minmax(110px,1fr) auto minmax(260px,1fr);
  align-items:center;
  gap:clamp(1.5rem,4vw,4rem);
  padding:2.5rem clamp(1.25rem,4vw,4rem) !important;
}
.footer-brand-mark{justify-self:start}
.footer-brand-mark a{display:block;line-height:0}
.site-footer .plpb-footer-mark{
  display:block;
  width:clamp(76px,7vw,108px);
  height:auto;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.footer-center{justify-self:center;text-align:center;display:grid;gap:.55rem}
.site-footer .credit{width:auto !important;margin:0 !important;text-align:center !important}
.site-footer .footer-social{justify-content:center}
.site-footer .fnav{justify-self:end}
.site-footer .fnav ul{justify-content:flex-end}

/* Product information accordions. */
.product-details-stack{max-width:920px;margin:2.5rem auto 0;border-top:1px solid rgba(55,39,26,.28)}
.product-detail{border-bottom:1px solid rgba(55,39,26,.28)}
.product-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem .15rem;font-family:'Fraunces',serif;font-size:1.06rem;font-weight:600;color:var(--ink)}
.product-detail summary::-webkit-details-marker{display:none}
.product-detail summary::after{content:'+';font-size:1.6rem;font-weight:400;line-height:1;color:var(--sage-deep)}
.product-detail[open] summary::after{content:'−'}
.product-detail-content{padding:0 .15rem 1.25rem;font-size:1rem;line-height:1.7;color:rgba(55,39,26,.86)}
.product-detail-content p:last-child{margin-bottom:0}
.product-editor-story{max-width:920px;margin:2rem auto 0}
.product-editor-story:empty{display:none}

@media(max-width:860px){
  .hero{
    width:calc(100% - 2rem) !important;
    grid-template-columns:1fr !important;
    gap:1.4rem !important;
    min-height:auto !important;
    padding-top:3rem !important;
  }
  .hero-copy{margin-inline:auto;text-align:center}
  .hero p.lede{margin-inline:auto}
  .hero-cta{justify-content:center}
  .hero-art{min-height:350px !important}
  .sun{width:min(88vw,390px) !important}
  .plpb-sun-mark{width:min(46vw,205px)}
  .site-nav .site-brand,
  .site-nav .site-brand.logo,
  .site-nav a.site-brand,
  .site-nav a.logo{width:178px !important;min-width:178px !important;height:56px !important}
  .site-nav .nav-links{margin-right:0 !important}
  .site-footer{grid-template-columns:1fr !important;text-align:center}
  .footer-brand-mark,.footer-center,.site-footer .fnav{justify-self:center}
  .site-footer .fnav ul{justify-content:center}
}

@media(min-width:1800px){
  .hero h1{font-size:clamp(4.5rem,4.3vw,5.35rem)}
}

/* Preserve the refined story-flower center from the current site. */
.petal-stack .quote{
  font-size:1.45rem !important;
  line-height:1.06 !important;
  font-weight:700 !important;
  color:#F5EAD6 !important;
  text-shadow:0 1px 1px rgba(55,39,26,.45) !important;
  padding:2.7rem !important;
}
