/* =========================
   SERVICES (Block 3)
========================= */

.services{
  position: relative;
  padding: clamp(64px, 6vw, 96px) 0;
  background: linear-gradient(to bottom,#f5f6f7 0%,#ffffff 40%);
}
.services::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:48px;
  background: linear-gradient(to bottom, rgba(0,0,0,0.06), rgba(0,0,0,0));
  pointer-events:none;
}

.services__inner{ display:grid; gap:22px; }
.services__header{ max-width:760px; margin:0 auto; text-align:center; }

.services__title{
  margin:0 0 10px;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height:1.2;
  letter-spacing:-0.2px;
  color: rgba(15, 23, 42, 0.94);
}
.services__subtitle{
  margin:0;
  font-size:15px;
  line-height:1.55;
  color: rgba(15, 23, 42, 0.70);
}

/* Grid */
.services__grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:16px;
}

/* Card */
.serviceCard{
  grid-column: span 12;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(255, 255, 255, 0.86);
  overflow:hidden;
  box-shadow: 0 14px 44px rgba(15, 23, 42, 0.07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.serviceCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 56px rgba(15, 23, 42, 0.10);
  border-color: rgba(15, 23, 42, 0.14);
}

.serviceCard__media{
  display:block;
  position:relative;
  aspect-ratio: 16 / 10;
  overflow:hidden;
}
.serviceCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
  transition: transform .22s ease;
}
.serviceCard:hover .serviceCard__media img{ transform: scale(1.06); }

.serviceCard__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.00) 0%,
    rgba(255, 232, 190, 0.18) 100%
  );
}

.serviceCard__body{ padding:16px 16px 18px; }

.serviceCard__title{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.25;
  color: rgba(15, 23, 42, 0.92);
}

/* ===== Dropdown list ===== */
.serviceCard__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

/* hidden items by default (after 5) */
.serviceCard__list li:nth-child(n + 6){
  display:none;
}

/* when opened - show all */
.serviceCard[data-open="true"] .serviceCard__list li{
  display:block;
}

/* link row */
.serviceCard__list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:10px 12px;
  border-radius:14px;

  text-decoration:none;
  font-size:14px;
  font-weight:600;

  color: rgba(15, 23, 42, 0.86);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.10);

  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.serviceCard__list a::after{
  content:"→";
  opacity:.7;
}
.serviceCard__list a:hover{
  transform: translateY(-1px);
  border-color: rgba(255, 138, 76, 0.40);
  background: rgba(255, 138, 76, 0.10);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}
.serviceCard__list a:focus-visible{
  outline: 3px solid rgba(255, 138, 76, 0.35);
  outline-offset: 2px;
}

/* Toggle button */
.serviceCard__toggle{
  width:100%;
  margin-top:12px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:10px 12px;
  border-radius:14px;

  font-weight:800;
  font-size:14px;

  color: rgba(15, 23, 42, 0.90);
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(15, 23, 42, 0.12);

  cursor:pointer;
  user-select:none;

  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.serviceCard__toggle:hover{
  transform: translateY(-1px);
  border-color: rgba(255, 138, 76, 0.38);
  background: rgba(255, 138, 76, 0.10);
}

.serviceCard__toggle:focus-visible{
  outline: 3px solid rgba(255, 138, 76, 0.35);
  outline-offset: 2px;
}

/* label changes */
.serviceCard[data-open="true"] .serviceCard__toggle .label--more{ display:none; }
.serviceCard[data-open="true"] .serviceCard__toggle .label--less{ display:inline; }
.serviceCard .serviceCard__toggle .label--less{ display:none; }

.serviceCard__toggle .chev{
  transition: transform .18s ease;
}
.serviceCard[data-open="true"] .serviceCard__toggle .chev{
  transform: rotate(180deg);
}

/* Responsive */
@media (min-width: 700px){
  .serviceCard{ grid-column: span 6; }
}
@media (min-width: 1100px){
  .serviceCard{ grid-column: span 3; }
}
