/*
** Doctor National - Contact Us Page Design System
** Strictly Scoped to .html-contact-page
*/

:root {
  --ink: #141416;
  --soft: #65656b;
  --line: #1c1c1e;
  --ls: #d8d6d2;
  --paper: #ffffff;
  --sand: #f2f0ec;
  --red: #d81f30;
  --red2: #a5121f;
  color-scheme: light;
}

html.html-contact-page,
html.html-contact-page body {
  background: var(--sand) !important;
  color: var(--ink);
  font-family: 'Cairo', sans-serif;
  -webkit-font-smoothing: antialiased;
}

html[lang=en].html-contact-page body,
html[lang=en].html-contact-page input,
html[lang=en].html-contact-page textarea,
html[lang=en].html-contact-page button {
  font-family: 'Poppins', 'Cairo', sans-serif;
}

html.html-contact-page .master-wrapper-content {
  background: var(--sand) !important;
}

/* Contact Container */
.html-contact-page .contact-wrap,
.html-contact-page .wrap {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 20px 16px 60px !important;
}

.html-contact-page .contact-wrap h1 {
  font-size: 32px !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 14px 0 32px !important;
  line-height: 1.25 !important;
  color: var(--ink) !important;
}

.html-contact-page .contact-wrap .topic-block,
.html-contact-page .contact-wrap .topic-block-body {
  display: none !important;
}

/* Layout Grid */
.html-contact-page .contact-wrap .grid {
  display: grid !important;
  grid-template-columns: 330px 1fr !important;
  gap: 20px !important;
  align-items: start !important;
}

.html-contact-page .contact-wrap .card {
  background: var(--paper) !important;
  border: 2px solid var(--line) !important;
}

.html-contact-page .contact-wrap .card > h2 {
  margin: 0 !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  background: var(--ink) !important;
  color: #fff !important;
  text-align: start !important;
}

/* Info Aside Card */
.html-contact-page .contact-wrap .info {
  background: var(--ink) !important;
  color: #fff !important;
  border: 2px solid var(--ink) !important;
  padding: 26px 22px !important;
  position: relative !important;
  overflow: hidden !important;
}

.html-contact-page .contact-wrap .info::after {
  content: '' !important;
  position: absolute !important;
  inset-inline-end: -46px !important;
  top: -46px !important;
  width: 100px !important;
  height: 100px !important;
  background: var(--red) !important;
  transform: rotate(45deg) !important;
  z-index: 0 !important;
}

.html-contact-page .contact-wrap .info > * {
  position: relative !important;
  z-index: 1 !important;
}

.html-contact-page .contact-wrap .info .tag {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #ff8d97 !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  margin-bottom: 14px !important;
}

.html-contact-page .contact-wrap .info .tag::before {
  content: '' !important;
  width: 30px !important;
  height: 3px !important;
  background: var(--red) !important;
}

.html-contact-page .contact-wrap .info h2 {
  margin: 0 0 10px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  padding: 0 !important;
  background: none !important;
  color: #fff !important;
}

.html-contact-page .contact-wrap .info p {
  margin: 0 0 22px !important;
  color: #c9c9cd !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.html-contact-page .contact-wrap .phone {
  display: block !important;
  direction: ltr !important;
  text-align: start !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #fff !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
  margin-bottom: 18px !important;
  font-family: 'Poppins', sans-serif !important;
  white-space: nowrap !important;
}

html[dir=rtl].html-contact-page .contact-wrap .phone {
  text-align: right !important;
}

.html-contact-page .contact-wrap .call {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--red) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 12px 22px !important;
  border: 2px solid var(--red) !important;
  transition: all .15s ease !important;
}

.html-contact-page .contact-wrap .call:hover {
  background: var(--red2) !important;
  border-color: var(--red2) !important;
  color: #fff !important;
}

/* Form Body */
.html-contact-page .contact-wrap .body {
  padding: 22px 20px !important;
  display: grid !important;
  gap: 18px !important;
}

.html-contact-page .contact-wrap .f label {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  margin-bottom: 6px !important;
  color: var(--ink) !important;
}

.html-contact-page .contact-wrap .req {
  color: var(--red) !important;
  margin-inline-start: 4px !important;
  font-style: normal !important;
}

.html-contact-page .contact-wrap .inp {
  border: 2px solid var(--line) !important;
  background: var(--sand) !important;
  display: flex !important;
  transition: border-color .15s, box-shadow .15s !important;
}

.html-contact-page .contact-wrap .inp:focus-within {
  background: var(--paper) !important;
  border-color: var(--red) !important;
  box-shadow: 0 0 0 3px #d81f3033 !important;
}

.html-contact-page .contact-wrap .inp input,
.html-contact-page .contact-wrap .inp textarea {
  flex: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  border: 0 !important;
  background: none !important;
  padding: 0 14px !important;
  height: 46px !important;
  font-size: 15px !important;
  color: var(--ink) !important;
  outline: none !important;
  font-family: inherit !important;
}

.html-contact-page .contact-wrap .inp textarea {
  height: auto !important;
  min-height: 150px !important;
  padding: 12px 14px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

.html-contact-page .contact-wrap .inp input::placeholder,
.html-contact-page .contact-wrap .inp textarea::placeholder {
  color: #a3a29e !important;
}

.html-contact-page .contact-wrap .ltr {
  direction: ltr !important;
  text-align: start !important;
}

.html-contact-page .contact-wrap .err .inp {
  border-color: var(--red) !important;
  background: #fdeceb !important;
}

.html-contact-page .contact-wrap .msg,
.html-contact-page .contact-wrap .field-validation-error {
  color: var(--red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  margin-top: 5px !important;
  display: block !important;
}

.html-contact-page .contact-wrap .cnt {
  text-align: end !important;
  font-size: 11.5px !important;
  color: var(--soft) !important;
  margin-top: 4px !important;
  font-weight: 600 !important;
}

/* Foot & Submit */
.html-contact-page .contact-wrap .foot {
  padding: 0 20px 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.html-contact-page .contact-wrap .btn {
  border: 2px solid var(--red) !important;
  background: var(--red) !important;
  color: #fff !important;
  padding: 14px 38px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  min-width: 200px !important;
  border-radius: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all .15s ease !important;
}

.html-contact-page .contact-wrap .btn:hover {
  background: var(--red2) !important;
  border-color: var(--red2) !important;
  color: #fff !important;
}

.html-contact-page .contact-wrap .ok {
  flex: 1 !important;
  padding: 14px 18px !important;
  border: 2px solid #1f8a5c !important;
  background: #e4f5ec !important;
  color: #1f8a5c !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
}

.html-contact-page .contact-wrap .message-error {
  border: 2px solid var(--red) !important;
  background: #fdeceb !important;
  color: var(--red) !important;
  padding: 12px 16px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

/* Mobile Responsive */
@media(max-width:860px){
  .html-contact-page .contact-wrap,
  .html-contact-page .wrap { padding: 14px 14px 45px !important; }
  .html-contact-page .contact-wrap h1 { font-size: 26px !important; margin: 10px 0 22px !important; }
  .html-contact-page .contact-wrap .grid { grid-template-columns: minmax(0,1fr) !important; }
  .html-contact-page .contact-wrap .info { padding: 22px 18px !important; }
  .html-contact-page .contact-wrap .phone { font-size: 22px !important; }
  .html-contact-page .contact-wrap .body { padding: 18px 16px !important; }
  .html-contact-page .contact-wrap .foot { padding: 0 16px 20px !important; }
  .html-contact-page .contact-wrap .btn { width: 100% !important; }
}
