*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --forest:#0F1E14; --forest-md:#162A1E; --forest-lt:#2A5038;
  --copper:#B87830; --copper-lt:#D4A060;
  --cream:#F8F4EE; --cream-dk:#EDE5D4; --warm-white:#F5EDE0;
  --text-dk:#0F1E14; --text-brown:#3A2C1A; --text-muted:#6A7868;
}
html{font-size:16px;}
body{font-family:'Lora',Georgia,serif;background:var(--cream);color:var(--text-dk);line-height:1.75;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,30,20,0.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(184,120,48,0.22);}
body.admin-bar nav{top:32px;}
.nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:62px;}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;letter-spacing:0.02em;color:var(--copper-lt);text-decoration:none;line-height:1.15;}
.logo span{display:block;font-size:0.5rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,237,224,0.4);margin-top:1px;}
.nav-links{display:flex;gap:1.75rem;list-style:none;align-items:center;}
.nav-links a{font-family:'DM Sans',sans-serif;font-size:0.73rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,237,224,0.65);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--copper-lt);}
.nav-actions{display:flex;gap:0.65rem;align-items:center;}
.btn-signin{font-family:'DM Sans',sans-serif;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:rgba(245,237,224,0.55);padding:0.42rem 0.95rem;border-radius:2px;border:1px solid rgba(245,237,224,0.18);transition:all 0.2s;cursor:pointer;text-decoration:none;}
.btn-signin:hover{border-color:var(--copper-lt);color:var(--copper-lt);}
.btn-join-nav{font-family:'DM Sans',sans-serif;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;background:var(--copper);color:var(--forest);padding:0.42rem 1.05rem;border-radius:2px;text-decoration:none;transition:background 0.2s;border:none;cursor:pointer;}
.btn-join-nav:hover{background:var(--copper-lt);}

.bbb-ad-top{background:var(--cream-dk);padding:1rem 2rem;text-align:center;border-bottom:1px solid rgba(42,80,56,0.08);}
.bbb-ad-footer{background:var(--cream-dk);padding:1.1rem 2rem;text-align:center;border-top:1px solid rgba(42,80,56,0.1);}
.ad-label,.bbb-ad-top .ad-lbl,.bbb-ad-footer .ad-lbl{font-family:'DM Sans',sans-serif;font-size:0.55rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(42,80,56,0.25);margin-bottom:0.35rem;display:block;text-align:center;}
.bbb-ad-top .ad-ph,.bbb-ad-footer .ad-ph,.bbb-ad-top .ad-placeholder,.bbb-ad-footer .ad-placeholder{max-width:728px;min-height:90px;margin:0 auto;border:2px dashed rgba(42,80,56,0.18);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(42,80,56,0.3);}

/* ── Page wrapper ─────────────────────────────────────── */
.wpbdp-page,
.wpbdp-wrap,
.wpbdp-submit-page{
  max-width:1100px;
  margin:0 auto;
  padding:calc(62px + 3rem) 2rem 4rem;
  font-family:'DM Sans',sans-serif;
  color:var(--text-dk);
}
body.admin-bar .wpbdp-page,
body.admin-bar .wpbdp-wrap,
body.admin-bar .wpbdp-submit-page{
  padding-top:calc(94px + 3rem);
}
.wpbdp-page h2,
.wpbdp-page > h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,2.5rem);
  font-weight:500;
  color:var(--text-dk);
  margin-bottom:1.5rem;
  line-height:1.12;
}

/* ── Section headings inside submit form ─────────────── */
.wpbdp-submit-listing-section h3,
.wpbdp-submit-listing-section > legend,
.wpbdp-listing-form-section > h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  font-weight:500;
  color:var(--text-dk);
  margin-bottom:1.25rem;
  padding-bottom:0.5rem;
  border-bottom:1px solid var(--cream-dk);
}

/* ── Plan selection list ─────────────────────────────── */
.wpbdp-plans-list,
.wpbdp-plan-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  margin-bottom:2rem;
}
@media(max-width:900px){
  .wpbdp-plans-list,
  .wpbdp-plan-list{grid-template-columns:1fr;}
}

.wpbdp-plan{
  background:white;
  border:1px solid var(--cream-dk);
  padding:1.75rem;
  border-radius:2px;
  cursor:pointer;
  transition:border-color 0.2s,background 0.2s;
}
.wpbdp-plan:hover,
.wpbdp-plan.wpbdp-selected,
.wpbdp-plan input[type=radio]:checked ~ *{
  border-color:rgba(42,80,56,0.4);
  background:rgba(42,80,56,0.03);
}
.wpbdp-plan-label,
.wpbdp-plan-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
  font-weight:500;
  color:var(--text-dk);
  margin-bottom:0.35rem;
  display:block;
}
.wpbdp-plan-price-amount,
.wpbdp-plan-price{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:500;
  color:var(--copper);
  line-height:1;
  margin-bottom:0.5rem;
  display:block;
}
.wpbdp-plan-description,
.wpbdp-plan-desc{
  font-family:'DM Sans',sans-serif;
  font-size:0.8rem;
  font-weight:300;
  color:var(--text-muted);
  line-height:1.65;
  margin-bottom:0.75rem;
}
.wpbdp-plan-feature-list,
.wpbdp-plan-features{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.3rem;
  margin-top:0.5rem;
}
.wpbdp-plan-feature-list li,
.wpbdp-plan-features li{
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;
  font-weight:300;
  color:var(--text-muted);
  padding:0.2rem 0;
  display:flex;
  align-items:flex-start;
  gap:0.5rem;
}
.wpbdp-plan-feature-list li::before,
.wpbdp-plan-features li::before{
  content:'✓';
  color:var(--copper);
  font-weight:500;
  flex-shrink:0;
}

/* ── Form fields ──────────────────────────────────────── */
.wpbdp-form-field,
.wpbdp-field,
.wpbdp-listing-form-field{
  margin-bottom:1.1rem;
}
.wpbdp-form-field label,
.wpbdp-field-label label,
.wpbdp-field label,
.wpbdp-listing-form-field label{
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:0.65rem;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--text-brown);
  margin-bottom:0.38rem;
}
.wpbdp-form-field input[type=text],
.wpbdp-form-field input[type=email],
.wpbdp-form-field input[type=url],
.wpbdp-form-field input[type=tel],
.wpbdp-form-field input[type=number],
.wpbdp-form-field textarea,
.wpbdp-form-field select,
.wpbdp-field input[type=text],
.wpbdp-field input[type=email],
.wpbdp-field input[type=url],
.wpbdp-field input[type=tel],
.wpbdp-field input[type=number],
.wpbdp-field textarea,
.wpbdp-field select,
.wpbdp-listing-form-field input,
.wpbdp-listing-form-field textarea,
.wpbdp-listing-form-field select{
  width:100%;
  background:var(--cream);
  border:1px solid var(--cream-dk);
  border-radius:2px;
  padding:0.75rem 0.9rem;
  font-family:'DM Sans',sans-serif;
  font-size:0.86rem;
  color:var(--text-dk);
  outline:none;
  transition:border-color 0.2s;
  background-clip:padding-box;
}
.wpbdp-form-field input:focus,
.wpbdp-form-field textarea:focus,
.wpbdp-form-field select:focus,
.wpbdp-field input:focus,
.wpbdp-field textarea:focus,
.wpbdp-field select:focus,
.wpbdp-listing-form-field input:focus,
.wpbdp-listing-form-field textarea:focus,
.wpbdp-listing-form-field select:focus{
  border-color:rgba(42,80,56,0.4);
  background:white;
}
.wpbdp-form-field textarea,
.wpbdp-field textarea,
.wpbdp-listing-form-field textarea{
  min-height:100px;
  resize:vertical;
  line-height:1.6;
}
.wpbdp-field-hint,
.wpbdp-form-field-hint{
  font-family:'DM Sans',sans-serif;
  font-size:0.7rem;
  color:var(--text-muted);
  margin-top:0.3rem;
}

/* ── Buttons ──────────────────────────────────────────── */
.wpbdp-button,
input[type=submit].wpbdp-button,
.wpbdp-button-primary,
input[type=submit].wpbdp-button-primary,
.wpbdp-submit-btn,
.wpbdp-submit-listing-form-actions input[type=submit]{
  background:var(--copper);
  color:var(--forest) !important;
  font-family:'DM Sans',sans-serif;
  font-size:0.8rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  border:none;
  border-radius:2px;
  padding:0.9rem 2rem;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:background 0.2s;
  line-height:1;
}
.wpbdp-button:hover,
.wpbdp-button-primary:hover,
input[type=submit].wpbdp-button:hover{
  background:var(--copper-lt) !important;
  color:var(--forest) !important;
}
.wpbdp-button-secondary,
.wpbdp-skip-btn,
a.wpbdp-skip{
  background:transparent;
  color:var(--text-muted);
  border:1px solid var(--cream-dk);
  border-radius:2px;
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;
  padding:0.7rem 1.5rem;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:border-color 0.2s,color 0.2s;
}
.wpbdp-button-secondary:hover,
.wpbdp-skip-btn:hover{
  border-color:var(--copper-lt);
  color:var(--copper-lt);
}
.wpbdp-submit-listing-form-actions{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:1.75rem;
  flex-wrap:wrap;
}

/* ── Checkout ─────────────────────────────────────────── */
.wpbdp-checkout-form,
.wpbdp-payment-options{
  background:white;
  border:1px solid var(--cream-dk);
  padding:2rem;
  border-radius:2px;
  margin-top:1.5rem;
}
.wpbdp-checkout-form h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
  font-weight:500;
  color:var(--text-dk);
  margin-bottom:1rem;
}
.wpbdp-payment-invoice{
  width:100%;
  border-collapse:collapse;
  margin-bottom:1.5rem;
}
.wpbdp-payment-invoice td,
.wpbdp-payment-invoice th{
  font-family:'DM Sans',sans-serif;
  font-size:0.82rem;
  padding:0.5rem 0.75rem;
  border-bottom:1px solid var(--cream-dk);
  text-align:left;
  color:var(--text-dk);
}
.wpbdp-payment-invoice th{
  font-weight:500;
  color:var(--text-brown);
  font-size:0.68rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.wpbdp-payment-invoice tr:last-child td{
  border-bottom:none;
  font-weight:500;
}

/* ── Notices ──────────────────────────────────────────── */
.wpbdp-notice,
.wpbdp-message,
.wpbdp-template-notice,
.wpbdp-notification{
  background:rgba(184,120,48,0.08);
  border:1px solid rgba(184,120,48,0.2);
  border-radius:2px;
  padding:0.9rem 1rem;
  color:var(--text-brown);
  margin-bottom:1rem;
  font-family:'DM Sans',sans-serif;
  font-size:0.82rem;
  line-height:1.6;
}
.wpbdp-notice p,
.wpbdp-message p{margin:0;}
.wpbdp-error,
.wpbdp-form-error,
.wpbdp-field-error{
  background:rgba(160,38,38,0.08);
  border-color:rgba(160,38,38,0.25);
  color:#7a2323;
}

/* ── Directory listing cards (default BDP view) ───────── */
.wpbdp-listings-list{
  display:flex;
  flex-direction:column;
  gap:1px;
  margin-top:1.5rem;
}
.wpbdp-listing-excerpt{
  background:white;
  border:1px solid var(--cream-dk);
  padding:1.25rem 1.5rem;
  transition:border-color 0.2s;
}
.wpbdp-listing-excerpt:hover{
  border-color:rgba(42,80,56,0.25);
}
.wpbdp-listing-excerpt-title,
.wpbdp-listing-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:500;
  margin-bottom:0.3rem;
}
.wpbdp-listing-excerpt-title a,
.wpbdp-listing-title a{
  color:var(--text-dk);
  text-decoration:none;
}
.wpbdp-listing-excerpt-title a:hover,
.wpbdp-listing-title a:hover{
  color:var(--copper);
}
.wpbdp-field-value{
  font-family:'DM Sans',sans-serif;
  font-size:0.82rem;
  color:var(--text-muted);
}

/* ── Main search box ──────────────────────────────────── */
.wpbdp-main-box{
  background:white;
  border:1px solid var(--cream-dk);
  padding:1.5rem;
  border-radius:2px;
  margin-bottom:2rem;
}
.wpbdp-main-box input[type=text]{
  background:var(--cream);
  border:1px solid var(--cream-dk);
  border-radius:2px;
  padding:0.7rem 0.9rem;
  font-family:'DM Sans',sans-serif;
  font-size:0.86rem;
  color:var(--text-dk);
  width:100%;
}

/* ── Pagination ───────────────────────────────────────── */
.wpbdp-pagination,
.wpbdp-page-navigation{
  font-family:'DM Sans',sans-serif;
  font-size:0.8rem;
  color:var(--text-muted);
  margin-top:1.5rem;
  display:flex;
  gap:0.35rem;
  flex-wrap:wrap;
  align-items:center;
}
.wpbdp-pagination a,
.wpbdp-page-navigation a{
  padding:0.35rem 0.75rem;
  border:1px solid var(--cream-dk);
  border-radius:2px;
  color:var(--text-muted);
  text-decoration:none;
  transition:border-color 0.2s,color 0.2s;
}
.wpbdp-pagination a:hover,
.wpbdp-page-navigation a:hover,
.wpbdp-pagination .current,
.wpbdp-page-navigation .current{
  border-color:var(--copper);
  color:var(--copper);
}

/* ── bdp-cta-wrap (from [bbb_bdp_submit_btn]) ─────────── */
.bdp-cta-wrap{
  margin-top:0.5rem;
}
.bdp-cta-wrap .form-submit{
  display:block;
  width:100%;
  padding:0.9rem;
  background:var(--copper);
  color:var(--forest);
  font-family:'DM Sans',sans-serif;
  font-size:0.8rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  border:none;
  border-radius:2px;
  cursor:pointer;
  transition:background 0.2s;
  text-align:center;
  text-decoration:none;
  line-height:2.5;
}
.bdp-cta-wrap .form-submit:hover{background:var(--copper-lt);}
.bdp-cta-wrap .form-note{
  font-family:'DM Sans',sans-serif;
  font-size:0.7rem;
  color:var(--text-muted);
  margin-top:0.65rem;
  text-align:center;
  line-height:1.6;
}

footer{background:var(--forest);padding:4rem 2rem 2rem;}
.footer-inner{max-width:1280px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem;}
.footer-brand p{font-family:'DM Sans',sans-serif;font-size:0.77rem;font-weight:300;color:rgba(245,237,224,0.38);line-height:1.75;margin-top:1rem;}
.footer-col h4{font-family:'DM Sans',sans-serif;font-size:0.62rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:rgba(245,237,224,0.35);margin-bottom:1rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem;}
.footer-col a{font-family:'DM Sans',sans-serif;font-size:0.77rem;font-weight:300;color:rgba(245,237,224,0.45);text-decoration:none;transition:color 0.2s;}
.footer-col a:hover{color:var(--copper-lt);}
.footer-bottom{border-top:1px solid rgba(245,237,224,0.07);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-bottom p{font-family:'DM Sans',sans-serif;font-size:0.68rem;color:rgba(245,237,224,0.25);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{font-family:'DM Sans',sans-serif;font-size:0.68rem;color:rgba(245,237,224,0.25);text-decoration:none;transition:color 0.2s;}
.footer-legal a:hover{color:var(--copper-lt);}

@media(max-width:960px){
  body.admin-bar nav{top:46px;}
  .nav-links{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
}
