/* ==========================================================================
 * Planting Zone — Sidebar Widget variants SW1-SW4 (v14.5.0).
 * Lifted from D:\Downloads\topbar-sidebar-lab.html. Scoped under .pz-sw.
 * Loaded by PZ_Sidebar_Widget::enqueue_assets() — fires whenever a
 * widget instance is rendered (sidebar) or injected (blog post body).
 * ========================================================================== */

.pz-sw {
  --pz-sw-parchment: #F4ECDC;
  --pz-sw-parchment-deep: #EBE0CA;
  --pz-sw-cream:     #FAF5EA;
  --pz-sw-forest:    #2C3E2D;
  --pz-sw-forest-deep: #1E2C1F;
  --pz-sw-forest-darker: #121A13;
  --pz-sw-moss:      #5A7052;
  --pz-sw-terracotta: #B5543A;
  --pz-sw-terracotta-deep: #9A4330;
  --pz-sw-honey:     #D4A73C;
  --pz-sw-honey-deep: #B88C28;
  --pz-sw-ink:       #2A2723;
  --pz-sw-ink-soft:  #4A453E;
  --pz-sw-stroke:    rgba(42, 39, 35, 0.15);

  --pz-sw-serif: 'Fraunces', Georgia, serif;
  --pz-sw-sans:  'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  font-family: var(--pz-sw-sans);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(42, 39, 35, 0.10), 0 20px 48px rgba(42, 39, 35, 0.10);
  position: relative;
  margin: 1.6em 0;
}
.pz-sw * { box-sizing: border-box; }

/* Shared form for all widgets */
.pz-sw__form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pz-sw__form input {
  font-family: var(--pz-sw-sans);
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 14px;
  border: 2px solid;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}
.pz-sw__form input:focus { outline: none; box-shadow: 0 0 0 3px rgba(212, 167, 60, 0.3); }
.pz-sw__form button {
  font-family: var(--pz-sw-sans);
  font-weight: 700;
  font-size: 14.5px;
  padding: 14px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  margin-top: 4px;
}
.pz-sw__form button:hover { transform: translateY(2px); }
.pz-sw__form button:active { transform: translateY(4px); }
.pz-sw .pz-inline-optin-error {
  margin-top: 10px;
  padding: 8px 12px;
  background: rgba(255, 100, 100, 0.18);
  border: 1px solid rgba(255, 180, 180, 0.6);
  border-radius: 6px;
  color: #fff;
  font-size: 0.9em;
  text-align: center;
}

/* -------- SW1 · PLANNER FLAGSHIP (dark editorial) -------- */
.pz-sw-sw1 { background: var(--pz-sw-forest-deep); color: var(--pz-sw-cream); }
.pz-sw-sw1::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pz-sw-moss), var(--pz-sw-honey), var(--pz-sw-terracotta));
}
.pz-sw-sw1__cover {
  padding: 32px 24px 22px;
  background: linear-gradient(135deg, #253425 0%, #1A251B 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pz-sw-sw1__cover::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(212, 167, 60, 0.25) 0%, transparent 70%);
}
.pz-sw-sw1__book {
  width: 140px;
  aspect-ratio: 7 / 9;
  background: linear-gradient(135deg, var(--pz-sw-parchment), var(--pz-sw-cream));
  border-radius: 3px;
  padding: 14px 12px;
  box-shadow: 0 18px 30px rgba(0,0,0,0.45), 0 6px 12px rgba(0,0,0,0.25);
  transform: rotate(-4deg);
  position: relative;
  z-index: 1;
}
.pz-sw-sw1__book-brand {
  font-family: var(--pz-sw-serif);
  font-style: italic;
  font-size: 9px;
  color: var(--pz-sw-terracotta);
  text-align: center;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.pz-sw-sw1__book-title {
  font-family: var(--pz-sw-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--pz-sw-forest-deep);
  text-align: center;
  line-height: 1.05;
  margin-bottom: 8px;
}
.pz-sw-sw1__book-divider { height: 1.5px; background: var(--pz-sw-terracotta); margin: 6px 18px; }
.pz-sw-sw1__book-big {
  font-family: var(--pz-sw-serif);
  font-size: 38px;
  font-weight: 600;
  color: var(--pz-sw-forest-deep);
  text-align: center;
  line-height: 1;
}
.pz-sw-sw1__book-tag {
  font-size: 7px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: center;
  color: var(--pz-sw-ink-soft);
  font-weight: 600;
  margin-top: 2px;
}
.pz-sw-sw1__body { padding: 24px; }
.pz-sw-sw1__eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pz-sw-honey);
  font-weight: 700;
  margin-bottom: 8px;
}
.pz-sw-sw1__headline {
  font-family: var(--pz-sw-serif);
  font-size: 22px;
  line-height: 1.1;
  font-weight: 500;
  color: var(--pz-sw-cream);
  margin-bottom: 10px;
}
.pz-sw-sw1__headline em { font-style: italic; color: var(--pz-sw-honey); font-weight: 400; }
.pz-sw-sw1__copy {
  font-size: 13px;
  color: rgba(250, 245, 234, 0.85);
  margin-bottom: 18px;
  line-height: 1.5;
}
.pz-sw-sw1 .pz-sw__form input {
  background: rgba(250, 245, 234, 0.08);
  border-color: rgba(250, 245, 234, 0.15);
  color: var(--pz-sw-cream);
}
.pz-sw-sw1 .pz-sw__form input::placeholder { color: rgba(250, 245, 234, 0.4); }
.pz-sw-sw1 .pz-sw__form input:focus { border-color: var(--pz-sw-honey); background: rgba(250, 245, 234, 0.12); }
.pz-sw-sw1 .pz-sw__form button {
  background: var(--pz-sw-terracotta);
  color: var(--pz-sw-cream);
  box-shadow: 0 4px 0 var(--pz-sw-terracotta-deep);
}
.pz-sw-sw1 .pz-sw__form button:hover { box-shadow: 0 2px 0 var(--pz-sw-terracotta-deep); }
.pz-sw-sw1__trust {
  margin-top: 12px;
  font-size: 11px;
  color: rgba(250, 245, 234, 0.6);
  text-align: center;
}
.pz-sw-sw1__trust::before { content: '✓ '; color: var(--pz-sw-moss); font-weight: bold; }

/* -------- SW2 · NEWSLETTER (cream card) -------- */
.pz-sw-sw2 { background: var(--pz-sw-cream); color: var(--pz-sw-ink); border: 1px solid var(--pz-sw-stroke); }
.pz-sw-sw2::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--pz-sw-honey);
}
.pz-sw-sw2__body { padding: 28px 24px 22px; }
.pz-sw-sw2__icon-wrap {
  width: 52px; height: 52px;
  background: rgba(212, 167, 60, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.pz-sw-sw2__icon { width: 28px; height: 28px; color: var(--pz-sw-honey-deep); }
.pz-sw-sw2__eyebrow {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pz-sw-terracotta);
  font-weight: 700;
  margin-bottom: 8px;
}
.pz-sw-sw2__headline {
  font-family: var(--pz-sw-serif);
  font-size: 23px;
  line-height: 1.08;
  font-weight: 500;
  color: var(--pz-sw-forest-deep);
  margin-bottom: 10px;
}
.pz-sw-sw2__headline em { font-style: italic; color: var(--pz-sw-terracotta); }
.pz-sw-sw2__copy {
  font-size: 13.5px;
  color: var(--pz-sw-ink-soft);
  margin-bottom: 18px;
  line-height: 1.5;
}
.pz-sw-sw2 .pz-sw__form input {
  background: white;
  border-color: var(--pz-sw-stroke);
  color: var(--pz-sw-ink);
}
.pz-sw-sw2 .pz-sw__form input:focus { border-color: var(--pz-sw-honey); }
.pz-sw-sw2 .pz-sw__form button {
  background: var(--pz-sw-forest-deep);
  color: var(--pz-sw-honey);
  box-shadow: 0 4px 0 var(--pz-sw-forest-darker);
}
.pz-sw-sw2 .pz-sw__form button:hover { box-shadow: 0 2px 0 var(--pz-sw-forest-darker); }
.pz-sw-sw2__trust {
  margin-top: 14px;
  font-size: 11.5px;
  color: var(--pz-sw-ink-soft);
  text-align: center;
  font-style: italic;
}

/* -------- SW3 · SOCIAL PROOF (terracotta) -------- */
.pz-sw-sw3 {
  background: linear-gradient(160deg, var(--pz-sw-terracotta) 0%, var(--pz-sw-terracotta-deep) 100%);
  color: var(--pz-sw-cream);
}
.pz-sw-sw3::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 10%, rgba(255,255,255,0.12) 0%, transparent 50%);
  pointer-events: none;
}
.pz-sw-sw3__body { padding: 28px 24px 22px; position: relative; }
.pz-sw-sw3__stat-wrap { text-align: center; margin-bottom: 16px; }
.pz-sw-sw3__stat-num {
  font-family: var(--pz-sw-serif);
  font-weight: 600;
  font-size: 38px;
  line-height: 1;
  color: var(--pz-sw-honey);
  letter-spacing: -0.02em;
}
.pz-sw-sw3__stat-label {
  font-family: var(--pz-sw-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--pz-sw-cream);
  opacity: 0.92;
  margin-top: 4px;
}
.pz-sw-sw3__stars {
  text-align: center;
  color: var(--pz-sw-honey);
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}
.pz-sw-sw3__quote {
  font-family: var(--pz-sw-serif);
  font-style: italic;
  font-size: 15px;
  text-align: center;
  line-height: 1.4;
  color: var(--pz-sw-cream);
  padding: 0 8px;
  margin-bottom: 4px;
}
.pz-sw-sw3__quote::before, .pz-sw-sw3__quote::after { color: var(--pz-sw-honey); font-size: 24px; vertical-align: sub; }
.pz-sw-sw3__quote::before { content: '“'; margin-right: 2px; }
.pz-sw-sw3__quote::after  { content: '”'; margin-left: 2px; }
.pz-sw-sw3__attrib {
  font-size: 11px;
  text-align: center;
  color: rgba(250, 245, 234, 0.7);
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}
.pz-sw-sw3__divider { height: 1px; background: rgba(250, 245, 234, 0.2); margin-bottom: 18px; }
.pz-sw-sw3__cta-copy {
  font-family: var(--pz-sw-serif);
  font-size: 17px;
  text-align: center;
  color: var(--pz-sw-cream);
  margin-bottom: 14px;
  line-height: 1.25;
}
.pz-sw-sw3__cta-copy em { color: var(--pz-sw-honey); font-style: italic; }
.pz-sw-sw3 .pz-sw__form input {
  background: rgba(0, 0, 0, 0.15);
  border-color: rgba(250, 245, 234, 0.25);
  color: var(--pz-sw-cream);
}
.pz-sw-sw3 .pz-sw__form input::placeholder { color: rgba(250, 245, 234, 0.5); }
.pz-sw-sw3 .pz-sw__form input:focus { border-color: var(--pz-sw-honey); background: rgba(0, 0, 0, 0.25); }
.pz-sw-sw3 .pz-sw__form button {
  background: var(--pz-sw-honey);
  color: var(--pz-sw-forest-deep);
  box-shadow: 0 4px 0 var(--pz-sw-honey-deep);
}
.pz-sw-sw3 .pz-sw__form button:hover { box-shadow: 0 2px 0 var(--pz-sw-honey-deep); }

/* -------- SW4 · SEASONAL (honey, dark header) -------- */
.pz-sw-sw4 { background: var(--pz-sw-honey); color: var(--pz-sw-forest-deep); }
.pz-sw-sw4__top {
  background: var(--pz-sw-forest-deep);
  color: var(--pz-sw-honey);
  padding: 16px 20px 14px;
  text-align: center;
}
.pz-sw-sw4__month-eyebrow {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(212, 167, 60, 0.7);
  font-weight: 700;
  margin-bottom: 2px;
}
.pz-sw-sw4__month {
  font-family: var(--pz-sw-serif);
  font-size: 32px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--pz-sw-honey);
}
.pz-sw-sw4__month-sub {
  font-family: var(--pz-sw-serif);
  font-style: italic;
  font-size: 13px;
  color: var(--pz-sw-cream);
  opacity: 0.8;
  margin-top: 4px;
}
.pz-sw-sw4__body { padding: 22px 24px; }
.pz-sw-sw4__list-title {
  font-family: var(--pz-sw-serif);
  font-style: italic;
  font-size: 15px;
  text-align: center;
  color: var(--pz-sw-forest-deep);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(30, 44, 31, 0.3);
}
.pz-sw-sw4__list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
}
.pz-sw-sw4__list li {
  font-family: var(--pz-sw-serif);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--pz-sw-forest-deep);
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.pz-sw-sw4__list li::before {
  content: '✓';
  color: var(--pz-sw-terracotta-deep);
  font-weight: bold;
  font-size: 13px;
}
.pz-sw-sw4__cta-copy {
  font-family: var(--pz-sw-serif);
  font-size: 14px;
  text-align: center;
  color: var(--pz-sw-forest-deep);
  margin-bottom: 12px;
  font-style: italic;
}
.pz-sw-sw4 .pz-sw__form input {
  background: var(--pz-sw-cream);
  border-color: rgba(30, 44, 31, 0.3);
  color: var(--pz-sw-ink);
}
.pz-sw-sw4 .pz-sw__form input::placeholder { color: rgba(30, 44, 31, 0.45); }
.pz-sw-sw4 .pz-sw__form input:focus { border-color: var(--pz-sw-forest-deep); background: white; }
.pz-sw-sw4 .pz-sw__form button {
  background: var(--pz-sw-forest-deep);
  color: var(--pz-sw-honey);
  box-shadow: 0 4px 0 var(--pz-sw-forest-darker);
}
.pz-sw-sw4 .pz-sw__form button:hover { box-shadow: 0 2px 0 var(--pz-sw-forest-darker); }

/* In-content variant (injected into post body — narrower, less wide) */
.pz-sw--in-content {
  max-width: 420px;
  margin: 2em auto;
}
