:root{
  --ta-ink:#102a2a;
  --ta-lime:#d8f36a;
  --ta-paper:#f5f6f2;
  --ta-line:#dce2dc;
  --ta-muted:#3d4f4f;
}

.ta-categorias,
.ta-servicios{
  background:var(--ta-paper);
}

.ta-categorias-grid,
.ta-servicios-grid,
.ta-servicios-categorias,
.ta-servicios-steps{
  display:grid;
  gap:16px;
}

.ta-categorias-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ta-card{
  background:#fff;
  border:1px solid var(--ta-line);
  border-radius:12px;
  padding:18px;
}

.ta-card h3,
.ta-servicio-item h3{
  margin-top:0;
  margin-bottom:8px;
}

.ta-servicios-intro{
  margin-bottom:20px;
}

.ta-servicios-steps{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:20px;
}

.ta-servicios-buscador{
  margin-bottom:20px;
}

.ta-servicios-buscador .form-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.ta-servicios-categorias{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding-left:20px;
}

.ta-servicios-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:18px;
}

.ta-servicio-item{
  background:#fff;
  border:1px solid var(--ta-line);
  border-radius:12px;
  padding:16px;
}

.ta-servicio-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 16px;
  font-size:14px;
  color:var(--ta-muted);
  margin-bottom:12px;
}

.ta-servicio-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.ta-servicio-actions a,
.ta-servicio-actions button{
  font-size:13px;
  padding:9px 12px;
}

.ta-servicio-empty{
  background:#eef2e9;
  border:1px dashed #b3c1b7;
  border-radius:10px;
  padding:14px;
  color:#354747;
}

.ta-badge{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--ta-ink);
  background:var(--ta-lime);
  border-radius:999px;
  padding:4px 10px;
  margin-bottom:10px;
}

.ta-publica-servicio{
  margin-top:24px;
}

.ta-publica-servicio .notice{
  margin-top:16px;
}

.ta-form-servicio{
  margin-top:20px;
}

.ta-form-servicio .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ta-form-servicio .full textarea{
  min-height:100px;
}

.ta-solidaria{
  margin-top:10px;
  font-weight:700;
}

#taServiceDialog .dialog-content p{
  margin-bottom:12px;
}

#taServiceDialog .detail-specs{
  margin-bottom:14px;
}

@media (max-width:900px){
  .ta-categorias-grid,
  .ta-servicios-grid,
  .ta-servicios-steps,
  .ta-servicios-categorias,
  .ta-servicios-buscador .form-grid,
  .ta-form-servicio .form-grid{
    grid-template-columns:1fr;
  }
}

.ta-servicios .panel,
.ta-categorias .ta-card,
.ta-servicio-item,
.ta-form-servicio,
.ta-publica-servicio{
  box-shadow:0 8px 20px rgba(16,42,42,.06);
}

.ta-servicios-buscador .small,
.ta-form-servicio .small{
  margin-top:12px;
}

.ta-servicios-categorias li{
  background:#ffffff;
  border:1px solid var(--ta-line);
  border-radius:10px;
  padding:10px 12px;
  list-style-position:inside;
}

.ta-servicio-meta strong{
  color:var(--ta-ink);
}

.ta-servicio-actions .btn.lime{
  border:1px solid #b8d94f;
}

@media (max-width:650px){
  .ta-servicio-item,
  .ta-card,
  .ta-form-servicio,
  .ta-publica-servicio{padding:14px;}
  .ta-servicio-actions .btn,
  .ta-servicio-actions a{width:100%;justify-content:center;}
}

@media (max-width:900px){}

.ta-opiniones-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.ta-opinion-item{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ta-opinion-item p{
  margin:0;
}

.ta-opinion-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
}

.ta-opinion-actions .btn{
  font-size:13px;
  padding:10px 14px;
}

.ta-opinion-list{
  margin:0;
  padding-left:20px;
}

.ta-opinion-list li{
  margin-bottom:6px;
}

@media(max-width:950px){
  .ta-opiniones-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:650px){
  .ta-opiniones-grid{grid-template-columns:1fr;}
  .ta-opinion-actions .btn{width:100%;}
}
