:root{
  --ohtpl-brand: #80A4D4;
  --ohtpl-brand-dark: #5C84BD;
  --ohtpl-brand-light: #F0F0F0;
}

/* ─── Hero ─── */
.ohtpl-hero{
  position:relative;
  background-size:cover;
  background-position:center;
  background-color:#000;
  color:#fff;
  min-height:420px;
  display:flex;
  align-items:center;
  box-shadow: 0 -4px 0 0 var(--ohtpl-brand) inset;
}
.ohtpl-hero-content{
  max-width:1280px;
  width:100%;
  margin:0 auto;
  padding:3rem 1.5rem;
}
.ohtpl-hero-text{
  display:inline-block;
  max-width:52rem;
  background:rgba(0,0,0,.8);
  border-left:5px solid var(--ohtpl-brand);
  border-radius:0 .5rem .5rem 0;
  padding:2.25rem 2.5rem;
  text-align:left;
}
.ohtpl-hero-text h1{
  font-size:2.0rem;
  font-weight:700;
  line-height:1.15;
  margin:0 0 1rem;
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}
@media(min-width:768px){
  .ohtpl-hero-text h1{ font-size:3.5rem; }
}
@media(min-width:1024px){
  .ohtpl-hero-text h1{ font-size:4rem; }
}
.ohtpl-hero-text p{
  font-size:1.25rem;
  margin:0;
  line-height:1.5;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
@media(min-width:768px){
  .ohtpl-hero-text p{ font-size:1.375rem; }
}

/* ─── Layout ─── */
.ohtpl-main{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  max-width:1200px;
  margin:0 auto;
  padding:2rem 1rem;
  background:#fff;
}
@media(min-width:1024px){
  .ohtpl-main{grid-template-columns:7fr 5fr; gap:3rem}
}

/* ─── Cards ─── */
.ohtpl-steps-card,
.ohtpl-form-card{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:.5rem;
  padding:1.75rem 2rem;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  color:#000;
}
.ohtpl-steps-card h2{
  font-size:1.25rem;
  font-weight:700;
  margin:0 0 1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid #e5e5e5;
}

/* ─── Steps ─── */
.ohtpl-steps{
  list-style:none;
  margin:0;
  padding:0;
}
.ohtpl-steps li{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.ohtpl-steps li + li{
  margin-top:1.5rem;
}
.ohtpl-steps strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:.25rem;
}
.ohtpl-steps p{
  color:#4b5563;
  margin:0;
  line-height:1.6;
  font-size:.925rem;
}
.ohtpl-step-num{
  background:var(--ohtpl-brand);
  color:#fff;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-weight:700;
  font-size:.875rem;
  flex-shrink:0;
  margin-top:2px;
}

/* ─── Tips box ─── */
.ohtpl-tips{
  background:var(--ohtpl-brand-light);
  border-left:4px solid var(--ohtpl-brand);
  padding:1.5rem 1.75rem;
  border-radius:0 .5rem .5rem 0;
  color:#000;
  margin-top:2rem;
}
.ohtpl-tips h3{
  font-weight:700;
  font-size:1.05rem;
  margin:0 0 .9rem;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.ohtpl-tips h3 i{
  color:var(--ohtpl-brand);
}
.ohtpl-tips ul{
  list-style:none;
  margin:0;
  padding:0;
}
.ohtpl-tips li{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  font-size:.925rem;
  color:#333;
}
.ohtpl-tips li + li{
  margin-top:.65rem;
}
.ohtpl-tips li i{
  color:var(--ohtpl-brand);
  margin-top:3px;
  font-size:.8rem;
  flex-shrink:0;
}


/* ─── Tabs — bulletproof override ─── */
.ohtpl-form-card .ohtpl-tabs{
  display:flex;
  border-radius:.4rem;
  overflow:hidden;
  border:2px solid var(--ohtpl-brand) !important;
  margin-bottom:1.5rem;
  box-sizing:border-box;
  gap:0;
}
.ohtpl-form-card .ohtpl-tab{
  flex:1;
  padding:.7rem 1rem;
  text-align:center;
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  color:var(--ohtpl-brand) !important;
  transition:background .2s, color .2s;
  box-sizing:border-box;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  margin:0;
  line-height:normal;
  -webkit-tap-highlight-color:transparent;
  position:relative;
}
.ohtpl-form-card .ohtpl-tab:focus,
.ohtpl-form-card .ohtpl-tab:focus-visible,
.ohtpl-form-card .ohtpl-tab:active,
.ohtpl-form-card .ohtpl-tab:hover{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.ohtpl-form-card .ohtpl-tab.ohtpl-tab-active{
  background:var(--ohtpl-brand) !important;
  color:#fff !important;
}
.ohtpl-form-card .ohtpl-tab:hover:not(.ohtpl-tab-active){
  background:var(--ohtpl-brand-light) !important;
}




.ohtpl-form-card .ohtpl-tab:not(:last-child){
  border-right:2px solid var(--ohtpl-brand) !important;
}
.ohtpl-form-card .ohtpl-tab.ohtpl-tab-active{
  background:var(--ohtpl-brand) !important;
  color:#fff !important;
  border-right-color: transparent !important;
}
.ohtpl-form-card .ohtpl-tab:hover:not(.ohtpl-tab-active){
  background:var(--ohtpl-brand-light) !important;
}

/* ─── Submit button — modern, full width, solid blue ─── */
.ohtpl-form-card .wpcf7-submit,
.ohtpl-form-card input.wpcf7-submit,
.ohtpl-form-card button.wpcf7-submit,
.ohtpl-form-card .ohw-submit-btn{
  width:100% !important;
  display:block !important;
  font-weight:700 !important;
  font-size:1rem !important;
  letter-spacing:.02em;
  padding:1rem 1.5rem !important;
  border-radius:.5rem !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  cursor:pointer;
  background:var(--ohtpl-brand) !important;
  color:#fff !important;
  transition:background .2s, transform .15s;
  margin-top:.5rem;
}
.ohtpl-form-card .wpcf7-submit:hover,
.ohtpl-form-card input.wpcf7-submit:hover,
.ohtpl-form-card button.wpcf7-submit:hover,
.ohtpl-form-card .ohw-submit-btn:hover{
  background:var(--ohtpl-brand-dark) !important;
  transform:translateY(-1px);
}



.ohtpl-form-title{
  font-size:1.4rem;
  font-weight:700;
  margin:0 0 1.5rem;
}

/* ─── Form fields ─── */
.ohw-field{
  margin-bottom:1.25rem;
}
.ohw-field label{
  display:block;
  font-size:.85rem;
  font-weight:600;
  margin-bottom:.35rem;
  color:#333;
}
.ohw-req{
  color:var(--ohtpl-brand);
}
.ohw-field-note{
  font-size:.8rem;
  color:#6b7280;
  margin:0 0 .5rem;
}
.ohw-input,
.ohw-select,
.ohw-textarea{
  width:100%;
  padding:.65rem 1rem;
  border:1.5px solid #d1d5db;
  border-radius:.4rem;
  font-size:.95rem;
  font-family:inherit;
  box-sizing:border-box;
  background:#fff;
  color:#111;
}
.ohw-select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:1.1rem;
  padding-right:2.25rem;
}
.ohw-input:focus,
.ohw-select:focus,
.ohw-textarea:focus{
  outline:none;
  border-color:var(--ohtpl-brand);
  box-shadow:0 0 0 3px rgba(128,164,212,.25);
}
.ohw-textarea{
  resize:vertical;
}

/* ─── Submit button ─── */
.ohw-submit-btn{
  width:100%;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  padding:.9rem 1.5rem;
  border-radius:.4rem;
  border:none;
  cursor:pointer;
  font-size:1rem;
  background:var(--ohtpl-brand);
  color:#fff;
  transition:background .2s;
}
.ohw-submit-btn:hover{
  background:var(--ohtpl-brand-dark);
}

/* ─── Bottom CTA buttons ─── */
.ohtpl-btn{
  background:var(--ohtpl-brand);
  color:#fff;
  padding:.9rem 2rem;
  border-radius:6px;
  display:inline-block;
  font-weight:700;
  text-decoration:none;
  border:none;
}
.ohtpl-btn:hover{ background:var(--ohtpl-brand-dark); }

.ohtpl-btn-outline{
  background:#fff;
  color:#000;
  border:2px solid #000;
  padding:.9rem 2rem;
  border-radius:6px;
  display:inline-block;
  font-weight:700;
  text-decoration:none;
}
.ohtpl-btn-outline:hover{ background:#f5f5f5; }





.ohtpl-bottom-cta{
  background:#000 !important;
  color:#fff;
  padding:3rem 1.5rem;
  text-align:center;
}
.ohtpl-bottom-cta h2{
  font-size:1.75rem;
  font-weight:700;
  margin:0 0 .75rem;
}
.ohtpl-bottom-cta p{
  font-size:1.05rem;
  color:#d1d5db;
  margin:0 0 1.75rem;
}

/* ─── Dedicated CTA buttons — scoped, won't affect other buttons ─── */
.ohtpl-cta-buttons{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}
.ohtpl-cta-btn{
  background:var(--ohtpl-brand) !important;
  color:#fff !important;
  border:none !important;
  padding:.9rem 2rem;
  border-radius:6px;
  display:inline-block;
  font-weight:700;
  text-decoration:none !important;
  transition:background .2s;
}
.ohtpl-cta-btn:hover,
.ohtpl-cta-btn:focus,
.ohtpl-cta-btn:active,
.ohtpl-cta-btn:visited{
  background:var(--ohtpl-brand-dark) !important;
  color:#fff !important;
}





/* Remove the extra line-break gap CF7 inserts between label and input */
.ohw-field br {
  display: none !important;
}
.ohw-field label {
  display: block;
  margin-bottom: 0.35rem;
}