.elementor-2002 .elementor-element.elementor-element-df264f5{--display:flex;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) ,.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea, .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form select{background-color:transparent;background-image:linear-gradient(180deg, #F8FAFC 0%, #F8FAFC 100%);}.elementor-2002 .elementor-element.elementor-global-6257 > .elementor-widget-container{background-color:#0B0E2C;padding:35px 30px 35px 30px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 20px 2px rgba(0,0,0,0.5);}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form label{font-size:16px;font-weight:600;color:#EFEFF0;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form label span{color:#777777;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form select{width:100%;height:50px;border-radius:12px 12px 12px 12px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea{width:100%;height:176px;margin-bottom:20px;padding:15px 15px 15px 15px;border-radius:12px 12px 12px 12px;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form .ekit-form-input, .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form select, .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input{margin-bottom:20px;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea, .elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form select{border-style:solid;border-width:1px 1px 1px 1px;border-color:#D1D5DB;}.elementor-2002 .elementor-element.elementor-global-6257 .wpcf7-form textarea{color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-wid-con .ekit-form form textarea{color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-moz-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-moz-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea::-moz-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea:-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form textarea:-moz-placeholder{font-size:14px;color:#000000;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form > p{text-align:center;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input[type="submit"]{font-size:20px;font-weight:600;color:#D4AF37;}.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form input[type="submit"]:hover{color:#C1992D;}@media(max-width:767px){.elementor-2002 .elementor-element.elementor-global-6257 .ekit-form form label{margin:0px 0px 6px 0px;}}/* Start custom CSS for global, class: .elementor-global-6257 *//* ========================================
   SIMMONS HOME DESIGN – ELEMENTOR FORM FIX
   Mobile Submit Button Overflow Solution
   ======================================== */

/* Base form wrapper - ensure it constrains all children */
.shd-form-wrapper,
[class*="shd-form-wrapper"],
[data-form="shd"] {
  background: #ffffff;
  padding: 40px 35px;
  border-radius: 20px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.12), 0 2px 8px rgba(212,175,55,0.08);
  max-width: 680px; /* Slightly wider for better mobile experience */
  margin: 0 auto;
  overflow: hidden; /* Prevent child overflow */
  box-sizing: border-box;
  width: 100%; /* Ensure it respects parent width */
  border: 1px solid rgba(212,175,55,0.1);
  transition: box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
}

.shd-form-wrapper:focus-within {
  box-shadow: 0 12px 32px rgba(0,0,0,0.15), 0 4px 12px rgba(212,175,55,0.15);
  border-color: rgba(212,175,55,0.25);
}

/* Ensure all form elements respect container width */
.shd-form-wrapper * {
  box-sizing: border-box;
}

/* Input fields */
.shd-form-wrapper input,
.shd-form-wrapper textarea,
.shd-form-wrapper select {
  width: 100%;
  max-width: 100%;
  background: #f8fafc;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 18px;
  color: #0f172a;
  margin-bottom: 18px;
  box-sizing: border-box;
  letter-spacing: 0.3px;
  line-height: 1.5;
  font-weight: 500;
  transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, background-color 0.2s ease;
}

/* Dropdown select fields - prevent text cutoff */
.shd-form-wrapper select {
  height: auto;
  min-height: 52px;
  padding: 14px 40px 14px 16px;
  appearance: none;
  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 fill='%23d4af37' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}

.shd-form-wrapper select:hover {
  border-color: #b8941f;
  background-color: #ffffff;
}

.shd-form-wrapper input:focus,
.shd-form-wrapper textarea:focus,
.shd-form-wrapper select:focus {
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.25), 0 4px 12px rgba(212,175,55,0.15);
  outline: none;
  background: #ffffff;
}

/* Submit button - comprehensive fix */
.shd-form-wrapper input[type="submit"],
.shd-form-wrapper button[type="submit"],
.shd-form-wrapper .wpcf7-submit {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #d4af37;
  color: #000000;
  padding: 16px 18px;
  border-radius: 12px;
  border: none;
  font-weight: 600;
  font-size: 18px;
  cursor: pointer;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-wrap: break-word;
  text-align: center;
  line-height: 1.4;
  transform: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.shd-form-wrapper input[type="submit"]:hover,
.shd-form-wrapper button[type="submit"]:hover,
.shd-form-wrapper .wpcf7-submit:hover {
  background: #c1992d;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(212,175,55,0.35);
}

.shd-form-wrapper input[type="submit"]:active,
.shd-form-wrapper button[type="submit"]:active,
.shd-form-wrapper .wpcf7-submit:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 4px 12px rgba(212,175,55,0.25);
}

/* Contact Form 7 specific wrapper fix */
.shd-form-wrapper .wpcf7-form,
.shd-form-wrapper .wpcf7-form p,
.shd-form-wrapper .wpcf7-form-control-wrap {
  max-width: 100%;
  box-sizing: border-box;
}

/* Form heading */
.shd-form-wrapper h2,
.shd-form-wrapper h3,
.shd-form-wrapper .elementor-heading-title {
  color: #1a2940;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: -0.3px;
  font-size: 28px;
  line-height: 1.3;
  text-shadow: none;
}

/* Intro paragraph */
.shd-form-wrapper p,
.shd-form-wrapper .elementor-text-editor p {
  color: #1a2940;
  margin-bottom: 16px;
  letter-spacing: 0.3px;
  line-height: 1.7;
  font-size: 17px;
  font-weight: 400;
}

/* Bullet list styling */
.shd-form-wrapper ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 24px;
  margin-top: 16px;
}

.shd-form-wrapper li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 1.8rem;
  color: #1a2940;
  transition: transform 0.2s ease, color 0.2s ease;
  letter-spacing: 0.3px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
}

.shd-form-wrapper li:hover {
  transform: translateX(3px);
  color: #003B5C;
}

.shd-form-wrapper li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  color: #d4af37;
  font-weight: 700;
  font-size: 16px;
  transition: transform 0.3s ease, color 0.2s ease;
}

.shd-form-wrapper li:hover::before {
  transform: scale(1.2);
  color: #f0d77a;
}

/* Consent text */
.shd-form-wrapper .wpcf7-acceptance,
.shd-form-wrapper .wpcf7-acceptance * {
  color: #6b7280;
  font-size: 0.9rem;
}

.shd-form-wrapper .wpcf7-acceptance a {
  color: #d4af37;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.shd-form-wrapper .wpcf7-acceptance a:hover {
  color: #f0d77a;
}

/* ========================================
   CONTACT FORM 7 RESPONSE MESSAGES
   ======================================== */

/* Success message */
.shd-form-wrapper .wpcf7-mail-sent-ok {
  background: #d1fae5;
  color: #065f46;
  border: 2px solid #10b981;
  border-radius: 12px;
  padding: 16px 20px;
  margin: 20px 0;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}

/* Error message */
.shd-form-wrapper .wpcf7-validation-errors,
.shd-form-wrapper .wpcf7-mail-sent-ng {
  background: #fee2e2;
  color: #991b1b;
  border: 2px solid #ef4444;
  border-radius: 12px;
  padding: 16px 20px;
  margin: 20px 0;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
}

/* Spam/invalid message */
.shd-form-wrapper .wpcf7-spam-blocked {
  background: #fef3c7;
  color: #92400e;
  border: 2px solid #f59e0b;
  border-radius: 12px;
  padding: 16px 20px;
  margin: 20px 0;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}

/* Field validation errors */
.shd-form-wrapper .wpcf7-not-valid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

/* Individual field error text */
.shd-form-wrapper .wpcf7-not-valid-tip {
  color: #dc2626;
  font-size: 14px;
  font-weight: 500;
  margin-top: -12px;
  margin-bottom: 12px;
  display: block;
}

/* ========================================
   SECTION ABOVE FORM (DARK BACKGROUND)
   Premium styling for form intro content
   ======================================== */

/* Dark section wrapper - target the section containing the form */
.elementor-section:has(.shd-form-wrapper) {
  position: relative;
  background-color: #1a2940;
  min-height: auto;
  padding: 50px 20px;
}

/* Target heading/text ABOVE the white form box */
.elementor-section:has(.shd-form-wrapper) h2:not(.shd-form-wrapper h2),
.elementor-section:has(.shd-form-wrapper) .elementor-heading-title:not(.shd-form-wrapper .elementor-heading-title) {
  color: #ffffff;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* Subheadings in dark section */
.elementor-section:has(.shd-form-wrapper) h3:not(.shd-form-wrapper h3) {
  font-size: 24px;
  letter-spacing: -0.3px;
  color: #ffffff;
}

/* Paragraphs in dark sections (not inside white form box) */
.elementor-section:has(.shd-form-wrapper) p:not(.shd-form-wrapper p) {
  color: #f3f4f6;
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 18px;
  letter-spacing: 0.3px;
  font-weight: 400;
  text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

/* Lists in dark sections (not inside white form box) */
.elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) {
  list-style: none;
  padding-left: 0;
  margin-bottom: 28px;
  margin-top: 20px;
}

.elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li {
  color: #f3f4f6;
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 12px;
  padding-left: 2rem;
  position: relative;
  letter-spacing: 0.3px;
  font-weight: 400;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li:hover {
  color: #ffffff;
  transform: translateX(4px);
}

/* Premium checkmark bullets with gold accent */
.elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  color: #f0d77a;
  font-weight: 700;
  font-size: 18px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li:hover::before {
  transform: scale(1.2) rotate(5deg);
  color: #ffffff;
  text-shadow: 0 2px 6px rgba(240, 215, 122, 0.4);
}

/* Column spacing */
.elementor-column:has(.shd-form-wrapper) {
  padding: 30px 15px;
}

/* ========================================
   RESPONSIVE DESIGN - MOBILE & TABLET
   ======================================== */

@media (max-width: 768px) {
  .shd-form-wrapper {
    padding: 32px 26px;
    border-radius: 16px;
    max-width: 100%;
    margin: 0 15px;
  }
  
  .elementor-section:has(.shd-form-wrapper) {
    padding: 40px 15px;
  }
  
  .elementor-section:has(.shd-form-wrapper) h2:not(.shd-form-wrapper h2) {
    font-size: 26px;
    margin-bottom: 16px;
  }
  
  .elementor-section:has(.shd-form-wrapper) p:not(.shd-form-wrapper p) {
    font-size: 17px;
    line-height: 1.65;
  }
  
  .elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li {
    font-size: 16px;
    padding-left: 1.75rem;
  }
  
  .shd-form-wrapper input,
  .shd-form-wrapper textarea,
  .shd-form-wrapper select {
    font-size: 16px;
    padding: 12px 14px;
  }
  
  .shd-form-wrapper select {
    min-height: 48px;
    padding: 12px 38px 12px 14px;
  }
  
  .shd-form-wrapper input[type="submit"],
  .shd-form-wrapper button[type="submit"] {
    padding: 14px 16px;
    font-size: 17px;
  }
}

@media (max-width: 480px) {
  .shd-form-wrapper {
    padding: 28px 22px;
    border-radius: 14px;
    margin: 0 12px;
  }
  
  .elementor-section:has(.shd-form-wrapper) {
    padding: 35px 12px;
  }
  
  .elementor-section:has(.shd-form-wrapper) h2:not(.shd-form-wrapper h2) {
    font-size: 24px;
    line-height: 1.3;
  }
  
  .elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) {
    margin-bottom: 20px;
  }
  
  .elementor-section:has(.shd-form-wrapper) ul:not(.shd-form-wrapper ul) li {
    margin-bottom: 10px;
    font-size: 15px;
  }
  
  .shd-form-wrapper input,
  .shd-form-wrapper textarea {
    margin-bottom: 20px;
  }
}

/* ========================================
   ACCESSIBILITY & MOTION PREFERENCES
   ======================================== */

/* Focus indicators for keyboard navigation */
.shd-form-wrapper input:focus-visible,
.shd-form-wrapper textarea:focus-visible,
.shd-form-wrapper select:focus-visible {
  outline: 3px solid #f0d77a;
  outline-offset: 2px;
}

.shd-form-wrapper input[type="submit"]:focus-visible {
  outline: 3px solid #000000;
  outline-offset: 3px;
}

/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .shd-form-wrapper *,
  .elementor-element * {
    transition: none !important;
    animation: none !important;
  }
}

/* ========================================
   FINAL POLISH & MICRO-INTERACTIONS
   ======================================== */

/* Smooth scroll behavior for form section */
html {
  scroll-behavior: smooth;
}

/* Form wrapper enter animation (subtle) */
.shd-form-wrapper {
  animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Input placeholder styling */
.shd-form-wrapper input::placeholder,
.shd-form-wrapper textarea::placeholder,
.shd-form-wrapper select::placeholder {
  color: #9ca3af;
  opacity: 1;
  font-weight: 400;
}

/* Label styling (if Contact Form 7 uses labels) */
.shd-form-wrapper label {
  color: #1f2937;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 6px;
  display: block;
  letter-spacing: 0.3px;
}

/* Required asterisk styling */
.shd-form-wrapper .wpcf7-form-control-wrap abbr[title="required"] {
  color: #ef4444;
  text-decoration: none;
  font-weight: 700;
}

/* File upload button styling (if applicable) */
.shd-form-wrapper input[type="file"] {
  padding: 10px;
  font-size: 15px;
  cursor: pointer;
}

.shd-form-wrapper input[type="file"]::file-.elementor-2002 .elementor-element.elementor-global-6257-button {
  background: #e5e7eb;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 12px;
}

.shd-form-wrapper input[type="file"]::file-.elementor-2002 .elementor-element.elementor-global-6257-button:hover {
  background: #d4af37;
  border-color: #d4af37;
  color: #000000;
}

/* ========================================
   PRINT STYLES (BONUS)
   ======================================== */

@media print {
  .shd-form-wrapper {
    box-shadow: none;
    border: 2px solid #d1d5db;
  }
  
  .shd-form-wrapper input[type="submit"] {
    display: none;
  }
}/* End custom CSS */