.elementor-620 .elementor-element.elementor-element-f506820{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}#elementor-popup-modal-620{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-620 .dialog-message{width:1000px;height:595px;align-items:flex-start;}#elementor-popup-modal-620 .dialog-close-button{display:flex;}#elementor-popup-modal-620 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:767px){.elementor-620 .elementor-element.elementor-element-f506820{--min-height:0px;}#elementor-popup-modal-620 .dialog-message{width:1000px;height:511px;}}@media(min-width:768px){.elementor-620 .elementor-element.elementor-element-f506820{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-64bfe6f *//* ===== Wrapper (CF7) ===== */
.wpcf7{
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  max-width: 100%;
}

/* ===== Contact header ===== */
.contact-header{ 
  padding: 20px 30px; 
}

.contact-header h2{
  font-family: "Hagrid Text";
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 15px 0;
  color:#333;
}

/* List container (vertical list of items) */
.contact-info{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ===== FIXED: Proper Grid layout for ICON next to TEXT =====
   Two columns: [icon][text] — resistant to theme overrides */
.contact-header .contact-info > li.contact-item{
  display: grid !important;
  grid-template-columns: 20px 1fr !important;
  align-items: flex-start !important;
  gap: 10px !important;
  position: relative !important;
}

/* Li element acts as icon container with ::before pseudo-element */
.contact-header .contact-info > li.contact-item::before{
  content: '';
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  grid-column: 1;
  flex-shrink: 0;
}

/* FIXED: Text/link column - targeting the actual content */
.contact-header .contact-info li.contact-item a,
.contact-header .contact-info li.contact-item span{
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  grid-column: 2;
  
  /* 🔧 NUCLEAR option - these fix the "each digit on its own line" bug */
  white-space: nowrap !important;     /* Force text to stay on one line */
  word-break: keep-all !important;    /* Prevent any word breaking */
  word-wrap: normal !important;       /* Override any word wrapping */
  overflow-wrap: normal !important;   /* Override any overflow wrapping */
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  hyphens: none !important;           /* Disable hyphenation */
  
  /* Layout resets */
  position: static !important;
  transform: none !important;
  letter-spacing: normal !important;
  text-indent: 0 !important;
  
  /* Text styling */
  color: #333;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.5;
}

.contact-header .contact-info li.contact-item a:hover{
  color: #DEAD17;
  transition: color 0.3s ease;
}

/* Icons applied to li elements directly using ::before */
.contact-header .contact-info > li.contact-item.email-icon::before{
  background-image: url('/wp-content/uploads/2025/09/Envelope_black.svg');
}
.contact-header .contact-info > li.contact-item.phone-icon::before{
  background-image: url('/wp-content/uploads/2025/09/Phone_black.svg');
}
.contact-header .contact-info > li.contact-item.location-icon::before{
  background-image: url('/wp-content/uploads/2025/09/MapPin_black.svg');
}

/* ===== Form block ===== */
.form-container{ 
  padding: 20px 30px; 
}

.form-container h3{
  font-size: 20px;
  font-family: "Hagrid Text";
  font-weight: 600;
  margin: 0 0 20px 0;
  color: #333;
}

.form-row{
  display: flex; 
  gap: 16px; 
  margin-bottom: 15px;
}

.form-group{
  flex: 1; 
  display: flex; 
  flex-direction: column; 
  margin-bottom: 15px;
}

.form-group label{
  font-size: 14px; 
  font-weight: 500; 
  color:#333; 
  margin-bottom: 6px; 
  display:block;
}

.form-input,.form-textarea{
  width: 100%; 
  padding: 10px 14px;
  border: 1px solid #ddd; 
  border-radius: 8px;
  font-size: 16px; 
  background:#f8f9fa;
  transition: all .2s ease; 
  box-sizing: border-box;
}

.form-input:focus,.form-textarea:focus{
  outline: none; 
  border-color:#DEAD17; 
  background:#fff;
  box-shadow: 0 0 0 3px rgba(222, 173, 23, 0.1);
}

.form-textarea{ 
  resize: vertical; 
  min-height: 80px; 
  font-family: inherit; 
}

.form-submit{ 
  display:flex; 
  justify-content:flex-end; 
  margin-top:20px; 
}

.submit-btn{
  background:#DEAD17; 
  color:#333; 
  border: none;
  padding: 12px 35px; 
  border-radius: 25px;
  font-size: 16px; 
  font-weight: 500; 
  cursor: pointer;
  transition: all .2s ease; 
  min-width: 120px;
}

.submit-btn:hover{
  background:#c49a15; 
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(222, 173, 23, 0.3);
}

.submit-btn:active{ 
  transform: translateY(0); 
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Tablets (768px - 1024px) */
@media (max-width: 1024px) {
  .contact-header h2{
    font-size: 22px;
  }
  
  .form-container h3{
    font-size: 18px;
  }
  
  .contact-header .contact-info li.contact-item a,
  .contact-header .contact-info li.contact-item span{
    font-size: 15px;
  }
}

/* Mobile Landscape & Portrait (600px - 768px) */
@media (max-width: 768px){
  .wpcf7{ 
    margin: 0 16px; 
    border-radius: 8px; 
  }
  
  .contact-header, .form-container{ 
    padding: 20px 25px; 
  }
  
  .contact-header h2{
    font-size: 20px;
    margin-bottom: 12px;
  }
  
  .form-container h3{
    font-size: 18px;
    margin-bottom: 16px;
  }
  
  .form-row{ 
    flex-direction: column; 
    gap: 0; 
  }
  
  .contact-info{ 
    gap: 14px; 
  }
  
  .contact-header .contact-info li.contact-item a,
  .contact-header .contact-info li.contact-item span{
    font-size: 14px;
  }
  
  .form-group{
    margin-bottom: 12px;
  }
  
  .form-submit{ 
    justify-content: center; 
  }
  
  .submit-btn{ 
    width: 100%; 
    max-width: 250px; 
  }
}

/* Small Mobile (480px - 600px) */
@media (max-width: 600px){
  .wpcf7{
    margin: 0 12px;
  }
  
  .contact-header, .form-container{ 
    padding: 16px 20px; 
  }
  
  .contact-header h2{
    font-size: 18px;
  }
  
  .form-container h3{
    font-size: 16px;
  }
  
  .contact-header .contact-info > li.contact-item{
    grid-template-columns: 18px 1fr !important;
    gap: 8px !important;
  }
  
  .contact-header .contact-info > li.contact-item::before{
    width: 18px !important;
    height: 18px !important;
  }
  
  .contact-header .contact-info li.contact-item a,
  .contact-header .contact-info li.contact-item span{
    font-size: 13px;
  }
  
  .form-input, .form-textarea{
    font-size: 14px;
    padding: 9px 12px;
  }
  
  .form-group label{
    font-size: 13px;
  }
  
  .submit-btn{
    padding: 11px 30px;
    font-size: 15px;
  }
}

@media (max-width: 768px) {
    .contact-info {
        align-items: baseline!important;
    }
}


@media (max-width: 480px) {
    .contact-item {
        flex-direction: column;
        text-align: left!important;
        gap: 8px;
    }
        .contact-info {
        align-items: baseline!important;
    }
}

/* Extra Small Mobile (320px - 480px) */
@media (max-width: 480px){
  .wpcf7{
    margin: 0 8px;
    border-radius: 6px;
  }
  
  .contact-header, .form-container{ 
    padding: 14px 16px; 
  }
  
  .contact-header h2{
    font-size: 17px;
  }
  
  .form-container h3{
    font-size: 15px;
    margin-bottom: 14px;
  }
  
  .contact-info{
    gap: 12px;
  }
  
  .contact-header .contact-info > li.contact-item{
    grid-template-columns: 16px 1fr !important;
  }
  
  .contact-header .contact-info > li.contact-item::before{
    width: 16px !important;
    height: 16px !important;
  }
  
  .contact-header .contact-info li.contact-item a,
  .contact-header .contact-info li.contact-item span{
    font-size: 12px;
    /* Allow wrapping on very small screens for long emails */
    white-space: normal !important;
    word-break: break-word !important;
  }
  
  .form-input, .form-textarea{
    font-size: 14px;
    padding: 8px 10px;
  }
  
  .form-textarea{
    min-height: 70px;
  }
  
  .submit-btn{
    padding: 10px 25px;
    font-size: 14px;
    min-width: 100px;
  }
}

/* ===== CF7 states ===== */
.wpcf7-not-valid{ 
  border-color:#dc3545 !important; 
  background:#fff5f5 !important; 
}

.wpcf7-validation-errors{
  background:#f8d7da; 
  border:1px solid #f5c6cb; 
  color:#721c24;
  padding:12px 16px; 
  border-radius:8px; 
  margin:16px 0;
  font-size: 14px;
}

.wpcf7-mail-sent-ok{
  background:#d4edda; 
  border:1px solid #c3e6cb; 
  color:#155724;
  padding:12px 16px; 
  border-radius:8px; 
  margin:16px 0;
  font-size: 14px;
}

.wpcf7-spinner{ 
  margin-left: 10px; 
}

/* Mobile validation messages */
@media (max-width: 600px){
  .wpcf7-validation-errors,
  .wpcf7-mail-sent-ok{
    padding: 10px 14px;
    font-size: 13px;
    margin: 12px 0;
  }
}/* End custom CSS */