/* ============================================================
   Pecan & Petal - Footer slice (UrbanStems-style big footer)
   ------------------------------------------------------------
   STRUCTURE + LAYOUT + TYPE only. All palette color comes from
   CSS variables (var(--pnp-*)) or plain white / transparent-white
   hairlines. No palette hex is hardcoded here: the central theme
   layer (mu-plugins/zzz-pnp-overrides.php) owns and can retune the
   bronze / peach / coral in one place.

   The reused class names (.site-footer, .pnp-fcol a, .pnp-fsocial,
   .pnp-foot-legal, .pnp-foot-built, and the .pnp-foot-* section
   borders) are ALREADY colored by the central layer with
   body-scoped !important rules, so those rules win over anything
   below and the footer stays on-palette automatically. The rules
   below only supply the missing color for the NEW delivery-cities
   block, plus all layout, spacing, and type.

   Palette variables (defined in the central layer :root):
     --pnp-bronze      dark band background (white text on it)
     --pnp-bronze-dark hover
     --pnp-peach       page ground (not used on the dark band)
     --pnp-coral       Subscribe spark
     --pnp-ink         near-black ink (for text on the white input)

   Fonts: Fraunces (display / headings), Manrope (body). These must
   be loaded by the theme (they already are); see INTEGRATION.md.
   ============================================================ */

/* ---- band: full-bleed dark bronze, content centered ---- */
.site-footer{
  background: var(--pnp-bronze);      /* central layer forces this with !important; kept as a standalone fallback */
  color:#fff;
  padding:0;
}
.site-footer .col-full{
  max-width:none;
  width:100%;
  padding:0;
}
.pnp-bigfoot{
  max-width:1240px;
  margin:0 auto;
  padding:0 2rem;
  font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.pnp-bigfoot *{box-sizing:border-box;}

/* ============ newsletter hero ============ */
.pnp-foot-news{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
  flex-wrap:wrap;
  padding:4rem 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.pnp-foot-news-copy h3{
  font-family:"Fraunces",Georgia,serif;
  color:#fff;
  font-size:2.4rem;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.015em;
  margin:0 0 .5rem;
}
.pnp-foot-news-copy p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1.05rem;
  line-height:1.5;
  max-width:46ch;
}
.pnp-foot-news-form{
  display:flex;
  gap:.6rem;
  min-width:320px;
  flex:0 1 480px;
}
.pnp-foot-news-form input{
  flex:1;
  min-width:0;
  border:0;
  border-radius:10px;
  background:#fff;
  color:var(--pnp-ink);
  padding:1rem 1.1rem;
  font-family:"Manrope",sans-serif;
  font-size:1rem;
}
.pnp-foot-news-form input::placeholder{color:var(--pnp-ink);opacity:.5;}
.pnp-foot-news-form input:focus{outline:2px solid rgba(255,255,255,.55);outline-offset:2px;}
.pnp-foot-news-form button{
  border:0;
  border-radius:10px;
  background:var(--pnp-coral);        /* Subscribe spark */
  color:#fff;
  font-family:"Manrope",sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.82rem;
  padding:0 2rem;
  cursor:pointer;
  transition:filter .15s ease;
  white-space:nowrap;
}
.pnp-foot-news-form button:hover{filter:brightness(.93);}

/* ============ main row: brand + 4 link columns ============ */
.pnp-foot-main{
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;
  gap:2.6rem;
  padding:4rem 0;
}

/* brand block */
.pnp-fbrand svg{width:46px;height:46px;}
.pnp-fbrand-name{margin:.8rem 0 .6rem;}
.pnp-fbrand-name b{
  display:block;
  font-family:"Fraunces",Georgia,serif;
  color:#fff;
  font-size:1.55rem;
  font-weight:600;
  line-height:1;
}
.pnp-fbrand-name span{
  display:block;
  font-family:"Manrope",sans-serif;
  color:rgba(255,255,255,.6);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-top:.35rem;
}
.pnp-fbrand p{
  color:rgba(255,255,255,.72);
  font-size:.94rem;
  line-height:1.65;
  max-width:34ch;
  margin:0 0 1.3rem;
}

/* social icons (central layer colors these; structure + fallback here) */
.pnp-fsocial{display:flex;gap:.7rem;}
.pnp-fsocial a{
  width:40px;height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.85);
  transition:background .15s,color .15s,border-color .15s;
}
.pnp-fsocial a:hover{background:#fff;color:var(--pnp-bronze-dark);border-color:#fff;}
.pnp-fsocial svg{width:19px;height:19px;}

/* link columns */
.pnp-fcol h4{
  font-family:"Manrope",sans-serif;
  color:#fff;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin:0 0 1.2rem;
}
.pnp-fcol ul{list-style:none;margin:0;padding:0;}
.pnp-fcol li{margin:.65rem 0;}
.pnp-fcol a{
  font-family:"Manrope",sans-serif;
  color:rgba(255,255,255,.72);        /* central layer overrides to the tuned tan if it targets .pnp-fcol a */
  text-decoration:none;
  font-size:.95rem;
  transition:color .15s;
}
.pnp-fcol a:hover{color:#fff;}

/* ============ expandable delivery-cities block (NEW) ============ */
.pnp-fcities{
  border-top:1px solid rgba(255,255,255,.14);
}
.pnp-fcities-d{padding:1.9rem 0;}
.pnp-fcities-sum{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  list-style:none;
  font-family:"Manrope",sans-serif;
}
.pnp-fcities-sum::-webkit-details-marker{display:none;}
.pnp-fcities-sum::marker{content:"";}
.pnp-fcities-sum:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:4px;}
.pnp-fcities-label{
  color:#fff;
  font-size:1.02rem;
  font-weight:600;
  letter-spacing:.005em;
}
.pnp-fcities-chev{
  flex:0 0 auto;
  width:22px;height:22px;
  color:rgba(255,255,255,.75);
  transition:transform .2s ease;
}
.pnp-fcities-chev svg{width:22px;height:22px;display:block;}
.pnp-fcities-d[open] .pnp-fcities-chev{transform:rotate(180deg);}
.pnp-fcities-list{
  list-style:none;
  margin:1.5rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:.55rem 1.6rem;
}
.pnp-fcities-list a{
  font-family:"Manrope",sans-serif;
  color:rgba(255,255,255,.66);
  text-decoration:none;
  font-size:.92rem;
  line-height:1.4;
  transition:color .15s;
}
.pnp-fcities-list a:hover{color:#fff;}

/* ============ bottom bar: legal + credit ============ */
.pnp-foot-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding:2rem 0 2.8rem;
  border-top:1px solid rgba(255,255,255,.14);
}
.pnp-foot-legal{
  display:flex;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap;
  font-family:"Manrope",sans-serif;
  font-size:.86rem;
  color:rgba(255,255,255,.6);
}
.pnp-foot-legal a{
  color:rgba(255,255,255,.72);        /* central layer owns this color */
  text-decoration:none;
}
.pnp-foot-legal a:hover{color:#fff;}
.pnp-foot-built{
  font-family:"Manrope",sans-serif;
  font-size:.86rem;
  color:rgba(255,255,255,.6);
}

/* ============ responsive ============ */
@media (max-width:1000px){
  .pnp-foot-main{grid-template-columns:1fr 1fr 1fr;gap:2.2rem;}
  .pnp-fbrand{grid-column:1 / -1;}
}
@media (max-width:620px){
  .pnp-bigfoot{padding:0 1.3rem;}
  .pnp-foot-news{flex-direction:column;align-items:flex-start;gap:1.4rem;padding:2.8rem 0;}
  .pnp-foot-news-copy h3{font-size:1.9rem;}
  .pnp-foot-news-form{width:100%;flex-basis:auto;min-width:0;}
  .pnp-foot-main{grid-template-columns:1fr 1fr;padding:2.8rem 0;}
  .pnp-fcities-list{grid-template-columns:1fr 1fr;}
  .pnp-foot-bottom{flex-direction:column;align-items:flex-start;}
}
