/* =========================================================
   LA SUCRIERE — universal lead capture
   A two step capture block (email first, phone second) plus a
   mobile action bar, both self contained so they can drop onto
   any page including the journal, recipes and near pages that
   do not load pages.css or the SVG sprite.
   Mobile first: every rule below is the phone layout, and the
   only media queries widen it.
   ========================================================= */

.lscap{
  --lscap-ink:#2A2118; --lscap-soft:#6a5c49;
  --lscap-cream:#FFF7EC; --lscap-paper:#FCF3E1; --lscap-line:#EADFCB;
  --lscap-moss:#477D1A; --lscap-moss-deep:#2F5512;
  --lscap-rasp:#E30B5D; --lscap-camel:#B0803F; --lscap-wheat:#FFE8C4;
  /* camel is fine as an ornament but fails AA as small text on cream,
     so labels use a darkened tone of the same hue (4.85:1) */
  --lscap-camel-text:#8D6632; --lscap-fine:#796D5C;
  box-sizing:border-box;
  max-width:720px;
  margin:clamp(2.5rem,7vw,4.5rem) 16px;  /* phone gutter */
  margin-inline:max(16px,calc((100% - 720px) / 2));
  padding:clamp(1.4rem,5.5vw,2.4rem);
  background:
    radial-gradient(120% 100% at 100% 0,rgba(255,232,196,.5),transparent 60%),
    linear-gradient(168deg,#FFFDF8,var(--lscap-paper));
  border:1px solid var(--lscap-line);
  border-radius:24px;
  box-shadow:0 18px 44px -32px rgba(42,33,24,.45);
  position:relative;
  overflow:hidden;
}
.lscap *,.lscap *::before,.lscap *::after{box-sizing:border-box}
.lscap::before{
  content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--lscap-moss),var(--lscap-camel) 50%,var(--lscap-rasp));
}

.lscap__eyebrow{
  display:block;font-family:"Manrope",system-ui,sans-serif;
  font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--lscap-camel-text);margin:0 0 .6rem;
}
.lscap__title{
  font-family:"Fraunces",Georgia,serif;font-weight:560;
  font-size:clamp(1.35rem,5.4vw,1.85rem);line-height:1.18;
  color:var(--lscap-ink);margin:0 0 .5rem;letter-spacing:-.01em;
}
.lscap__sub{
  font-family:"Manrope",system-ui,sans-serif;
  font-size:.96rem;line-height:1.6;color:var(--lscap-soft);margin:0 0 1.15rem;
}

/* ---- steps ---- */
.lscap__step[hidden]{display:none}
.lscap__field{display:block;margin:0 0 .75rem}
.lscap__label{
  display:block;font-family:"Manrope",system-ui,sans-serif;
  font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lscap-moss-deep);margin:0 0 .4rem;
}
.lscap input{
  width:100%;font-family:"Manrope",system-ui,sans-serif;font-size:16px; /* 16px stops iOS zoom on focus */
  color:var(--lscap-ink);background:#fff;
  border:1.5px solid var(--lscap-line);border-radius:12px;
  padding:.92em 1em;min-height:52px; /* comfortable thumb target */
  transition:border-color .2s,box-shadow .2s;
}
.lscap input::placeholder{color:#b5a894}
.lscap input:focus{
  outline:none;border-color:var(--lscap-moss);
  box-shadow:0 0 0 4px rgba(71,125,26,.14);
}
.lscap input.is-bad{border-color:var(--lscap-rasp);box-shadow:0 0 0 4px rgba(227,11,93,.13)}

.lscap__btn{
  -webkit-appearance:none;appearance:none;
  width:100%;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:"Manrope",system-ui,sans-serif;font-size:1rem;font-weight:800;
  letter-spacing:.02em;color:#fff;background:var(--lscap-rasp);
  border:0;border-radius:12px;cursor:pointer;
  transition:transform .15s,background .2s,opacity .2s;
}
.lscap__btn:hover{background:#c50a51}
.lscap__btn:active{transform:translateY(1px)}
.lscap__btn[disabled]{opacity:.62;cursor:default}
.lscap__btn--ghost{
  background:transparent;color:var(--lscap-moss-deep);
  border:1.5px solid var(--lscap-line);font-weight:700;
}
.lscap__btn--ghost:hover{background:#fff;border-color:var(--lscap-moss)}

.lscap__pair{display:grid;gap:.6rem}
@media (min-width:560px){
  .lscap__pair{grid-template-columns:1fr 1fr}
  .lscap__row2{grid-template-columns:1fr auto}
}

.lscap__msg{
  min-height:1.1em;margin:.6rem 0 0;
  font-family:"Manrope",system-ui,sans-serif;font-size:.86rem;font-weight:700;
  color:var(--lscap-moss-deep);
}
.lscap__msg.is-err{color:var(--lscap-rasp)}
.lscap__fine{
  margin:.85rem 0 0;font-family:"Manrope",system-ui,sans-serif;
  font-size:.76rem;line-height:1.55;color:var(--lscap-fine);
}
.lscap__fine a{color:var(--lscap-moss-deep);font-weight:700}

/* ---- direct contact line: email and phone always reachable ---- */
.lscap__direct{
  margin:1.1rem 0 0;padding:.95rem 0 0;border-top:1px solid var(--lscap-line);
  display:flex;flex-wrap:wrap;gap:.45rem .9rem;
  font-family:"Manrope",system-ui,sans-serif;font-size:.86rem;color:var(--lscap-soft);
}
.lscap__direct a{
  display:inline-flex;align-items:center;gap:.45em;
  min-height:42px;padding:.35em .2em;   /* thumb sized, not a 24px hairline */
  color:var(--lscap-moss-deep);font-weight:700;text-decoration:none;
  border-bottom:1px solid rgba(71,125,26,.3);
}
.lscap__direct a:hover{border-bottom-color:var(--lscap-moss)}
.lscap__direct svg{width:15px;height:15px;flex:none;fill:currentColor}

/* ---- done state ---- */
.lscap__done{text-align:left}
.lscap__done h3{
  font-family:"Fraunces",Georgia,serif;font-weight:560;
  font-size:clamp(1.25rem,5vw,1.6rem);color:var(--lscap-moss-deep);margin:0 0 .5rem;
}
.lscap__done p{
  font-family:"Manrope",system-ui,sans-serif;font-size:.95rem;line-height:1.65;
  color:var(--lscap-soft);margin:0 0 1rem;
}

/* =========================================================
   Mobile action bar for pages without one
   ========================================================= */
.lsbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:none;gap:8px;padding:8px 10px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));
  background:rgba(255,247,236,.97);
  backdrop-filter:saturate(150%) blur(8px);
  -webkit-backdrop-filter:saturate(150%) blur(8px);
  border-top:1px solid #EADFCB;
  box-shadow:0 -8px 24px -18px rgba(42,33,24,.5);
}
.lsbar a{
  flex:1;min-width:0;min-height:46px;
  display:flex;align-items:center;justify-content:center;gap:.4em;
  font-family:"Manrope",system-ui,sans-serif;font-size:.86rem;font-weight:800;
  color:#2F5512;background:#fff;border:1.5px solid #EADFCB;border-radius:100px;
  text-decoration:none;white-space:nowrap;
}
.lsbar a.is-primary{background:#E30B5D;border-color:#E30B5D;color:#fff}
.lsbar svg{width:16px;height:16px;flex:none;fill:currentColor}
@media (max-width:860px){
  .lsbar{display:flex}
  body.has-lsbar{padding-bottom:70px}
}

@media (prefers-reduced-motion:reduce){
  .lscap__btn{transition:none}
}

/* =========================================================
   Announcement band for the price update letter
   Sits under the hero on the home page and at the top of the
   price list. Deliberately quiet: an honest notice, not a
   promo banner. Mobile first, stacks to one column.
   ========================================================= */
.lsnote{
  max-width:1060px;
  margin:clamp(1.2rem,4vw,2rem) 16px;
  margin-inline:max(16px,calc((100% - 1060px) / 2));
}
.lsnote__link{
  display:grid;gap:.55rem .95rem;
  grid-template-columns:1fr;align-items:center;
  padding:clamp(1rem,3.6vw,1.25rem) clamp(1rem,4vw,1.5rem);
  background:linear-gradient(140deg,#FFFDF8,#FBEFDC);
  border:1px solid #EADFCB;border-left:4px solid #B0803F;
  border-radius:18px;text-decoration:none;
  box-shadow:0 12px 32px -28px rgba(42,33,24,.55);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.lsnote__link:hover{
  border-left-color:#E30B5D;
  box-shadow:0 16px 38px -26px rgba(42,33,24,.6);
}
.lsnote__tag{
  font-family:"Manrope",system-ui,sans-serif;
  font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:#8D6632;
}
.lsnote__body{
  font-family:"Manrope",system-ui,sans-serif;
  font-size:.94rem;line-height:1.6;color:#6a5c49;
}
.lsnote__body strong{
  display:block;font-family:"Fraunces",Georgia,serif;font-weight:560;
  font-size:clamp(1.05rem,4vw,1.22rem);line-height:1.3;color:#2A2118;margin-bottom:.2rem;
}
.lsnote__cta{
  display:inline-flex;align-items:center;gap:.4em;min-height:44px;
  font-family:"Manrope",system-ui,sans-serif;font-size:.88rem;font-weight:800;
  color:#2F5512;white-space:nowrap;
}
.lsnote__cta svg{width:16px;height:16px;fill:currentColor;transition:transform .2s}
.lsnote__link:hover .lsnote__cta svg{transform:translateX(3px)}
@media (min-width:820px){
  .lsnote__link{grid-template-columns:auto 1fr auto;gap:0 1.4rem}
  .lsnote__tag{writing-mode:horizontal-tb;align-self:center}
}
@media (prefers-reduced-motion:reduce){
  .lsnote__link,.lsnote__cta svg{transition:none}
}

/* =========================================================
   FAQ accordion, self contained
   The letter page carries its own inline CSS and does not load
   journal.css, so it cannot reuse .jfaq. Mobile first.
   ========================================================= */
.lsfaq{
  max-width:720px;
  margin:clamp(2.5rem,7vw,4rem) 16px;
  margin-inline:max(16px,calc((100% - 720px) / 2));
}
.lsfaq__title{
  font-family:"Fraunces",Georgia,serif;font-weight:560;
  font-size:clamp(1.4rem,5.4vw,1.9rem);line-height:1.2;
  color:#2A2118;margin:0 0 .4rem;text-align:center;
}
.lsfaq__sub{
  font-family:"Manrope",system-ui,sans-serif;font-size:.95rem;
  color:#6a5c49;margin:0 0 1.4rem;text-align:center;
}
.lsfaq__item{
  border-bottom:1px solid #EADFCB;
}
.lsfaq__item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:flex-start;gap:.8rem;
  padding:1.05rem .2rem;min-height:52px;
  font-family:"Manrope",system-ui,sans-serif;
  font-size:1rem;font-weight:700;line-height:1.45;color:#2F5512;
}
.lsfaq__item summary::-webkit-details-marker{display:none}
.lsfaq__item summary::after{
  content:"";flex:none;margin-left:auto;margin-top:.45em;
  width:9px;height:9px;border-right:2px solid #B0803F;border-bottom:2px solid #B0803F;
  transform:rotate(45deg);transition:transform .22s;
}
.lsfaq__item[open] summary::after{transform:rotate(-135deg)}
.lsfaq__item summary:hover{color:#477D1A}
.lsfaq__a{padding:0 .2rem 1.15rem}
.lsfaq__a p{
  font-family:"Manrope",system-ui,sans-serif;
  font-size:.96rem;line-height:1.7;color:#6a5c49;margin:0;
}
.lsfaq__foot{
  margin:1.4rem 0 0;font-family:"Manrope",system-ui,sans-serif;
  font-size:.9rem;line-height:1.7;color:#6a5c49;text-align:center;
}
.lsfaq__foot a{color:#2F5512;font-weight:700}
@media (prefers-reduced-motion:reduce){
  .lsfaq__item summary::after{transition:none}
}
