/* Reflection Services PRO - scoped, responsive, theme-friendly */

.reflection-services{
  --rs-primary:#0F172A;
  --rs-text:#0F172A;
  --rs-text-light:#64748B;
  --rs-border:#E2E8F0;
  --rs-shadow:0 20px 60px rgba(15,23,42,0.08);
  --rs-shadow-lg:0 30px 80px rgba(15,23,42,0.12);

  --rs-cols-desktop: 3;
  --rs-cols-tablet: 2;
  --rs-cols-mobile: 1;
  --rs-gap: 32px;

  /* inherit if theme exposes vars; fallback values are set in PHP inline vars too */
  --rs-accent: var(--primary-color, #3B82F6);
  --rs-accent-dark: var(--secondary-color, #2563EB);

  background:#fff;
}

.reflection-services,
.reflection-services *{
  box-sizing:border-box;
}

.reflection-services.rs-section{
  padding:100px 0;
}

.reflection-services .rs-section-header{
  margin:0 auto 60px auto;
  max-width:800px;
  text-align:center;
}

.reflection-services.rs-align-left .rs-section-header{ text-align:left; }
.reflection-services.rs-align-right .rs-section-header{ text-align:right; }

.reflection-services .rs-section-kicker{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--rs-accent);
  font-weight:700;
  margin-bottom:16px;
}

.reflection-services .rs-section-title{
  font-size:48px;
  color:var(--rs-primary);
  margin:0 0 20px 0;
  font-weight:800;
  letter-spacing:-1px;
  line-height:1.2;
}

.reflection-services .rs-section-intro{
  font-size:18px;
  color:var(--rs-text-light);
  line-height:1.8;
  margin:0;
}

.reflection-services .rs-grid-cards{
  margin-top:40px;
  display:grid;
  gap:var(--rs-gap);
  grid-template-columns:repeat(var(--rs-cols-desktop), minmax(0,1fr));
}

.reflection-services .rs-card{
  background:#fff;
  border:1px solid var(--rs-border);
  border-radius:20px;
  padding:40px;
  box-shadow:var(--rs-shadow);
  transition:transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  position:relative;
  overflow:hidden;
}

.reflection-services .rs-card::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--rs-accent),var(--rs-accent-dark));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.35s ease;
}

.reflection-services .rs-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--rs-shadow-lg);
  border-color:var(--rs-accent);
}

.reflection-services .rs-card:hover::before{
  transform:scaleX(1);
}

.reflection-services .rs-card-icon{
  width:64px;
  height:64px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  margin-bottom:24px;
  box-shadow:0 10px 30px rgba(59,130,246,0.12);
  background:linear-gradient(
    135deg,
    color-mix(in srgb, var(--rs-accent) 18%, white),
    color-mix(in srgb, var(--rs-accent) 30%, white)
  );
}

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
  .reflection-services .rs-card-icon{
    background:linear-gradient(135deg,#DBEAFE,#BFDBFE);
  }
}

.reflection-services .rs-card-title{
  font-size:22px;
  color:var(--rs-primary);
  margin:0 0 16px 0;
  font-weight:700;
  letter-spacing:-0.5px;
}

.reflection-services .rs-card-desc{
  color:var(--rs-text-light);
  font-size:16px;
  line-height:1.7;
  margin:0 0 16px 0;
}

.reflection-services .rs-card-list{
  list-style:none;
  margin:20px 0 0 0;
  padding:0;
}

.reflection-services .rs-card-list-item{
  position:relative;
  padding-inline-start:28px;
  margin-bottom:12px;
  font-size:15px;
  color:#475569;
  line-height:1.6;
}

.reflection-services .rs-card-list-item::before{
  content:"✓";
  position:absolute;
  inset-inline-start:0;
  top:0.1em;
  width:20px;
  height:20px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--rs-accent),var(--rs-accent-dark));
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Responsive */
@media (max-width: 1024px){
  .reflection-services .rs-grid-cards{
    grid-template-columns:repeat(var(--rs-cols-tablet), minmax(0,1fr));
  }
  .reflection-services .rs-section-title{ font-size:40px; }
}

@media (max-width: 768px){
  .reflection-services.rs-section{ padding:60px 0; }
  .reflection-services .rs-section-title{ font-size:32px; }
  .reflection-services .rs-grid-cards{
    grid-template-columns:repeat(var(--rs-cols-mobile), minmax(0,1fr));
  }
}
