/* css/services.css */

/* =========================================
   1. TECH HUD CARD (Service Grid)
   ========================================= */
.service-overview-card {
  position: relative;
  background: var(--tanics-bg-card, #121212);
  border: 1px solid #222; 
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

/* BRACKET CORNERS */
.service-overview-card::before, .service-overview-card::after,
.service-card-body::before, .service-card-body::after {
  content: ''; position: absolute; width: 20px; height: 20px;
  border: 2px solid transparent; transition: border-color 0.3s ease; pointer-events: none;
}
.service-overview-card::before { top: 0; left: 0; border-top: 2px solid #444; border-left: 2px solid #444; }
.service-overview-card::after { top: 0; right: 0; border-top: 2px solid #444; border-right: 2px solid #444; }
.service-card-body::before { bottom: 0; left: 0; border-bottom: 2px solid #444; border-left: 2px solid #444; }
.service-card-body::after { bottom: 0; right: 0; border-bottom: 2px solid #444; border-right: 2px solid #444; }

.service-overview-card:hover::before, .service-overview-card:hover::after,
.service-overview-card:hover .service-card-body::before, .service-overview-card:hover .service-card-body::after {
  border-color: var(--tanics-primary-red, #ff2e2e);
}
.service-overview-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }

/* IMAGE WRAPPER (Fixed Height) */
.service-img-wrapper {
  height: 220px; overflow: hidden; position: relative; border-bottom: 1px solid #222; background: #000;
}
.service-img-wrapper img {
  width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; filter: grayscale(100%);
}
.service-overview-card:hover .service-img-wrapper img { transform: scale(1.1); filter: grayscale(0%); }

.service-card-body {
  padding: 1.5rem; flex-grow: 1; display: flex; flex-direction: column; position: relative;
}

/* FORCE WHITE TEXT IN CARDS */
.service-card-body h3 { color: #ffffff !important; }
.service-card-body p, .service-card-body .text-muted { color: #ffffff !important; opacity: 0.9; }

/* =========================================
   2. PROCESS STEPS (White Section)
   ========================================= */
.process-step-item {
  position: relative; padding: 2rem; border: 1px solid #e0e0e0; background: #fff; height: 100%;
  transition: all 0.3s ease;
}
.process-step-item:hover { border-color: var(--tanics-primary-red); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.process-number {
  font-size: 3rem; font-weight: 900; color: #f0f0f0; position: absolute; top: 10px; right: 15px; z-index: 0; line-height: 1;
}
.process-icon { font-size: 2rem; color: var(--tanics-primary-red); margin-bottom: 1rem; position: relative; z-index: 1; }
.process-title { font-weight: 700; text-transform: uppercase; margin-bottom: 0.5rem; position: relative; z-index: 1; color: #000; }
.process-step-item p { color: #333; position: relative; z-index: 1; }

/* =========================================
   3. "WHY US" FEATURES (Dark Section)
   FIXED: TEXT IS NOW PURE WHITE
   ========================================= */
.tech-feature-box {
  background: rgba(255,255,255,0.03);
  border-left: 3px solid #333;
  padding: 2rem;
  transition: all 0.3s ease;
}
.tech-feature-box:hover {
  background: rgba(255,255,255,0.05);
  border-left-color: var(--tanics-primary-red);
}

/* FORCE TITLE WHITE */
.tech-feature-title {
  color: #ffffff !important;
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-weight: 700;
}

/* FORCE DESCRIPTION WHITE (Overrides text-muted) */
.tech-feature-box p,
.tech-feature-box .text-muted, 
.tech-feature-box .small {
  color: #ffffff !important;
  opacity: 1 !important; /* Ensure it is bright */
}

/* =========================================
   4. MODULAR ITEMS (Services 2)
   ========================================= */
.modular-service-item {
  display: grid; grid-template-columns: 1fr; border: 1px solid #333; margin-bottom: 2rem; background: var(--tanics-bg-card, #121212); overflow: hidden;
}
@media (min-width: 992px) {
  .modular-service-item { grid-template-columns: 1fr 1fr; min-height: 400px; }
  .modular-service-item:nth-child(even) .modular-img { order: 2; }
  .modular-service-item:nth-child(even) .modular-content { order: 1; border-right: 1px solid #333; }
}
.modular-img { position: relative; width: 100%; background: #000; }
@media (max-width: 991px) { .modular-img { height: 250px; border-bottom: 1px solid #333; } }
@media (min-width: 992px) { .modular-img { height: 100%; min-height: 100%; } }
.modular-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.modular-content { padding: 3rem; display: flex; flex-direction: column; justify-content: center; }

/* FORCE WHITE TEXT IN MODULAR ITEMS */
.modular-content h3 { color: #ffffff !important; }
.modular-content p, .modular-content .text-muted { color: #ffffff !important; opacity: 0.9; }

/* =========================================
   5. MISC
   ========================================= */
.tech-tag-container { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 2rem; }
.tech-tag {
  background: #f8f9fa; border: 1px solid #ddd; padding: 8px 16px; font-size: 0.85rem; text-transform: uppercase; font-weight: 600; letter-spacing: 0.5px; color: #555; transition: all 0.3s ease;
}
.tech-tag:hover { background: #fff; border-color: var(--tanics-primary-red); color: #000; transform: translateY(-2px); }

.tech-cta-block {
  background: linear-gradient(45deg, #111, #050505); border: 1px solid #333; padding: 4rem 2rem; text-align: center; position: relative;
}
.tech-cta-block::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--tanics-primary-red, #ff2e2e); }