.elementor-1105 .elementor-element.elementor-element-69de663{--display:flex;--min-height:560px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--background-transition:0.3s;}.elementor-1105 .elementor-element.elementor-element-69de663:not(.elementor-motion-effects-element-type-background), .elementor-1105 .elementor-element.elementor-element-69de663 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-1105 .elementor-element.elementor-element-a9f5e08{--display:flex;}.elementor-1105 .elementor-element.elementor-element-34e6dc8{font-family:"Manrope", Sans-serif;color:#A69D6E;}.elementor-1105 .elementor-element.elementor-element-cf6325a{text-align:start;}.elementor-1105 .elementor-element.elementor-element-cf6325a .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:60px;font-weight:800;color:#F6F4EF;}.elementor-1105 .elementor-element.elementor-element-f4dd1fb{font-family:"Manrope", Sans-serif;font-weight:500;color:#A8A8A8;}.elementor-1105 .elementor-element.elementor-element-4bbf854{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1105 .elementor-element.elementor-element-78ab3e7{width:var( --container-widget-width, 9% );max-width:9%;--container-widget-width:9%;--container-widget-flex-grow:0;}.elementor-1105 .elementor-element.elementor-element-78ab3e7.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-1105 .elementor-element.elementor-element-371a600{--display:flex;--min-height:590px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-1105 .elementor-element.elementor-element-371a600:not(.elementor-motion-effects-element-type-background), .elementor-1105 .elementor-element.elementor-element-371a600 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F4EF;}.elementor-1105 .elementor-element.elementor-element-1f4bccf{--display:flex;--flex-direction:row-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--justify-content:center;--align-items:center;}.elementor-1105 .elementor-element.elementor-element-5814cf4{--display:flex;--flex-direction:column-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-1105 .elementor-element.elementor-element-9d0fa92{--display:flex;}.elementor-1105 .elementor-element.elementor-element-67a6650{font-family:"Manrope", Sans-serif;font-size:14px;color:#A69D6E;}.elementor-1105 .elementor-element.elementor-element-52eed47 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:55px;font-weight:800;line-height:68px;}.elementor-1105 .elementor-element.elementor-element-3043e44{font-family:"Manrope", Sans-serif;font-weight:500;color:#A8A8A8;}.elementor-1105 .elementor-element.elementor-element-8a8f306{text-align:start;}.elementor-1105 .elementor-element.elementor-element-8a8f306 img{width:78%;}.elementor-1105 .elementor-element.elementor-element-478f2c9{--display:flex;--min-height:519px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-1105 .elementor-element.elementor-element-478f2c9:not(.elementor-motion-effects-element-type-background), .elementor-1105 .elementor-element.elementor-element-478f2c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-1105 .elementor-element.elementor-element-667c0ae{--display:flex;}.elementor-1105 .elementor-element.elementor-element-97707ae .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:55px;font-weight:800;line-height:68px;color:#F6F4EF;}.elementor-1105 .elementor-element.elementor-element-7c878f8{font-family:"Manrope", Sans-serif;font-weight:500;color:#A8A8A8;}.elementor-1105 .elementor-element.elementor-element-18e13a3{--display:flex;}.elementor-1105 .elementor-element.elementor-element-b190dcc{--display:flex;}.elementor-1105 .elementor-element.elementor-element-3b0ae85.elementor-element{--align-self:center;}.elementor-1105 .elementor-element.elementor-element-cbb4bd2{--spacer-size:50px;}.elementor-1105 .elementor-element.elementor-element-1ccea65 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:37px;font-weight:800;line-height:68px;color:#F6F4EF;}.elementor-1105 .elementor-element.elementor-element-33c5eb7{--grid-template-columns:repeat(0, auto);text-align:center;--icon-size:60px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-1105 .elementor-element.elementor-element-33c5eb7 .elementor-social-icon{background-color:#A69D6E;--icon-padding:0em;}.elementor-1105 .elementor-element.elementor-element-33c5eb7 .elementor-social-icon i{color:#111111;}.elementor-1105 .elementor-element.elementor-element-33c5eb7 .elementor-social-icon svg{fill:#111111;}.elementor-1105 .elementor-element.elementor-element-33c5eb7 .elementor-social-icon:hover{background-color:#D3D3D3;}@media(min-width:768px){.elementor-1105 .elementor-element.elementor-element-a9f5e08{--width:90%;}.elementor-1105 .elementor-element.elementor-element-1f4bccf{--width:90%;}.elementor-1105 .elementor-element.elementor-element-667c0ae{--width:90%;}.elementor-1105 .elementor-element.elementor-element-18e13a3{--width:90%;}}@media(max-width:1024px){.elementor-1105 .elementor-element.elementor-element-69de663{--min-height:385px;}.elementor-1105 .elementor-element.elementor-element-34e6dc8{font-size:14px;}.elementor-1105 .elementor-element.elementor-element-cf6325a .elementor-heading-title{font-size:35px;}.elementor-1105 .elementor-element.elementor-element-f4dd1fb{font-size:15px;}.elementor-1105 .elementor-element.elementor-element-4bbf854{--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1105 .elementor-element.elementor-element-78ab3e7.elementor-element{--align-self:center;}.elementor-1105 .elementor-element.elementor-element-371a600{--min-height:496px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-1105 .elementor-element.elementor-element-1f4bccf{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1105 .elementor-element.elementor-element-5814cf4{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;}.elementor-1105 .elementor-element.elementor-element-67a6650{text-align:start;font-size:14px;}.elementor-1105 .elementor-element.elementor-element-52eed47{text-align:start;}.elementor-1105 .elementor-element.elementor-element-52eed47 .elementor-heading-title{font-size:30px;line-height:1.1em;}.elementor-1105 .elementor-element.elementor-element-3043e44{text-align:start;font-size:15px;}.elementor-1105 .elementor-element.elementor-element-8a8f306{text-align:center;}.elementor-1105 .elementor-element.elementor-element-8a8f306 img{width:60%;}.elementor-1105 .elementor-element.elementor-element-97707ae{text-align:start;}.elementor-1105 .elementor-element.elementor-element-97707ae .elementor-heading-title{font-size:30px;line-height:1.1em;}.elementor-1105 .elementor-element.elementor-element-7c878f8{font-size:15px;}.elementor-1105 .elementor-element.elementor-element-1ccea65{text-align:start;}.elementor-1105 .elementor-element.elementor-element-1ccea65 .elementor-heading-title{font-size:30px;line-height:1.1em;}}@media(max-width:767px){.elementor-1105 .elementor-element.elementor-element-69de663{--min-height:566px;}.elementor-1105 .elementor-element.elementor-element-cf6325a .elementor-heading-title{font-size:33px;}.elementor-1105 .elementor-element.elementor-element-f4dd1fb{font-size:15px;}.elementor-1105 .elementor-element.elementor-element-4bbf854{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1105 .elementor-element.elementor-element-371a600{--justify-content:center;}.elementor-1105 .elementor-element.elementor-element-52eed47{text-align:start;}.elementor-1105 .elementor-element.elementor-element-52eed47 .elementor-heading-title{font-size:30px;line-height:1.3em;}.elementor-1105 .elementor-element.elementor-element-3043e44{font-size:15px;}.elementor-1105 .elementor-element.elementor-element-8a8f306 img{width:100%;}.elementor-1105 .elementor-element.elementor-element-667c0ae{--width:90%;}.elementor-1105 .elementor-element.elementor-element-97707ae{text-align:start;}.elementor-1105 .elementor-element.elementor-element-97707ae .elementor-heading-title{font-size:30px;line-height:1.3em;}.elementor-1105 .elementor-element.elementor-element-7c878f8{font-size:15px;}.elementor-1105 .elementor-element.elementor-element-1ccea65{text-align:start;}.elementor-1105 .elementor-element.elementor-element-1ccea65 .elementor-heading-title{font-size:30px;line-height:1.3em;}}@media(max-width:1024px) and (min-width:768px){.elementor-1105 .elementor-element.elementor-element-69de663{--width:100%;}.elementor-1105 .elementor-element.elementor-element-a9f5e08{--width:90%;}.elementor-1105 .elementor-element.elementor-element-371a600{--width:100%;}.elementor-1105 .elementor-element.elementor-element-9d0fa92{--width:100%;}.elementor-1105 .elementor-element.elementor-element-478f2c9{--width:100%;}.elementor-1105 .elementor-element.elementor-element-667c0ae{--width:90%;}.elementor-1105 .elementor-element.elementor-element-18e13a3{--width:90%;}}/* Start custom CSS for html, class: .elementor-element-3b0ae85 *//* =========================================================================
   BUFFALO SA — "Request a Free Quote"
   Contact Form 7 styling — pair with buffalo-quote-form-cf7-template.txt

   Wrap the CF7 shortcode in an Elementor Container/Div with the CSS
   class "buffalo-quote-form" (Advanced tab > CSS Classes), placed on a
   #111111 background. Paste this whole file into Elementor > Site
   Settings > Custom CSS, your theme's Additional CSS, or a snippet
   plugin.

   ** REQUIRED: also add this to your theme's functions.php or a
   snippet plugin, or the two-column rows will collapse into one
   column. WordPress's wpautop filter mangles CF7's custom <div>
   structure otherwise: **

     add_filter( 'wpcf7_autop_or_not', '__return_false' );

   ========================================================================= */

:root{
  --bfl-bg-form:       #181818;
  --bfl-bg-field:      #1d1d1d;
  --bfl-accent:        #A69D6E;
  --bfl-accent-dim:    rgba(166,157,110,.14);
  --bfl-text:          #FFFFFF;
  --bfl-placeholder:   rgba(255,255,255,.55);
  --bfl-border:        rgba(255,255,255,.10);
  --bfl-border-strong: rgba(255,255,255,.18);
}

/* ---------- CARD ---------- */

.buffalo-quote-form{
  position:relative !important;
  background:var(--bfl-bg-form) !important;
  border:1px solid var(--bfl-border) !important;
  border-radius:24px !important;
  padding:50px !important;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.55) !important;
  overflow:hidden !important;
  font-family:'Manrope', sans-serif !important;
}

/* faint blueprint grid, kept under 3% opacity */
.buffalo-quote-form::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(0deg,  rgba(166,157,110,.5) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(90deg, rgba(166,157,110,.5) 0 1px, transparent 1px 40px);
  opacity:.025;
  pointer-events:none;
  z-index:0;
}

/* drafting registration frame — signature detail */
.buffalo-quote-form::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(166,157,110,.16);
  pointer-events:none;
  z-index:0;
}

.buffalo-quote-form .wpcf7-form{ position:relative; z-index:1; }

/* ---------- HEADER TEXT (from the template's <p>/<h2> tags) ---------- */

.buffalo-quote-form .bqf-eyebrow{
  display:flex !important;
  align-items:center;
  gap:10px;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.16em;
  color:var(--bfl-accent) !important;
  text-transform:uppercase !important;
  margin:0 0 18px !important;
  font-family:'Manrope', sans-serif !important;
}
.buffalo-quote-form .bqf-eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:var(--bfl-accent);
  display:inline-block;
}

.buffalo-quote-form .bqf-heading{
  font-size:32px !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  letter-spacing:-.01em;
  margin:0 0 14px !important;
  color:var(--bfl-text) !important;
  font-family:'Manrope', sans-serif !important;
}

.buffalo-quote-form .bqf-desc{
  font-size:15px !important;
  line-height:1.65 !important;
  color:rgba(255,255,255,.62) !important;
  font-weight:400 !important;
  margin:0 0 36px !important;
  max-width:50ch;
  font-family:'Manrope', sans-serif !important;
}

/* ---------- LAYOUT ROWS / FIELDS ---------- */

.buffalo-quote-form .bqf-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:20px !important;
}

.buffalo-quote-form .bqf-field{
  margin-bottom:20px;
}

.buffalo-quote-form .bqf-field-full{
  grid-column:1 / -1;
}

.buffalo-quote-form .bqf-field label{
  display:flex !important;
  flex-direction:column !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  letter-spacing:.03em;
  color:rgba(255,255,255,.72) !important;
  gap:9px;
  font-family:'Manrope', sans-serif !important;
}

.buffalo-quote-form .bqf-field label span{
  color:rgba(255,255,255,.4);
  font-weight:500;
  letter-spacing:0;
}

/* CF7 wraps every field in this span automatically */
.buffalo-quote-form .wpcf7-form-control-wrap{
  display:block;
}

/* ---------- INPUTS / TEXTAREA / SELECT ---------- */

.buffalo-quote-form .wpcf7-form-control{
  width:100%;
  height:54px;
  background:var(--bfl-bg-field);
  border:1px solid var(--bfl-border);
  border-radius:10px;
  padding:0 18px;
  font-family:'Manrope', sans-serif;
  font-size:15px;
  font-weight:500;
  color:var(--bfl-text);
  outline:none;
  box-shadow:none;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.buffalo-quote-form textarea.wpcf7-form-control{
  height:130px;
  padding-top:14px;
  line-height:1.5;
  resize:vertical;
}

.buffalo-quote-form .wpcf7-form-control::placeholder{
  color:var(--bfl-placeholder);
  font-weight:400;
  opacity:1;
}

.buffalo-quote-form .wpcf7-form-control:hover{
  border-color:var(--bfl-border-strong);
}

.buffalo-quote-form .wpcf7-form-control:focus{
  border-color:var(--bfl-accent);
  background:#1f1f1f;
  box-shadow:0 0 0 3px var(--bfl-accent-dim);
}

.buffalo-quote-form select.wpcf7-form-control{
  appearance:none;
  -webkit-appearance:none;
  background-color:var(--bfl-bg-field);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23A69D6E' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  padding-right:42px;
  cursor:pointer;
}

.buffalo-quote-form select.wpcf7-form-control option{
  background:#1d1d1d;
  color:#fff;
}

/* placeholder styling for a select using include_blank (see template notes) */
.buffalo-quote-form select.wpcf7-form-control:invalid{
  color:var(--bfl-placeholder);
}

/* ---------- SUBMIT BUTTON ---------- */

.buffalo-quote-form .bqf-submit-wrap{
  margin-top:12px;
}

.buffalo-quote-form input.wpcf7-submit{
  width:100%;
  height:58px;
  background:var(--bfl-accent);
  border:none;
  border-radius:12px;
  color:#141312;
  font-family:'Manrope', sans-serif;
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.buffalo-quote-form input.wpcf7-submit:hover{
  background:#B7AE80;
  transform:translateY(-2px);
  box-shadow:0 14px 28px -10px rgba(166,157,110,.45);
}

.buffalo-quote-form input.wpcf7-submit:active{
  transform:translateY(0);
}

/* CF7's built-in "sending" spinner */
.buffalo-quote-form .wpcf7-spinner{
  margin-left:10px;
}

/* ---------- VALIDATION / RESPONSE MESSAGES ---------- */

.buffalo-quote-form .wpcf7-not-valid-tip{
  color:#E7A9A9;
  font-size:12.5px;
  font-weight:500;
  margin-top:6px;
}

.buffalo-quote-form .wpcf7-not-valid{
  border-color:#B97070 !important;
}

.buffalo-quote-form .wpcf7-response-output{
  border:1px solid var(--bfl-border) !important;
  border-radius:10px;
  color:rgba(255,255,255,.75);
  font-size:13.5px;
  margin:20px 0 0 !important;
  padding:14px 16px !important;
}

.buffalo-quote-form form.sent .wpcf7-response-output{
  border-color:rgba(166,157,110,.4) !important;
  color:var(--bfl-accent);
}

.buffalo-quote-form .bqf-note{
  text-align:center;
  font-size:12.5px;
  color:rgba(255,255,255,.4);
  margin-top:18px;
}

/* ---------- ACCESSIBILITY / RESPONSIVE ---------- */

.buffalo-quote-form .wpcf7-form-control:focus-visible,
.buffalo-quote-form input.wpcf7-submit:focus-visible{
  outline:2px solid var(--bfl-accent);
  outline-offset:2px;
}

@media (prefers-reduced-motion:reduce){
  .buffalo-quote-form input.wpcf7-submit{ transition:none; }
}

@media (max-width:600px){
  .buffalo-quote-form{ padding:32px 24px; border-radius:20px; }
  .buffalo-quote-form .bqf-heading{ font-size:26px; }
  .buffalo-quote-form .bqf-row{ grid-template-columns:1fr; gap:0; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b190dcc */:root {
    --bfl-bg-form: #181818;
    --bfl-bg-field: #1d1d1d;
    --bfl-accent: #A69D6E;
    --bfl-accent-dim: rgba(166, 157, 110, .14);
    --bfl-text: #FFFFFF;
    --bfl-placeholder: rgba(255, 255, 255, .55);
    --bfl-border: rgba(255, 255, 255, .10);
    --bfl-border-strong: rgba(255, 255, 255, .18);
}

/* ---------- CARD ---------- */

.buffalo-quote-form {
    position: relative !important;
    background: var(--bfl-bg-form) !important;
    border: 1px solid var(--bfl-border) !important;
    border-radius: 24px !important;
    padding: 50px !important;
    box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .55) !important;
    overflow: hidden !important;
}

/* faint blueprint grid, kept under 3% opacity */
.buffalo-quote-form::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(0deg, rgba(166, 157, 110, .5) 0 1px, transparent 1px 40px),
        repeating-linear-gradient(90deg, rgba(166, 157, 110, .5) 0 1px, transparent 1px 40px);
    opacity: .025;
    pointer-events: none;
    z-index: 0;
}

/* drafting registration frame — signature detail */
.buffalo-quote-form::after {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(166, 157, 110, .16);
    pointer-events: none;
    z-index: 0;
}

.buffalo-quote-form .wpcf7-form {
    position: relative;
    z-index: 1;
}

/* ---------- HEADER TEXT (from the template's <p>/<h2> tags) ---------- */

.buffalo-quote-form .bqf-eyebrow {
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .16em;
    color: var(--bfl-accent) !important;
    text-transform: uppercase !important;
    margin: 0 0 18px !important;
}

.buffalo-quote-form .bqf-eyebrow::before {
    content: "";
    width: 22px;
    height: 1px;
    background: var(--bfl-accent);
    display: inline-block;
}

.buffalo-quote-form .bqf-heading {
    font-size: 32px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
    margin: 0 0 14px !important;
    color: var(--bfl-text) !important;
}

.buffalo-quote-form .bqf-desc {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, .62) !important;
    font-weight: 400 !important;
    margin: 0 0 36px !important;
    max-width: 50ch;
}

/* ---------- LAYOUT ROWS / FIELDS ---------- */

.buffalo-quote-form .bqf-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.buffalo-quote-form .bqf-field {
    margin-bottom: 20px;
}

.buffalo-quote-form .bqf-field-full {
    grid-column: 1 / -1;
}

.buffalo-quote-form .bqf-field label {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px;
}

.buffalo-quote-form .bqf-label-text {
    display: block !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .03em;
    color: rgba(255, 255, 255, .72) !important;
    white-space: nowrap;
}

.buffalo-quote-form .bqf-optional {
    color: rgba(255, 255, 255, .4) !important;
    font-weight: 500 !important;
    letter-spacing: 0;
}

/* CF7 wraps every field in this span automatically */
.buffalo-quote-form .wpcf7-form-control-wrap {
    display: block;
}

/* ---------- INPUTS / TEXTAREA / SELECT ---------- */

.buffalo-quote-form .wpcf7-form-control {
    width: 100%;
    height: 54px;
    background: var(--bfl-bg-field);
    border: 1px solid var(--bfl-border);
    border-radius: 10px;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 500;
    color: var(--bfl-text);
    outline: none;
    box-shadow: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.buffalo-quote-form textarea.wpcf7-form-control {
    height: 130px;
    padding-top: 14px;
    line-height: 1.5;
    resize: vertical;
}

.buffalo-quote-form .wpcf7-form-control::placeholder {
    color: var(--bfl-placeholder);
    font-weight: 400;
    opacity: 1;
}

.buffalo-quote-form .wpcf7-form-control:hover {
    border-color: var(--bfl-border-strong);
}

.buffalo-quote-form .wpcf7-form-control:focus {
    border-color: var(--bfl-accent);
    background: #1f1f1f;
    box-shadow: 0 0 0 3px var(--bfl-accent-dim);
}

.buffalo-quote-form select.wpcf7-form-control {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--bfl-bg-field);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23A69D6E' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    padding-right: 42px;
    cursor: pointer;
}

.buffalo-quote-form select.wpcf7-form-control option {
    background: #1d1d1d;
    color: #fff;
}

/* placeholder styling for a select using include_blank (see template notes) */
.buffalo-quote-form select.wpcf7-form-control:invalid {
    color: var(--bfl-placeholder);
}

/* ---------- SUBMIT BUTTON ---------- */

.buffalo-quote-form .bqf-submit-wrap {
    margin-top: 12px;
}

.buffalo-quote-form input.wpcf7-submit {
    width: 100%;
    height: 58px;
    background: var(--bfl-accent);
    border: none;
    border-radius: 12px;
    color: #141312;
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.buffalo-quote-form input.wpcf7-submit:hover {
    background: #B7AE80;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -10px rgba(166, 157, 110, .45);
}

.buffalo-quote-form input.wpcf7-submit:active {
    transform: translateY(0);
}

/* CF7's built-in "sending" spinner */
.buffalo-quote-form .wpcf7-spinner {
    margin-left: 10px;
}

/* ---------- VALIDATION / RESPONSE MESSAGES ---------- */

.buffalo-quote-form .wpcf7-not-valid-tip {
    color: #E7A9A9;
    font-size: 12.5px;
    font-weight: 500;
    margin-top: 6px;
}

.buffalo-quote-form .wpcf7-not-valid {
    border-color: #B97070 !important;
}

.buffalo-quote-form .wpcf7-response-output {
    border: 1px solid var(--bfl-border) !important;
    border-radius: 10px;
    color: rgba(255, 255, 255, .75);
    font-size: 13.5px;
    margin: 20px 0 0 !important;
    padding: 14px 16px !important;
}

.buffalo-quote-form form.sent .wpcf7-response-output {
    border-color: rgba(166, 157, 110, .4) !important;
    color: var(--bfl-accent);
}

.buffalo-quote-form .bqf-note {
    text-align: center;
    font-size: 12.5px;
    color: rgba(255, 255, 255, .4);
    margin-top: 18px;
}

/* ---------- ACCESSIBILITY / RESPONSIVE ---------- */

.buffalo-quote-form .wpcf7-form-control:focus-visible,
.buffalo-quote-form input.wpcf7-submit:focus-visible {
    outline: 2px solid var(--bfl-accent);
    outline-offset: 2px;
}

@media (prefers-reduced-motion:reduce) {
    .buffalo-quote-form input.wpcf7-submit {
        transition: none;
    }
}

@media (max-width:600px) {
    .buffalo-quote-form {
        padding: 32px 24px !important;
        border-radius: 20px !important;
    }

    .buffalo-quote-form .bqf-heading {
        font-size: 26px !important;
    }

    .buffalo-quote-form .bqf-desc {
        font-size: 14px !important;
        max-width: none !important;
    }

    .buffalo-quote-form .bqf-row {
        display: block !important;
    }

    .buffalo-quote-form .bqf-field {
        margin-bottom: 20px !important;
    }

    .buffalo-quote-form .bqf-label-text {
        white-space: normal !important;
    }

    .buffalo-quote-form .wpcf7-form-control {
        height: 52px !important;
        font-size: 14.5px !important;
    }

    .buffalo-quote-form textarea.wpcf7-form-control {
        height: 120px !important;
    }

    .buffalo-quote-form input.wpcf7-submit {
        height: 54px !important;
        font-size: 15px !important;
    }
}/* End custom CSS */