/* ===== ADA + form fixes for Sandwich Dentistry static rebuild ===== */

/* 1. BOOK NOW button contrast: orange #F89F1A (2.1:1 w/ white text) darkened to
      #B45309 (5.0:1 w/ white text) in elementor-post-*.css. This file carries
      the remaining accessibility adjustments. */

/* 2. Honeypot anti-spam field: invisible to humans, traps bots */
.hp-field { position: absolute; left: -9999px; }

/* 3. Minimum 44px tap targets */
.elementor-button,
button,
input[type="submit"],
.elementor-nav-menu a,
.elementor-nav-menu--dropdown a {
  min-height: 44px;
}
.elementor-nav-menu a {
  display: inline-flex;
  align-items: center;
}

/* 4. Replacement contact form (replaces Gravity Forms) */
.sd-contact-form { max-width: 640px; }
.sd-contact-form .form-row { margin-bottom: 1.1rem; }
.sd-contact-form label { display: block; font-weight: 600; margin-bottom: 0.35rem; font-family: "Karla", sans-serif; }
.sd-contact-form input[type="text"],
.sd-contact-form input[type="tel"],
.sd-contact-form input[type="email"],
.sd-contact-form textarea {
  width: 100%; min-height: 44px; padding: 0.65rem 0.8rem;
  border: 1px solid #b9c6c6; border-radius: 6px;
  font-family: "Karla", sans-serif; font-size: 1rem; box-sizing: border-box;
}
.sd-contact-form textarea { min-height: 140px; resize: vertical; }
.sd-contact-form button[type="submit"] {
  background-color: #B45309; color: #fff; border: 0; border-radius: 6px;
  padding: 0.8rem 2.2rem; font-family: "Karla", sans-serif; font-size: 1rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: 1.3px; cursor: pointer;
}
.sd-contact-form button[type="submit"]:hover,
.sd-contact-form button[type="submit"]:focus { background-color: #1D4E76; }
.form-success[hidden] { display: none; }
.form-success {
  border: 1px solid #7EC5BA; background: #f2faf8; border-radius: 8px;
  padding: 1.2rem 1.4rem; max-width: 640px;
}

/* Homepage reviews section */
.sd-reviews { max-width: 1140px; margin: 0 auto; padding: 72px 20px; text-align: center; }
.sd-reviews .elementor-heading-title { margin-bottom: 8px; }
.sd-reviews-badge { font-size: 1.15rem; margin: 0 0 28px; }
.sd-reviews-badge a { font-weight: 700; text-decoration: none; }
.sd-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; }
.sd-review { background: #fff; border-radius: 12px; padding: 28px; box-shadow: 0 2px 14px rgba(0,0,0,.08); }
.sd-review .sd-stars { color: #B45309; font-size: 1.25rem; letter-spacing: 3px; margin-bottom: 12px; }
.sd-review blockquote { margin: 0 0 14px; font-style: italic; line-height: 1.6; }
.sd-review cite { font-style: normal; font-weight: 700; }
@media (max-width: 767px) { .sd-reviews-grid { grid-template-columns: 1fr; } .sd-reviews { padding: 48px 20px; } }

/* Mobile popup menu: white links on the teal panel.
   The orange (#B45309) links on teal (#007B7C) were ~1.7:1 and clashed with
   the brand; white matches the logo and the close button, and reads at 5.6:1. */
#elementor-popup-modal-21 .elementor-nav-menu--dropdown a,
#elementor-popup-modal-21 .elementor-nav-menu--dropdown a:hover,
#elementor-popup-modal-21 .elementor-nav-menu--dropdown a:focus,
#elementor-popup-modal-21 .elementor-nav-menu--dropdown a.elementor-item-active,
#elementor-popup-modal-21 .elementor-nav-menu--dropdown a.highlighted,
#elementor-popup-modal-21 .elementor-menu-toggle,
#elementor-popup-modal-21 .elementor-menu-toggle:hover,
#elementor-popup-modal-21 .elementor-menu-toggle:focus {
  color: #FFFFFF;
  fill: #FFFFFF;
}
#elementor-popup-modal-21 .elementor-nav-menu--dropdown .sub-arrow svg {
  fill: #FFFFFF;
}

/* Fax label/value widgets (sdfaxlbl/sdfaxval): mirror the Phone row styling
   exactly (label: Lora 700 light teal #5EBEC8; value: Karla 400 navy #1D4E76),
   with the same tightened margins and responsive sizes. */
.elementor-element.elementor-element-sdfaxlbl > .elementor-widget-container{margin:-15px 0px -15px 0px;padding:0px 0px 0px 0px;}
.elementor-element.elementor-element-sdfaxlbl{text-align:start;font-family:"Lora", Sans-serif;font-size:20px;font-weight:700;line-height:30px;letter-spacing:0px;color:var( --e-global-color-a05af04 );}
.elementor-element.elementor-element-sdfaxval > .elementor-widget-container{margin:-20px 0px -15px 0px;padding:0px 0px 0px 0px;}
.elementor-element.elementor-element-sdfaxval{text-align:start;font-family:"Karla", Sans-serif;font-size:18px;font-weight:400;line-height:30px;letter-spacing:0px;color:var( --e-global-color-primary );}
.elementor-element.elementor-element-sdfaxval a{color:inherit;text-decoration:none;}
@media(max-width:1024px){
.elementor-element.elementor-element-sdfaxlbl{text-align:center;}
.elementor-element.elementor-element-sdfaxval{text-align:center;}
}
@media(max-width:767px){
.elementor-element.elementor-element-sdfaxlbl{font-size:17px;}
.elementor-element.elementor-element-sdfaxval{font-size:16px;}
}

/* "Schedule Online" label beside the calendar icon in the mobile bottom bar */
.elementor-element-5415c43 .elementor-icon {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
}
.sd-sched-label {
  color: #fff;
  font-family: "Karla", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .4px;
  line-height: 1.12;
  text-align: left;
  max-width: 62px;
}
@media (max-width: 480px) {
  .elementor-element-5415c43 .elementor-icon svg { height: 26px; }
  .sd-sched-label { font-size: 12px; max-width: 58px; }
}
