/* CannaBlossom Contact page */
:root{
  --terracotta:#9E502B;
  --olive:#6F7138;
  --linen:#F9F4EB;
  --linen-card:#FDFBF6;
  --linen-warm:#F2EAD8;
  --bark:#4A3C29;
  --bark-deep:#2C2118;
  --border:rgba(111,113,56,.18);
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

.cb-contact-section .section-content{
  max-width:1160px;
  margin:0 auto;
  padding:0 32px;
}
.cb-contact-head{
  max-width:680px;
  margin:0 auto 64px;
  text-align:center;
}
.cb-contact-eyebrow{
  margin:0 0 18px !important;
  color:var(--olive);
  font:500 11px/1 "JetBrains Mono", monospace !important;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.cb-contact-head h1{
  margin:0 0 20px !important;
  color:var(--bark) !important;
  font-family:"Fraunces", Georgia, serif !important;
  font-size:72px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
}
.cb-contact-head h1 em{
  color:var(--terracotta) !important;
  font-style:italic !important;
  font-weight:400 !important;
}
.cb-contact-head > p:last-child{
  max-width:560px;
  margin:0 auto !important;
  color:rgba(74,60,41,.75);
  font:400 16px/1.6 Inter, system-ui, sans-serif !important;
}
.cb-contact-grid{
  max-width:1160px !important;
  margin:0 auto !important;
  align-items:flex-start !important;
}
.cb-contact-grid > .col{
  padding-bottom:0 !important;
}
.cb-contact-form-wrap{
  padding:40px !important;
  background:var(--linen-warm);
  border:1px solid var(--border);
  border-radius:6px;
}
.cb-contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.cb-contact-form-wrap .wpcf7,
.cb-contact-form-wrap .wpcf7 form,
.cb-contact-form-wrap .wpcf7 p{
  margin:0 !important;
}
.cb-contact-form-wrap .wpcf7-form-control-wrap{
  display:block;
  position:relative;
}
.cb-contact-field{
  margin-bottom:26px;
}
.cb-contact-field label{
  display:block;
  margin:0 0 8px;
  color:var(--olive);
  font:600 10px/1 "JetBrains Mono", monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cb-contact-field label span{
  opacity:.5;
  font-weight:400;
}
.cb-contact-field input,
.cb-contact-field select,
.cb-contact-field textarea{
  width:100%;
  box-sizing:border-box;
  margin:0 !important;
  min-height:54px;
  padding:0 16px !important;
  background:var(--linen) !important;
  border:1px solid var(--border) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  color:var(--bark);
  font:400 16px/1.35 Inter, system-ui, sans-serif !important;
  outline:0;
  transition:border-color .2s ease;
}
.cb-contact-field input,
.cb-contact-field select{
  height:54px;
  line-height:54px !important;
}
.cb-contact-field input::placeholder,
.cb-contact-field textarea::placeholder{
  color:rgba(74,60,41,.58);
  opacity:1;
}
.cb-contact-field input:focus,
.cb-contact-field select:focus,
.cb-contact-field textarea:focus{
  border-color:var(--terracotta) !important;
}
.cb-contact-field select{
  appearance:none;
  -webkit-appearance:none;
  text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236F7138' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 16px center !important;
  background-size:10px !important;
  padding-right:40px !important;
}
.cb-contact-field textarea{
  min-height:140px;
  padding:16px !important;
  line-height:1.55 !important;
  resize:vertical;
}
.cb-contact-form-wrap .wpcf7-not-valid-tip{
  display:block !important;
  position:static !important;
  width:auto !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  clear:both !important;
  color:#B03A26 !important;
  font:500 13px/1.4 Inter, system-ui, sans-serif !important;
}
.cb-contact-form-wrap .wpcf7-response-output{
  margin:18px 0 0 !important;
  padding:13px 15px !important;
  border:1px solid var(--border) !important;
  border-radius:3px;
  color:var(--bark);
  font:500 13px/1.45 Inter, system-ui, sans-serif;
}
.cb-contact-form-wrap .wpcf7 form.sent .wpcf7-response-output{
  border-color:rgba(111,113,56,.45) !important;
  background:rgba(111,113,56,.08);
}
.cb-contact-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.cb-contact-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output{
  border-color:rgba(176,58,38,.45) !important;
  background:rgba(176,58,38,.08);
}
.cb-contact-form-wrap .wpcf7-spinner{
  margin:14px auto 0;
  display:block;
}
.cb-contact-submit{
  width:100%;
  margin:10px 0 0 !important;
  padding:18px !important;
  background:var(--terracotta) !important;
  color:var(--linen) !important;
  border:0 !important;
  border-radius:3px !important;
  font:600 12px/1 "JetBrains Mono", monospace !important;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cb-contact-submit:hover{
  background:var(--bark) !important;
}
.cb-contact-side{
  padding-left:34px !important;
}
.cb-contact-card{
  margin:0 0 20px !important;
  padding:32px !important;
  background:var(--bark);
  color:var(--linen);
  border-radius:6px;
}
.cb-contact-card__title{
  margin:0 0 16px !important;
  color:var(--terracotta);
  font:400 11px/1 "JetBrains Mono", monospace !important;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.cb-contact-card h3{
  margin:0 0 6px !important;
  color:var(--linen) !important;
  font-family:"Fraunces", Georgia, serif !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  word-break:break-word;
}
.cb-contact-card h3.cb-contact-card__hours{
  font-size:15px !important;
  line-height:1.5 !important;
}
.cb-contact-card > p:last-child{
  margin:0 !important;
  color:rgba(249,244,235,.7);
  font:400 12px/1.5 Inter, system-ui, sans-serif !important;
}
.cb-contact-card--chat{
  background:var(--olive);
}
.cb-contact-card--chat .cb-contact-card__title{
  color:rgba(249,244,235,.9);
}
.cb-live-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  color:var(--linen);
  font:500 11px/1 Inter, system-ui, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cb-live-badge::before{
  content:'';
  width:8px;
  height:8px;
  background:#5FD97A;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(95,217,122,.25);
  animation:cb-pulse 2s infinite;
}
@keyframes cb-pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(95,217,122,.25)}
  50%{box-shadow:0 0 0 6px rgba(95,217,122,0)}
}
.cb-chat-btn{
  display:inline-block;
  margin-top:16px;
  padding:11px 18px;
  background:var(--linen);
  color:var(--bark) !important;
  border-radius:2px;
  font:600 11px/1 "JetBrains Mono", monospace;
  letter-spacing:.12em;
  text-decoration:none !important;
  text-transform:uppercase;
}

@media (max-width:849px){
  .cb-contact-section .section-content{
    padding:0 22px;
  }
  .cb-contact-head{
    margin-bottom:36px;
  }
  .cb-contact-head h1{
    font-size:42px !important;
  }
  .cb-contact-grid{
    row-gap:24px !important;
  }
  .cb-contact-form-wrap{
    padding:24px !important;
  }
  .cb-contact-form-row{
    grid-template-columns:1fr;
    gap:0;
  }
  .cb-contact-side{
    padding-left:15px !important;
  }
}
