.service-card {
  min-height: 650px;
}

.service-card .service-image {
  z-index: 0;
  width: calc(100% + 60px);
  max-width: none;
  height: 220px;
  margin: -30px -30px 0;
  object-fit: cover;
  transition: transform .45s ease;
}

.service-card:hover .service-image {
  transform: scale(1.035);
}

.service-card .card-icon {
  margin: -26px 0 24px;
  border: 4px solid #fff;
  box-shadow: 0 8px 24px rgba(5,31,48,.18);
}

.testimonials {
  padding: 110px 0;
  background: #071a2e;
  color: #fff;
}

.testimonials-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 80px;
  align-items: center;
}

.testimonials-intro > p:not(.eyebrow) {
  margin-bottom: 30px;
  color: #b9cdd8;
  font-size: 1.05rem;
}

.testimonial-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.testimonial-cards article {
  min-height: 310px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.06);
}

.testimonial-cards article:first-child {
  transform: translateY(-20px);
}

.quote-mark {
  display: block;
  height: 62px;
  color: #2ed3d0;
  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 1;
}

.testimonial-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.testimonial-form label { display: grid; gap: .4rem; font-weight: 700; }
.testimonial-form input, .testimonial-form select, .testimonial-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.25); border-radius: .7rem; padding: .85rem 1rem; background: rgba(255,255,255,.08); color: inherit; font: inherit; }
.testimonial-form select option { color: #071a2e; }
.testimonial-form textarea { resize: vertical; }
.testimonial-form input[type="file"] { cursor: pointer; }
.testimonial-form label small { font-weight: 500; opacity: .78; }
.testimonial-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .9rem; margin-bottom: 1rem; }
.testimonial-photo-preview { margin: -.25rem 0 .35rem; }
.testimonial-photo-preview[hidden] { display: none; }
.testimonial-photo-preview img { display: block; width: 100%; max-height: 320px; object-fit: cover; border-radius: .9rem; border: 2px solid rgba(46, 211, 208, .45); }
.testimonial-photo-preview figcaption { margin-top: .45rem; color: #b9cdd8; font-size: .82rem; }
.form-status { min-height: 1.5em; font-weight: 700; }
.admin-page { background: #eef5f5; color: #071a2e; }
.admin-shell { width: min(760px, calc(100% - 2rem)); margin: 4rem auto; }
.admin-page .testimonial-form { max-width: 420px; }
.admin-page .testimonial-form input { background: white; border-color: #cbd7dc; }
.admin-reviews { display: grid; gap: 1rem; margin-top: 2rem; }
.admin-reviews article { background: white; padding: 1.4rem; border-radius: 1rem; box-shadow: 0 10px 30px rgba(7,26,46,.08); }

.booking { background: #eef7f7; }
.booking-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.booking-layout h2 { margin: .4rem 0 1rem; font-family: Manrope, sans-serif; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.booking-form { display: grid; gap: 1rem; background: white; padding: clamp(1.25rem, 4vw, 2.5rem); border-radius: 1.4rem; box-shadow: 0 18px 45px rgba(7,26,46,.1); }
.booking-form label { display: grid; gap: .4rem; font-weight: 700; }
.booking-form input, .booking-form select, .booking-form textarea { width: 100%; border: 1px solid #cbd7dc; border-radius: .7rem; padding: .85rem 1rem; background: white; color: #071a2e; font: inherit; }
.booking-form textarea { resize: vertical; }
.booking-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.booking-form .consent { display: flex; align-items: flex-start; gap: .65rem; font-size: .9rem; font-weight: 500; }
.booking-form .consent input { width: auto; margin-top: .2rem; }
@media (max-width: 760px) { .booking-layout { grid-template-columns: 1fr; } .booking-row { grid-template-columns: 1fr; } }

.testimonial-cards h3 {
  margin-bottom: 14px;
}

.testimonial-cards p {
  color: #b9cdd8;
}

.testimonial-cards small {
  display: block;
  margin-top: 28px;
  color: #2ed3d0;
  font-weight: 700;
}

@media (max-width: 900px) {
  .service-card {
    min-height: 0;
  }

  .testimonials-layout {
    grid-template-columns: 1fr;
    gap: 55px;
  }
}

@media (max-width: 600px) {
  .service-card .service-image {
    width: calc(100% + 50px);
    height: 205px;
    margin: -25px -25px 0;
  }

  .testimonials {
    padding: 78px 0;
  }

  .testimonial-cards {
    grid-template-columns: 1fr;
  }

  .testimonial-cards article:first-child {
    transform: none;
  }
}

.whatsapp-float { color: #fff; transition: transform .2s ease, background-color .2s ease; }
.whatsapp-float:hover { transform: translateY(-3px) scale(1.04); background: #20bd5a; }
.whatsapp-float svg { width: 34px; height: 34px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .12)); }
