/* SERVICE PAGE — OUR SERVICE EXPERTISE + CARDS + FORM (UPDATED) */

/* Reduce bottom padding for content block */
body.service #content {
  padding-bottom: 30px !important;
}

/* Title */
body.service .group-our-services-types .line-title-center h3 {
  text-align: center !important;
  margin: 0 0 14px !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--fc-dark, #222) !important;
}

body.service .group-our-services-types .our-servise-type-desc * {
  text-align: center !important;
  color: var(--fc-muted, #6a6a6a) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Cards section wrapper (now inside #area-2 in your HTML) */
body.service #area-2 .wrapper-col-link-service-cat {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important; /* smaller gap */
  margin-top: 24px !important;
  align-items: stretch !important;
  padding-left: 0 !important;  /* side padding zero */
  padding-right: 0 !important; /* side padding zero */
}

@media (max-width: 900px) {
  body.service #area-2 .wrapper-col-link-service-cat {
    grid-template-columns: 1fr !important;
  }
}

/* Each card */
body.service .collection_list.col-link-service-cat {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important; /* ensure no side padding */
}

body.service .collection_list.col-link-service-cat .collection_container {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--br-keyfact) !important;
  min-height: 400px !important; /* requested */
  height: auto !important;      /* allow growth */
  box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.08)) !important;
  background: #000 !important;
}

/* Image as background */
body.service .collection_list.col-link-service-cat .col-link-service-cat-bild {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1 !important;
}

body.service .collection_list.col-link-service-cat .col-link-service-cat-bild img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transform: scale(1.02) !important;
  filter: saturate(1.05) !important;
}

/* Dark overlay */
body.service .collection_list.col-link-service-cat .collection_container::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, 0.45) !important;
}

/* Text overlay (centered) */
body.service .collection_list.col-link-service-cat .col-link-service-cat-title,
body.service .collection_list.col-link-service-cat .col-link-service-cat-title-2 {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 3 !important;
  color: #fff !important;
  text-align: center !important;
  width: calc(100% - 48px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Main text line */
body.service .collection_list.col-link-service-cat .col-link-service-cat-title {
  top: 50% !important;
  transform: translate(-50%, -70%) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Green underline under main text */
body.service .collection_list.col-link-service-cat .col-link-service-cat-title::after {
  content: "" !important;
  display: block !important;
  width: 46px !important;
  height: 3px !important;
  background: var(--clr-accent, #339933) !important;
  border-radius: 999px !important;
  margin: 10px auto 0 !important;
}

/* Sub text line */
body.service .collection_list.col-link-service-cat .col-link-service-cat-title-2 {
  top: 50% !important;
  transform: translate(-50%, 20%) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  opacity: 0.95 !important;
  line-height: 1.25 !important;
}

/* Hide long description + link on overview */
body.service .collection_list.col-link-service-cat .col-link-service-cat-desc,
body.service .collection_list.col-link-service-cat .col-link-service-cat-link {
  display: none !important;
}

/* Hover effect */
body.service .collection_list.col-link-service-cat .collection_container:hover .col-link-service-cat-bild img {
  transform: scale(1.06) !important;
}

body.service .collection_list.col-link-service-cat .collection_container:hover::before {
  background: rgba(0, 0, 0, 0.35) !important;
}

/* AREA-2 (section padding) - reduce top padding */
body.service #area-2 {
  padding: 0px 0 70px !important; /* reduced top from 70 -> 40 */
  background: #fff !important;
}

/* Note: Your "Need support..." block is now in #area-3 */
body.service #area-3 {
  padding: 50px 0 70px !important; /* optional: make it closer to mock */
}

body.service #area-3 .need-support h3 {
  text-align: center !important;
  margin: 0 0 14px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--fc-dark, #222) !important;
}



body.service #area-3 .textcontent * {
  text-align: center !important;
  color: var(--fc-muted, #6a6a6a) !important;
  font-size: 13px !important;
}

/* Form styling (kept generic) */
body.service #area-3 form {
  max-width: 920px !important;
  margin: 22px auto 0 !important;
}

body.service #area-3 form .row,
body.service #area-3 form .form-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

@media (max-width: 700px) {
  body.service #area-3 form .row,
  body.service #area-3 form .form-row {
    grid-template-columns: 1fr !important;
  }
}

body.service #area-3 input[type="text"],
body.service #area-3 input[type="email"],
body.service #area-3 input[type="tel"],
body.service #area-3 input[type="phone"],
body.service #area-3 textarea,
body.service #area-3 select {
  width: 100% !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: var(--br-keyfact) !important;
  padding: 12px 14px !important;
  font-size: 13px !important;
  color: var(--fc-dark, #222) !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.06) !important;
  outline: none !important;
}

body.service #area-3 textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

body.service #area-3 form .full,
body.service #area-3 form .wide,
body.service #area-3 form .message,
body.service #area-3 form textarea {
  grid-column: 1 / -1 !important;
}

body.service #area-3 input:focus,
body.service #area-3 textarea:focus,
body.service #area-3 select:focus {
  border-color: rgba(51,153,51,.55) !important;
  box-shadow: 0 10px 26px rgba(51,153,51,.12) !important;
}

/* Submit button */
body.service #area-3 button,
body.service #area-3 input[type="submit"],
body.service #area-3 .btn,
body.service #area-3 .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 18px auto 0 !important;
  padding: 10px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--clr-accent, #339933) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(51,153,51,.18) !important;
}

body.service #area-3 form > *:last-child {
  text-align: center !important;
}
