.elementor-174 .elementor-element.elementor-element-a8f73bb{--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;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-174 .elementor-element.elementor-element-c0c811b{text-align:center;font-family:"Roboto", Sans-serif;font-size:12px;font-weight:400;color:#7A7A7A;}.elementor-174 .elementor-element.elementor-element-c0c811b a{color:#7A7A7A;}.elementor-174 .elementor-element.elementor-element-c0c811b a:hover, .elementor-174 .elementor-element.elementor-element-c0c811b a:focus{color:#002F73;}@media(max-width:767px){.elementor-174 .elementor-element.elementor-element-c0c811b{font-size:11px;}}/* Start custom CSS for shortcode, class: .elementor-element-eec0486 *//* ===== TOKENS ===== */
:root {
  --ps-blue:       #0061AF;
  --ps-blue-light: #EAF3FB;
  --ps-blue-dark:  #004d8a;
  --ps-green:      #16A34A;
  --ps-green-bg:   #DCFCE7;
  --ps-text:       #0B132A;
  --ps-muted:      #64748B;
  --ps-border:     #D1D5DB;
  --ps-radius:     14px;
  --ps-btn-height: 56px;
}

/* ===== WRAP ===== */
.ps-wrap {
  max-width: 520px !important;
  width: 100% !important;
  margin: 0 auto !important;
  font-family: inherit !important;
  text-align: center !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}

/* ===== LOGO ===== */
.ps-logo {
  text-align: center !important;
  margin-bottom: 20px !important;
}
.ps-logo a {
  display: inline-block !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: opacity 0.2s !important;
}
.ps-logo a:hover { opacity: 0.8 !important; }
.ps-logo img {
  height: 40px !important;
  width: auto !important;
  display: block !important;
}

/* ===== PROGRESS BAR ===== */
.ps-progress {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 28px !important;
  width: 100% !important;
}
.ps-prog-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
}
.ps-prog-dot {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 2px solid var(--ps-border) !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--ps-muted) !important;
  transition: all 0.3s ease !important;
  z-index: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.ps-prog-label {
  font-size: 10px !important;
  color: var(--ps-muted) !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  transition: color 0.3s !important;
  text-align: center !important;
  display: block !important;
  line-height: 1 !important;
}
.ps-prog-line {
  flex: 1 !important;
  min-width: 16px !important;
  max-width: 80px !important;
  height: 2px !important;
  background: var(--ps-border) !important;
  margin-bottom: 20px !important;
  flex-shrink: 1 !important;
  transition: background 0.4s ease !important;
}
.ps-prog-step.is-active .ps-prog-dot {
  border-color: var(--ps-blue) !important;
  color: var(--ps-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,97,175,0.12) !important;
}
.ps-prog-step.is-active .ps-prog-label {
  color: var(--ps-blue) !important;
  font-weight: 600 !important;
}
.ps-prog-step.is-done .ps-prog-dot {
  background: var(--ps-blue) !important;
  border-color: var(--ps-blue) !important;
  color: #fff !important;
}
.ps-prog-step.is-done .ps-prog-label { color: var(--ps-blue) !important; }
.ps-prog-step.is-done + .ps-prog-line { background: var(--ps-blue) !important; }

/* ===== STEP SECTIONS ===== */
.ps-step-inner { display: none !important; }
.ps-step-inner.is-active {
  display: block !important;
  animation: psFadeUp 0.3s ease forwards !important;
}
@keyframes psFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== HEADINGS ===== */
.ps-h2 {
  font-size: clamp(20px, 5vw, 26px) !important;
  line-height: 1.2 !important;
  color: var(--ps-text) !important;
  margin: 0 0 20px !important;
  font-weight: 700 !important;
}

/* ===== RADIO — 2x2 grid (desktop) / 1x4 column (mobile) ===== */
.ps-options-grid span.wpcf7-form-control {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 10px !important;
  text-align: left !important;
  width: 100% !important;
}
.ps-options-grid span.wpcf7-form-control label {
  width: 100% !important;
  min-height: var(--ps-btn-height) !important;
  box-sizing: border-box !important;
}
@media (max-width: 520px) {
  .ps-options-grid span.wpcf7-form-control {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto !important;
  }
}

/* ===== RADIO — single column ===== */
.ps-options-single span.wpcf7-form-control {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: left !important;
  width: 100% !important;
}

/* ===== SHARED RADIO LABEL ===== */
.ps-options label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: var(--ps-btn-height) !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--ps-border) !important;
  border-radius: var(--ps-radius) !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--ps-text) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}
.ps-options label:hover {
  border-color: var(--ps-blue) !important;
  background: var(--ps-blue-light) !important;
}
.ps-options label.ps-selected {
  border-color: var(--ps-blue) !important;
  background: var(--ps-blue-light) !important;
  color: var(--ps-blue) !important;
  font-weight: 600 !important;
}
.ps-options input[type="radio"] {
  accent-color: var(--ps-blue) !important;
  transform: scale(1.25) !important;
  flex-shrink: 0 !important;
  min-width: 18px !important;
}

/* ===== INLINE ERROR ===== */
.ps-error {
  display: none;
  color: #E53E3E !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
  text-align: center !important;
}
.ps-error.is-visible { display: block !important; }

/* ===== DISQUALIFY ===== */
.ps-disqualify {
  background: #FFF7ED !important;
  border: 1.5px solid #F97316 !important;
  border-radius: var(--ps-radius) !important;
  padding: 14px 16px !important;
  margin-top: 12px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.ps-disqualify-title {
  font-weight: 700 !important;
  color: #C2410C !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
}
.ps-disqualify p {
  font-size: 13px !important;
  color: #92400E !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ===== SOCIAL PROOF ===== */
.ps-social-proof {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ps-muted) !important;
  font-style: italic !important;
  margin-bottom: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

/* ===== OPTIONAL LABEL TAG ===== */
.ps-label-opt {
  font-weight: 400 !important;
  color: var(--ps-muted) !important;
  font-size: 12px !important;
}

/* ===== TRANSITION SCREEN ===== */
.ps-transition {
  text-align: center !important;
  padding: 0 0 4px !important;
  width: 100% !important;
}
.ps-transition-alert {
  display: block !important;
  text-align: center !important;
  margin: 0 auto 8px !important;
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: transparent !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  float: none !important;
  white-space: normal !important;
}
.ps-transition-alert img {
  display: inline-block !important;
  max-width: 320px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  vertical-align: middle !important;
}
.ps-transition-h2 {
  font-size: clamp(19px, 4vw, 23px) !important;
  font-weight: 700 !important;
  color: var(--ps-text) !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
  text-align: center !important;
}
.ps-transition-sub {
  font-size: 14px !important;
  color: var(--ps-muted) !important;
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
  text-align: center !important;
}
.ps-transition .ps-field { text-align: left !important; }
.ps-transition-reassurance {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: var(--ps-muted) !important;
  margin-top: 12px !important;
}

/* ===== TEXT INPUTS ===== */
.ps-field {
  text-align: left !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.ps-label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ps-text) !important;
  margin-bottom: 2px !important;
}
.ps-req { color: #E53E3E !important; }
.ps-transition .wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.wpcf7 .ps-input,
.ps-input {
  width: 100% !important;
  padding: 15px 16px !important;
  border: 1.5px solid var(--ps-border) !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  color: var(--ps-text) !important;
  background: #fff !important;
  transition: border-color 0.2s !important;
  outline: none !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.wpcf7 .ps-input:focus,
.ps-input:focus {
  border-color: var(--ps-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,97,175,0.1) !important;
}
.ps-input.has-error { border-color: #E53E3E !important; }

/* ===== BUTTONS ===== */
.ps-actions {
  margin-top: 20px !important;
  width: 100% !important;
}
.ps-btn {
  width: 100% !important;
  min-height: var(--ps-btn-height) !important;
  padding: 0 20px !important;
  background: var(--ps-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.ps-btn span {
  display: inline-block !important;
  line-height: 1 !important;
}
.ps-btn svg {
  display: inline-block !important;
  flex-shrink: 0 !important;
}
.ps-btn:hover {
  background: var(--ps-blue-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(0,97,175,0.25) !important;
}
.ps-btn:active {
  transform: translateY(0) !important;
  box-shadow: none !important;
}

/* Back button */
#ps-back { display: none !important; }
#ps-back[style*="display: block"],
#ps-back[style*="display:block"] {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  background: none !important;
  border: 1.5px solid var(--ps-border) !important;
  color: var(--ps-muted) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  transition: all 0.2s !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  touch-action: manipulation !important;
}
#ps-back[style*="display: block"]:hover,
#ps-back[style*="display:block"]:hover {
  border-color: var(--ps-blue) !important;
  color: var(--ps-blue) !important;
}

/* ===== TRUST BAR ===== */
.ps-trust {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ps-border) !important;
  text-align: center !important;
  width: 100% !important;
  overflow-x: auto !important;
}
.ps-trust-table {
  display: inline-table !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 auto !important;
  border: none !important;
}
.ps-trust-table tbody { display: table-row-group !important; }
.ps-trust-table tr {
  display: table-row !important;
  border: none !important;
  background: none !important;
}
.ps-trust-table td,
.ps-trust-item {
  display: table-cell !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--ps-muted) !important;
  padding: 0 8px !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.ps-trust-item svg {
  display: inline-block !important;
  vertical-align: middle !important;
  color: var(--ps-blue) !important;
  margin-right: 3px !important;
  position: relative !important;
  top: -1px !important;
}
@media (max-width: 360px) {
  .ps-trust-table,
  .ps-trust-table tbody,
  .ps-trust-table tr { display: block !important; }
  .ps-trust-table tr {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  .ps-trust-table td,
  .ps-trust-item {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 8px !important;
  }
}

/* ===== SUCCESS SCREEN ===== */
.ps-success {
  text-align: center !important;
  padding: 4px 0 !important;
}
/* Widen the wrap when showing the calendar booking step */
.ps-wrap.ps-wrap--wide {
  max-width: 660px !important;
}
.ps-success-icon,
.ps-wrap .ps-success-icon,
div.ps-success-icon,
.ps-success .ps-success-icon {
  width: 56px !important;
  height: 56px !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  font-size: 0 !important;
  float: none !important;
}
.ps-success-icon img,
.ps-wrap .ps-success-icon img,
div.ps-success-icon img {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  background: none !important;
  background-color: transparent !important;
}
.ps-success-h2 {
  font-size: clamp(20px, 5vw, 26px) !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
  color: var(--ps-text) !important;
}
.ps-success-p {
  color: var(--ps-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 12px !important;
}

/* ===== CAL.COM INLINE EMBED ===== */
.ps-cal-embed {
  width: 100% !important;
  margin-bottom: 16px !important;
  border-radius: var(--ps-radius) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
#my-cal-inline-book-your-free-dental-consult {
  width: 100% !important;
  min-height: 580px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
/* Cal injects an iframe — force it to fill the container */
#my-cal-inline-book-your-free-dental-consult iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border: none !important;
}
@media (max-width: 520px) {
  #my-cal-inline-book-your-free-dental-consult {
    min-height: 520px !important;
  }
}

.ps-success-reassurance {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: var(--ps-muted) !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
.ps-success-reassurance svg {
  flex-shrink: 0 !important;
  color: var(--ps-blue) !important;
  margin-top: 1px !important;
}/* End custom CSS */