/**
 * Contact page — structure / hierarchy refinement (page-id-1842)
 * Preserves all Elementor appway_contact data, links, QR, and CF7 form.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body.page-id-1842 {
  --ct-primary: #25B7A7;
  --ct-bright: #17C3B2;
  --ct-deep: #1A9E8F;
  --ct-navy: #083530;
  --ct-text: #3D5250;
  --ct-muted: #616365;
  --ct-ice: #E8F8F6;
  --ct-white: #FFFFFF;
  --ct-border: rgba(37, 183, 167, 0.22);
  --ct-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --ct-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --ct-shadow: 0 10px 24px rgba(26, 158, 143, 0.09);
  --ct-shadow-hover: 0 16px 32px rgba(8, 53, 48, 0.12);
  --ct-radius: 16px;
}

body.page-id-1842 .elementor-1842,
body.page-id-1842 .page-wrapper {
  font-family: var(--ct-body);
  color: var(--ct-text);
  background: linear-gradient(180deg, var(--ct-ice) 0%, var(--ct-white) 12%, var(--ct-white) 88%, var(--ct-ice) 100%);
}

body.page-id-1842 .elementor-1842 h1,
body.page-id-1842 .elementor-1842 h2,
body.page-id-1842 .elementor-1842 h3,
body.page-id-1842 .elementor-1842 h4,
body.page-id-1842 .sec-title h2 {
  font-family: var(--ct-font) !important;
  color: var(--ct-navy) !important;
  letter-spacing: -0.01em;
}

/* ---------- Section shell ---------- */
body.page-id-1842 .contact-section {
  padding: 36px 0 56px !important;
  background: transparent !important;
}

body.page-id-1842 .contact-section > .container {
  max-width: 1080px !important;
  width: min(1080px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-1842 .contact-section .big-column {
  float: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  right: auto !important;
}

/* ---------- Section intro: CONTACT US / Get in Touch ---------- */
body.page-id-1842 .contact-section .info-content {
  position: relative;
  margin: 0 auto 28px !important;
  padding-top: 64px !important;
  text-align: center;
  max-width: 960px;
}

body.page-id-1842 .contact-section .info-content::before {
  content: "CONTACT US";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-family: var(--ct-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ct-deep);
}

body.page-id-1842 .contact-section .info-content::after {
  content: "Get in Touch";
  position: absolute;
  top: 22px;
  left: 0;
  right: 0;
  font-family: var(--ct-font);
  font-size: clamp(1.5rem, 2.6vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--ct-navy);
}

/* ---------- Card grid: 3 then 2 centered ---------- */
body.page-id-1842 .contact-section .info-content > .row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  align-items: stretch !important;
}

body.page-id-1842 .contact-section .info-content .info-column {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(1) { grid-column: 1 / 3; }
body.page-id-1842 .contact-section .info-content .info-column:nth-child(2) { grid-column: 3 / 5; }
body.page-id-1842 .contact-section .info-content .info-column:nth-child(3) { grid-column: 5 / 7; }
body.page-id-1842 .contact-section .info-content .info-column:nth-child(4) { grid-column: 2 / 4; }
body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) { grid-column: 4 / 6; }

/* ---------- Compact cards — content packed, no hollow stretch ---------- */
body.page-id-1842 .contact-section .info-content .single-info-box {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 16px 16px 18px !important;
  background: var(--ct-white);
  border: 1px solid var(--ct-border);
  border-radius: var(--ct-radius);
  box-shadow: var(--ct-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.page-id-1842 .contact-section .info-content .single-info-box:hover {
  transform: translateY(-3px);
  box-shadow: var(--ct-shadow-hover);
  border-color: rgba(37, 183, 167, 0.42);
}

body.page-id-1842 .contact-section .info-content .single-info-box h2 {
  margin: 0 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: var(--ct-navy) !important;
}

body.page-id-1842 .contact-section .info-content .single-info-box .text {
  margin: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: var(--ct-muted) !important;
  max-width: 30ch;
}

body.page-id-1842 .contact-section .info-content .single-info-box .text:empty {
  display: none !important;
}

body.page-id-1842 .contact-section .info-content .single-info-box .phone {
  margin-top: 2px;
  padding-top: 0;
}

body.page-id-1842 .contact-section .info-content .single-info-box .phone:empty,
body.page-id-1842 .contact-section .info-content .single-info-box .phone:has(a:empty) {
  display: none !important;
}

body.page-id-1842 .contact-section .info-content .single-info-box a {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--ct-deep) !important;
  text-decoration: none !important;
  word-break: break-word;
  transition: color 0.2s ease;
}

body.page-id-1842 .contact-section .info-content .single-info-box a:hover {
  color: var(--ct-primary) !important;
  text-decoration: underline !important;
}

/* ---------- Icons — consistent container size ---------- */
body.page-id-1842 .contact-section .info-content .single-info-box .icon-box {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  margin: 0 0 2px !important;
  border-radius: 12px;
  background: var(--ct-ice);
  border: 1.5px solid var(--ct-border);
  box-shadow: none !important;
  flex: 0 0 auto;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(-n+3) .icon-box img {
  display: none !important;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(-n+3) .icon-box::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background-color: var(--ct-deep);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(1) .icon-box::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(2) .icon-box::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(3) .icon-box::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-5.33 7-12a7 7 0 1 0-14 0c0 6.67 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-5.33 7-12a7 7 0 1 0-14 0c0 6.67 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

/* WhatsApp — same container size */
body.page-id-1842 .contact-section .info-content .info-column:nth-child(4) .icon-box {
  width: 44px !important;
  height: 44px !important;
  padding: 7px;
  background: #fff;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(4) .icon-box img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  object-fit: contain !important;
  transform: none !important;
}

/* QR — framed, balanced (existing image kept) */
body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) .icon-box {
  width: 112px !important;
  height: 112px !important;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
}

body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) .icon-box img {
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  object-fit: contain !important;
  transform: none !important;
  image-rendering: auto;
}

body.page-id-1842 .contact-section .info-content .single-info-box:hover .icon-box img {
  transform: none !important;
}

/* ---------- Contact form (existing — tighter, not removed) ---------- */
body.page-id-1842 .contact-section .contact-form-area {
  margin-top: 4px;
  padding: 22px 22px 6px;
  background: var(--ct-white);
  border: 1px solid var(--ct-border);
  border-radius: var(--ct-radius);
  box-shadow: var(--ct-shadow);
}

body.page-id-1842 .contact-section .contact-form-area .sec-title {
  margin-bottom: 4px !important;
}

body.page-id-1842 .contact-section .contact-form-area .sec-title h2 {
  margin: 0 0 16px !important;
  font-size: clamp(1.35rem, 2.4vw, 1.65rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center;
}

body.page-id-1842 .contact-section .contact-form-area .sec-title h2:before,
body.page-id-1842 .contact-section .contact-form-area .sec-title h2:after {
  display: none !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group {
  margin-bottom: 12px !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group i {
  top: 15px !important;
  right: 14px !important;
  color: var(--ct-primary) !important;
  opacity: 0.85;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group input[type='text'],
body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group input[type='email'],
body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group textarea {
  height: 46px !important;
  padding: 10px 42px 10px 14px !important;
  border: 1.5px solid rgba(8, 53, 48, 0.16) !important;
  border-radius: 12px !important;
  font-family: var(--ct-body) !important;
  font-size: 14px !important;
  color: var(--ct-text) !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(26, 158, 143, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group textarea {
  height: 120px !important;
  padding-right: 14px !important;
  border-radius: 14px !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group input:focus,
body.page-id-1842 .contact-section .contact-form-area .form-inner .form-group textarea:focus {
  border-color: var(--ct-bright) !important;
  box-shadow: 0 0 0 3px rgba(37, 183, 167, 0.18) !important;
  outline: none !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .message-btn {
  margin: 2px 0 10px !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .message-btn .theme-btn-two,
body.page-id-1842 .contact-section .contact-form-area .wpcf7-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 26px !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--ct-font) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--ct-primary), var(--ct-bright)) !important;
  box-shadow: 0 10px 24px rgba(37, 183, 167, 0.28) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

body.page-id-1842 .contact-section .contact-form-area .form-inner .message-btn .theme-btn-two:hover,
body.page-id-1842 .contact-section .contact-form-area .wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(26, 158, 143, 0.34) !important;
  color: #fff !important;
}

body.page-id-1842 .contact-section .contact-form-area .wpcf7-response-output {
  margin: 10px 0 0 !important;
  border-radius: 12px;
  border-color: var(--ct-border) !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  body.page-id-1842 .contact-section {
    padding: 28px 0 48px !important;
  }

  body.page-id-1842 .contact-section .info-content {
    padding-top: 58px !important;
    margin-bottom: 22px !important;
  }

  body.page-id-1842 .contact-section .info-content > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.page-id-1842 .contact-section .info-content .info-column:nth-child(1),
  body.page-id-1842 .contact-section .info-content .info-column:nth-child(2),
  body.page-id-1842 .contact-section .info-content .info-column:nth-child(3),
  body.page-id-1842 .contact-section .info-content .info-column:nth-child(4),
  body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) {
    grid-column: auto;
  }

  body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) {
    grid-column: 1 / -1;
    max-width: 320px;
    margin: 0 auto !important;
  }

  body.page-id-1842 .contact-section .contact-form-area {
    padding: 18px 16px 4px;
  }
}

@media (max-width: 767px) {
  body.page-id-1842 .contact-section > .container {
    width: min(100%, calc(100% - 24px)) !important;
  }

  body.page-id-1842 .contact-section .info-content {
    padding-top: 54px !important;
    margin-bottom: 18px !important;
  }

  body.page-id-1842 .contact-section .info-content::after {
    font-size: 1.4rem;
  }

  body.page-id-1842 .contact-section .info-content > .row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) {
    max-width: none;
  }

  body.page-id-1842 .contact-section .info-content .single-info-box {
    padding: 14px 14px 16px !important;
  }

  body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) .icon-box {
    width: 104px !important;
    height: 104px !important;
  }

  body.page-id-1842 .contact-section .info-content .info-column:nth-child(5) .icon-box img {
    width: 88px !important;
    height: 88px !important;
    max-width: 88px !important;
  }

  body.page-id-1842 .contact-section .contact-form-area {
    padding: 16px 12px 2px;
  }
}

@supports not (selector(:has(*))) {
  body.page-id-1842 .contact-section .info-content .single-info-box .phone a:empty {
    display: none !important;
  }
}
