/*
 Theme Name: Kadence Child
 Theme URI: https://example.com/
 Description: Child theme for Kadence. Safe place for customizations.
 Author: Veronica Allen-Ettinger
 Author URI: https://example.com/
 Template: kadence
 Version: 1.0.0
 License: GNU General Public License v2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: kadence-child
 Tags: kadence, child theme
*/

/* Add your custom CSS below */

:root{
  --pbj-espresso:#3B2F2F;
  --pbj-gold:#D4AF37;
  --pbj-ivory:#FAF9F6;
  --pbj-stroke:#E0DDD8;
  --pbj-champagne:#F7E7CE;
  --pbj-muted:#6b6161;
}


.pbj-mc {
  max-width: 640px;
  margin-inline: auto;
}

/* Primary espresso CTA */
.pbj-mc__btn {
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid var(--pbj-espresso);
  background: var(--pbj-espresso);
  color: var(--pbj-ivory);
  font-weight: 700;
  cursor: pointer;
  transition: transform .06s ease, filter .2s ease, background .2s ease, color .2s ease;
}
.pbj-mc__btn:hover { background: var(--pbj-gold); color: var(--pbj-espresso); }

/* Optional gold variant */
.pbj-mc__btn--gold { background: var(--pbj-gold); color: #1b1717; border-color: var(--pbj-gold); }
.pbj-mc__btn--gold:hover { filter: brightness(1.05); }

/* Error state styles used by validation (below) */
.pbj-mc__input.is-invalid { border-color: #b00020 !important; box-shadow: 0 0 0 3px rgba(176,0,32,.12) !important; }
.pbj-mc__error { color:#b00020; font-size:13px; margin-top:4px; display:block; }

.pbj-mc__label {
  display: block;
  font-weight: 600;
  color: var(--pbj-espresso, #3B2F2F);
  margin-bottom: 6px;
  font-family: "Playfair Display", Georgia, serif;
}

.pbj-mc__input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--pbj-stroke, #E0DDD8);
  border-radius: 12px;
  background: #fff;
  color: var(--pbj-espresso, #3B2F2F);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.pbj-mc__input:focus {
  outline: none;
  border-color: var(--pbj-gold, #D4AF37);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .18);
}

.pbj-mc__req {
  color: #b00020;
  margin-left: 4px;
}

.pbj-mc__btn {
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid var(--pbj-espresso, #3B2F2F);
  background: var(--pbj-espresso, #3B2F2F);
  color: var(--pbj-ivory, #FAF9F6);
  font-weight: 700;
  cursor: pointer;
  transition: transform .06s ease, filter .2s ease;
}

.pbj-mc__btn:hover {
  filter: brightness(1.05);
}

.pbj-mc__btn:active {
  transform: translateY(1px);
}

.pbj-mc__result {
  border: 1px solid var(--pbj-stroke, #E0DDD8);
  border-radius: 16px;
  padding: 20px;
  background: #fff;
  max-width: 720px;
  margin-inline: auto;
}

.pbj-mc__result h3 {
  margin: 0 0 8px;
  color: var(--pbj-espresso, #3B2F2F);
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 800;
}

.pbj-mc--yes {
  border-left: 6px solid #2e7d32;
}

.pbj-mc--no {
  border-left: 6px solid #b00020;
}

.pbj-mc__actions {
  margin-top: 14px;
  display: flex;
  justify-content: center;   /* ✅ centers the buttons */
  gap: 10px;
  flex-wrap: wrap;
  text-align: center;        /* ✅ extra fallback centering */
}

.pbj-mc__link {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 12px;
  border: 1px solid var(--pbj-espresso, #3B2F2F);
  background: var(--pbj-champagne, #F7E7CE);
  color: var(--pbj-espresso, #3B2F2F);
  font-weight: 700;
  text-decoration: none;
}

.pbj-mc__note {
  font-size: 13px;
  color: var(--pbj-muted, #6b6161);
  margin-top: 2px;
}

.mc4wp-success {
  background: #F7E7CE;              /* champagne */
  border: 1px solid #3B2F2F !important;        /* espresso border */
  color: #3B2F2F !important;                   /* espresso text */
  padding: 16px 20px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  text-align: center !important;
}

/* Only hide MC4WP messages inside the PBJ availability form wrapper */
.pbj-mc.js-pbj-availability .mc4wp-response {
  display: none !important;
}

/* Make <a> look/behave like buttons */
.pbj-mc__link,
.pbj-mc__link:visited {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 6px;
  background-color: #3B2F2F; /* match your button base color */
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover / focus */
.pbj-mc__link:hover,
.pbj-mc__link:focus {
  background-color: #D4AF37; /* gold hover */
  color: #3B2F2F;            /* invert text color if desired */
  text-decoration: none;
}

/* Optional: active click feedback */
.pbj-mc__link:active {
  background-color: #2a2222;
}

/* WHY COUPLES – global CSS */
.pbj-why{
  --pbj-espresso:#3B2F2F;
  --pbj-gold:#D4AF37;
  --pbj-ivory:#FAF9F6;
  --pbj-white:#FFFFFF;

  color: var(--pbj-espresso);
  font-family: Inter, Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--pbj-ivory);
  border-radius: 20px;
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.pbj-why h2{
  font-family: "Playfair Display","Cormorant Garamond",Georgia,serif;
  font-weight: 700;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.2;
  margin: 0 0 14px;
  text-align: center;
}
.pbj-underline{
  width: 88px; height: 4px; background: var(--pbj-gold);
  margin: 0 auto clamp(22px, 3vw, 30px); border-radius: 4px;
}

/* Flex container centers last row */
.pbj-why-flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(16px, 3vw, 28px);
}

/* Card sizing caps (consistent widths) */
:root{ --pbj-card-w: 340px; }          /* desktop */
@media (max-width:1024px){ :root{ --pbj-card-w: 320px; } }  /* tablet */
@media (max-width:640px){  :root{ --pbj-card-w: 100%; } }   /* mobile */

.pbj-card{
  width: min(var(--pbj-card-w), 100%);
  max-width: var(--pbj-card-w);
  background: var(--pbj-white);
  border-radius: 20px;
  padding: clamp(18px, 2.6vw, 24px);
  box-shadow: 0 8px 24px rgba(0,0,0,.07);
  border: 1px solid rgba(0,0,0,.05);
  display: flex; flex-direction: column; justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-align: left;
}
.pbj-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.12);
}
.pbj-card-icon{
  width: 44px; height: 44px; border-radius: 12px;
  background: linear-gradient(135deg, var(--pbj-gold), #f0d98a);
  display: grid; place-items: center;
  color: var(--pbj-espresso);
  font-size: 20px; font-weight: 700;
  margin-bottom: 12px;
}
.pbj-card h3{
  font-family: "Playfair Display","Cormorant Garamond",Georgia,serif;
  font-weight: 700;
  font-size: clamp(18px, 2.3vw, 22px);
  margin: 0 0 8px; line-height: 1.25;
}
.pbj-card p{
  margin: 0;
  line-height: 1.7;
  font-size: clamp(15px, 1.8vw, 17px);
  opacity: .95;
}

/* ===== Patois Quote Card ===== */
.pbj-quote-card {
  background: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 24px 24px 18px;
  border-left: 5px solid #D4AF37; /* gold accent */
  color: #3B2F2F;
  font-family: Inter, Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.pbj-quote {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.35;
  margin: 0 0 10px;
}

.pbj-translation {
  font-size: clamp(14px, 1.5vw, 16px);
  opacity: .9;
  margin: 0 0 6px;
  font-style: italic;
}

.pbj-quote-note {
  font-size: clamp(14px, 1.5vw, 16px);
  margin: 14px 0 0;
  line-height: 1.6;
}

/* ===== WHY CARDS – Global Styles ===== */

/* Design tokens (tweak to match your theme) */
:root {
  --pbj-espresso: #3B2F2F;
  --pbj-gold: #D4AF37;
  --pbj-ivory: #FAF9F6;
  --pbj-white: #FFFFFF;

  /* Card width caps per breakpoint */
  --pbj-card-w-desktop: 340px;
  --pbj-card-w-tablet: 320px;
  --pbj-card-w-mobile: 100%;
}

/* Section wrapper */
.pbj-why {
  color: var(--pbj-espresso);
  font-family: Inter, Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--pbj-ivory);
  border-radius: 20px;
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

/* Flex container: centers incomplete last row */
.pbj-why__flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;           /* centers any short final row */
  gap: clamp(16px, 3vw, 28px);
}

/* Card sizing caps (consistent widths) */
.pbj-card {
  width: min(var(--pbj-card-w-desktop), 100%);
  max-width: var(--pbj-card-w-desktop);
  background: var(--pbj-white);
  border-radius: 20px;
  padding: clamp(18px, 2.6vw, 24px);
  box-shadow: 0 8px 24px rgba(0,0,0,.07);
  border: 1px solid rgba(0,0,0,.05);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pbj-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.12);
}

/* Badge (gold pill) */
.pbj-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--pbj-gold), #f0d98a);
  display: grid;
  place-items: center;
  color: var(--pbj-espresso);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

/* Headings & text */
.pbj-card__title {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  font-size: clamp(18px, 2.3vw, 22px);
  margin: 0 0 8px;
  line-height: 1.25;
  color: var(--pbj-espresso);
}
.pbj-card__text {
  margin: 0;
  line-height: 1.7;
  font-size: clamp(15px, 1.8vw, 17px);
  opacity: .95;
}

/* Responsive card caps */
@media (max-width: 1024px) {
  .pbj-card {
    width: min(var(--pbj-card-w-tablet), 100%);
    max-width: var(--pbj-card-w-tablet);
  }
}
@media (max-width: 640px) {
  .pbj-card {
    width: min(var(--pbj-card-w-mobile), 100%);
    max-width: var(--pbj-card-w-mobile);
  }
}

/* ===== PBJ Progressive Steps ===== */

/* Hide steps only after JS is ready (no-JS users see full form) */
.pbj-steps .pbj-step { display: block; }
.pbj-steps.js-ready .pbj-step { display: none; }
.pbj-steps.js-ready .pbj-step.is-active { display: block; }

/* Stepper */
.pbj-stepper {
  margin: 0 0 16px;
}
.pbj-stepper__bar {
  background: var(--pbj-stroke);
  border-radius: 999px;
  height: 6px;
  position: relative;
  overflow: hidden;
}
.pbj-stepper__fill {
  display: block;
  height: 100%;
  width: 0%;
  background: var(--pbj-gold);
  transition: width .25s ease;
}
.pbj-stepper__dots {
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--pbj-muted);
  margin-top: 6px;
}
.pbj-stepper__dots span.is-active { color: var(--pbj-espresso); font-weight: 700; }

/* Nav */
.pbj-step-nav {
  display: flex; gap: 10px; justify-content: space-between;
  margin-top: 16px;
}
.pbj-step-prev { display: none; } /* JS shows when > step 1 */

/* Fallback: hide all steps unless explicitly active */
.pbj-steps .pbj-step { display: none; }
.pbj-steps .pbj-step.is-active { display: block; }

/* (Optional) Keep JS behavior consistent */
.pbj-steps.js-ready .pbj-step { display: none; }
.pbj-steps.js-ready .pbj-step.is-active { display: block; }

.pbj-quote-total-row { margin-top: 1.5rem; }
.pbj-quote-total { white-space: nowrap; font-weight: 700; }

.pbj-step-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.pbj-step-actions .pbj-step-next { margin-left: auto; }

.offer-wedding { color:#e60000; font-weight:600; }




