/*
 Theme Name:   Invena Child
 Theme URI:    https://reactheme.com/products/wordpress/invena
 Description:  Invena Child
 Author:       ReacThemes
 Author URI:   http://reactheme.com
 Template:     invena
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
 */

/* ===== CF7 Modern Form ===== */
.cf7-modern {
  --cf7-accent: #0b1f4f;
  --cf7-accent-hover: #142c6b;
  --cf7-border: #e2e4ea;
  --cf7-bg: #f8f9fb;
  --cf7-text: #1f2330;
  --cf7-radius: 12px;
  width: 100%;
  max-width: 100%;
}
.cf7-modern p { margin: 0 !important; }
.cf7-modern br { display: none; }

/* Layout */
.cf7-modern .cf7-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.cf7-modern .cf7-field { margin-bottom: 16px; }
.cf7-modern .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* Fields */
.cf7-modern input[type="text"],
.cf7-modern input[type="email"],
.cf7-modern textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 14px 16px !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--cf7-text) !important;
  background: var(--cf7-bg) !important;
  border: 1.5px solid var(--cf7-border) !important;
  border-radius: var(--cf7-radius) !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.cf7-modern textarea {
  height: 170px !important;
  resize: vertical;
}
.cf7-modern ::placeholder {
  color: #9096a5 !important;
  font-family: inherit !important;
  opacity: 1;
}

/* Focus */
.cf7-modern input:focus,
.cf7-modern textarea:focus {
  background: #fff !important;
  border-color: var(--cf7-accent) !important;
  box-shadow: 0 0 0 4px rgba(11, 31, 79, .12) !important;
}

/* Validation */
.cf7-modern .wpcf7-not-valid { border-color: #e5484d !important; }
.cf7-modern .wpcf7-not-valid-tip {
  font-size: 13px;
  color: #e5484d;
  margin-top: 6px;
}

/* Button */
.cf7-modern .cf7-actions {
  display: block !important;
  position: relative;
  width: 100% !important;
}
.cf7-modern .cf7-actions p { width: 100% !important; }
.cf7-modern .cf7-btn {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 15px 28px !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  background: var(--cf7-accent) !important;
  border: none !important;
  border-radius: var(--cf7-radius) !important;
  cursor: pointer;
  transition: transform .15s, box-shadow .2s, background .2s, opacity .2s;
}
.cf7-modern .cf7-btn:hover {
  background: var(--cf7-accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -8px rgba(11, 31, 79, .5) !important;
}
.cf7-modern .cf7-btn:active { transform: translateY(0); }
.wpcf7-form.submitting .cf7-btn { opacity: .6; pointer-events: none; }
.cf7-modern .wpcf7-spinner {
  position: absolute !important;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
}
/* Response message */
.wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: var(--cf7-radius);
  font-size: 14px;
}

/* Mobile */
@media (max-width: 600px) {
  .cf7-modern .cf7-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}