/* =====================================================================
   bridal-consultation.css — .br-* namespaced, companion to pearl-guide.css
   ===================================================================== */

.br-hero-cta{margin-top:28px}
.br-hero-cta .pbg-btn{padding:16px 34px;font-size:1rem}

/* ═══ 3-STEP PROCESS ═══ */
.br-steps{
  display:grid;
  grid-template-columns:1fr 40px 1fr 40px 1fr;
  gap:0;
  align-items:stretch;
  max-width:960px;
  margin:0 auto;
}
.br-step{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:12px;
  padding:34px 28px 28px;
  text-align:center;
  position:relative;
}
.br-step-num{
  position:absolute;
  top:-22px;left:50%;transform:translateX(-50%);
  width:44px;height:44px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--pbg-gold) 0%,var(--pbg-gold-dark) 100%);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-weight:700;
  font-size:1.35rem;
  box-shadow:0 4px 14px rgba(196,154,60,.3);
}
.br-step h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.3rem;
  color:var(--pbg-dark);
  margin:8px 0 10px;
  font-weight:600;
}
.br-step p{
  font-size:.92rem;
  line-height:1.65;
  color:var(--pbg-text);
  margin:0;
}
.br-step-arrow{
  display:flex;align-items:center;justify-content:center;
  color:var(--pbg-gold);
  font-size:1.8rem;
  font-weight:300;
}

/* ═══ BOOKING FORM LAYOUT ═══ */
.br-form-wrap{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:50px;
  align-items:start;
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:14px;
  padding:44px 40px;
  box-shadow:0 12px 40px rgba(24,17,10,.06);
}
.br-form-intro .pbg-h2{margin:10px 0 8px;font-size:clamp(1.6rem,3vw,2.1rem)}
.br-form-intro .pbg-sub{margin-bottom:28px}

.br-trust-points{
  display:flex;flex-direction:column;
  gap:16px;
  padding-top:8px;
  border-top:1px solid var(--pbg-border);
}
.br-trust{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.br-trust-ic{
  flex-shrink:0;
  width:26px;height:26px;
  border-radius:50%;
  background:var(--pbg-gold);
  color:#fff;
  font-weight:700;
  font-size:.82rem;
  display:flex;align-items:center;justify-content:center;
  margin-top:2px;
}
.br-trust strong{
  display:block;
  color:var(--pbg-dark);
  font-size:.97rem;
  margin-bottom:2px;
}
.br-trust span{
  display:block;
  font-size:.88rem;
  color:var(--pbg-text-m);
  line-height:1.55;
}

/* ═══ FORM FIELDS ═══ */
.br-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.br-field{display:flex;flex-direction:column}
.br-field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.br-field label{
  font-size:.84rem;
  font-weight:600;
  color:var(--pbg-dark);
  margin-bottom:6px;
  letter-spacing:.01em;
}
.br-field label > span{color:#c96b2c;font-weight:400;margin-left:2px}
.br-field label .br-opt{color:var(--pbg-text-m);font-weight:400;margin-left:4px;font-size:.78rem}

.br-field input[type="text"],
.br-field input[type="tel"],
.br-field input[type="email"],
.br-field input[type="date"],
.br-field select,
.br-field textarea{
  width:100%;
  padding:11px 14px;
  border:1px solid var(--pbg-border);
  border-radius:6px;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.95rem;
  color:var(--pbg-text);
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
  box-sizing:border-box;
}
.br-field input:focus,
.br-field select:focus,
.br-field textarea:focus{
  outline:none;
  border-color:var(--pbg-gold);
  box-shadow:0 0 0 3px rgba(196,154,60,.12);
}
.br-field textarea{resize:vertical;min-height:80px;font-family:var(--sans,'DM Sans',sans-serif)}

/* ═══ RADIOS ═══ */
.br-radios{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.br-radio{
  flex:1;
  min-width:140px;
  position:relative;
  cursor:pointer;
}
.br-radio input[type="radio"]{
  position:absolute;
  opacity:0;
  width:0;height:0;
}
.br-radio span{
  display:block;
  padding:11px 14px;
  text-align:center;
  border:1px solid var(--pbg-border);
  border-radius:6px;
  font-size:.92rem;
  color:var(--pbg-text);
  transition:all .15s ease;
  background:#fff;
}
.br-radio input[type="radio"]:checked + span{
  background:#fff8e7;
  border-color:var(--pbg-gold);
  color:var(--pbg-dark);
  font-weight:600;
  box-shadow:0 0 0 2px rgba(196,154,60,.15) inset;
}
.br-radio:hover span{border-color:var(--pbg-gold-dark)}

/* ═══ SUBMIT ═══ */
.br-submit{
  width:100%;
  padding:15px 24px;
  font-size:1rem;
  justify-content:center;
  margin-top:6px;
  border:none;
  cursor:pointer;
  font-family:var(--sans,'DM Sans',sans-serif);
}
.br-fine{
  text-align:center;
  font-size:.82rem;
  color:var(--pbg-text-m);
  margin:10px 0 0;
}

/* ═══ FAQ ═══ */
.br-faqs{
  max-width:780px;
  margin:0 auto;
}
.br-faq{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  margin-bottom:12px;
  overflow:hidden;
  transition:box-shadow .2s ease;
}
.br-faq[open]{box-shadow:0 6px 20px rgba(24,17,10,.06)}
.br-faq summary{
  padding:18px 22px;
  cursor:pointer;
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.12rem;
  font-weight:600;
  color:var(--pbg-dark);
  list-style:none;
  position:relative;
  padding-right:48px;
  transition:background .15s ease;
}
.br-faq summary:hover{background:#fffdf7}
.br-faq summary::-webkit-details-marker{display:none}
.br-faq summary::after{
  content:'+';
  position:absolute;
  right:22px;top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  color:var(--pbg-gold);
  font-weight:400;
  transition:transform .2s ease;
}
.br-faq[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.br-faq p{
  padding:0 22px 20px;
  font-size:.96rem;
  line-height:1.75;
  color:var(--pbg-text);
  margin:0;
}

/* ═══ RESPONSIVE ═══ */
@media (max-width:900px){
  .br-steps{
    grid-template-columns:1fr;
    gap:36px;
  }
  .br-step-arrow{
    transform:rotate(90deg);
    padding:10px 0;
  }
  .br-form-wrap{
    grid-template-columns:1fr;
    gap:32px;
    padding:32px 26px;
  }
}
@media (max-width:640px){
  .br-field-row{grid-template-columns:1fr}
  .br-radios{flex-direction:column}
  .br-radio{min-width:100%}
  .br-form-wrap{padding:26px 20px}
  .br-faq summary{font-size:1rem;padding:16px 18px;padding-right:44px}
  .br-faq p{padding:0 18px 18px;font-size:.92rem}
}
